/* ============================================================
   BJJ Surf Collective — Présentation des FICHES PRODUIT (toutes)
   ------------------------------------------------------------
   FICHIER UNIQUE, chargé sur toutes les fiches produit par
   templates/catalog/product.tpl (block head) :
     <link rel="stylesheet" href="{$urls.child_css_url}product-adhesion.css?v=N">
   → après toute modification ici, incrémente ?v=N dans product.tpl
     pour casser le cache navigateur. Plus aucune copie inline à synchroniser.

   Contenu :
   1. Bloc .adh : composants éditables en back-office (Résumé + Description),
      partagés par les adhésions, la boutique textile, la licence, la salle…
   2. Colonne d'achat (#col-product-info) : carte, prix, bouton, onglets masqués.
   3. Compléments textile : conseil (.adh-tip), pictos entretien (.adh-care),
      panneau image (.adh-figure), guide des tailles (.adh-table).
   4. Colonne d'achat v2 : prix 46px sans TTC, tailles en boutons, quantité
      « − case + » et bouton panier sur la même ligne.

   - Tout est namespacé (.adh, #col-product-info) pour ne jamais impacter
     le reste du thème Warehouse. Header et footer : jamais touchés.
   - Icônes = Font Awesome (<i class="fa fa-...">) : le HTMLPurifier de
     PrestaShop retire les <svg> saisis en back-office.
   ============================================================ */

/* ===== 1. Bloc .adh — composants éditables (Résumé + Description) ===== */
.adh{
  --adh-green:#2F6F6A;--adh-green-strong:#31857C;--adh-green-deep:#245853;
  --adh-teal-light:#8FE4CE;--adh-black:#0E0F0F;--adh-ink:#20242A;--adh-ink-soft:#5A5657;
  --adh-bg:#F3F4F3;--adh-card:#FFFFFF;--adh-line:rgba(20,32,30,.13);--adh-line-strong:rgba(20,32,30,.22);
  --adh-gold:#C69433;--adh-warn:#B4531A;--adh-warn-bg:#FBEEDF;--adh-radius:16px;
  --adh-shadow:0 1px 2px rgba(15,25,23,.06),0 12px 30px -18px rgba(15,25,23,.34);
  color:var(--adh-ink);line-height:1.6;font-size:16px;
}
.adh *{box-sizing:border-box}
.adh h2,.adh h3{line-height:1.12;margin:0;font-weight:800;letter-spacing:-.02em;color:var(--adh-ink)}
.adh p{margin:0}
.adh a{color:var(--adh-green-strong)}
/* Liens de composant sur fond foncé : doivent battre la règle générique .adh a
   (et toute règle de lien du thème) → !important pour garantir le blanc. */
.adh-session .adh-call,.adh-band .adh-btn{color:#fff!important}
.adh-session .adh-call:hover,.adh-band .adh-btn:hover{color:#fff!important}
.adh .adh-eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--adh-green-strong)}
.adh-full{margin-top:34px}
.adh-wrap{max-width:1120px;margin:0 auto;padding:0 4px}
.adh-section{margin-top:44px}
.adh-section:first-child{margin-top:0}
.adh-head{max-width:660px;margin:0 0 26px}
.adh-head.adh-center{margin-left:auto;margin-right:auto;text-align:center}
.adh-head h2{font-size:clamp(24px,3.6vw,34px);margin-top:8px}
.adh-head p{color:var(--adh-ink-soft);margin-top:10px;font-size:16.5px}
.adh-hero{position:relative;overflow:hidden;border-radius:22px;padding:34px 30px;color:#EAF3F0;
  background:radial-gradient(120% 120% at 82% -12%,rgba(49,133,124,.35),transparent 55%),linear-gradient(160deg,#12312d,#0b0d0d 82%);box-shadow:var(--adh-shadow)}
.adh-hero .adh-kick{font-weight:800;letter-spacing:.22em;font-size:12px;color:var(--adh-teal-light);text-transform:uppercase}
.adh-hero h2{color:#fff;font-size:clamp(30px,6vw,52px);line-height:.95;margin:10px 0 0;letter-spacing:-.03em}
.adh-hero h2 span{color:#67D3C4}
.adh-chip{display:inline-flex;align-items:center;gap:8px;margin-top:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:7px 14px;border-radius:999px;font-weight:700;font-size:14px;color:#EAF3F0}
.adh-chip .fa{color:var(--adh-teal-light)}
.adh-hero .adh-tag{margin-top:20px;font-style:italic;font-size:18px;color:#DdF3ec;max-width:640px}
.adh-hero .adh-tag b{color:#67D3C4;font-style:normal}
.adh-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.adh-card{background:var(--adh-card);border:1px solid var(--adh-line);border-radius:var(--adh-radius);padding:22px;box-shadow:var(--adh-shadow)}
.adh-card .adh-ic{width:44px;height:44px;border-radius:12px;background:var(--adh-bg);display:grid;place-items:center;margin-bottom:14px;border:1px solid var(--adh-line);color:var(--adh-green-strong);font-size:19px}
.adh-card h3{font-size:18px}
.adh-card p{color:var(--adh-ink-soft);font-size:14.5px;margin-top:7px}
.adh-split{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
.adh-panel{background:var(--adh-card);border:1px solid var(--adh-line);border-radius:var(--adh-radius);padding:26px;box-shadow:var(--adh-shadow)}
.adh-panel h3{font-size:20px;margin-bottom:4px}
.adh-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.adh-list li{display:flex;gap:11px;font-size:15px;align-items:flex-start}
.adh-list li .fa{color:var(--adh-green);margin-top:3px}
.adh-list li b{display:block}
.adh-list li small{color:var(--adh-ink-soft);font-size:13px}
.adh-note{margin-top:18px;font-size:13px;color:var(--adh-ink-soft)}
.adh-session{color:#EAF3F0;border:0;background:radial-gradient(120% 130% at 85% -20%,rgba(49,133,124,.4),transparent 55%),linear-gradient(160deg,#14312d,#0b0d0d 82%)}
.adh-session h3{color:#fff}
.adh-session .adh-eyebrow{color:var(--adh-teal-light)}
.adh-slot{display:flex;align-items:center;gap:16px;margin-top:18px;padding:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:13px}
.adh-slot .adh-day{font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--adh-teal-light);min-width:58px}
.adh-slot .adh-hrs{font-weight:800;font-size:22px;color:#fff}
.adh-slot .adh-meta{font-size:13px;color:#Bfeadd;margin-top:2px}
.adh-loc{margin-top:18px;font-size:14.5px;color:#DdF3ec;display:flex;gap:10px;align-items:flex-start}
.adh-loc .fa{color:var(--adh-teal-light);margin-top:3px}
.adh-loc b{color:#fff}
.adh-call{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#fff;text-decoration:none;font-weight:700;font-size:14.5px;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px}
.adh-call .fa{color:var(--adh-teal-light)}
.adh-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.adh-step{background:var(--adh-card);border:1px solid var(--adh-line);border-radius:var(--adh-radius);padding:22px;box-shadow:var(--adh-shadow)}
.adh-step .adh-n{font-weight:800;font-size:15px;color:var(--adh-green-strong);border:2px solid var(--adh-green-strong);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;margin-bottom:14px}
.adh-step h3{font-size:16.5px}
.adh-step p{color:var(--adh-ink-soft);font-size:14px;margin-top:7px}
.adh-quote{max-width:820px;margin:0 auto;text-align:center}
.adh-quote .adh-stars{color:var(--adh-gold);font-size:19px;letter-spacing:2px}
.adh-quote p{font-style:italic;font-size:clamp(21px,3vw,28px);line-height:1.34;margin-top:12px;color:var(--adh-ink)}
.adh-quote .adh-who{margin-top:14px;font-size:14px;color:var(--adh-ink-soft);font-style:normal}
.adh-qa{max-width:840px;margin:0 auto;display:grid;gap:11px}
.adh-qi{background:var(--adh-card);border:1px solid var(--adh-line);border-radius:13px;padding:18px 20px}
.adh-qi h3{font-size:16.5px;margin-bottom:7px;display:flex;gap:10px;align-items:flex-start}
.adh-qi h3 .fa{color:var(--adh-green-strong);margin-top:3px}
.adh-qi p{color:var(--adh-ink-soft);font-size:15px}
.adh-band{position:relative;overflow:hidden;border-radius:24px;padding:44px 32px;text-align:center;color:#EAF3F0;background:radial-gradient(120% 130% at 85% -20%,rgba(49,133,124,.4),transparent 55%),linear-gradient(160deg,#14312d,#0b0d0d 82%);box-shadow:var(--adh-shadow)}
.adh-band .adh-eyebrow{color:var(--adh-teal-light)}
.adh-band h2{color:#fff;font-size:clamp(25px,4.2vw,40px);margin-top:8px}
.adh-band p{color:#C7DCD6;margin:14px auto 0;max-width:540px}
.adh-band .adh-mini{margin-top:16px;font-size:13px;color:#8FA8A1}
.adh-band .adh-btn{margin-top:24px}
.adh-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;background:var(--adh-green);color:#fff;font-weight:800;font-size:17px;padding:16px 32px;border-radius:12px;text-decoration:none;transition:background .2s,transform .12s}
.adh-btn:hover{background:var(--adh-green-strong);color:#fff;transform:translateY(-1px)}
.adh-buyaside{margin-top:20px}
.adh-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.adh-pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:6px 11px;border-radius:999px;background:var(--adh-bg);border:1px solid var(--adh-line);color:var(--adh-ink-soft)}
.adh-pill .fa{color:var(--adh-green-strong)}
.adh-subnote{font-size:14px;color:var(--adh-ink-soft);margin-bottom:16px}
.adh-subnote b{color:var(--adh-ink)}
.adh-billing{border:1px solid var(--adh-line);border-radius:13px;overflow:hidden;background:var(--adh-card)}
.adh-billing .adh-bhead{display:flex;align-items:center;gap:9px;background:var(--adh-bg);padding:13px 15px;font-weight:800;font-size:14px}
.adh-billing .adh-bhead .fa{color:var(--adh-green-strong)}
.adh-billing ol{margin:0;padding:14px 16px;list-style:none;display:grid;gap:11px}
.adh-billing li{display:flex;gap:11px;font-size:13.5px;color:var(--adh-ink-soft);align-items:flex-start}
.adh-billing li b{color:var(--adh-ink)}
.adh-dot{flex:none;width:22px;height:22px;border-radius:50%;background:var(--adh-green-strong);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;margin-top:1px}
.adh-warn{display:flex;gap:11px;margin-top:14px;background:var(--adh-warn-bg);border:1px solid rgba(180,83,26,.4);border-radius:13px;padding:14px 15px}
.adh-warn .fa{color:var(--adh-warn);margin-top:2px}
.adh-warn b{color:var(--adh-warn)}
.adh-warn p{font-size:13px;color:var(--adh-ink)}
@media(max-width:900px){.adh-benefits{grid-template-columns:1fr 1fr}.adh-split{grid-template-columns:1fr}.adh-steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.adh-benefits{grid-template-columns:1fr}.adh-steps{grid-template-columns:1fr}.adh-hero{padding:26px 22px}}
@media (prefers-reduced-motion:reduce){.adh *{transition:none!important}}

/* ===== 2. Colonne d'achat (toutes les fiches) ===== */
/* Les éléments natifs (prix, bouton…) ne sont PAS sous .adh : on redéclare donc
   les variables sur la colonne d'achat pour que var(--adh-*) résolve aussi sur eux. */
#col-product-info{
  --adh-green:#2F6F6A;--adh-green-strong:#31857C;--adh-green-deep:#245853;
  --adh-ink:#20242A;--adh-ink-soft:#5A5657;--adh-bg:#F3F4F3;--adh-card:#FFFFFF;
  --adh-line:rgba(20,32,30,.13);--adh-line-strong:rgba(20,32,30,.22);--adh-gold:#C69433;
  --adh-warn:#B4531A;--adh-warn-bg:#FBEEDF;
  --adh-shadow:0 1px 2px rgba(15,25,23,.06),0 12px 30px -18px rgba(15,25,23,.34);
}
/* Supprime les 2 traits horizontaux natifs (sous le titre + au-dessus du prix). */
.product_header_container{border-bottom:0;padding-bottom:0;margin-bottom:6px}
.product_p_price_container{border-top:0;padding-top:0;margin-top:6px}
#col-product-info{background:var(--adh-card);border:1px solid var(--adh-line);border-radius:18px;box-shadow:var(--adh-shadow);padding:24px}
.product_header_container .page-title{font-size:clamp(23px,3.2vw,29px);font-weight:800;letter-spacing:-.02em;color:var(--adh-ink);line-height:1.12;margin:0}
.adh-rating{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:13.5px;color:var(--adh-ink-soft)}
.adh-rating .adh-stars{color:var(--adh-gold);letter-spacing:2px;font-size:14px}
.adh-buytop .adh-pills{margin:14px 0 2px}
.product-actions .product-prices{margin:16px 0 0}
.current-price{display:inline-flex;align-items:baseline;gap:8px}
.current-price-value{font-weight:900;font-size:40px;line-height:1;letter-spacing:-.03em;color:var(--adh-ink)}
/* "/ mois" uniquement pour les formules MENSUELLES (abonnement). Le comptant (24)
   affiche le prix seul. Ajouter l'id d'un futur produit mensuel ici si besoin. */
.product-id-1 .current-price-value::after,.product-id-13 .current-price-value::after,.product-id-17 .current-price-value::after,.product-id-18 .current-price-value::after,.product-id-14 .current-price-value::after,.product-id-2 .current-price-value::after,.product-id-5 .current-price-value::after,.product-id-6 .current-price-value::after,.product-id-9 .current-price-value::after,.product-id-10 .current-price-value::after,.product-id-21 .current-price-value::after,.product-id-23 .current-price-value::after,.product-id-25 .current-price-value::after{content:" / mois";font-size:15px;font-weight:600;color:var(--adh-ink-soft);letter-spacing:0}
/* Formule trimestrielle : suffixe "/ trimestre". */
.product-id-3 .current-price-value::after,.product-id-15 .current-price-value::after,.product-id-19 .current-price-value::after,.product-id-7 .current-price-value::after,.product-id-11 .current-price-value::after{content:" / trimestre";font-size:15px;font-weight:600;color:var(--adh-ink-soft);letter-spacing:0}
/* Séance dinitiation ponctuelle : suffixe "/ séance". */
.product-id-28 .current-price-value::after{content:" / séance";font-size:15px;font-weight:600;color:var(--adh-ink-soft);letter-spacing:0}
.product-id-27 .current-price-value::after{content:" / heure";font-size:15px;font-weight:600;color:var(--adh-ink-soft);letter-spacing:0}
.product-id-29 .current-price-value::after{content:" / saison";font-size:15px;font-weight:600;color:var(--adh-ink-soft);letter-spacing:0}
.tax-shipping-delivery-label{display:inline-block;margin:8px 0 0;font-size:12px;font-weight:700;color:var(--adh-ink-soft);border:1px solid var(--adh-line);padding:2px 7px;border-radius:6px}
.adh-subnote2{font-size:14px;color:var(--adh-ink-soft);margin:8px 0 0}
.adh-subnote2 b{color:var(--adh-ink)}
.adh-saveline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 0}
.adh-save{display:inline-flex;align-items:center;gap:7px;background:#E9F5F0;color:var(--adh-green-deep);font-weight:800;font-size:15px;letter-spacing:-.01em;padding:7px 14px;border-radius:999px;border:1px solid rgba(47,111,106,.3)}
.adh-save .fa{color:var(--adh-green-strong)}
.adh-saveinfo{font-size:12.5px;color:var(--adh-ink-soft)}
.adh-qtylabel{font-size:14px;font-weight:700;color:var(--adh-ink);margin:20px 0 8px}
.product-quantity{align-items:center}
.product-quantity .col-add-qty{margin-bottom:12px}
.product-quantity .col-add-btn{flex:0 0 100%;max-width:100%;width:100%}
.product-quantity .qty .input-group,.product-quantity .bootstrap-touchspin{border:1px solid var(--adh-line-strong);border-radius:12px;overflow:hidden}
.product-add-to-cart .btn.add-to-cart{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--adh-green);border-color:var(--adh-green);color:#fff;font-weight:800;font-size:17px;padding:15px 20px;border-radius:12px;box-shadow:0 8px 20px -8px rgba(18,59,52,.6);transition:background .2s,transform .12s}
.product-add-to-cart .btn.add-to-cart:hover{background:var(--adh-green-strong);border-color:var(--adh-green-strong);color:#fff;transform:translateY(-1px)}
/* On masque le bloc "infos complémentaires" natif (partage social + encadrés
   modules abonnement/licence) : il est remplacé par nos blocs consolidés. */
.product-additional-info{display:none}
/* Onglets colonne droite masqués : la Description est déjà en pleine largeur
   plus bas (product.tpl > product_footer). */
.product-tabs{display:none}
#product-infos-accordion-mobile{display:none}
.adh-reassure{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin:14px 0 2px;font-size:12.5px;color:var(--adh-ink-soft)}
.adh-reassure span{display:inline-flex;align-items:center;gap:5px}
.adh-reassure .fa{color:var(--adh-green)}
.adh-buyaside{margin-top:18px}
/* Module natif "Autres produits dans la même catégorie" (ps_categoryproducts) :
   on le GARDE, mais on le sépare clairement de la présentation (sinon il colle
   au bandeau final). */
.category-products{margin-top:46px;clear:both}
/* Le résumé (description courte) sert aux blocs sous le bouton : on masque son
   affichage en TEXTE D'ACCROCHE dans les vignettes produit (carrousels),
   sinon le HTML du bloc s'y affiche en vrac. */
.category-products .product-description-short,
.product-miniature .product-description-short{display:none}
/* Mobile : la barre "Ajout au panier" collante (générée en JS via les utilitaires
   .sticky-*-bottom du thème, z-index 1020) doit passer AU-DESSUS du contenu.
   Le carrousel Swiper du module créant un plan d'empilement (transform), on
   remonte la barre et on neutralise le sur-empilement du module. */
@media(max-width:767px){
  .sticky-bottom,
  .sticky-sm-bottom,
  .sticky-md-bottom,
  [class*="sticky-"][class*="-bottom"]{z-index:1080!important}
  .category-products{position:relative;z-index:0}
  .category-products .swiper,
  .category-products .swiper-wrapper,
  .category-products .swiper-slide{z-index:auto}
}

/* ===== 3. Compléments textile (boutique) ===== */

/* Encart conseil (variante verte de .adh-warn) — utilisé dans le RÉSUMÉ */
.adh-tip{display:flex;gap:11px;margin-top:14px;background:#E9F5F0;border:1px solid rgba(47,111,106,.35);border-radius:13px;padding:14px 15px}
.adh-tip .fa{color:var(--adh-green-strong);margin-top:2px}
.adh-tip b{color:var(--adh-green-deep)}
.adh-tip p{font-size:13px;color:var(--adh-ink)}

/* Pictos d'entretien, sur panneau sombre (.adh-session) */
.adh-care{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.adh-care span{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-weight:700;font-size:13.5px;color:#EAF3F0}
.adh-care .fa{color:var(--adh-teal-light)}

/* Panneau image (photo pleine carte) */
.adh-panel.adh-figure{padding:0;overflow:hidden;display:grid}
.adh-figure img{width:100%;height:100%;object-fit:cover;display:block}

/* Guide des tailles */
.adh-tablewrap{overflow-x:auto;background:var(--adh-card);border:1px solid var(--adh-line);border-radius:var(--adh-radius);box-shadow:var(--adh-shadow)}
.adh-table{width:100%;min-width:620px;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:15px;margin:0}
.adh-table th,.adh-table td{padding:13px 16px;text-align:center;border-bottom:1px solid var(--adh-line)}
.adh-table thead th{font-weight:800;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;background:var(--adh-bg);color:var(--adh-ink)}
.adh-table th:first-child,.adh-table td:first-child{text-align:left;font-weight:700;white-space:nowrap}
.adh-table tbody tr:last-child td{border-bottom:0}

/* ===== 4. Colonne d'achat v2 (toutes les fiches) =====
   Préfixé #col-product-info pour passer devant la section 2 quel que soit l'ordre. */

/* Prix : plus grand, sans mention TTC */
#col-product-info .current-price-value{font-size:46px;font-weight:900;letter-spacing:-.03em;line-height:1;color:var(--adh-ink)}
#col-product-info .tax-shipping-delivery-label{display:none}
#col-product-info .product-prices{margin:14px 0 0}

/* Badge de disponibilité (géré par PrestaShop, on ne fait que l'habiller) */
#col-product-info #product-availability{display:inline-block;font-weight:800;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;margin:0 0 10px}
#col-product-info #product-availability.product-available{background:#E9F5F0;color:var(--adh-green-deep)}
#col-product-info #product-availability.product-unavailable,#col-product-info #product-availability.badge-danger{background:var(--adh-warn-bg);color:var(--adh-warn)}

/* Déclinaisons (tailles) : boutons pleins, arrondis, état coché vert, rupture barrée */
#col-product-info .product-variants .form-control-label{display:block;font-weight:800;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--adh-ink-soft);margin:0 0 10px}
#col-product-info .product-variants ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
#col-product-info .product-variants li.input-container{float:none;margin:0;position:relative}
#col-product-info .product-variants .input-radio{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;opacity:0;margin:0;cursor:pointer;z-index:2}
#col-product-info .product-variants .radio-label{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:46px;padding:0 16px;margin:0;border:1.5px solid var(--adh-line-strong);border-radius:12px;background:var(--adh-card);font-weight:700;font-size:15px;line-height:1;color:var(--adh-ink);outline:0;transition:border-color .15s,background .15s,color .15s}
#col-product-info .product-variants .radio-label:hover,#col-product-info .product-variants .input-radio:hover+.radio-label{border:1.5px solid var(--adh-green-strong);outline:0}
#col-product-info .product-variants .input-radio:checked+.radio-label{background:var(--adh-green);border-color:var(--adh-green);color:#fff;box-shadow:0 8px 18px -10px rgba(18,59,52,.7)}
#col-product-info .product-variants .input-radio:focus-visible+.radio-label{outline:2px solid var(--adh-green-strong);outline-offset:2px}
#col-product-info .product-variants li.attribute-not-in-stock .radio-label{color:var(--adh-ink-soft);border-style:dashed;background:transparent;text-decoration:line-through}
#col-product-info .product-variants li.attribute-not-in-stock .input-radio:checked+.radio-label{background:var(--adh-ink-soft);border-color:var(--adh-ink-soft);color:#fff}

/* Quantité et bouton panier sur la même ligne, même hauteur */
#col-product-info .product-add-to-cart .product-quantity{display:flex;flex-wrap:nowrap;align-items:stretch;gap:10px;margin:0}
#col-product-info .product-quantity>.col{flex:0 0 auto;width:auto;max-width:none;margin:0;padding:0}
#col-product-info .product-quantity .col-add-btn{flex:1 1 auto}
#col-product-info .product-quantity .qty{width:150px;height:54px;margin:0}
#col-product-info .product-quantity .qty .input-group,#col-product-info .product-quantity .bootstrap-touchspin{height:100%;border:1px solid var(--adh-line-strong);border-radius:12px;overflow:hidden;background:#fff}
#col-product-info .product-quantity .qty input{height:100%;border:0;text-align:center;font-weight:700;font-size:16px;box-shadow:none}
/* Quantité : « − » à gauche, « + » à droite de la case (le thème génère un stepper vertical, on le réordonne) */
#col-product-info .product-quantity .bootstrap-touchspin{display:flex;flex-wrap:nowrap;align-items:stretch}
#col-product-info .product-quantity .bootstrap-touchspin .input-group-btn-vertical{display:contents}
#col-product-info .product-quantity .bootstrap-touchspin .bootstrap-touchspin-down{order:0;border-right:1px solid var(--adh-line)}
#col-product-info .product-quantity .bootstrap-touchspin input{order:1;flex:1 1 0px;width:auto;min-width:0;padding:0;height:100%}
#col-product-info .product-quantity .bootstrap-touchspin .bootstrap-touchspin-up{order:2;border-left:1px solid var(--adh-line)}
#col-product-info .product-quantity .bootstrap-touchspin .btn-touchspin{flex:0 0 44px;width:44px;max-width:44px;height:100%;margin:0;padding:0;border-top:0;border-bottom:0;border-radius:0;background:#fff;position:relative;display:flex;align-items:center;justify-content:center;color:var(--adh-ink);font-weight:700;font-size:20px;line-height:1}
#col-product-info .product-quantity .bootstrap-touchspin .btn-touchspin:hover{background:var(--adh-bg)}
#col-product-info .product-quantity .bootstrap-touchspin .btn-touchspin i{display:none}
#col-product-info .product-quantity .bootstrap-touchspin .bootstrap-touchspin-down::before{content:"\2212"}
#col-product-info .product-quantity .bootstrap-touchspin .bootstrap-touchspin-up::before{content:"+"}
#col-product-info .product-quantity .add,#col-product-info .product-quantity .add-to-cart{height:54px}
