/* J-Tech WooCommerce Enhance 2.4.20 — finition premium française */
:root { --jthwe-red:#c81735; --jthwe-red-dark:#9f1028; --jthwe-ink:#171923; --jthwe-muted:#727887; --jthwe-line:#e9ebf1; --jthwe-surface:#fff; --jthwe-soft:#fff5f6; }

/* Filtre catalogue : carte éditoriale et champs homogènes */
.jthwe-filter-wrap, .jthwe-section-shell { color:var(--jthwe-ink); }
.jthwe-filter-bar-native, .jthwe-filter-wrap .jthwe-filter-bar:not(.jthwe-filter-bar-native) {
  box-sizing:border-box; gap:14px!important; padding:18px!important; margin:0 0 24px!important;
  border:1px solid #f0d9de!important; border-radius:20px!important;
  background:linear-gradient(145deg,#fff 0%,#fff9fa 100%)!important;
  box-shadow:0 12px 32px rgba(35,18,22,.06), inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.jthwe-filter-field { min-width:0; }
.jthwe-filter-field label { display:block!important; margin:0 0 7px!important; color:#343845!important; font-size:12px!important; font-weight:800!important; letter-spacing:.01em!important; }
.jthwe-filter-field input, .jthwe-filter-field select, .jthwe-filter-bar input, .jthwe-filter-bar select {
  min-height:45px!important; width:100%; box-sizing:border-box!important; padding:10px 13px!important;
  color:#20232c!important; background:#fff!important; border:1px solid #dfe2e9!important;
  border-radius:12px!important; box-shadow:none!important; font-size:13px!important; transition:border-color .18s,box-shadow .18s!important;
}
.jthwe-filter-field input:focus, .jthwe-filter-field select:focus, .jthwe-filter-bar input:focus, .jthwe-filter-bar select:focus {
  outline:none!important; border-color:var(--jthwe-red)!important; box-shadow:0 0 0 3px rgba(200,23,53,.11)!important;
}
.jthwe-filter-bar-native > button, .jthwe-filter-bar button, .jthwe-section-search-button, #jthwe-filter-btn {
  min-height:45px!important; display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:8px!important;
  padding:0 20px!important; border:0!important; border-radius:12px!important; color:#fff!important;
  background:linear-gradient(135deg,#df2442 0%,#a90f2b 100%)!important; box-shadow:0 8px 18px rgba(180,15,43,.18)!important;
  font-size:13px!important; font-weight:800!important; cursor:pointer!important; transition:transform .18s,box-shadow .18s!important;
}
.jthwe-filter-bar-native > button:hover, .jthwe-filter-bar button:hover, .jthwe-section-search-button:hover, #jthwe-filter-btn:hover { transform:translateY(-1px); box-shadow:0 11px 22px rgba(180,15,43,.23)!important; }
.jthwe-clear-btn { color:var(--jthwe-red)!important; font-weight:750!important; text-decoration:none!important; }
.jthwe-loading-msg,.jthwe-no-results,.jthwe-section-no-results { padding:18px!important; border:1px solid var(--jthwe-line)!important; border-radius:14px!important; background:#fff!important; color:var(--jthwe-muted)!important; }

/* Product cards in the shop and sliders */
ul.products.jthwe-products-grid li.product, .jthwe-product-section ul.products li.product {
  position:relative!important; overflow:hidden!important; box-sizing:border-box!important; padding:12px!important;
  border:1px solid var(--jthwe-line)!important; border-radius:19px!important; background:#fff!important;
  box-shadow:0 4px 16px rgba(20,24,34,.045)!important; transition:transform .2s,border-color .2s,box-shadow .2s!important;
}
ul.products.jthwe-products-grid li.product:hover, .jthwe-product-section ul.products li.product:hover {
  transform:translateY(-3px)!important; border-color:#f0c5ce!important; box-shadow:0 13px 28px rgba(34,18,22,.10)!important;
}
ul.products.jthwe-products-grid li.product img, .jthwe-product-section ul.products li.product img {
  display:block!important; width:100%!important; height:auto!important; aspect-ratio:1/1!important; object-fit:cover!important;
  border-radius:13px!important; background:#f7f8fb!important;
}
ul.products.jthwe-products-grid li.product .woocommerce-loop-product__title, .jthwe-product-section ul.products li.product .woocommerce-loop-product__title {
  margin:9px 0 6px!important; color:var(--jthwe-ink)!important; font-size:14px!important; line-height:1.35!important; font-weight:800!important;
}
.jthwe-card-category, .jthwe-cat-tag { color:#727887!important; font-size:11px!important; font-weight:700!important; }
.jthwe-loop-price-single, .jthwe-loop-price-range, ul.products li.product .price {
  color:var(--jthwe-red)!important; font-size:14px!important; line-height:1.35!important; font-weight:900!important;
}
ul.products li.product .price del { color:#9a9eaa!important; opacity:.7!important; font-size:.85em!important; }
ul.products li.product .price ins { text-decoration:none!important; }
.jthwe-product-badge { z-index:5!important; border-radius:999px!important; padding:6px 9px!important; font-size:10px!important; font-weight:900!important; letter-spacing:.035em!important; box-shadow:0 4px 12px rgba(0,0,0,.13)!important; }
.jthwe-card-views { display:inline-flex!important; align-items:center!important; gap:4px!important; color:#fff!important; background:rgba(22,24,32,.72)!important; border-radius:999px!important; padding:5px 8px!important; font-size:10px!important; font-weight:800!important; backdrop-filter:blur(8px); }
ul.products li.product .button, ul.products li.product a.add_to_cart_button, .jthwe-info-right .button {
  display:inline-flex!important; align-items:center!important; justify-content:center!important; min-height:38px!important; padding:9px 12px!important;
  border:0!important; border-radius:11px!important; color:#fff!important; background:linear-gradient(135deg,#d92340,#a90f2b)!important;
  font-size:11.5px!important; font-weight:850!important; line-height:1.2!important; text-align:center!important; box-shadow:0 5px 13px rgba(180,15,43,.14)!important;
}
ul.products li.product .button:hover { color:#fff!important; filter:brightness(1.04); }
.jthwe-product-section .jthwe-section-heading { margin:0 0 15px!important; }
.jthwe-product-section .jthwe-section-heading h2, .jthwe-section-heading h2 {
  display:flex; align-items:center; gap:11px; color:var(--jthwe-ink)!important; font-size:clamp(20px,2vw,27px)!important; line-height:1.2!important; font-weight:900!important; letter-spacing:-.035em!important;
}
.jthwe-section-heading h2:before { content:""; display:inline-block; width:5px; height:27px; border-radius:99px; background:linear-gradient(180deg,#e82b49,#a90f2b); }

/* Catégories : finition plus nette */
ul.products.jthwe-category-tiles li.product-category, ul.products:has(> li.product-category) li.product-category { border-color:#e9eaf0!important; box-shadow:0 6px 20px rgba(25,27,35,.055)!important; }
ul.products li.product-category:hover { border-color:#efc6cf!important; box-shadow:0 12px 27px rgba(25,27,35,.10)!important; }
ul.products li.product-category .woocommerce-loop-category__title { font-weight:850!important; letter-spacing:-.02em!important; }
ul.products li.product-category .jthwe-cat-price { color:var(--jthwe-red)!important; }
ul.products li.product-category .jthwe-cat-price .woocommerce-Price-amount { color:var(--jthwe-red)!important; }

/* Fiche produit standard */
.single-product div.product { gap:clamp(22px,3vw,42px)!important; }
.single-product .woocommerce-product-gallery { border:1px solid var(--jthwe-line)!important; border-radius:22px!important; background:#fff!important; padding:8px!important; box-shadow:0 10px 30px rgba(20,24,34,.055)!important; }
.single-product .summary { border:1px solid #eceef3!important; border-radius:22px!important; padding:clamp(18px,2.6vw,28px)!important; background:#fff!important; box-shadow:0 10px 28px rgba(20,24,34,.045)!important; }
.single-product .product_title { font-size:clamp(24px,2.5vw,34px)!important; letter-spacing:-.04em!important; line-height:1.15!important; }
.single-product .summary .price { display:block!important; margin:13px 0 17px!important; padding:12px 15px!important; border:1px solid #f2d3d9!important; border-radius:14px!important; background:linear-gradient(135deg,#fff5f6,#fff)!important; }
.single-product .woocommerce-product-details__short-description { color:#606575!important; font-size:14px!important; line-height:1.75!important; }
.single-product .variations select, .single-product .summary form.cart select { min-height:46px!important; border:1px solid #dfe2e9!important; border-radius:12px!important; padding:10px 12px!important; background:#fff!important; }
.single-product .single_add_to_cart_button { min-height:48px!important; background:linear-gradient(135deg,#d92340 0%,#a90f2b 100%)!important; }
.single-product .product_meta { color:#7a7f8b!important; font-size:12px!important; line-height:1.75!important; }

/* Recharge directe : structure en formulaire premium */
.jthwe-topup-mobile-panel { border:1px solid #e9eaf0!important; border-radius:22px!important; padding:clamp(16px,2.2vw,24px)!important; box-shadow:0 14px 38px rgba(20,24,34,.075)!important; }
.jthwe-topup-title-row h1 { letter-spacing:-.035em!important; }
.jthwe-topup-price { padding:10px 13px!important; border:1px solid #f3d4da!important; border-radius:13px!important; background:linear-gradient(135deg,#fff4f6,#fff)!important; }
.jthwe-topup-benefits { background:#fffafb!important; border-color:#f0e3e6!important; }
.jthwe-topup-fields-grid input, .jthwe-topup-fields-grid select { color:#242733!important; font-size:13px!important; }
.jthwe-pack-card { box-shadow:0 3px 10px rgba(20,24,34,.025)!important; }
.jthwe-pack-card.is-selected { border-color:var(--jthwe-red)!important; background:#fff6f7!important; box-shadow:0 0 0 3px rgba(200,23,53,.09)!important; }
.jthwe-topup-buy { min-height:49px!important; border-radius:13px!important; background:linear-gradient(135deg,#dc2341,#a60f2a)!important; box-shadow:0 10px 20px rgba(180,15,43,.2)!important; letter-spacing:.01em!important; }
.jthwe-no-cart { color:#747988!important; }

@media (max-width:767px) {
  .jthwe-filter-bar-native, .jthwe-filter-wrap .jthwe-filter-bar:not(.jthwe-filter-bar-native) { gap:10px!important; padding:13px!important; border-radius:16px!important; }
  ul.products.jthwe-products-grid li.product, .jthwe-product-section ul.products li.product { padding:9px!important; border-radius:15px!important; }
  ul.products.jthwe-products-grid li.product .woocommerce-loop-product__title, .jthwe-product-section ul.products li.product .woocommerce-loop-product__title { font-size:12.5px!important; }
  .single-product .woocommerce-product-gallery { border-radius:17px!important; padding:5px!important; }
  .single-product .summary { padding:15px!important; border-radius:17px!important; }
  .jthwe-topup-mobile-panel { margin-top:8px!important; }
}
@media (prefers-reduced-motion:reduce) {
  .jthwe-filter-bar button, ul.products li.product, ul.products li.product-category { transition:none!important; animation:none!important; }
}
