/*
 Theme Name:   Astra Child
 Theme URI:    https://wpastra.com/
 Description:  Astra Child Theme
 Author:       NC
 Author URI:   NC
 Template:     astra
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  astra-child
*/
/** Menu **/
/** Page d'accueil **/
	/** Bio **/
	/** Bloc catégories **/
	/** Slider produits **/
	/** Slider avis clients **/
/** Page contact **/
/** Page boutique **/
/** Page produit **/
/** Panier **/
/** Page panier **/
/** Page checkout **/
/** Page mon compte **/
/** Page Privacy policy **/
/** Footer **/


html {
    scroll-behavior: smooth;
}

/* Protection anti-sélection et anti-glissement des images */
img {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	border: none;
}
.entry-content .woocommerce-message,
.entry-content .woocommerce-error,
.entry-content .woocommerce-info {
	padding: 30px!important;
}
.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
	content: none;
}
.woocommerce-error,
.woocommerce-error li a,
.woocommerce-js form .form-row .required,
.wc-block-components-notice-banner.is-error .wc-block-components-notice-banner__content,
.xoo-wsc-notice-error {
	color: #ff8585!important;
}
.xoo-wsc-notice-error,
.wc-block-components-notice-banner.is-error {
	border: none;
}
.wc-block-components-notice-banner.is-error svg {
	display: none;
}

/** Menu **/
.site-navigation a,
.elementor-widget-navigation-menu a {
	font-family: 'Syne',sans-serif;
}
.ast-nav-menu .menu-item .sub-menu,
.ast-nav-menu .ast-menu-toggle:hover,
.ast-nav-menu .ast-menu-toggle:focus {
	border: none;
	outline: none;
}

.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link:hover {
	color: #bbb39b;
}
.ast-mobile-header-content {
	margin-bottom: 15px;
}
.ast-header-html div.xoo-wsc-sc-bkcont {
	line-height: 1
}
.ast-header-html span.xoo-wsc-sc-count,
.ast-header-html span.xoo-wsch-items-count {
  height: 14px;
  line-height: 14px;
  width: 14px;
  font-size: 10px;
  right: -10px;
  top: -5px;
}
/* 1. Réinitialiser la couleur du lien d'ancre actif sur la page d'accueil */
.home.ast-theme-transparent-header .main-header-menu .current-menu-item a[href*="#"],
.home.ast-theme-transparent-header .main-header-menu .current_page_item a[href*="#"] {
    color: #fff!important; /* Mets ici ta couleur normale de menu */
}

/* 2. Maintenir la couleur uniquement lors du survol réel (Hover) */
.home.ast-theme-transparent-header .main-header-menu .current-menu-item a[href*="#"]:hover,
.home.ast-theme-transparent-header .main-header-menu .current_page_item a[href*="#"]:hover {
    color: #F0E6C5!important; /* Ta couleur de survol */
}
/* Couleur blanche pour l'icône du panier XootiX dans l'en-tête transparent Astra */
.ast-theme-transparent-header .xoo-wsc-sc-bki {
  color: #ffffff !important;
}

/* Couleur au survol de l'icône panier */
.home.ast-theme-transparent-header .xoo-wsc-sc-bki:hover {
	color: #F0E6C5!important;
}
.xoo-wsc-sc-bki:hover {
  color: #bbb39b!important;
}
/* Couleur au survol de l'icône mon compte */
.home.ast-theme-transparent-header .ast-header-account-wrap:hover .ahfb-svg-iconset svg path,
.home.ast-theme-transparent-header .ast-header-account-wrap:hover .ahfb-svg-iconset svg circle{
	fill: #F0E6C5!important;
}
.ast-header-account-wrap:hover .ahfb-svg-iconset svg path,
.ast-header-account-wrap:hover .ahfb-svg-iconset svg circle {
	fill: #bbb39b!important;
}

/** Page d'accueil **/
/* responsive */
@media (min-width: 768px) and (max-width: 1666px) {
	#homebio.homelefttext,
	#homeoriginals.homerighttext {
		--width: 100%;
		padding: 40px 0 40px 40px;
	}
}

	/** Bannière **/
@media (min-width: 1025px) and (max-width: 1666px) {
	.home .elementor-element.elementor-widget-heading h1.elementor-heading-title {
		font-size: 30px;
	}
}
@media (min-width: 1667px) and (max-width: 1960px) {
	.home .elementor-element.elementor-widget-heading h1.elementor-heading-title {
		font-size: 50px;
	}
}
	

	/** Bio **/
/* paragraphes sans marge */
.entry-content .elementor-widget.nomargin p {
	margin: 0;
}

	/** Bloc catégories **/
/* rendre le lien cliquable sur tout le bloc */
/* 1. On force le bloc parent à devenir la zone de référence */
.homecategories .homecategory {
    position: relative !important;
}
/* 2. On force le titre et ses conteneurs à ne pas bloquer le clic */
.homecategories .homecategory .elementor-widget-heading,
.homecategories .homecategory .elementor-widget-container {
    position: static !important;
}
/* 3. On étire le lien sur 100% de la hauteur et largeur du bloc parent */
.homecategories .homecategory a {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 99 !important;
    /* pour centrer verticalement le texte */
    display: flex !important;
    align-items: center;
    justify-content: center;
}


	/** Slider produits **/
.wpb-woo-products-slider.grid_no_animation figcaption {
	background: none;
}

.home .homeslidercontainer .elementor-widget-shortcode {
	--row-gap: 30px!important;
}
.home .wpb-woo-products-slider.grid_no_animation figcaption {
	text-align: left;
}
.home .wpb-woo-products-slider.grid_no_animation figcaption h3.pro_title {
	font-size: 18px;
	margin-bottom: 0;
}
.home .wpb-woo-products-slider.grid_no_animation .product-attributes-values {
	font-size: 14px;
	font-style: italic;
}
.home .wpb-woo-products-slider.grid_no_animation .pro_price_area {
	text-align: left!important;
	font-weight: 500;
	margin-top: 15px;
	font-size: 16px;
}
.home .wpb-woo-products-slider.grid_no_animation .woocommerce-Price-amount {
	color: #000;
}

.home .wpb-woo-products-slider.grid_no_animation .pro_price_area ins .woocommerce-Price-amount {
	color: #996b12;
}

/* On force l'écart de 50px entre chaque élément du carrousel WPB Product Slider */
/* 1. Sécurité pour figer la base de 10px du plugin sur l'élément global */
.home .wpb-woo-products-slider .owl-item {
    margin-right: 10px !important; 
}
/* 2. Répartition précise de l'espace supplémentaire sur le contenu interne (15px + 25px = 40px de plus) */
.home .wpb-woo-products-slider .wpb-wps-slider-item {
    margin-left: 25px !important;
    margin-right: 15px !important;
}

/* centrer le flèches de navigation */
/* 1. On réinitialise et on étire le conteneur des flèches sur toute la largeur */
.wpb_slider_area .owl-theme .owl-nav {
  position: absolute !important;
  top: 40% !important;        /* Descend le bloc au milieu de la hauteur */
  left: 0 !important;         /* Aligne à l'extrême gauche du slider */
  right: 0 !important;        /* Aligne à l'extrême droite du slider */
  width: 100% !important;     /* Force le bloc à faire toute la largeur */
  transform: translateY(-50%) !important; /* Centre parfaitement au pixel près */
  margin: 0 !important;
  pointer-events: none;       /* Empêche le bloc invisible de bloquer les clics sur les produits */
}
/* 2. On configure les flèches (les boutons) */
.wpb_slider_area .wpb-woo-products-slider.owl-theme .owl-nav button {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important; /* Centre chaque bouton sur lui-même */
  pointer-events: auto;       /* Réactive le clic indispensable sur les boutons */
  margin: 0 !important;
  border-radius: 50% !important;
  background: #fff;
}
/* 3. On pousse la flèche "Précédent" à gauche */
.wpb_slider_area .owl-theme .owl-nav button.owl-prev {
  left: -20px !important;     /* Sort un peu à gauche (mettez 10px si vous la voulez à l'intérieur) */
}
/* 4. On pousse la flèche "Suivant" à droite */
.wpb_slider_area .owl-theme .owl-nav button.owl-next {
  right: -20px !important;    /* Sort un peu à droite (mettez 10px si vous la voulez à l'intérieur) */
}

/* centrer les images */
/* 1. Conteneur principal de l'image */
.home .wpb-woo-products-slider .owl-item .wpb-wps-slider-item figure {
    width: 100% !important;
    margin: 0 0 15px 0 !important;
}
/* 2. Zone du lien : force un ratio carré (ou rectangulaire) et centre l'image */
.home .wpb-woo-products-slider .owl-item .wpb-wps-slider-item a.wpb_pro_img_url {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important; /* Rend toutes les zones d'image parfaitement carrées */
    overflow: hidden !important;
}
/* 3. L'image occupe le cadre sans déformation */
.home .wpb-woo-products-slider .owl-item .wpb-wps-slider-item a.wpb_pro_img_url img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important; /* Centre l'image et évite le rognage */
}
/* 4. Le titre et le prix se placent naturellement en dessous 
.owl-item .wpb-wps-slider-item .wpb-wps-product-content,
.owl-item .wpb-wps-slider-item .wpb_wps_product_title {
    display: block !important;
    clear: both !important;
}*/


	/** Slider avis clients **/
/* ajouter l'icône quotes avant l'avis */
.home .atc-testimonial-container .swiper-wrapper .swiper-slide .content:before {
  content: "“";
  display: block;
  font-size: 50px;
  line-height: 0;
}
.home .atc-testimonial-container .swiper-wrapper .swiper-slide .author-img,
.home .atc-testimonial-container .swiper-wrapper .swiper-slide p.company {
	display: none;
}



/** Page contact **/
.contactpageform legend {
	padding: 0;
	margin: 0;
}
.contactpageform input,
.contactpageform textarea {
	border-color: #D6D6D6;
	border-radius: 0;
	box-shadow: none;
}
.contactpageform ul {
	padding: 0;
}
.contactpageform li {
	list-style: none;
}
.wpforms-container .wpforms-field input.wpforms-error,
.wpforms-container .wpforms-field input.user-invalid,
.wpforms-container .wpforms-field textarea.wpforms-error,
.wpforms-container .wpforms-field textarea.user-invalid,
.wpforms-container .wpforms-field select.wpforms-error,
.wpforms-container .wpforms-field select.user-invalid {
  border: 1px solid #ff8585!important;
}
wpforms-container label.wpforms-error,
.wpforms-container em.wpforms-error {
  color: #ff8585!important;
}


/** Page boutique **/
.archive.ast-woo-shop-archive ul.products li.product a img {
	margin-bottom: 0;
}
.archive.ast-woo-shop-archive ul.products li.product h2.woocommerce-loop-product__title {
	font-size: 1.2rem;
	margin-bottom: 0;
}
.archive.ast-woo-shop-archive ul.products li.product .ast-woo-product-category {
	margin-bottom: 0;
	text-transform: uppercase;
	opacity: 1;
	font-size: .8em;
}
.archive.ast-woo-shop-archive ul.products li.product .loop-product-attributes {
	font-size: 0.85em;
  font-style: italic;
}
.archive.ast-woo-shop-archive ul.products li.product span.price {
	margin-top: 15px;
}
.archive.ast-woo-shop-archive ul.products li.product span.price del {
	opacity: 1;
}
.archive.ast-woo-shop-archive ul.products li.product .woocommerce-Price-amount bdi {
	font-size: 1.2em;
	font-weight: 500;
}
.archive.ast-woo-shop-archive ul.products li.product span.price ins bdi {
	color: #996b12;
}

/* Force le conteneur de la boutique à occuper toute la largeur de l'écran */
.post-type-archive-product .site-content .ast-container,
.tax-product_cat .site-content .ast-container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 30px !important;  /* Marge interne à gauche */
    padding-right: 30px !important; /* Marge interne à droite */
}
/* supprimer les borders */		
div.ast-primary-header-bar.ast-primary-header,
.ast-left-sidebar div#primary,
.ast-left-sidebar div#secondary {
	border: none;
}

.ast-left-sidebar div#secondary {
	padding: 0;
}

/* Positionne la sidebar tout en haut sur mobile */
@media (max-width: 921px) {
    /* 1. On transforme le conteneur en flexbox vertical */
    .post-type-archive-product #content .ast-container,
    .tax-product_cat #content .ast-container {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
    }

    /* 2. On force la barre latérale (#secondary) à passer EN PREMIER */
    .post-type-archive-product #secondary,
    .tax-product_cat #secondary {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 30px!important; /* Marge pour décoller des produits */
    }

    /* 3. On force la zone de produits (#primary) à passer EN SECOND */
    .post-type-archive-product #primary,
    .tax-product_cat #primary {
        order: 2!important;
        width: 100%!important;
        max-width: 100%!important;
    }
}

/* Force le footer Elementor à rester tout en bas sur mobile (conséquence du code plus haut) */
@media (max-width: 921px) {
    /* 1. Assure que le conteneur global englobant remet le footer en dernier */
    #page,
    .site,
    body {
        display: flex!important;
        flex-direction: column!important;
    }

    /* 2. Cible le footer Elementor / Astra et lui assigne l'ordre final */
    footer,
    .site-footer,
    [data-elementor-type="footer"] {
        order: 9999!important;
        width: 100%!important;
    }

    /* 3. Assure que la zone de contenu principale reste au milieu */
    #content,
    .site-content {
        order: 2!important;
    }
}

@media (max-width: 921px) {
	.site-content .ast-container #secondary {
		margin: 0!important;
	}
}
@media (max-width: 921px) {
	.site-content .ast-container #primary {
		margin-top: 15px;
	}
}

/* Supprime le rembourrage supérieur au dessus de la liste de produits */
.archive.ast-woo-shop-archive .post-type-archive-product .woocommerce-products-header,
.archive.ast-woo-shop-archive .tax-product_cat .woocommerce-products-header,
.archive.ast-woo-shop-archive .woocommerce-notices-wrapper,
.archive.ast-woo-shop-archive .wpc-custom-selected-terms {
    display: none !important;
}



/* Aspect des images avec encadré gris + cadre blanc */
/* 1. Annulation de la classe Astra qui rogne les images */
.woocommerce ul.products li.product.remove-featured-img-padding .astra-shop-thumbnail-wrap {
    margin: 0 0 15px 0 !important;
    width: 100% !important;
}
/* 2. Le conteneur gris fixe : on augmente le padding pour "pousser" l'image vers l'intérieur */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background-color: #f7f7f7 !important;
    aspect-ratio: 4 / 5 !important;       
    height: auto !important;
    width: 100% !important;
    padding: 35px !important;              /* MODIFIABLE : Plus cette valeur est grande, plus l'image sera petite */
    box-sizing: border-box !important;
    overflow: hidden !important;
}
/* 3. La balise <a> intermédiaire */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap a.woocommerce-loop-product__link {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    text-decoration: none !important;
}
/* 4. L'image + cadre blanc : bridée à 85% de l'espace disponible */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
    width: auto !important;
    height: auto !important;
    max-height: 85% !important;            /* MODIFIABLE : Réduis cette valeur (ex: 75%) si tu la veux encore plus petite */
    max-width: 85% !important;             /* MODIFIABLE : Réduis cette valeur (ex: 75%) si tu la veux encore plus petite */
    object-fit: contain !important;
    
    /* Style du cadre blanc */
    background-color: #ffffff !important;
    padding: 10px !important;               /* Épaisseur de la marge blanche de la photo */
    border: 1px solid #e5e5e5 !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}
@media (max-width: 1340px) {
	.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
		max-height: 100% !important;            /* MODIFIABLE : Réduis cette valeur (ex: 75%) si tu la veux encore plus petite */
    max-width: 100% !important;
	}
}
@media (max-width: 1155px) {
	.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
		padding: 15px !important;
	}
}

/* Grille 2 colonnes sous 1200px de largeur d'écran (Surcharge spécifique Astra) */
@media (max-width: 1200px) {
    /* 1. Remplacer la grille Astra par 2 colonnes égales */
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .ast-woocommerce-container ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;                 /* Espacement entre les cartes */
    }

    /* 2. Annuler les largeurs et marges individuelles d'Astra */
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    .ast-grid-common-col.ast-full-width {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        float: none !important;
        clear: none !important;
    }
}

/* Badge "Sold out" */
.archive.ast-woo-shop-archive ul.products li.product .ast-shop-product-out-of-stock {
	top: -2%;
  left: -2%;
  background-color: #fff;
  color: #996b12;
  padding: 20px;
  font-style: italic;
	bottom: initial;
	right: initial;
	text-transform: none;
	font-weight: 500;
	text-align: left
}
@media (min-width: 1777px) and (max-width: 2222px) {
	.archive.ast-woo-shop-archive ul.products li.product .ast-shop-product-out-of-stock {
		top: -3%;
		left: -3%;
		padding: 15px;
		font-size: 90%
	}
}
@media (min-width: 1359px) and (max-width: 1776px) {
	.archive.ast-woo-shop-archive ul.products li.product .ast-shop-product-out-of-stock {
		top: -5%;
		left: -5%;
		padding: 10px;
		font-size: 80%
	}
}
@media (min-width: 1201px) and (max-width: 1358px) {
	.archive.ast-woo-shop-archive ul.products li.product .ast-shop-product-out-of-stock {
		top: -7%;
		left: -7%;
		padding: 10px;
		font-size: 80%
	}
}
@media (max-width: 1200px) {
	.archive.ast-woo-shop-archive ul.products li.product .ast-shop-product-out-of-stock {
		top: -4%;
		left: -4%;
		padding: 10px;
		font-size: 80%
	}
}

/** Page produit **/
.single-product h2 {
	font-size: 25px;
  margin-top: 50px;
}
.single-product h2.additional-info-title {
	margin-top: 0;
}
.single-product h3 {
	line-height: 1.4;
}

.single-product div.product div.summary span.single-product-category {
	font-size: 16px;
	margin-bottom: 10px;
	text-transform: uppercase;
}
.single-product #main-product-attributes {
	font-style: italic;
	margin-bottom: 15px;
	font-size: 16px;
}
.single-product div.product p.price {
	font-size: 1.15rem;
	margin-bottom :10px;
	font-weight: 500;
}
.single-product div.product div.summary p.price del,
.single-product div.product div.summary span.price del {
	color: #000;
	opacity: 1;
}
.single-product ul.products li.product .price,
.single-product ul.products li.product .price {
	font-weight: 500;
}

.single-product div.product div.summary p.price ins span.amount bdi {
	color: #996b12;
	font-weight: 500;
}

.single-product p {
	font-size: 16px;
}

.single-product .woocommerce-product-details__short-description {
	padding-bottom: 40px;
}
.single-product #custom-variation-description-block {
	padding-bottom: 5px;
}

.accordion-content p {
	font-size: 17px;
	font-family: 'Syne',sans-serif;
}

/* style des produits suggérés */
.single-product .related.products ul.products li.product h2.woocommerce-loop-product__title {
	margin-top: 15px;
	font-size: 1.2rem;
	margin-bottom: 0;
}
.single-product .related.products ul.products li.product .ast-woo-product-category {
	margin-bottom: 0;
  text-transform: uppercase;
  opacity: 1;
}
.single-product .related.products .loop-product-attributes {
	font-size: 0.85em;
	font-style: italic;
}
.single-product .related.products span.price {
	margin-top: 15px;
}
.single-product .related.products ul.products li.product ins bdi {
  color: #996B12;
  font-weight: 500;
}

/* Supprimer les flèches natives du navigateur sur les champs quantité */
.quantity input[type=number]::-webkit-inner-spin-button, 
.quantity input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none; 
    margin: 0; 
}
.quantity input[type=number] { 
    -moz-appearance: textfield; 
}

/* Badge "Sold out" des produits suggérés */
.single-product ul.products li.product .ast-shop-product-out-of-stock {
	top: -2%;
  left: -2%;
  background-color: #fff;
  color: #996b12;
  padding: 20px;
  font-style: italic;
	bottom: initial;
	right: initial;
	text-transform: none;
	font-weight: 500;
	text-align: left
}
@media (min-width: 1777px) and (max-width: 2222px) {
	.single-product ul.products li.product .ast-shop-product-out-of-stock {
		top: -3%;
		left: -3%;
		padding: 15px;
		font-size: 90%
	}
}
@media (min-width: 1359px) and (max-width: 1776px) {
	.single-product ul.products li.product .ast-shop-product-out-of-stock {
		top: -5%;
		left: -5%;
		padding: 10px;
		font-size: 80%
	}
}
@media (min-width: 1201px) and (max-width: 1358px) {
	.single-product ul.products li.product .ast-shop-product-out-of-stock {
		top: -7%;
		left: -7%;
		padding: 10px;
		font-size: 80%
	}
}
@media (max-width: 1200px) {
	.single-product ul.products li.product .ast-shop-product-out-of-stock {
		top: -4%;
		left: -4%;
		padding: 10px;
		font-size: 80%
	}
}



/* Disposition et container gris */
/* ==========================================================================
   STRUCTURE LA'OUT 100VH FIXE & SCROLL DÉPENDANT (ASTRÂ/WOOCOMMERCE)
   ========================================================================== */

/* 1. BLOC PARENT & STRUCTURE 2 COLONNES (100VH) */
.single-product .site-content {
    overflow: hidden !important;
}

.single-product div.product {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    height: 100vh !important; /* Hauteur exacte de l'écran */
    margin-left: calc(-50vw + 50%) !important;
    padding-left: 0 !important;
}

/* 2. COLONNE GAUCHE - GALERIE ANCRÉE (100VH) */
.single-product div.product div.images {
    width: 50vw !important;
    max-width: 50vw !important;
    height: 100vh !important;
    position: sticky !important;
    top: 0 !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background-color: #f7f7f7 !important;
}

.single-product div.product div.images .flex-viewport,
.single-product div.product div.images:not(.woocommerce-product-gallery--with-images),
.single-product div.product div.images .woocommerce-product-gallery__wrapper {
    height: 100% !important;
    width: 100% !important;
    background-color: #f7f7f7 !important;
}

/* 3. PISTE DU SLIDER & IMAGE PRINCIPALE */
.single-product div.product div.images .woocommerce-product-gallery__wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.single-product div.product div.images .woocommerce-product-gallery__image {
    width: 100% !important; /* Et non 50vw, car le wrapper gère déjà la largeur cumulative */
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

.single-product div.product div.images .woocommerce-product-gallery__image a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 5% 5% 85px 5% !important;
    box-sizing: border-box !important;
}

.single-product div.product div.images:not(.woocommerce-product-gallery--with-images) .woocommerce-product-gallery__image a {
    padding-bottom: 5% !important;
}

.single-product div.product div.images .woocommerce-product-gallery__image img {
    width: auto !important;
    height: 100% !important;
    max-width: 70% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    margin: auto !important;
}
@media (max-width: 1200px) {
	.single-product div.product div.images .woocommerce-product-gallery__image img {
		max-width: 90% !important;
	}
}

/* 4. COLONNE DROITE - DÉFILEMENT INDÉPENDANT */
.single-product div.product div.summary {
    width: 50vw !important;
    max-width: 50vw !important;
    height: 100vh !important;
    overflow-y: auto !important;
    float: none !important;
    margin-top: 0 !important;
    padding: 60px 5% 60px 4% !important;
    box-sizing: border-box !important;
    scrollbar-width: thin;
}

.single-product div.product div.summary::-webkit-scrollbar {
    width: 4px;
}
.single-product div.product div.summary::-webkit-scrollbar-thumb {
    background-color: #e5e5e5;
}
/* ==========================================================================
   5. GALERIE PRODUIT (FONCTIONNELLE + CENTRAGE VERTICAL + VIGNETTES)
   ========================================================================== */

/* 5.A - Conteneur global (Fond gris, centrage vertical et espace de sécurité avec le footer) */
.single-product div.product div.images,
.single-product div.product .woocommerce-product-gallery {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    background-color: #f7f7f7 !important; /* Couleur exacte demandée */
    overflow: visible !important;
    padding: 30px 20px 30px 20px !important;
    box-sizing: border-box !important;
    /* Suppression des marges pour coller au bas de la zone */
    margin-bottom: 0 !important;
    height: auto !important;
}
/* Annulation des marges résiduelles générées par Astra/WooCommerce sous la colonne */
.single-product div.product {
    margin-bottom: 0 !important;
}

/* 5.B - Déblocage du masque pour laisser grandir l'image */
.single-product div.product div.images .flex-viewport {
    width: 100% !important;
    height: auto !important; /* Annule la hauteur fixe calculée par le JS WooCommerce */
    max-height: none !important;
    overflow: hidden !important;
    position: relative !important;
    background: transparent !important;
}

/* 5.C - Wrapper FlexSlider natif */
.single-product div.product div.images .woocommerce-product-gallery__wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

/* 5.D - Agrandissement réel de l'image */
.single-product div.product div.images .woocommerce-product-gallery__image {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
}

.single-product div.product div.images img {
    max-height: 75vh !important; /* Hauteur beaucoup plus grande (ajustable à 80vh si besoin) */
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
}
/* Le bloc gris conserve une hauteur stable pour éviter que la page ne saute */
.single-product div.product div.images {
    min-height: 650px !important; /* Ajuste cette valeur selon la taille souhaitée */
}

/* 5.E - Rangée de vignettes centrée en bas du bloc gris */
/* 5.E - Liste de vignettes : ZÉRO margin-bottom pour éviter le rognage */
.single-product div.product div.images ol.flex-control-nav.flex-control-thumbs {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    
    gap: 12px !important;
    margin: 20px 0 0 0 !important; /* Seule la marge supérieure est conservée */
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 55px !important; /* Garantit l'espace vertical minimal pour les images */
    box-sizing: content-box !important;
    overflow: visible !important;
    z-index: 10 !important;
}

/* 5.F - Vignettes individuelles */
.single-product div.product div.images ol.flex-control-nav.flex-control-thumbs li {
    width: 50px !important;
    height: 50px !important;
    flex: 0 0 50px !important;
    margin: 0 !important;
    float: none !important;
		display: block !important;
    overflow: visible !important;
}

.single-product div.product div.images ol.flex-control-nav.flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 0.5 !important;
    cursor: pointer !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.12) !important;
    transition: all 0.2s ease !important;
}

.single-product div.product div.images ol.flex-control-nav.flex-control-thumbs li img.flex-active,
.single-product div.product div.images ol.flex-control-nav.flex-control-thumbs li img:hover {
    opacity: 1 !important;
    border-color: #111111 !important;
}

/* 6. RESPONSIVE MOBILE & TABLETTE */
@media (max-width: 921px) {

    /* Break-out : Forcer les conteneurs parents Astra à s'étendre sur 100% de l'écran */
    .single-product .site-content,
    .single-product .site-content .ast-container,
    .single-product #primary,
    .single-product #main {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .single-product div.product {
        height: auto !important;
        flex-wrap: wrap !important;
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Galerie grise en pleine largeur sans aucune marge */
    .single-product div.product div.images {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 60vh !important; /* Ajuste la hauteur du bloc gris sur mobile (ex: 50vh à 60vh) */
        position: relative !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .single-product div.product div.images .woocommerce-product-gallery__image a {
        padding: 5% 5% 65px 5% !important; /* Réduction du padding bas pour rééquilibrer le centrage */
    }

    /* Colonne texte : On lui remet du padding pour que le texte ne colle pas à l'écran */
    .single-product div.product div.summary {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        position: static !important;
        overflow-y: visible !important;
        padding: 30px 20px !important;
        box-sizing: border-box !important;
    }
		/* Réduction du padding sur le lien englobant l'image principale */
    .single-product div.product div.images .woocommerce-product-gallery__image a {
        padding: 4% !important;
    }

    /* Marge basse sous la rangée de vignettes pour décoller du bas de l'encadré gris */
    .single-product div.product div.images ol.flex-control-nav.flex-control-thumbs {
        margin-bottom: 20px!important;
				margin-top: 0!important;
    }
}




/* Réactiver le titre produit standard de WooCommerce dans la colonne de droite */
.single-product div.product div.summary .product_title,
.single-product div.product div.summary h1.entry-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 28px !important;
    margin-bottom: 12px !important;
    color: #111111 !important;
}

/* Empêche le clic et retire le pointeur sur la grande image */
.single-product div.product div.images .woocommerce-product-gallery__image a {
    pointer-events: none !important;
    cursor: default !important;
}


/* Onglets produit dans la colonne droite & style accordéon */
.custom-product-accordion {
    margin-top: 35px !important;
    border-top: 1px solid #e5e5e5 !important;
    width: 100% !important;
}

.accordion-item {
    border-bottom: 1px solid #e5e5e5 !important;
}

.accordion-header {
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    padding: 18px 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #111111 !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
}

.accordion-icon {
    font-size: 16px !important;
    font-weight: 300 !important;
    transition: transform 0.25s ease !important;
}

.accordion-item.active .accordion-icon {
    transform: rotate(45deg) !important; /* Transforme le + en x au clic */
}

.accordion-content {
    display: none; /* Masqué par défaut */
    padding-bottom: 20px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}



/* Alignement du titre H3 dans le bouton de l'accordéon */
.custom-product-accordion .accordion-header h3 {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important; /* Espacement entre l'icône et le texte */
    margin: 0 !important;
}



/* Style du sélecteur de quantité (- et +) & Bouton Ajouter au panier */
/* ==========================================================================
   STRUCTURE FLEXBOX - FORMULAIRE D'ACHAT & QUANTITÉ (PRODUITS SIMPLES & VARIABLES)
   ========================================================================== */

/* 1. Formulaire principal : empilement vertical pour laisser les variations au-dessus */
.single-product div.product form.cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
}

/* 2. Table des variations (Selects Color/Size) sur toute la largeur */
.single-product div.product form.cart table.variations {
    width: 100% !important;
    margin-bottom: 0 !important;
}

/* 3. Conteneur du bloc d'achat (Produits variables : Quantité + Bouton côte à côte) */
.single-product div.product form.cart .woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
}

/* 4. Conteneur du bloc d'achat (Produits simples : côte à côte) */
.single-product div.product form.cart:not(.variations_form) {
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
}

/* 5. Bouton "Ajouter au panier" : étirement sur 100% de la largeur restante */
.single-product div.product form.cart .single_add_to_cart_button {
    flex: 1 !important;
    width: 100% !important;
    height: 48px !important;
    line-height: 48px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    justify-content: center !important;
}

/* 6. Bloc Sélecteur de Quantité (- / +) */
.single-product div.product form.cart .quantity {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #e5e5e5 !important;
    height: 48px !important;
    box-sizing: border-box !important;
    background-color: #ffffff !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

/* 7. Boutons - et + */
.single-product div.product form.cart .quantity .qty-btn {
    width: 36px !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    color: #111111 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: background-color 0.2s ease !important;
    box-shadow: none !important;
}

.single-product div.product form.cart .quantity .qty-btn:hover {
    background-color: #f7f7f7 !important;
}

/* 8. Champ texte de la quantité */
.single-product div.product form.cart .quantity input.qty {
    width: 40px !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* 9. Règle de masquage pour les déclinaisons hors stock */
/* a. Ne masquer QUE le sélecteur de quantité sur les produits hors stock */
.out-of-stock .quantity,
.woocommerce-variation-add-to-cart-out-of-stock .quantity {
    display: none !important;
}
/* b. S'assurer que le bouton reste visible sur les produits hors stock */
.out-of-stock .single_add_to_cart_button,
.woocommerce-variation-add-to-cart-out-of-stock .single_add_to_cart_button {
    display: flex !important;
    width: 100% !important;
}
/* c. Style visuel du bouton 'Sold out' grisé et non cliquable */
.single-product div.product form.cart .single_add_to_cart_button.disabled,
.single-product div.product form.cart .single_add_to_cart_button:disabled,
.out-of-stock .single_add_to_cart_button {
    background-color: #f7f7f7 !important;
    color: #999999 !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
    border: 1px solid #e5e5e5 !important;
    pointer-events: none !important; /* Empêche le clic */
}


/* Supprimer les espaces ::before et ::after sur le bouton d'ajout au panier */
/* Annuler le clearfix WooCommerce/Astra qui crée un espace fantôme dans Flexbox */
.single-product div.product form.cart::before,
.single-product div.product form.cart::after {
    content: none !important;
    display: none !important;
}


/* Dimension et couleur du trait des icônes SVG */
.accordion-tab-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    stroke: currentColor; /* L'icône prendra automatiquement la couleur du texte du titre */
}

/** Panier **/
.xoo-wsc-container .xoo-wsc-img-col img {
	border-radius: 0;
}
.xoo-wsc-container .xoo-wsc-pname {
	line-height: 1;
}
.xoo-wsc-container .xoo-wsc-pname a {
	font-family: 'Syne',sans-serif;
	font-weight: 500;
}
.xoo-wsc-container .xoo-wsc-product .wc-cart-item-category a {
	text-transform: uppercase;
	font-style: normal;
	color: #bbb39b;
	font-size: 14px;
}
.xoo-wsc-container .xoo-wsc-product .wc-cart-item-attributes {
	font-style: italic;
	display: block;
}
.xoo-wsc-container .xoo-wsc-product dl.variation dt {
	display: none;
}
.xoo-wsc-container .xoo-wsc-product del {
	opacity: 1;
}
.xoo-wsc-container .xoo-wsc-product del .woocommerce-Price-amount,
.xoo-wsc-container .xoo-wsc-pprice ins .woocommerce-Price-amount,
.xoo-wsc-container .xoo-wsc-pprice .woocommerce-Price-amount bdi {
	font-size: 14px;
}
.xoo-wsc-container .xoo-wsc-pprice ins .woocommerce-Price-amount bdi {
	color: #996B12;
}
.ast-sticky-add-to-cart.is-active .ast-sticky-add-to-cart-title-wrap,
.ast-sticky-add-to-cart.is-active .ast-sticky-add-to-cart-action-price.price{
  color: #000;
  font-weight: 500;
}

/* Repositionner le prix total hors de la colonne de droite dans chaque carte produit */
/* 1. La colonne d'infos prend toute la largeur disponible */
.xoo-wsc-product .xoo-wsc-sm-info {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
}
/* 2. La colonne de gauche récupère 100% de la largeur (moins la poubelle) */
.xoo-wsc-product .xoo-wsc-sm-left {
    flex: 1 1 auto !important;
    max-width: calc(100% - 35px) !important;
}
/* 3. La colonne de droite ne conserve que la poubelle en haut à droite */
.xoo-wsc-product .xoo-wsc-sm-right {
    flex: 0 0 30px !important;
    text-align: right !important;
}

.xoo-wsc-product .xoo-wsc-smr-del {
    display: inline-block !important;
    margin: 0 !important;
}
/* 4. Le prix total extrait se place tout en bas à droite */
.xoo-wsc-product .xoo-wsc-sm-info > .xoo-wsc-smr-ptotal {
    width: 100% !important;
    text-align: right !important;
    margin-top: 10px !important;
    order: 99 !important;
}

/* Aligner l'image de chaque carte produit totalement en haut
/* 1. Aligner les deux colonnes principales (Image / Contenu) en haut */
.xoo-wsc-product {
    display: flex !important;
    align-items: flex-start !important; /* Force le calage tout en haut */
}
/* 2. S'assurer que le conteneur d'image ne s'étire pas */
.xoo-wsc-product .xoo-wsc-img-col {
    align-self: flex-start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* 3. Forcer l'élément <img> interne à ne pas ajouter de décalage */
.xoo-wsc-product .xoo-wsc-img-col img {
    display: block !important;
    vertical-align: top !important;
    margin-top: 0 !important;
}




/** Page panier **/
/*.woocommerce-cart #page .ast-article-single {
	background-color: #f7f7f7;
}*/
.woocommerce-cart #page .ast-article-single h1 {
	display: block;
	font-weight: 500;
	font-size: 63px;
	text-align: center;
}
.woocommerce-cart #page .wp-block-woocommerce-empty-cart-block h2.wp-block-heading {
	margin-bottom: 30px;
}
.woocommerce-cart #page .ast-article-single .wc-block-components-product-name {
	font-family: 'Syne',sans-serif;
	font-size: 18px;
	line-height: 1;
	color: #000;
}
.woocommerce-cart #page .wc-block-components-product-metadata {
	margin-top: 0!important;
}
.woocommerce-cart #page .wc-block-components-product-details {
  font-size: 14px;
}
.woocommerce-cart #page .wc-block-components-product-details .wc-cart-item-category {
	text-transform: uppercase;
}
.woocommerce-cart #page .wc-block-components-product-details .wc-cart-item-attributes {
	font-style: italic;
	display: block;
}
.woocommerce-cart #page .wc-block-cart-item__prices {
	font-size: 16px;
}
.woocommerce-cart #page .wc-block-components-product-price ins.is-discounted {
	color: #996b12;
}
.woocommerce-cart #page .wc-block-cart-item__total {
	font-size: 18px;
}
.woocommerce-cart #page .wc-block-components-product-badge {
	color: #4CAF50;
}
.woocommerce-cart #page .wp-block-woocommerce-empty-cart-block .emptycart {
	margin-bottom: 0;
}
.woocommerce-cart #page .wp-block-woocommerce-empty-cart-block .shophere a {
	text-decoration: underline;
	color: #000;
}
.woocommerce-cart #page .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product .wc-block-grid__product-title {
	color: #000;
}
.woocommerce-cart #page .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product .wc-block-grid__product-meta {
	margin-top: 0!important;
}
.woocommerce-cart #page .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product .wc-block-grid__product-meta .wc-block-grid__product-attributes {
	font-style: italic;
}
.woocommerce-cart #page .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product .wc-block-grid__product-price {
	margin-top: 15px;
}
.woocommerce-cart #page .wp-block-woocommerce-empty-cart-block .wp-block-product-new .wc-block-grid__product-price ins .woocommerce-Price-amount {
	color: #bbb39b;
}
@media (min-width: 922px) {
  .woocommerce-cart #page .ast-container,
	.woocommerce-checkout #page .ast-container {
    max-width: 1300px;
  }
}
/* Supprimer le badge "Sale" de la liste de nouveaux produits suggérés */
.woocommerce-cart #page .wc-block-grid__product-onsale {
	display: none;
}
/* Supprimer la description produit dans le bloc Panier WooCommerce */
.woocommerce-cart #page .wc-block-components-product-metadata__description {
    display: none;
}

/* Changer la position des attributs pour qu'ils soient en dessous du nom du produit */
/* Passer le conteneur principal du produit en Flexbox vertical */
.woocommerce-cart .wc-block-cart-item__wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}
/* 1. Nom du produit */
.woocommerce-cart .wc-block-cart-item__wrap .wc-block-components-product-name {
    order: 1 !important;
}
/* 2. Bloc Métadonnées / Attributs (directement sous le nom) */
.woocommerce-cart .wc-block-cart-item__wrap .wc-block-components-product-metadata {
    order: 2 !important;
    margin-top: 4px !important;
    margin-bottom: 6px !important;
}
/* 3. Bloc Prix */
.woocommerce-cart .wc-block-cart-item__wrap .wc-block-cart-item__prices {
    order: 3 !important;
    margin-bottom: 8px !important;
}
/* 4. Bloc Quantité & Supprimer */
.woocommerce-cart .wc-block-cart-item__wrap .wc-block-cart-item__quantity {
    order: 4 !important;
}


/* Aspect des images avec encadré gris + cadre blanc sur la page Panier (suggestions) */

/* 1. Le conteneur gris fixe au format 4/5 */
.woocommerce-cart .wc-block-grid__product-image {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background-color: #f7f7f7 !important;
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
    width: 100% !important;
    padding: 35px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    margin-bottom: 15px !important;
}

/* 2. L'image + cadre blanc */
.woocommerce-cart .wc-block-grid__product-image img {
    width: auto !important;
    height: auto !important;
    max-height: 85% !important;
    max-width: 85% !important;
    object-fit: contain !important;
    
    /* Style du cadre photo blanc */
    background-color: #ffffff !important;
    padding: 10px !important;
    border: 1px solid #e5e5e5 !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

.woocommerce-cart .wp-block-woocommerce-product-new .wc-block-grid__product-price.price,
.woocommerce-cart .wp-block-woocommerce-product-new.wc-block-grid .wc-block-grid__products .wc-block-grid__product .wp-block-button__link {
  font-weight: 500;
}

/* Responsive */
@media (max-width: 1340px) {
    .woocommerce-cart .wc-block-grid__product-image img {
        max-height: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 1155px) {
    .woocommerce-cart .wc-block-grid__product-image {
        padding: 15px !important;
    }
}



/** Page checkout **/
body.woocommerce-checkout .fc-checkout-header {
	padding: 1em 0 3em 0;
	border: none;
}
/* Popup login */
body.woocommerce-checkout .fc-login-form__inner input.input-text  {
  border: 1px solid #D6D6D6!important;
}
/* Empêcher l'en-tête sans distraction de recouvrir le haut de page sur mobile */
@media (max-width: 991px) {
    body.woocommerce-checkout .fc-checkout-header,
    body.woocommerce-checkout .fc-header,
    body.woocommerce-checkout .site-header {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        z-index: 10 !important;
    }

    /* Réinitialiser la marge supérieure du conteneur de page */
    body.woocommerce-checkout #page,
    body.woocommerce-checkout .site-content,
    body.woocommerce-checkout .fc-content {
        margin-top: 0 !important;
        padding-top: 15px !important;
    }
}
body.woocommerce-checkout .fc-checkout-header .fc-checkout__branding {
	margin: 0 auto;
}
body.woocommerce-checkout .fc-checkout-header .fc-checkout__branding img {
	max-height: none;
}

body.woocommerce-checkout .woocommerce-error {
	margin-left: 50px;
	margin-right: 50px;
}

/* Masquer les conteneurs de notices sur la commande s'ils ne contiennent aucun enfant */
.woocommerce-notices-wrapper:empty,
.fc-checkout-notices:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* S'assurer qu'aucune marge haute sur la première section ne pousse la colonne */
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .fc-checkout-notices {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
body.woocommerce-checkout div.woocommerce .fc-wrapper .fc-step__substep h3.fc-step__substep-title,
body.woocommerce-checkout div.woocommerce .fc-wrapper h3.fc-checkout-order-review-title {
	color: #000;
	text-transform: none;
	font-size: 1.3rem;
	font-weight: 500;
}
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error::before {
	display: none;
}

body.woocommerce-checkout:not(.logged-in) .woocommerce-form-login .woocommerce-error strong:first-of-type {
	display: none;
}
/* Désactive le deuxième oeil sur le mdp (le pseudo-élément ::after de WooCommerce), car un autre est déjà présent */
body.woocommerce-checkout .woocommerce form .show-password-input::after, 
body.woocommerce-checkout .woocommerce-page form .show-password-input::after {
    content: none !important;
    display: none !important;
}
/* Centrer l'icône SVG dans le champ de mot de passe et la rendre fixe même lorsque l'on a des messages d'erreur
/* 1. Isolation du conteneur parent */
.woocommerce-checkout .password-input {
    display: flex !important;
    flex-direction: column !important; /* L'erreur s'affiche SOUS le champ */
    position: relative !important;
    width: 100% !important;
}
/* 2. L'input conserve sa taille et sert de repère vertical */
.woocommerce-checkout .password-input input.input-text {
    width: 100% !important;
    margin: 0 !important;
}
/* 3. L'œil se cale en haut à droite, au centre de l'INPUT (pas du conteneur global) */
body.woocommerce-checkout .password-input .show-password-input {
    position: absolute !important;
    top: 31px !important; /* Aligne l'œil au milieu de la hauteur standard de l'input (environ 44px) */
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    height: auto !important;
    z-index: 10 !important;
}
/* 4. Le message d'erreur de Fluid Checkout passe proprement en dessous sans impacter l'œil */
.woocommerce-checkout .password-input .fc-inline-error {
    display: block !important;
    width: 100% !important;
    margin-top: 5px !important;
}
/* 5. Clean-up du pseudo-élément ::before */
body.woocommerce-checkout .password-input .show-password-input::before {
    position: static !important;
    top: auto !important;
    display: block !important;
    margin: 0 !important;
}

/* Force l'affichage du hint personnalisé sur les états Weak et Medium (good) */
#password_strength.bad ~ .woocommerce-password-hint,
#password_strength.short ~ .woocommerce-password-hint,
#password_strength.good ~ .woocommerce-password-hint {
    display: block !important;
}

/* Masque le hint uniquement sur l'état Strong */
#password_strength.strong ~ .woocommerce-password-hint {
    display: none !important;
}

body.woocommerce-checkout div.woocommerce .form-row .fc-inline-error {
	background: none;
}
body.woocommerce-checkout div.woocommerce .woocommerce-password-strength {
	padding-left: 0;
}
body.woocommerce-checkout iv.woocommerce .woocommerce-password-strength.strong:before,
body.woocommerce-checkout div.woocommerce .woocommerce-password-strength:before {
	display: none;
}

/* Supprimer les icônes d'avertissement ::before pour l'email et le mot de passe */
body.woocommerce-checkout div.woocommerce .form-row .fc-inline-error::before,
body.woocommerce-checkout div.woocommerce #billing_email_field .fc-inline-error::before,
body.woocommerce-checkout div.woocommerce #account_password_field .fc-inline-error::before {
    display: none !important;
    content: "" !important;
    width: 0 !important;
    height: 0 !important;
}
/* Masquer l'icône d'avertissement dans le message de force du mot de passe */
body.woocommerce-checkout div.woocommerce #password_strength::before,
body.woocommerce-checkout div.woocommerce .woocommerce-password-strength::before,
body.woocommerce-checkout #password_strength.fc-inline-error::before,
body.woocommerce-checkout #password_strength::before {
    display: none !important;
    content: "" !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Annuler le retrait du texte si un padding était réservé à l'icône */
body.woocommerce-checkout div.woocommerce #password_strength,
body.woocommerce-checkout div.woocommerce .woocommerce-password-strength,
body.woocommerce-checkout div.woocommerce .fc-inline-error {
    padding-left: 0 !important;
}


body.woocommerce-checkout #billing_email-description,
body.woocommerce-checkout #shipping_address_1-description,
body.woocommerce-checkout #billing_address_1-description,
body.woocommerce-checkout #shipping_address_2-description,
body.woocommerce-checkout .form-row label {
    display: none !important;
}
body.woocommerce-checkout #shipping_phone_field {
	width: 100% !important;
}
/* Flèche avant la description du téléphone de livraison et la description de la création de compte */
body.woocommerce-checkout #shipping_phone-description::before,
body.woocommerce-checkout .fc-account-creation-notice::before {
    content: "➔ " !important; /* Flèche propre */
    display: inline-block;
    margin-right: 10px;
}

body.woocommerce-checkout .fc-account-creation-notice {
	color: #bbb39b !important;
}
body.woocommerce-checkout #shipping_phone-description {
	padding-left: 0;
	padding-top: 20px;
  color: #bbb39b !important;
}

body.woocommerce-checkout .shipping-method__options,
body.woocommerce-checkout .fc-same-address-checkbox{
	font-size: 15px;
}

body.woocommerce-checkout .woocommerce-input-wrapper input {
	border-color: #D6D6D6;
}
body.woocommerce-checkout main .fc-content {
	font-size: 16px;
}

/* faire fonctionner l'ouverture et la fermeture des champs optionnels, avec les bonne icônes */
/* 1. Ne JAMAIS masquer le conteneur du bouton de toggle */
body.woocommerce-checkout .fc-expansible-form-section__toggle {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}
/* 2. Assurer que le contenu déroulant s'affiche correctement sous le bouton */
body.woocommerce-checkout .fc-expansible-form-section__content.is-expanded {
    display: block !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
		padding-top: 20px;
}
/* 3. Icône par défaut (FERMÉE) : PLUS */
body.woocommerce-checkout .expansible-section__toggle-plus::before {
    content: "+" !important;
    font-family: inherit !important;
    font-weight: bold !important;
    margin-right: 5px !important;
}
/* 4. Icône quand le champ est OUVERT : MOINS */
body.woocommerce-checkout .expansible-section__toggle-plus.is-open::before {
    content: "−" !important;
}


body.woocommerce-checkout div.woocommerce .fc-expansible-form-section .expansible-section__toggle-plus {
	color: #000;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wp-block-woocommerce-checkout .fc-checkout-notices,
body.woocommerce-checkout .wp-block-woocommerce-checkout .fc-inside{
	padding-top: 0;
}

body.woocommerce-checkout div.woocommerce .fc-wrapper .fc-checkout-order-review .fc-checkout-order-review__inner {
	border: none;
	background: none;
}
body.woocommerce-checkout .fc-wrapper .fc-checkout-step,
body.woocommerce-checkout .fc-wrapper .fc-step__substep{
	border: none;
}
body.woocommerce-checkout.has-highlighted-shipping-section div.woocommerce form .fc-step__substep {
	background: none;
}
body.woocommerce-checkout div.woocommerce .form-row:not(.fc-expansible-form-section) + .fc-expansible-form-section.form-row.form-row-last .expansible-section__toggle-plus {
	margin-top: 0;
}




/* Alignement robuste Code postal + Ville */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .shipping_address,
.woocommerce-checkout .billing_address {
    display: flex !important;
    flex-wrap: wrap !important;
}

.woocommerce-checkout #shipping_postcode_field,
.woocommerce-checkout #billing_postcode_field {
    width: 48% !important;
    max-width: 48% !important;
    flex: 0 0 48% !important;
    margin-right: 4% !important;
    order: 70 !important;
    clear: both !important;
}

.woocommerce-checkout #shipping_city_field,
.woocommerce-checkout #billing_city_field {
    width: 48% !important;
    max-width: 48% !important;
    flex: 0 0 48% !important;
    margin-right: 0 !important;
    order: 80 !important;
    clear: none !important;
}


body.woocommerce-checkout .fc-wrapper .woocommerce-shipping-fields .shipping_address:not(:last-child),
body.woocommerce-checkout .fc-wrapper .woocommerce-shipping-fields .woocommerce-shipping-fields__field-wrapper:not(:last-child) {
	padding-bottom: 0;
}
body.woocommerce-checkout div.woocommerce form .woocommerce-shipping-only-fields__field-wrapper {
	margin-top: 0;
}
body.woocommerce-checkout div.woocommerce form .form-row.form-row-last {
	width: 100%;
}
body.woocommerce-checkout div.woocommerce form .form-row label {
	font-weight: 500;
}

/* Colonne de droite, repositionner les caractéristiques produits au-dessus du prix unitaire */
/* 1. Transformer le conteneur des détails du produit en Flexbox vertical */
body.woocommerce-checkout .product-details {
    display: flex !important;
    flex-direction: column !important;
}
/* 2. Réordonner les éléments dans l'ordre souhaité */
body.woocommerce-checkout .product-details .cart-item__name {
    order: 1 !important; /* 1er : Nom du produit */
}
body.woocommerce-checkout .product-details .cart-item__meta {
    order: 2 !important; /* 2ème : Variations / Définition (Limited editions, 50x50 cm) */
    margin-bottom: 4px;
}
body.woocommerce-checkout .product-details .cart-item__price {
    order: 3 !important; /* 3ème : Prix unitaire */
}
body.woocommerce-checkout .product-details .product-quantity {
    order: 4 !important; /* 4ème : Quantité (x1) */
}


body.woocommerce-checkout .wc-cart-item-category {
	color: #bbb39b;
}

body.woocommerce-checkout div.woocommerce .fc-wrapper #order_review table.woocommerce-checkout-review-order-table tbody tr.cart-item {
	border: none;
}
body.woocommerce-checkout .product-details .cart-item__meta dt.variation- {
	display: none;
}
body.woocommerce-checkout .product-details .cart-item__meta p {
	margin-bottom: 0;
}
body.woocommerce-checkout .product-details .cart-item__meta .wc-cart-item-category {
	display: block;
	text-transform: uppercase;
	font-size: 13px;
	margin-bottom: 5px;
}
body.woocommerce-checkout .product-details .cart-item__meta .wc-cart-item-attributes {
	color: #000;
	font-style: italic;
}
body.woocommerce-checkout .fc-coupon_code__collapsible .collapsible-content__inner {
	text-align: left;
}
body.woocommerce-checkout .fc-coupon_code__collapsible .fc-expansible-form-section__content.is-expanded {
	padding-bottom: 20px;
}

body.woocommerce-checkout div.woocommerce .fc-wrapper #order_review table.woocommerce-checkout-review-order-table .product-quantity {
	background-color: #fff;
	color: #000;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	border-radius: 0;
	padding: 4px;
}
body.woocommerce-checkout div.woocommerce .fc-wrapper #order_review table.woocommerce-checkout-review-order-table .product-name > img {
	border: none;
	padding: 0;
}


body.woocommerce-checkout div.woocommerce form .form-row .select2-selection:focus,
body.woocommerce-checkout div.woocommerce form .form-row input[type=checkbox]:focus,
body.woocommerce-checkout div.woocommerce form .form-row input[type=date]:focus,
body.woocommerce-checkout div.woocommerce form .form-row input[type=email]:focus,
body.woocommerce-checkout div.woocommerce form .form-row input[type=number]:focus,
body.woocommerce-checkout div.woocommerce form .form-row input[type=password]:focus,
body.woocommerce-checkout div.woocommerce form .form-row input[type=radio]:focus,
body.woocommerce-checkout div.woocommerce form .form-row input[type=search]:focus,
body.woocommerce-checkout div.woocommerce form .form-row input[type=tel]:focus,
body.woocommerce-checkout div.woocommerce form .form-row input[type=text]:focus,
body.woocommerce-checkout div.woocommerce form .form-row input[type=url]:focus,
body.woocommerce-checkout div.woocommerce form .form-row select:focus,
body.woocommerce-checkout div.woocommerce form .form-row textarea:focus {
	outline: solid 1px #535156 !important;
}

body.woocommerce-checkout div.woocommerce form .form-row input#account_password:focus {
	border-style: solid;
}

/* Bloquer la coche verte du mot de passe si strong n'est pas là */
#account_password_field:not(:has(#password_strength.strong))::after,
#account_password_field:not(:has(#password_strength.strong)) *::after {
    display: none !important;
    content: none !important;
}
#add_payment_method .checkout .create-account small,
.woocommerce-cart .checkout .create-account small,
.woocommerce-checkout .checkout .create-account small {
	font-style: italic;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text {
	font-size: 14px;
}


/* --- Page Checkout WooCommerce : Remplacement du rouge par #ff8585 --- */
/* 1. Bordures de TOUS les champs en erreur (input, select, textarea) */
.woocommerce-checkout .woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea,
.woocommerce-checkout .fc-field--error input,
.woocommerce-checkout .fc-field--error select,
.woocommerce-checkout .fc-field--error textarea,
.woocommerce-checkout .fc-field--invalid input,
.woocommerce-checkout .fc-field--invalid select,
.woocommerce-checkout .fc-field--invalid textarea,
.woocommerce-checkout .select2-container--default .woocommerce-invalid .select2-selection--single,
.woocommerce-checkout input.input-text:invalid,
.woocommerce-checkout input.error {
    border-color: #ff8585 !important;
}
/* 2. Contour / Ombre (box-shadow) lors du clic sur un champ en erreur */
.woocommerce-checkout .woocommerce-invalid input:focus,
.woocommerce-checkout .fc-field--error input:focus,
.woocommerce-checkout .fc-field--invalid input:focus {
    border-color: #ff8585 !important;
    box-shadow: 0 0 0 1px #ff8585 !important;
}
/* 3. Textes d'erreur explicatifs sous N'IMPORTE QUEL champ (Fluid Checkout & Woo) */
.woocommerce-checkout .fc-inline-error,
.woocommerce-checkout .field-error,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout,
.woocommerce-checkout .woocommerce-invalid-required-field,
.woocommerce-checkout .checkout-inline-error-message {
    color: #ff8585 !important;
}
/* 4. Astérisques (*) des champs obligatoires et libellés (labels) des champs en erreur */
.woocommerce-checkout .required,
.woocommerce-checkout .woocommerce-invalid label,
.woocommerce-checkout .fc-field--error label,
.woocommerce-checkout form .form-row.woocommerce-invalid label {
    color: #ff8585 !important;
}
/* 5. Boîte d'alerte globale d'erreur en haut du checkout */
.woocommerce-checkout div.woocommerce-error,
.woocommerce-checkout div.wp-block-woocommerce-checkout-error-block,
.woocommerce-checkout .fc-message--error {
    border-color: #ff8585 !important;
    border-top-color: #ff8585 !important;
}
/* 6. Indicateur de mot de passe faible (texte et bordure) */
.woocommerce-checkout #password_strength.short,
.woocommerce-checkout #password_strength.bad,
.woocommerce-checkout .woocommerce-password-strength.short,
.woocommerce-checkout .woocommerce-password-strength.bad {
    color: #ff8585 !important;
    border-color: #ff8585 !important;
}

/* Masquer la description d'erreur uniquement s'il s'agit d'un champ vide/requis */
.woocommerce-invalid-required-field p.checkout-inline-error-message {
    display: none !important;
}
.woocommerce-checkout .fc-checkout-steps .checkout-inline-error-message {
	font-size: 13px;
}

/* --- Synchro Fluid Checkout / WooCommerce Strength Meter pour la validation du mot de passe, l'encadré vert ne doit apparaître que si WooCommerc est ok avec le mot de passe --- */
/* Bloquer l'icône de validation native/Fluid Checkout sur le champ mot de passe tant qu'il n'est pas Strong */
#account_password_field.woocommerce-validated:not(:has(#password_strength.strong))::after,
#account_password_field.woocommerce-validated:not(:has(#password_strength.strong)) .password-input::after {
    display: none !important;
    content: none !important;
}
/* Couleurs de bordures */
.woocommerce-checkout .form-row:has(#password_strength.bad) input#account_password,
.woocommerce-checkout .form-row:has(#password_strength.short) input#account_password {
    border-color: #ff8585 !important;
}
.woocommerce-checkout .form-row:has(#password_strength.good) input#account_password {
    border-color: #c95000 !important;
}
.woocommerce-checkout .form-row:has(#password_strength.strong) input#account_password {
    border-color: #4ab866 !important;
}



/* 1. Le fond global de la page devient gris (pour la colonne de droite et l'arrière-plan) 
/* 1.1 Appliquer le masque anti-scroll horizontal sur HTML et non sur Body */
html {
    overflow-x: hidden !important;
}

/* 1.2. Réinitialiser le Body pour qu'il utilise le défilement naturel de la fenêtre */
body.woocommerce-checkout {
    background-color: #f7f7f7 !important;
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    position: relative !important;
    height: auto !important;
}

/* 2. Retirer les marges d'Astra pour coller sous le header */
body.woocommerce-checkout #main.fc-main,
body.woocommerce-checkout .fc-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* 3. Structure flex pour aligner les 2 colonnes */
body.woocommerce-checkout .fc-inside {
    position: relative !important;
}

/* 4. La colonne de gauche reçoit le fond blanc et s'étend jusqu'à l'extrême gauche de l'écran */
body.woocommerce-checkout .fc-checkout-steps {
    background-color: #ffffff !important;
    position: relative !important;
    padding: 30px !important;
    z-index: 1 !important;
}

/* Désactiver le fond étendu sur mobile pour éviter qu'il recouvre le bas de page */
@media (max-width: 991px) {
    body.woocommerce-checkout .fc-checkout-steps::before {
        content: none !important;
        display: none !important;
    }
}

/* Appliquer le fond étendu UNIQUEMENT sur ordinateur */
@media (min-width: 992px) {
    body.woocommerce-checkout .fc-checkout-steps::before {
        content: "" !important;
        position: absolute !important;
        top: 0 !important;
        bottom: -500px !important;    /* Descend sous le formulaire au défilement */
        left: -2000px !important;     /* S'étend à l'infini vers le bord gauche de l'écran */
        right: 0 !important;
        background-color: #ffffff !important;
        z-index: -1 !important;
    }
}
	/* 4.1. Appliquer la largeur exacte de la colonne gauche de Fluid Checkout */
	.woocommerce-NoticeGroup-checkout {
			float: none !important;
			width: calc(62.5% - var(--fluidcheckout--columns--gap, 50px)) !important;
			height: auto !important;
			position: relative !important;
			box-sizing: border-box !important;
	}
	/* 4.2. Etendre le fond blanc du bord droit de cette colonne jusqu'à l'extrême gauche */
	.woocommerce-NoticeGroup-checkout::before {
			content: "" !important;
			position: absolute !important;
			top: -20px !important;    /* Ajuste si besoin pour l'espace du haut */
			bottom: -40px !important; /* Ajuste pour raccorder au bloc blanc du dessous */
			left: -2000px !important; /* Même extension infinie vers la gauche */
			right: 0 !important;      /* S'arrête exactement à la limite droite de la colonne gauche */
			background-color: #ffffff !important;
			z-index: -1 !important;
	}
	/* 4.3. Ajustement pour mobile et tablette (quand les colonnes passent l'une sous l'autre) */
	@media (max-width: 991px) {
			.woocommerce-NoticeGroup-checkout {
					width: 100% !important;
			}
	}
/* 5. La colonne de droite reste transparente pour laisser apparaître le fond gris */
body.woocommerce-checkout .fc-sidebar {
    background-color: transparent !important;
    padding: 30px !important;
}


body.woocommerce-checkout .fc-login-form .fc-login-form__title {
	font-family: 'Syne',sans-serif;
	font-weight: 500;
}
body.woocommerce-checkout .fc-login-form .fc-login-messages .woocommerce-error {
	padding: 30px;
  margin: 0 0 20px 0;
}
body.woocommerce-checkout .fc-login-form .fc-login-messages .woocommerce-error::before {
	content: none;
}
body.woocommerce-checkout ul#shipping_method .shipping-method__option input[type=radio]:checked+.shipping-method__option-label:before,
body.woocommerce-checkout .fc-wrapper #payment .payment_methods > .wc_payment_method > input[name="payment_method"]:checked + label::before {
	border: none!important;
	background: none!important;
}
body.woocommerce-checkout ul#shipping_method .shipping-method__option input[type=radio]:checked+.shipping-method__option-label:after,
body.woocommerce-checkout .fc-wrapper #payment ul.payment_methods > .wc_payment_method > input[name="payment_method"]:checked + label::after {
	color: #000!important;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text p{
  color: #7a7a7a;
}

/** Page validation de commande **/
body.woocommerce-checkout.woocommerce-order-received {
	background-color: #fff!important;
}
body.woocommerce-checkout.woocommerce-order-received .custom-thankyou-main {
	padding-left: 20px;
}
.woocommerce-checkout.woocommerce-order-received .woocommerce-thankyou-order-details,
body.woocommerce-checkout.woocommerce-order-received .woocommerce-order table.shop_table th,
body.woocommerce-checkout.woocommerce-order-received .woocommerce-order table.shop_table td {
	padding-left: 0;
}


.woocommerce-checkout.woocommerce-order-received .woocommerce-order h2.woocommerce-order-details__title {
	background: none;
	padding: 0.7em 0;
}

.woocommerce-checkout.woocommerce-order-received #page .ast-container {
	max-width: 100%;
}
.woocommerce-checkout.woocommerce-order-received #page .ast-container .content-area {
	max-width: 1300px;
	margin: 0 auto;
}
.woocommerce-checkout.woocommerce-order-received .woocommerce-thankyou-order-received {
	font-family: 'Syne',sans-serif;
	font-size: 35px;
	text-align: center;
}
/* Masquer la date et le total dans le récapitulatif supérieur */
.woocommerce-checkout.woocommerce-order-received .woocommerce-order-overview li.woocommerce-order-overview__date,
.woocommerce-checkout.woocommerce-order-received .woocommerce-order-overview li.woocommerce-order-overview__total {
    display: none;
}

/* Transformer la liste tout en haut en une colonne de lignes complètes */
.woocommerce-checkout.woocommerce-order-received .woocommerce-order-overview {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 2rem;
    padding-left: 0;
    list-style: none;
}
/* Alignement : Libellé à gauche, valeur à droite */
.woocommerce-checkout.woocommerce-order-received .woocommerce-thankyou-order-details li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid #d8d8d8;
		border-right: none;
    margin-right: 0 !important; /* Annule les marges horizontales par défaut de WC */
    float: none; /* Annule les floats natifs */
		font-size: 1em;
}
/* Alignement du texte à droite */
.woocommerce-checkout.woocommerce-order-received .woocommerce-thankyou-order-details li strong {
    text-align: right;
    margin-left: auto;
		font-weight: 500;
		font-size: 1em;
}



.woocommerce-checkout.woocommerce-order-received .woocommerce-form-login {
	max-width: 700px;
	margin: 0 auto;
}
body.woocommerce-checkout.woocommerce-order-received .form-row label {
	display: block!important;
}
.woocommerce-checkout.woocommerce-order-received .fc-login-button,
.woocommerce-checkout.woocommerce-order-received .lost_password {
	text-align: center;
}
.woocommerce-checkout.woocommerce-order-received input.input-text {
	border-color: #d6d6d6!important;
}


.woocommerce-checkout.woocommerce-order-received .woocommerce-order h2.woocommerce-order-details__title,
.woocommerce-checkout.woocommerce-order-received table.shop_table,
.woocommerce-checkout.woocommerce-order-received table.shop_table td,
.woocommerce-checkout.woocommerce-order-received th,
body.woocommerce-checkout.woocommerce-order-received .woocommerce-order h2.woocommerce-column__title,
body.woocommerce-checkout.woocommerce-order-received .woocommerce-customer-details address {
	border: none;
}
.woocommerce-checkout.woocommerce-order-received table.woocommerce-table tfoot th,
.woocommerce-checkout.woocommerce-order-received table.woocommerce-table tfoot td {
    border-top: 1px solid #d8d8d8;
}


.woocommerce-checkout.woocommerce-order-received th.product-total {
	text-align: right;
}

/* Style et alignement du tableau 3 colonnes de la page Merci */
.woocommerce-checkout.woocommerce-order-received .woocommerce-table__product-qty {
    text-align: center;
    vertical-align: middle;
    width: 70px;
}

.woocommerce-checkout.woocommerce-order-received .woocommerce-table__product-name {
    vertical-align: middle;
}

.woocommerce-checkout.woocommerce-order-received .woocommerce-table__product-total {
    vertical-align: middle;
    text-align: right;
}
.woocommerce-checkout.woocommerce-order-received .woocommerce-table__product-name a {
	color: #000;
	font-family: 'Syne',sans-serif;
}
.woocommerce-checkout.woocommerce-order-received .custom-thankyou-cat {
    font-size: 0.8em;
    color: #bbb39b;
		text-transform: uppercase;
    margin-top: 2px;
}

.woocommerce-checkout.woocommerce-order-received .custom-thankyou-attrs {
    font-size: 0.85em;
    color: #000;
		font-style: italic;
    margin-top: 2px;
}
/* Alignement à droite des prix et valeurs dans le pied de tableau (Subtotal, Shipping, Total) */
.woocommerce-checkout.woocommerce-order-received .woocommerce-table tfoot td {
    text-align: right;
    vertical-align: middle;
}

.woocommerce-checkout.woocommerce-order-received .woocommerce-table tfoot th {
    vertical-align: middle;
}

body.woocommerce-checkout.woocommerce-order-received .woocommerce-order h2.woocommerce-column__title {
	background: none;
	padding-left: 0;
}
body.woocommerce-checkout.woocommerce-order-received .woocommerce-order address {
	padding-left: 0;
	padding-top: 0;
}
body:not(.has-checkout-must-login-notice).woocommerce-checkout .woocommerce-notices-wrapper {
	width: 100%!important;
}
/* Masquer le bloc d'adresse de facturation complet */
body.same-billing-shipping-address .woocommerce-column--billing-address {
    display: none !important;
}

/* Passer l'adresse de livraison sur 100% de la largeur */
body.same-billing-shipping-address .woocommerce-column--shipping-address {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}



/* Alignement Flexbox : Image à gauche | Infos à droite */
.woocommerce-checkout.woocommerce-order-received .custom-thankyou-product-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
}

/* Bloc Image */
.woocommerce-checkout.woocommerce-order-received .custom-thankyou-img-col {
    flex-shrink: 0 !important;
}

/* Bloc Textes (empilés verticalement à droite de l'image) */
.woocommerce-checkout.woocommerce-order-received .custom-thankyou-info-col {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    line-height: 1.3;
}

/* --- PAGE MERCI : STRUCTURE ET STYLE avec colonne à droite --- */
.woocommerce-checkout.woocommerce-order-received {
    overflow-x: hidden; /* Empêche le défilement horizontal */
}

.woocommerce-checkout.woocommerce-order-received .custom-thankyou-container {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    margin-top: 30px;
    position: relative;
}

/* Colonne de gauche (Détails de commande) */
.woocommerce-checkout.woocommerce-order-received .custom-thankyou-main {
    flex: 1 1 55%;
    max-width: 58%;
    padding-right: 40px;
    box-sizing: border-box;
}

/* Colonne de droite (Sidebar avec fond gris) */
.woocommerce-checkout.woocommerce-order-received .custom-thankyou-sidebar {
    flex: 1 1 38%;
    max-width: 42%;
    background-color: #f7f7f7;
    position: relative;
    padding: 60px 40px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Extension du fond gris jusqu'au bord droit de l'écran */
.woocommerce-checkout.woocommerce-order-received .custom-thankyou-sidebar::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    width: 100vw;
    background-color: #f7f7f7;
}

/* Contenu interne de la sidebar */
.woocommerce-checkout.woocommerce-order-received .custom-thankyou-sidebar-content {
    max-width: 320px;
    text-align: center;
    position: relative;
    z-index: 2;
}

/* Photo / Avatar */
.woocommerce-checkout.woocommerce-order-received .author-avatar img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 15px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

.woocommerce-checkout.woocommerce-order-received .author-name {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 8px;
    color: #111;
}

.woocommerce-checkout.woocommerce-order-received .author-bio {
    font-size: 0.95rem;
    color: #555;
    line-height: 1.5;
    margin-bottom: 25px;
}

/* Bouton Join Community (Couleur #bbb39b) */
.woocommerce-checkout.woocommerce-order-received .btn-join-community {
    display: inline-block;
    width: 100%;
    background-color: #bbb39b;
    color: #ffffff !important;
    padding: 12px 20px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 1px;
    text-decoration: none !important;
    transition: background-color 0.2s ease, opacity 0.2s ease;
    box-sizing: border-box;
}

.woocommerce-checkout.woocommerce-order-received .btn-join-community:hover {
    background-color: #a8a088; /* Assombrissement léger pour le survol */
}

/* Bloc Réseaux Sociaux */
.woocommerce-checkout.woocommerce-order-received .social-share-block {
    margin-top: 35px;
    border-top: 1px solid #e2e2e2;
    padding-top: 25px;
}

.woocommerce-checkout.woocommerce-order-received .social-share-block h4 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 15px;
}

.woocommerce-checkout.woocommerce-order-received .social-icons {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.woocommerce-checkout.woocommerce-order-received .social-icon {
    color: #333;
    transition: transform 0.2s ease, color 0.2s ease;
}

.woocommerce-checkout.woocommerce-order-received .social-icon:hover {
    color: #bbb39b;
    transform: translateY(-2px);
}
.woocommerce-checkout.woocommerce-order-received .custom-thankyou-container {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    margin-top: 30px;
    position: relative;
    /* Supprime les espaces résiduels de ligne de base */
    line-height: 1; 
}

/* On réapplique un line-height normal pour les textes internes */
.woocommerce-checkout.woocommerce-order-received .custom-thankyou-container * {
    line-height: 1.5;
}

/* --- ADAPTATION MOBILE (< 768px) --- */
@media (max-width: 768px) {
    .woocommerce-checkout.woocommerce-order-received .custom-thankyou-container {
        flex-direction: column;
    }
    
    .woocommerce-checkout.woocommerce-order-received .custom-thankyou-main,
    .woocommerce-checkout.woocommerce-order-received .custom-thankyou-sidebar {
        max-width: 100%;
        flex: 1 1 100%;
        padding-right: 0;
    }
    
    .woocommerce-checkout.woocommerce-order-received .custom-thankyou-sidebar {
        margin-top: 40px;
        padding: 40px 20px;
    }

    .woocommerce-checkout.woocommerce-order-received .custom-thankyou-sidebar::after {
        display: none;
    }
}



/** Page mon compte **/
body.logged-in.woocommerce-account .entry-header {
	margin: 0;
}
body.logged-in.woocommerce-account .woocommerce-error {
	margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link,
body.woocommerce-account table.shop_table,
body.woocommerce-account table.shop_table tbody th,
body.woocommerce-account table.shop_table td {
	border: none;
}
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title,
body.woocommerce-account .woocommerce-Addresses address {
	border: none;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
	border: none;
	font-family: 'Syne',sans-serif;
	font-size: 1.3rem;
}
body.logged-in.woocommerce-account .woocommerce-EditAccountForm {
	margin: 0 auto;
}
body.logged-in.woocommerce-account table.shop_table thead {
	background: none;
}
body.logged-in.woocommerce-account .woocommerce-password-hint {
	font-size: 11px;
  color: #777;
	text-align: left;
}
body.logged-in.woocommerce-account .woocommerce-password-strength {
	font-weight: 400;
	font-size: 0.8em;
}
body.logged-in.woocommerce-account .woocommerce-orders-table__cell-order-number a {
	color: #996b12;
}
body.logged-in.woocommerce-account .woocommerce-order-details__title,
body.logged-in.woocommerce-account.woocommerce-view-order h2,
body.logged-in.woocommerce-account .woocommerce-column--billing-address h2,
body.logged-in.woocommerce-account .woocommerce-column--shipping-address h2 {
	font-size: 1.5rem;
	text-align: left;
}
/* Masquer le texte explicatif du display name dès le rendu HTML */
body.logged-in.woocommerce-account .woocommerce-EditAccountForm .form-row-display_name,
body.logged-in.woocommerce-account .woocommerce-EditAccountForm #account_display_name,
body.logged-in.woocommerce-account .woocommerce-EditAccountForm label[for="account_display_name"] + span,
body.logged-in.woocommerce-account .woocommerce-EditAccountForm #account_display_name ~ span {
    display: none !important;
}


/* ==========================================================================
   Mise en page "Mon compte" (Extension verticale par masque)
   ========================================================================== */
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
			color: #000;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
      background-color: #ffffff;
      color: #000000;
      box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

/* 1. Le conteneur principal sert de masque au niveau du footer */
body.logged-in.woocommerce-account #content.site-content {
    overflow: hidden !important;
}

@media (min-width: 992px) {
    /* 2. Neutraliser les floats WooCommerce */
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation,
    body.logged-in.woocommerce-account.woocommerce-MyAccount-content {
        float: none !important;
        width: 100% !important;
    }

    /* 3. Grille 2 colonnes WooCommerce */
    body.logged-in.woocommerce-account .woocommerce {
        display: grid !important;
        grid-template-columns: 450px 1fr !important;
        gap: 0 50px;
        align-items: start !important;
        width: 100%;
    }

    /* 4. Colonne de gauche : fond gris étiré artificiellement vers le bas */
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
        grid-column: 1;
        background-color: #f7f7f7;
        padding: 40px 20px 2000px 0 !important; /* Extension vers le bas */
        margin-bottom: -2000px !important;       /* Annulation pour ne pas pousser le footer */
        position: relative;
        box-sizing: border-box;
    }

    /* Fond gris (#f7f7f7) étiré vers l'extrême gauche de l'écran */
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 100%;
        width: 100vw;
        background-color: #f7f7f7;
        z-index: 1;
    }

    /* Styles des liens du menu */
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
        position: relative;
        z-index: 2;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li {
        margin-bottom: 6px;
    }

    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        display: block;
        padding: 10px 15px;
        margin: 0 80px;
        text-decoration: none;
        font-weight: 500;
        border-radius: 4px;
        transition: background-color 0.2s, color 0.2s;
    }

    /* 5. Colonne de droite (Contenu) */
    body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
        grid-column: 2;
        padding-top: 40px;
        padding-bottom: 40px;
        text-align: center;
				max-width: 1300px!important;
    }

    body.logged-in.woocommerce-account .my-account-inside-title {
        margin-top: 0 !important;
        margin-bottom: 25px !important;
        font-size: 3.5rem;
        line-height: 1.2;
    }
}

/* Adaptatif Mobile */
@media (max-width: 991px) {
    body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
        background-color: #f7f7f7;
        padding: 15px;
        margin-bottom: 25px;
        border-radius: 6px;
    }

    body.logged-in.woocommerce-account .my-account-inside-title {
        margin-top: 0;
        margin-bottom: 15px;
				text-align: center;
				font-size: 2.5rem;
    }
}

/* ==========================================================================
   Formulaire "Détails du compte" — Réduction de la largeur & placeholders
   ========================================================================== */

/* Limitation de la largeur maximale du formulaire complet */
body.logged-in.woocommerce-account .woocommerce-EditAccountForm {
    max-width: 600px; /* Ajustez cette valeur si vous souhaitez plus ou moins large */
}

/* Alignement des champs côte à côte pour Nom / Prénom */
@media (min-width: 769px) {
    body.logged-in.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
    body.logged-in.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
        width: 48% !important;
        float: left !important;
    }
    
    body.logged-in.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
        float: right !important;
    }

    body.logged-in.woocommerce-account .woocommerce-EditAccountForm .form-row-wide {
        clear: both !important;
        width: 100% !important;
    }
}

/* Style et espacement des champs input */
body.logged-in.woocommerce-account .woocommerce-EditAccountForm input.input-text {
    padding: 12px 15px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

/* Masquage des labels pour laisser la place aux placeholders */
body.logged-in.woocommerce-account .woocommerce-EditAccountForm label {
    display: none !important;
}

/* ==========================================================================
   Restylage de l'onglet Dashboard
   ========================================================================== */
/* Style du tableau de bord Mon Compte */
body.logged-in.woocommerce-account .custom-dashboard-wrapper {
    margin-bottom: 30px;
}

body.logged-in.woocommerce-account .custom-dashboard-header h2 {
    font-size: 1.8rem;
    margin-bottom: 8px;
}
@media (max-width: 991px) {
	body.logged-in.woocommerce-account .custom-dashboard-header h2 {
		font-size: 1.5rem;
		text-align: center;
	}
}
body.logged-in.woocommerce-account .custom-dashboard-header p {
    margin-bottom: 25px;
    font-size: 0.95rem;
}

/* Grille de cartes */
body.logged-in.woocommerce-account .custom-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}

/* Carte individuelle */
body.logged-in.woocommerce-account .custom-dashboard-card {
    display: flex;
    align-items: flex-start;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 8px;
    text-decoration: none !important;
    color: inherit !important;
    transition: all 0.25s ease;
}

body.logged-in.woocommerce-account .custom-dashboard-card:hover {
    background-color: #ffffff;
    border-color: #ccc;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

/* Icônes et contenus */
body.logged-in.woocommerce-account .custom-dashboard-card .card-icon {
    font-size: 1.8rem;
    margin-right: 15px;
    line-height: 1;
}

body.logged-in.woocommerce-account .custom-dashboard-card h3 {
    font-size: 1.05rem;
    margin: 0 0 5px 0;
    font-weight: 600;
}

body.logged-in.woocommerce-account .custom-dashboard-card p {
    font-size: 0.85rem;
    color: #777;
    margin: 0;
    line-height: 1.3;
}

/* Carte Déconnexion */
body.logged-in.woocommerce-account .custom-dashboard-card.card-logout:hover h3 {
    color: #d9534f;
}

/* ==========================================================================
   Restyler la page view-order dans Mon compte
   ========================================================================== */
@media (min-width: 992px) {
	body.logged-in.woocommerce-orders .woocommerce-orders-table__row .woocommerce-orders-table__cell {
		border-top: 1px solid #d8d8d8;
	}
}

@media (max-width: 991px) {
	body.logged-in.woocommerce-orders .woocommerce-orders-table__row {
		border-top: 1px solid #d8d8d8;
	}
	body.logged-in.woocommerce-orders .woocommerce-orders-table__row .woocommerce-orders-table__cell-order-number {
		display: block;
		font-size: 18px;
		font-family: 'Syne',sans-serif;
	}
	body.logged-in.woocommerce-orders table.shop_table tr th::before {
		content: attr(data-title);
		font-weight: 500;
		margin-right: 5px;
		float: left;
	}
	body.logged-in.woocommerce-orders .woocommerce table.shop_table_responsive tr td::before,
	body.logged-in.woocommerce-orders.woocommerce-page table.shop_table_responsive tr td::before {
		font-weight: 500;
	}
}
body.logged-in.woocommerce-account table.shop_table th.woocommerce-orders-table__cell,
body.logged-in.woocommerce-account table.shop_table td.woocommerce-orders-table__cell,
body.logged-in.woocommerce-account table.shop_table td.woocommerce-table__product-name,
body.logged-in.woocommerce-account table.shop_table thead th {
	padding-left: 0;
}
body.logged-in.woocommerce-account.woocommerce-view-order .woocommerce-MyAccount-content p:first-of-type {
	margin: 0;
}
/* Structure du produit sur la page View Order */
body.logged-in.woocommerce-account .custom-view-order-product {
    display: flex;
    align-items: center;
    gap: 15px;
}

body.logged-in.woocommerce-account .custom-view-order-product .product-thumbnail img {
    width: 60px;
    height: 60px;
    border-radius: 6px;
    object-fit: cover;
    display: block;
}

body.logged-in.woocommerce-account .custom-view-order-product .product-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

body.logged-in.woocommerce-account .custom-view-order-product .product-title {
    font-size: 0.95rem;
}
body.logged-in.woocommerce-account .custom-view-order-product .product-title a{
	color: #000;
}
body.logged-in.woocommerce-account .custom-view-order-product .product-category {
    font-size: 0.75rem;
		text-transform: uppercase;
    color: #bbb39b;
}

body.logged-in.woocommerce-account .custom-view-order-product .product-attributes {
    font-size: 0.8rem;
		font-style: italic;
    line-height: 1.3;
}

body.logged-in.woocommerce-account .custom-view-order-product .product-attributes .item-attribute-value {
    font-size: 0.85rem;
    color: #555;
    line-height: 1.3;
}
body.logged-in.woocommerce-account table.woocommerce-table--order-details tbody {
	font-size: 17px;
}
body.logged-in.woocommerce-account table.woocommerce-table--order-details th.product-total,
body.logged-in.woocommerce-account table.woocommerce-table--order-details td.product-total {
	text-align: right;
}

/* Style du tableau récapitulatif en haut de la page View Order */
body.logged-in.woocommerce-account table {
	border: none;
}
body.logged-in.woocommerce-account .custom-order-summary-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 35px;
    background-color: transparent;
}
body.logged-in.woocommerce-account .custom-order-summary-table tr {
    border-bottom: 1px solid #d8d8d8;
		font-size: 0.9em;
}
body.logged-in.woocommerce-account .custom-order-summary-table th {
    text-align: left !important;
    padding: 12px 0 !important;
		font-weight: 400;
		text-transform: uppercase;
    width: 50%;
    background: none !important;
    border: none !important;
		font-size: 0.9em;
}
body.logged-in.woocommerce-account .custom-order-summary-table td {
    text-align: right !important;
    padding: 12px 0 !important;
    width: 50%;
    background: none !important;
    border: none !important;
}

/* Style et alignement de la colonne Qty */
body.logged-in.woocommerce-account table.woocommerce-table--order-details th.product-quantity,
body.logged-in.woocommerce-account table.woocommerce-table--order-details td.product-quantity {
    text-align: center !important;
    width: 70px;
    vertical-align: middle !important;
    font-size: 0.95rem;
}

/* Masquer les métadonnées natives affichées en double */
body.logged-in.woocommerce-account .woocommerce-table--order-details .wc-item-meta,
body.logged-in.woocommerce-account .woocommerce-table--order-details .product-quantity-small,
body.logged-in.woocommerce-account .woocommerce-table--order-details .product-name .product-quantity {
    display: none !important;
}

/* Alignement du pied de tableau View Order (tfoot) */
body.logged-in.woocommerce-account table.woocommerce-table--order-details tfoot {
    display: table-caption;
    caption-side: bottom;
    width: 100%;
}
body.logged-in.woocommerce-account table.woocommerce-table--order-details tfoot tr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: .7em 1em 0.7em 0;
    border-top: 1px solid #d8d8d8;
		font-size: 17px;
}
body.logged-in.woocommerce-account table.woocommerce-table--order-details tfoot th {
    text-align: left !important;
    padding: 0 !important;
		border: none;
}
body.logged-in.woocommerce-account table.woocommerce-table--order-details tfoot td {
    text-align: right !important;
    padding: 0 !important;
}

/* Masquer la ligne Actions uniquement sur la page /view-order/ */
.woocommerce-view-order tr:has(.order-actions--heading) {
    display: none !important;
}

/* Billing et Shipping addresses */
body.logged-in.woocommerce-account .woocommerce-customer-details h2.woocommerce-column__title {
	border: none;
	background: none;
	padding-left: 0;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content .woocommerce-columns--addresses address {
	border: none;
	padding-left: 0;
	font-size: 17px;
}
/* Masquer la facturation si identique à la livraison sur la page view-order */
body.woocommerce-view-order.billing-same-as-shipping .woocommerce-column--billing-address {
    display: none !important;
}

body.woocommerce-view-order.billing-same-as-shipping .woocommerce-column--shipping-address {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

/* ==========================================================================
   Restyler l'onglet adresses
   ========================================================================== */
.woocommerce-edit-address .woocommerce-MyAccount-content p:first-of-type {
	text-align: left;
	font-size: 0.95rem;
}
.woocommerce-edit-address .woocommerce-MyAccount-content p:first-of-type svg {
	vertical-align: middle;
}

.woocommerce-edit-address .woocommerce-Addresses header.woocommerce-Address-title {
	background: none;
	padding-left: 0;
}
.woocommerce-edit-address .woocommerce-Addresses header.woocommerce-Address-title h2 {
	font-size: 1.9em;
	text-align: left;
}
.woocommerce-edit-address .woocommerce-Addresses header.woocommerce-Address-title a.edit {
	float: left;
	background-color: #bbb39b;
	color: #fff;
	border: 1px solid #bbb39b;
}
.woocommerce-edit-address .woocommerce-Addresses header.woocommerce-Address-title a.edit:hover {
	background-color: #fff;
	color: #bbb39b;
}
.woocommerce-edit-address .woocommerce-Addresses address {
	text-align: left;
	font-style: normal;
	font-size: 17px;
	padding-left: 0;
}

/* Transformer le conteneur des champs d'adresse en grille 2 colonnes */
@media (min-width: 768px) {
    /* 1. Activer Flexbox uniquement sur le conteneur du formulaire */
    body.woocommerce-edit-address div.woocommerce form .woocommerce-address-fields__field-wrapper {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
    }

    /* 2. État / Région : Pleine largeur (100%), au-dessus du CP/Ville */
    body.woocommerce-edit-address div.woocommerce form .woocommerce-address-fields__field-wrapper p#billing_state_field,
    body.woocommerce-edit-address div.woocommerce form .woocommerce-address-fields__field-wrapper p#shipping_state_field {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        order: 10 !important;
        clear: both !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    /* 3. Code Postal : Gauche (~48.5%) */
    body.woocommerce-edit-address div.woocommerce form .woocommerce-address-fields__field-wrapper p#billing_postcode_field.form-row,
    body.woocommerce-edit-address div.woocommerce form .woocommerce-address-fields__field-wrapper p#shipping_postcode_field.form-row {
        width: 48.5% !important;
        max-width: 48.5% !important;
        flex: 0 0 48.5% !important;
        order: 20 !important;
        float: left !important;
        clear: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    /* 4. Ville : Droite (~48.5%) */
    body.woocommerce-edit-address div.woocommerce form .woocommerce-address-fields__field-wrapper p#billing_city_field.form-row,
    body.woocommerce-edit-address div.woocommerce form .woocommerce-address-fields__field-wrapper p#shipping_city_field.form-row {
        width: 48.5% !important;
        max-width: 48.5% !important;
        flex: 0 0 48.5% !important;
        order: 20 !important;
        float: right !important;
        clear: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}
body.woocommerce-edit-address.woocommerce-account input {
	border-color: #D6D6D6;
}
body.woocommerce-edit-address.woocommerce-account .fc-expansible-form-section.fc-text-field {
	width: 100%!important;
	text-align: left;
}
body.woocommerce-edit-address.woocommerce-account .fc-expansible-form-section.fc-text-field.form-row-last .fc-expansible-form-section__toggle a.expansible-section__toggle-plus {
	margin-top: 0;
}
body.woocommerce-edit-address.woocommerce-account .fc-expansible-form-section a.expansible-section__toggle-plus {
	color: #000;
}
body.woocommerce-edit-address.logged-in.woocommerce-account .woocommerce-MyAccount-content span.description {
	text-align: left;
	color: #bbb39b;
	padding-left: 0;
}
body.woocommerce-edit-address span.description::before {
    content: "\2794\00a0" !important; /* \2794 = ➔ et \00a0 = espace incassable */
    display: inline-block !important;
    margin-right: 5px !important;
}

/* Masquer les labels Nom d'entreprise et Complément d'adresse dans Mon Compte > Adresse */
body.woocommerce-edit-address label[for="shipping_company"],
body.woocommerce-edit-address label[for="billing_company"],
body.woocommerce-edit-address label[for="shipping_address_2"],
body.woocommerce-edit-address label[for="billing_address_2"],
body.woocommerce-edit-address #billing_address_2-description,
body.woocommerce-edit-address #shipping_address_2-description {
    display: none !important;
}


/* Champs optionnels avec le + et le - dynamiques */
/* Garder le bloc de bascule toujours visible dans Mon Compte */
.woocommerce-edit-address .fc-expansible-form-section__toggle {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}
/* État fermé : signe Plus (+) par défaut */
.woocommerce-edit-address .fc-expansible-form-section__toggle a::before {
    content: "+ " !important;
}
/* État ouvert : signe Moins (-) uniquement lorsque fc-is-open est actif */
.woocommerce-edit-address .fc-expansible-form-section__toggle a.fc-is-open::before {
    content: "– " !important;
}

/* ==========================================================================
   Restyler la page Login
   ========================================================================== */
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-error {
	font-size: 17px;
	max-width: 690px;
	margin-left: auto;
	margin-right: auto;
}
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-error strong:first-child {
	display: none;
}
body.woocommerce-account:not(.logged-in) .woocommerce h2 {
	text-align: center;
}
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login {
	max-width: 690px;
	border: none;
}
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login label {
	font-weight: 500;
}
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login input {
	border-color: #D6D6D6;
}
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login button.woocommerce-form-login__submit {
	display: table;
	margin: 0 auto;
}
body.woocommerce-account:not(.logged-in) .woocommerce .woocommerce-form-login p.woocommerce-LostPassword {
	text-align: center;
}
/* Page lost password */
.woocommerce-account.woocommerce-lost-password .woocommerce {
	max-width: 690px;
	text-align: center;
}
.woocommerce-account.woocommerce-lost-password p {
	font-size: 17px;
}
.woocommerce-account.woocommerce-lost-password .woocommerce-ResetPassword svg,
.woocommerce-account.woocommerce-lost-password .p-reset-sent-message svg {
	vertical-align: middle;
}

.woocommerce-account.woocommerce-lost-password .woocommerce-ResetPassword p.woocommerce-form-row {
	max-width: 690px;
	width: 100%;
}
.woocommerce-account.woocommerce-lost-password .woocommerce-ResetPassword p.woocommerce-form-row--first {
	float: none;
	margin-left: auto;
	margin-right: auto;
}
.woocommerce-account.woocommerce-lost-password .woocommerce-ResetPassword.lost_reset_password .woocommerce-form-row--last {
	margin: 0 auto 30px auto;
	float: none;
}
.woocommerce-account.woocommerce-lost-password .woocommerce-ResetPassword.lost_reset_password input {
	border-color: #D6D6D6;
}
.woocommerce-account.woocommerce-lost-password .woocommerce-ResetPassword.lost_reset_password .woocommerce-password-hint {
	text-align: left;
	font-style: italic;
	font-size: 11px;
  color: #777;
}
.woocommerce-account.woocommerce-lost-password .woocommerce-ResetPassword.lost_reset_password button.button:disabled:hover {
	background-color: #bbb39b;
	color: #fff;
}
/* Par défaut ou champ vide */
body.woocommerce-lost-password input[type="password"],
body.woocommerce-reset-password input[type="password"] {
    transition: border-color 0.3s ease;
}
/* 1. Mot de passe Trés Faible / Faible (short / bad) */
body.woocommerce-lost-password:has(#password_strength.short) input#password_1[type="password"],
body.woocommerce-lost-password:has(#password_strength.bad) input#password_1[type="password"] {
    border-color: #ff8585 !important; /* Rouge */
		border-style: solid;
}
body.woocommerce-lost-password .woocommerce-password-strength.bad,
body.woocommerce-lost-password .woocommerce-password-strength.short {
	color: #ff8585;
}
/* 2. Mot de passe Moyen (good) */
body.woocommerce-lost-password:has(#password_strength.good) input#password_1[type="password"] {
    border-color: #ffc733 !important; /* Orange / Jaune */
		border-style: solid;
}
body.woocommerce-lost-password .woocommerce-password-strength.good {
	color: #ffc733;
}
/* 3. Mot de passe Fort (strong) */
body.woocommerce-lost-password:has(#password_strength.strong) input#password_1[type="password"] {
    border-color: #83c373 !important; /* Vert */
		border-style: solid;
}
body.woocommerce-lost-password .woocommerce-password-strength.strong {
	color: #83c373;
}

body.woocommerce-lost-password .woocommerce-password-strength.bad,
body.woocommerce-lost-password .woocommerce-password-strength.short,
body.woocommerce-lost-password .woocommerce-password-strength.good,
body.woocommerce-lost-password .woocommerce-password-strength.strong {
	background-color: #fff;
	border: none;
	text-align: left;
	font-weight: 500;
	padding-left: 0;
}


/** Pages Privacy Policy et Shipping & returns **/
.page-id-3 header.entry-header h1.entry-title,
.page-id-11 header.entry-header h1.entry-title {
  display: block;
  font-size: 63px;
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .page-id-3 header.entry-header h1.entry-title,
  .page-id-11 header.entry-header h1.entry-title {
    font-size: 45px;
  }
}
.page-id-3 h2,
.page-id-11 h2 {
    font-size: 30px;
}
.page-id-11 h3 {
  text-transform: uppercase;
  font-size: 17px;
  text-decoration: underline;
}




/** Footer **/
@media (max-width: 1200px) {
  footer .hfe-nav-menu__layout-horizontal ul.hfe-nav-menu {
    display: block;
  }
  footer .hfe-nav-menu__layout-horizontal ul.hfe-nav-menu > li.menu-item:not(:last-child) {
    margin-right: 0;
    margin-bottom: 10px;
  }
  footer .hfe-nav-menu__layout-horizontal ul.hfe-nav-menu li.menu-item a.hfe-menu-item,
   footer .hfe-nav-menu__layout-horizontal ul.hfe-nav-menu li.menu-item a.hfe-sub-menu-item {
    font-size: 17px;
   }
}
