.elementor-5808 .elementor-element.elementor-element-69daedf5{--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-5808 .elementor-element.elementor-element-69daedf5:not(.elementor-motion-effects-element-type-background), .elementor-5808 .elementor-element.elementor-element-69daedf5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-a1837d2 );}body:not(.rtl) .elementor-5808 .elementor-element.elementor-element-69daedf5{left:0px;}body.rtl .elementor-5808 .elementor-element.elementor-element-69daedf5{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-5808 .elementor-element.elementor-element-55b57486{margin:6rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;text-align:center;}.elementor-5808 .elementor-element.elementor-element-55b57486 .elementor-heading-title{font-family:"Dancing Script";font-size:3rem;font-weight:400;color:var( --e-global-color-5d2818a );}.elementor-5808 .elementor-element.elementor-element-34f02c0e{--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-5808 .elementor-element.elementor-element-34f02c0e.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-5808 .elementor-element.elementor-element-395f4336{--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-5808 .elementor-element.elementor-element-395f4336:not(.elementor-motion-effects-element-type-background), .elementor-5808 .elementor-element.elementor-element-395f4336 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#00000000;}.elementor-5808 .elementor-element.elementor-element-395f4336.e-con{--align-self:flex-start;}.elementor-5808 .elementor-element.elementor-element-6a01a58e{--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-5808 .elementor-element.elementor-element-77ed6944{padding:2rem 2rem 2rem 2rem;border-radius:0px 0px 0px 0px;}.elementor-5808 .elementor-element.elementor-element-77ed6944 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-5808 .elementor-element.elementor-element-31ff3e1b{--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-5808 .elementor-element.elementor-element-31ff3e1b:not(.elementor-motion-effects-element-type-background), .elementor-5808 .elementor-element.elementor-element-31ff3e1b > .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-5808 .elementor-element.elementor-element-5710ed6e{margin:0rem 0rem calc(var(--kit-widget-spacing, 0px) + 1rem) 0rem;}.elementor-5808 .elementor-element.elementor-element-5710ed6e .elementor-heading-title{font-family:"Helvetica";font-weight:500;color:var( --e-global-color-5d2818a );}.elementor-5808 .elementor-element.elementor-element-3df88520{text-align:left;}.woocommerce .elementor-5808 .elementor-element.elementor-element-3df88520 .woocommerce-product-details__short-description{color:var( --e-global-color-5d2818a );font-family:var( --e-global-typography-secondary-font-family );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-5808 .elementor-element.elementor-element-189f14e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-5808 .elementor-element.elementor-element-6ba54cb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:left;font-family:var( --e-global-typography-primary-font-family );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-5d2818a );}.woocommerce .elementor-widget-woocommerce-product-price .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family );font-weight:var( --e-global-typography-primary-font-weight );}.elementor-5808 .elementor-element.elementor-element-41387b9{margin:0rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 1rem;}.woocommerce .elementor-5808 .elementor-element.elementor-element-41387b9 .price{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-5808 .elementor-element.elementor-element-3aa9b2f6{width:100%;max-width:100%;margin:1rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;padding:0px 0px 0px 0px;}.elementor-5808 .elementor-element.elementor-element-3aa9b2f6.elementor-element{--align-self:flex-start;}.elementor-5808 .elementor-element.elementor-element-3aa9b2f6 .cart button, .elementor-5808 .elementor-element.elementor-element-3aa9b2f6 .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-5808 .elementor-element.elementor-element-3aa9b2f6 .cart button:hover, .elementor-5808 .elementor-element.elementor-element-3aa9b2f6 .cart .button:hover{color:var( --e-global-color-primary );background-color:var( --e-global-color-a1837d2 );}.elementor-5808 .elementor-element.elementor-element-3aa9b2f6 .quantity .qty{border-style:double;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-a1837d2 );transition:all 0.2s;}.woocommerce .elementor-5808 .elementor-element.elementor-element-3aa9b2f6 form.cart .variations{margin-bottom:0px;}.woocommerce .elementor-5808 .elementor-element.elementor-element-3aa9b2f6 form.cart table.variations tr th, .woocommerce .elementor-5808 .elementor-element.elementor-element-3aa9b2f6 form.cart table.variations tr td{padding-top:calc( 2px/2 );padding-bottom:calc( 2px/2 );}.woocommerce .elementor-5808 .elementor-element.elementor-element-3aa9b2f6 form.cart table.variations td.value select, .woocommerce .elementor-5808 .elementor-element.elementor-element-3aa9b2f6 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-5808 .elementor-element.elementor-element-53402d61{--display:flex;}.elementor-5808 .elementor-element.elementor-element-6a51a1b0{border-style:none;color:var( --e-global-color-5d2818a );}.elementor-5808 .elementor-element.elementor-element-3b8704e7{--display:flex;}.elementor-5808 .elementor-element.elementor-element-2defbc70{color:var( --e-global-color-5d2818a );}.elementor-5808 .elementor-element.elementor-element-4cf3e16b{--display:flex;}.elementor-5808 .elementor-element.elementor-element-53df92df{color:var( --e-global-color-5d2818a );}.elementor-5808 .elementor-element.elementor-element-4de7dda5{--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-5808 .elementor-element.elementor-element-4de7dda5 > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:var( --e-global-color-a1837d2 );}.elementor-5808 .elementor-element.elementor-element-4de7dda5.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-5808 .elementor-element.elementor-element-4de7dda5.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-5808 .elementor-element.elementor-element-4de7dda5.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-5808 .elementor-element.elementor-element-4de7dda5.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-content ) > .e-con{background-color:var( --e-global-color-b70afc1 );border-style:none;}.elementor-5808 .elementor-element.elementor-element-4de7dda5.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-5808 .elementor-element.elementor-element-4de7dda5.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-5808 .elementor-element.elementor-element-4de7dda5 [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:var( --e-global-color-5d2818a );}.elementor-5808 .elementor-element.elementor-element-1b499ae1{--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-5808 .elementor-element.elementor-element-1b499ae1:not(.elementor-motion-effects-element-type-background), .elementor-5808 .elementor-element.elementor-element-1b499ae1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5d2818a );}.elementor-5808 .elementor-element.elementor-element-2f4f88d2{margin:1rem 0rem calc(var(--kit-widget-spacing, 0px) + 1rem) 0rem;text-align:center;}.elementor-5808 .elementor-element.elementor-element-2f4f88d2 .elementor-heading-title{font-family:"Dancing Script";font-size:2.3rem;font-weight:400;}.elementor-5808 .elementor-element.elementor-element-4034c07f{--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-5808 .elementor-element.elementor-element-4034c07f:not(.elementor-motion-effects-element-type-background), .elementor-5808 .elementor-element.elementor-element-4034c07f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5d2818a );}.elementor-5808 .elementor-element.elementor-element-2e6a8a6d{--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-5808 .elementor-element.elementor-element-18e5bcb7 .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-5808 .elementor-element.elementor-element-18e5bcb7 .elementor-button:hover, .elementor-5808 .elementor-element.elementor-element-18e5bcb7 .elementor-button:focus{background-color:var( --e-global-color-5d2818a );color:var( --e-global-color-b70afc1 );}.elementor-5808 .elementor-element.elementor-element-18e5bcb7 .elementor-button-content-wrapper{flex-direction:row;}.elementor-5808 .elementor-element.elementor-element-18e5bcb7 .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-5808 .elementor-element.elementor-element-18e5bcb7 .elementor-button:hover svg, .elementor-5808 .elementor-element.elementor-element-18e5bcb7 .elementor-button:focus svg{fill:var( --e-global-color-b70afc1 );}body.elementor-page-5808:not(.elementor-motion-effects-element-type-background), body.elementor-page-5808 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-b70afc1 );}body.elementor-page-5808{margin:0rem 0rem 0rem 0rem;}@media(max-width:1024px){.elementor-5808 .elementor-element.elementor-element-34f02c0e{--gap:0px 15px;--row-gap:0px;--column-gap:15px;}.elementor-5808 .elementor-element.elementor-element-395f4336{--padding-top:0rem;--padding-bottom:0rem;--padding-left:7rem;--padding-right:0rem;}.elementor-5808 .elementor-element.elementor-element-26f2d48d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5808 .elementor-element.elementor-element-31ff3e1b{--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-5808 .elementor-element.elementor-element-189f14e{--justify-content:center;}.elementor-5808 .elementor-element.elementor-element-4034c07f{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-5808 .elementor-element.elementor-element-55b57486{margin:4rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;}.elementor-5808 .elementor-element.elementor-element-55b57486 .elementor-heading-title{font-size:2rem;}.elementor-5808 .elementor-element.elementor-element-34f02c0e{--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-5808 .elementor-element.elementor-element-395f4336{--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-5808 .elementor-element.elementor-element-77ed6944{margin:1rem 1rem calc(var(--kit-widget-spacing, 0px) + 1rem) 1rem;padding:1rem 1rem 1rem 1rem;}.elementor-5808 .elementor-element.elementor-element-26f2d48d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5808 .elementor-element.elementor-element-31ff3e1b{--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-5808 .elementor-element.elementor-element-5710ed6e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 8px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-5808 .elementor-element.elementor-element-5710ed6e .elementor-heading-title{font-size:1.9rem;}.elementor-5808 .elementor-element.elementor-element-3df88520{text-align:center;}.elementor-5808 .elementor-element.elementor-element-189f14e{--justify-content:center;}.elementor-5808 .elementor-element.elementor-element-4034c07f{--e-con-grid-template-columns:repeat(2, 1fr);--grid-auto-flow:row;}}@media(min-width:768px){.elementor-5808 .elementor-element.elementor-element-34f02c0e{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-31ff3e1b *//* ==========================================================================
   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 */