.elementor-2447 .elementor-element.elementor-element-ef48ffa{--display:flex;--position:fixed;--justify-content:flex-end;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-5d2818a );--border-color:var( --e-global-color-5d2818a );box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;top:0px;--z-index:1;}.elementor-2447 .elementor-element.elementor-element-ef48ffa:not(.elementor-motion-effects-element-type-background), .elementor-2447 .elementor-element.elementor-element-ef48ffa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-a1837d2 );}body:not(.rtl) .elementor-2447 .elementor-element.elementor-element-ef48ffa{left:0px;}body.rtl .elementor-2447 .elementor-element.elementor-element-ef48ffa{right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2447 .elementor-element.elementor-element-0365606{margin:6rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;text-align:center;}.elementor-2447 .elementor-element.elementor-element-0365606 .elementor-heading-title{font-family:"Dancing Script";font-size:3rem;font-weight:400;color:var( --e-global-color-5d2818a );}.elementor-2447 .elementor-element.elementor-element-2e4b575{--display:flex;--min-height:0vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:0px 0px 0px 0px;--margin-top:12rem;--margin-bottom:2rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2447 .elementor-element.elementor-element-2e4b575.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2447 .elementor-element.elementor-element-4416ac4{--display:flex;--min-height:50vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:2rem;--padding-bottom:0rem;--padding-left:16rem;--padding-right:1rem;--z-index:0;}.elementor-2447 .elementor-element.elementor-element-4416ac4:not(.elementor-motion-effects-element-type-background), .elementor-2447 .elementor-element.elementor-element-4416ac4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#00000000;}.elementor-2447 .elementor-element.elementor-element-4416ac4.e-con{--align-self:flex-start;}.elementor-2447 .elementor-element.elementor-element-e29bf5d{--display:flex;border-style:none;--border-style:none;--border-radius:15px 15px 15px 15px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family );font-weight:var( --e-global-typography-text-font-weight );}.elementor-2447 .elementor-element.elementor-element-a607705{padding:2rem 2rem 2rem 2rem;border-radius:0px 0px 0px 0px;}.elementor-2447 .elementor-element.elementor-element-a607705 img{border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-b70afc1 );border-radius:15px 15px 15px 15px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-2447 .elementor-element.elementor-element-f18fe86{--display:flex;--min-height:50vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:2rem;--padding-bottom:0rem;--padding-left:2rem;--padding-right:12rem;}.elementor-2447 .elementor-element.elementor-element-f18fe86:not(.elementor-motion-effects-element-type-background), .elementor-2447 .elementor-element.elementor-element-f18fe86 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-b70afc1 );}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2447 .elementor-element.elementor-element-53fac7a .elementor-heading-title{font-family:"Helvetica";font-weight:500;color:var( --e-global-color-5d2818a );}.woocommerce .elementor-2447 .elementor-element.elementor-element-f730183 .woocommerce-product-details__short-description{color:var( --e-global-color-5d2818a );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2447 .elementor-element.elementor-element-f000a1d{width:100%;max-width:100%;margin:1rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;padding:0px 0px 0px 0px;}.elementor-2447 .elementor-element.elementor-element-f000a1d.elementor-element{--align-self:flex-start;}.elementor-2447 .elementor-element.elementor-element-f000a1d .cart button, .elementor-2447 .elementor-element.elementor-element-f000a1d .cart .button{font-family:var( --e-global-typography-primary-font-family );font-weight:var( --e-global-typography-primary-font-weight );border-style:solid;border-width:2px 2px 2px 2px;color:var( --e-global-color-a1837d2 );background-color:var( --e-global-color-primary );border-color:var( --e-global-color-a1837d2 );transition:all 0.2s;}.elementor-2447 .elementor-element.elementor-element-f000a1d .cart button:hover, .elementor-2447 .elementor-element.elementor-element-f000a1d .cart .button:hover{color:var( --e-global-color-primary );background-color:var( --e-global-color-a1837d2 );}.elementor-2447 .elementor-element.elementor-element-f000a1d .quantity .qty{border-style:double;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-a1837d2 );transition:all 0.2s;}.woocommerce .elementor-2447 .elementor-element.elementor-element-f000a1d form.cart .variations{margin-bottom:0px;}.woocommerce .elementor-2447 .elementor-element.elementor-element-f000a1d form.cart table.variations tr th, .woocommerce .elementor-2447 .elementor-element.elementor-element-f000a1d form.cart table.variations tr td{padding-top:calc( 2px/2 );padding-bottom:calc( 2px/2 );}.woocommerce .elementor-2447 .elementor-element.elementor-element-f000a1d form.cart table.variations td.value select, .woocommerce .elementor-2447 .elementor-element.elementor-element-f000a1d form.cart table.variations td.value:before{border-radius:0px;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2447 .elementor-element.elementor-element-490b9bd{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2447 .elementor-element.elementor-element-8ebcd36{border-style:none;color:var( --e-global-color-5d2818a );}.elementor-2447 .elementor-element.elementor-element-e38c909{--display:flex;}.elementor-2447 .elementor-element.elementor-element-324dd80{color:var( --e-global-color-5d2818a );}.elementor-2447 .elementor-element.elementor-element-4cc2a0a{--display:flex;}.elementor-2447 .elementor-element.elementor-element-af2a965{color:var( --e-global-color-5d2818a );}.elementor-2447 .elementor-element.elementor-element-d517c97{--n-tabs-heading-justify-content:flex-start;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;margin:2rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;padding:0px 0px 0px 0px;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-5d2818a );--n-tabs-title-gap:0px;--n-tabs-gap:0px;--n-tabs-title-border-radius:0rem 0rem 0rem 0rem;--n-tabs-title-padding-top:1em;--n-tabs-title-padding-right:1em;--n-tabs-title-padding-bottom:1em;--n-tabs-title-padding-left:1em;--n-tabs-title-color:var( --e-global-color-primary );--n-tabs-title-color-active:var( --e-global-color-5d2818a );}.elementor-2447 .elementor-element.elementor-element-d517c97 > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:var( --e-global-color-a1837d2 );}.elementor-2447 .elementor-element.elementor-element-d517c97.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#00000000;border-style:none;}.elementor-2447 .elementor-element.elementor-element-d517c97.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-2447 .elementor-element.elementor-element-d517c97.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#00000000;}:where( .elementor-2447 .elementor-element.elementor-element-d517c97.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-content ) > .e-con{background-color:var( --e-global-color-b70afc1 );border-style:none;}.elementor-2447 .elementor-element.elementor-element-d517c97.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not( :hover ){border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-5d2818a );box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5) inset;}.elementor-2447 .elementor-element.elementor-element-d517c97.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:"Helvetica";font-weight:700;}.elementor-2447 .elementor-element.elementor-element-d517c97 [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:var( --e-global-color-5d2818a );}.elementor-2447 .elementor-element.elementor-element-bd2d3a4{--display:flex;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);--margin-top:4rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-2447 .elementor-element.elementor-element-bd2d3a4:not(.elementor-motion-effects-element-type-background), .elementor-2447 .elementor-element.elementor-element-bd2d3a4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5d2818a );}.elementor-2447 .elementor-element.elementor-element-b80b2b8{margin:1rem 0rem calc(var(--kit-widget-spacing, 0px) + 1rem) 0rem;text-align:center;}.elementor-2447 .elementor-element.elementor-element-b80b2b8 .elementor-heading-title{font-family:"Dancing Script";font-size:2.3rem;font-weight:400;}.elementor-2447 .elementor-element.elementor-element-9fdffdd{--display:grid;--e-con-grid-template-columns:repeat(8, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--gap:10px 10px;--row-gap:10px;--column-gap:10px;--grid-auto-flow:row;--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0rem;--padding-bottom:2rem;--padding-left:0rem;--padding-right:0rem;}.elementor-2447 .elementor-element.elementor-element-9fdffdd:not(.elementor-motion-effects-element-type-background), .elementor-2447 .elementor-element.elementor-element-9fdffdd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5d2818a );}.elementor-2447 .elementor-element.elementor-element-fce123c{--display:flex;--margin-top:3rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2447 .elementor-element.elementor-element-7e8adda .elementor-button{background-color:#00000000;font-family:"Helvetica";font-size:1.2rem;font-weight:600;fill:var( --e-global-color-5d2818a );color:var( --e-global-color-5d2818a );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-5d2818a );}.elementor-2447 .elementor-element.elementor-element-7e8adda .elementor-button:hover, .elementor-2447 .elementor-element.elementor-element-7e8adda .elementor-button:focus{background-color:var( --e-global-color-5d2818a );color:var( --e-global-color-b70afc1 );}.elementor-2447 .elementor-element.elementor-element-7e8adda .elementor-button-content-wrapper{flex-direction:row;}.elementor-2447 .elementor-element.elementor-element-7e8adda .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-2447 .elementor-element.elementor-element-7e8adda .elementor-button:hover svg, .elementor-2447 .elementor-element.elementor-element-7e8adda .elementor-button:focus svg{fill:var( --e-global-color-b70afc1 );}body.elementor-page-2447:not(.elementor-motion-effects-element-type-background), body.elementor-page-2447 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-b70afc1 );}body.elementor-page-2447{margin:0rem 0rem 0rem 0rem;}@media(max-width:1024px){.elementor-2447 .elementor-element.elementor-element-2e4b575{--gap:0px 15px;--row-gap:0px;--column-gap:15px;}.elementor-2447 .elementor-element.elementor-element-4416ac4{--padding-top:0rem;--padding-bottom:0rem;--padding-left:7rem;--padding-right:0rem;}.elementor-2447 .elementor-element.elementor-element-9d08526{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2447 .elementor-element.elementor-element-f18fe86{--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-2447 .elementor-element.elementor-element-9fdffdd{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-2447 .elementor-element.elementor-element-0365606{margin:4rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;}.elementor-2447 .elementor-element.elementor-element-0365606 .elementor-heading-title{font-size:2rem;}.elementor-2447 .elementor-element.elementor-element-2e4b575{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:11rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2447 .elementor-element.elementor-element-4416ac4{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:1rem;--padding-bottom:0rem;--padding-left:1rem;--padding-right:1rem;}.elementor-2447 .elementor-element.elementor-element-a607705{margin:1rem 1rem calc(var(--kit-widget-spacing, 0px) + 1rem) 1rem;padding:1rem 1rem 1rem 1rem;}.elementor-2447 .elementor-element.elementor-element-9d08526{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-2447 .elementor-element.elementor-element-f18fe86{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0rem;--padding-bottom:1rem;--padding-left:1rem;--padding-right:1rem;}.elementor-2447 .elementor-element.elementor-element-53fac7a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 8px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-2447 .elementor-element.elementor-element-53fac7a .elementor-heading-title{font-size:1.9rem;}.elementor-2447 .elementor-element.elementor-element-f730183{text-align:center;}.woocommerce .elementor-2447 .elementor-element.elementor-element-f730183 .woocommerce-product-details__short-description{line-height:1.1em;}.elementor-2447 .elementor-element.elementor-element-9fdffdd{--e-con-grid-template-columns:repeat(2, 1fr);--grid-auto-flow:row;}}@media(min-width:768px){.elementor-2447 .elementor-element.elementor-element-2e4b575{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-f18fe86 *//* ==========================================================================
   Woo ⨯ Elementor — Modèle produit variable (4 lignes)
   L1: Boutons attributs (poids)
   L2: Quantité
   L3: Prix total
   L4: Bouton Ajouter au panier
   Objectif: responsive nickel, pas de chevauchement, pas de "saut" à droite.
   ========================================================================== */

/* Neutraliser d'éventuels styles Elementor qui mettent tout en ligne */
.e-add-to-cart .variations_button,
.e-add-to-cart .woocommerce-variation-add-to-cart { display: block !important; }

/* Empilement vertical des 4 lignes + centrage horizontal du contenu */
.woocommerce-variation-add-to-cart.variations_button.ub-4l {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;     /* centrer L2/L3/L4 */
  gap: 22px !important;               /* aération générale */
}

/* Chaque ligne = bloc centré qui occupe la largeur */
.woocommerce-variation-add-to-cart.variations_button.ub-4l .ub-row {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

/* =========================
   L2 : Quantité (centrée)
   ========================= */
.ub-4l .ub-row-qty { text-align: center !important; }
.ub-4l .ub-row-qty .ub-qty-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 0 0 6px 0 !important;
}
.ub-4l .ub-row-qty .quantity {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Label "Choisir la quantité" */
.ub-qty-label {
  font-weight: 700;
  color: #330000;
  font-size: 1rem !important;
}

/* Champ quantité — fond transparent */
.woocommerce .quantity .qty {
  width: 90px !important;
  text-align: center !important;
  border: 2px solid #330000 !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  color: #330000 !important;
  padding: 6px 12px !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* =========================
   L3 : Prix total
   ========================= */
.ub-4l .ub-row-price .ub-inline-price,
.ub-4l .ub-row-price .ub-inline-price .price,
.ub-4l .ub-row-price .ub-inline-price .amount,
.ub-4l .ub-row-price .woocommerce-Price-amount {
  display: inline-block !important;
  color: #330000 !important;
  font-weight: 700 !important;
  font-size: 1.5rem !important;
  background-color: #dd8f41;
  border-radius: 6px;
  padding: .1em .5em;
}

/* Un peu plus d'espace avant le bouton panier */
.ub-4l .ub-row-button { margin-top: 14px !important; }

/* =========================
   L4 : Bouton Ajouter au panier
   ========================= */
.ub-4l .ub-row-button .single_add_to_cart_button {
  display: inline-block !important;
  width: auto !important;
  margin: 0 auto !important;
  border: 2px solid #330000 !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #330000 !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

/* État ACTIF (variation sélectionnée) */
.ub-4l .ub-row-button .single_add_to_cart_button:not(.disabled):not(.wc-variation-selection-needed) {
  background: #D47517 !important;
  border-color: #330000 !important;
}

/* Hover sur ÉTAT ACTIF */
.ub-4l .ub-row-button .single_add_to_cart_button:not(.disabled):not(.wc-variation-selection-needed):hover {
  background: #330000 !important;
  border-color: #330000 !important;
  color: #D47517 !important;
}

/* Masquer le prix Woo par défaut (on affiche le total en L3) */
.single_variation .woocommerce-variation-price { display: none !important; }

/* ==========================================================================
   L1 : Attributs (boutons radio custom)
   ========================================================================== */

/* Nettoyage visuel */
.single-product .variations,
.single-product .variations tr,
.single-product .variations th,
.single-product .variations td {
  background: transparent !important;
  box-shadow: none !important;
}

/* Label "Variation" : couleur + taille */
.single-product .variations th.label,
.single-product .variations th.label label {
  color: #330000 !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  white-space: nowrap;
  font-weight: 600;
  text-align: left;
}

/* Centrer le label "Choisir le poids" */
.single-product .variations th.label,
.single-product .variations th.label label {
  text-align: center !important;
  width: 100% !important;
}

/* Disposition de la ligne 1 : label + zone boutons */
.single-product .variations tbody { display: block; }
.single-product .variations tr {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start !important;  /* pas de centrage → pas de "saut" */
  flex-wrap: wrap !important;              /* label passe au-dessus si manque de place */
  gap: 10px;
  margin-bottom: 18px !important;
}

.single-product .variations td { width: 100% !important; }

/* Select natif + reset (Woo écoute le select) */
.variations select { display: none !important; }
.reset_variations { display: none !important; }

/* ------------------------
   Boutons en CSS Grid
   ------------------------ */
.variation-buttons {
  display: grid !important;
  width: 100% !important;
  gap: 12px !important;                            /* espace régulier H/V */
  grid-auto-flow: row;                              /* remplissage naturel */
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  justify-content: normal;                          /* démarre à gauche */
  justify-items: stretch;                           /* chaque cellule remplit sa colonne */
}

/* Neutraliser tout héritage flex sur l'item */
.variation-btn {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
}
.variation-btn input { display: none; }

/* Style du "pavé" bouton */
.variation-btn span {
  display: block !important;
  width: 100% !important;
  text-align: center;
  padding: 10px 16px;
  border: 2px solid #330000;
  border-radius: 6px;
  color: #330000;
  font-weight: 600;
  line-height: 1.35 !important;   /* interligne saine si 2 lignes */
  min-height: 44px;               /* zone cliquable confortable */
  white-space: normal;
  word-break: break-word;
  hyphens: auto;
  transition: all .2s ease;
  cursor: pointer;
}

/* États actif / hover */
.variation-btn.is-active span,
.variation-btn span:hover { background: #330000; color: #D47517; }

/* Focus visible (accessibilité) */
.variation-btn span:focus-visible {
  outline: 2px solid #D47517;
  outline-offset: 2px;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

/* XXL (≥ 1200px) : colonnes plus larges si possible */
@media (min-width: 1200px) {
  .variation-buttons { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
}

/* Tablette (≤ 992px) : colonnes un peu plus larges pour éviter l’écrasement */
@media (max-width: 992px) {
  .variation-buttons { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
}

/* Mobile (≤ 600px) : toujours 2 colonnes stables */
@media (max-width: 600px) {
  .variation-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Très petit mobile (≤ 380px) : rester en 2 colonnes + micro-ajustements */
@media (max-width: 380px) {
  .variation-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  .variation-btn span {
    padding: 8px 10px;
    min-height: 40px;
    line-height: 1.3;
    font-size: clamp(.85rem, 3.4vw, .95rem);
  }
}

/* Téléphones : label quantité au-dessus du champ, sur 2 lignes si besoin */
@media (max-width: 480px) {
  .ub-4l .ub-row-qty .ub-qty-wrapper {
    display: grid !important;
    grid-template-columns: 1fr !important;  /* label sur une ligne, champ dessous */
    justify-items: center !important;
    gap: 8px !important;
  }
  .ub-4l .ub-row-qty .quantity { display: block !important; margin: 0 auto !important; }
}
/* Woo message : boutons 50% et centrés, un par ligne */
.woocommerce-message .button {
  display: block !important;
  float: none !important;
  width: 50% !important;
  margin: 8px auto 0 !important; /* centre le bouton */
}
.woocommerce-message .button + .button { margin-top: 6px !important; }

/* Mobile : pleine largeur */
@media (max-width: 600px){
  .woocommerce-message .button { width: 100% !important; }
}/* End custom CSS */