/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Elementor Team
	Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 3.4.4
	Stable tag: 3.4.4
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/


/*Polices d'ecriture*/

/* Open Sans local */

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/uploads/fonts/Open_Sans/open-sans-v44-latin-regular.woff2') format('woff2');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/uploads/fonts/Open_Sans/open-sans-v44-latin-italic.woff2') format('woff2');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/wp-content/uploads/fonts/Open_Sans/open-sans-v44-latin-700.woff2') format('woff2');
}

/* Poetsen One */

@font-face {
  font-family: 'Poetsen One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/uploads/fonts/Poetsen-One/poetsen-one-v13-latin-regular.woff2') format('woff2');
}


/* Application globale */

body, p, span, li {
  font-family: 'Open Sans', Arial, sans-serif !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poetsen One', 'Open Sans', sans-serif !important;
}



/* HEADER menu */

.header-bottom {
  position: relative;
  z-index: 999;
  background-color: #fff;
  transition: padding 0.3s ease;
}

.header-bottom.sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}

.header-bottom img {
  transition: transform 0.3s ease, max-height 0.3s ease;
  max-height: 73px;
}

.header-bottom img.shrink {
  transform: scale(0.9);
  max-height: 66px;
}

.header-top {
  opacity: 1;
  transition: opacity 0.3s ease;
}

.header-top.hidden {
  opacity: 0;
}

/* Bloquer le menu dans le header en version mobile */
html, body {
  overflow-x: hidden !important;
}

body {
  margin: 0 !important;
  padding-right: 0 !important;
}

header, .site-header, .elementor-section-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden;
}



/*ACCUEIL*/

/* Cartes produits en colonnes flex */
.woocommerce ul.products li.product,
.eael-product-grid .eael-grid-post-holder,
.ht-product, .woolentor-product .ht-product {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-align: center;
}

/* Titre normalisé (3 lignes max) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.eael-product-grid .eael-grid-post-holder .woocommerce-loop-product__title,
.ht-product .woocommerce-loop-product__title, 
.ht-product .ht-product-title {
  line-height: 1.5rem;
  min-height: calc(1.1em * 3);
  margin: 0.8rem 0 0.5rem 0 !important;   /* ← marge supprimée au-dessus, petite en bas */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}



/* Bouton sous le prix */
.woocommerce ul.products li.product a.button,
.yith-ywraq-add-to-quote,
.eael-product-grid .eael-product-add-to-cart,
.ht-product a.button {
  margin-top: 0.5rem !important;   /* espace fixe entre prix et bouton */
  align-self: center;
}


/*PAGE BOUTIQUE*/


/* Images produits : largeur/hauteur + recadrage */
.woo-product-grid .product img,
.woocommerce ul.products li.product img,
.woocommerce .product .wp-post-image,
.products .product img,
.product .woocommerce-loop-product__link img,
.elementor-widget-woo-product-grid img,
.shoplento-woo-grid img,
.essential-addons-woo-grid img {
  display: block !important;
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Padding à gauche pour bouton demande de devis */
.woo-product-grid .product .button,
.woocommerce ul.products li.product .button {
  padding-left: 12px !important;
}

/* Harmoniser l'espacement entre éléments produit */
.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Espacement entre titre, prix, bouton, variations */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .variations {
  margin: 0 0 12px 0;
}

/* Colle le bouton en bas de la carte produit */
.woocommerce ul.products li.product .button {
  margin-top: auto;
}

/* Uniformiser tous les boutons à 100% de largeur (WooCommerce + YITH) */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .yith-ywraq-add-button,
.woocommerce ul.products li.product .yith-ywraq-add-button.show {
  width: 100% !important;
  box-sizing: border-box;
  text-align: center;
  padding: 10px 0 !important;
  display: block !important;
  margin-top: auto !important;
}

/* Conteneur global produit */
.woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Bloc pastilles */
.woocommerce ul.products li.product .colors-under-title {
    display: flex;
    gap: 6px;
    justify-content: center;
    margin-bottom: 2px;
    min-height: 18px; /* espace réservé même sans pastilles */
}

/* Bloc invisible si conteneur vide */
.woocommerce ul.products li.product .colors-under-title:empty::before {
    content: "";
    display: block;
    height: 18px;
}

/* Points colorés */
.woocommerce ul.products li.product .colors-under-title .color-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid #ccc;
}

/* Titre produits limité à 3 lignes */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4em;
    margin: 0 0 2px 0;
    min-height: 4.2em; /* force hauteur uniforme pour 3 lignes */
}

/* Prix sous le titre avec peu d’espace */
.woocommerce ul.products li.product .price {
    margin: 0 0 4px 0;
}

/* Footer pour bouton collé en bas */
.woocommerce ul.products li.product .product-footer {
    margin-top: auto;
    width: 100%;
}

/* Boutons WooCommerce */
.woocommerce ul.products li.product .button.product_type_variable.add_to_cart_button {
    width: 100% !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    display: block !important;
    box-sizing: border-box;
    text-align: center;
}

/* Boutons YITH */
.woocommerce ul.products li.product .add-request-quote-button.button,
.woocommerce ul.products li.product .yith-ywraq-add-button.show {
    width: 100% !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    display: block !important;
    box-sizing: border-box;
    text-align: center;
}

/* Supprime margin/padding parasite du parent immédiat du bouton YITH */
.woocommerce ul.products li.product .yith-ywraq-add-button.show,
.woocommerce ul.products li.product .yith-ywraq-add-button.show + * {
    margin-top: 0 !important;
    padding-top: 0 !important;
}




/* TITRES PRODUITS PAGE ACCUEIL : 3 LIGNES */

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.elementor-widget-woo-product-grid .product .woocommerce-loop-product__title,
.elementor-widget-woo-product-grid .product .woocommerce-loop-product__title a,
.shoplento-woo-grid .product .woocommerce-loop-product__title,
.shoplento-woo-grid .product .woocommerce-loop-product__title a,
.wl-grid .product .woocommerce-loop-product__title,
.wl-grid .product .woocommerce-loop-product__title a,
.products .product .woocommerce-loop-product__title,
.product .woocommerce-loop-product__title,
.product .woocommerce-loop-product__title a {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  word-break: break-word !important;

  line-height: 26px !important;
  height: calc(26px * 3) !important;
  max-height: calc(26px * 3) !important;
  min-height: calc(26px * 3) !important;

  margin: 0 0 6px 0 !important;
  padding: 0 !important;
}


/* === BOUTONS YITH : PLEINE LARGEUR ET ALIGNEMENT PARFAIT === */
.woocommerce ul.products li.product .yith-ywraq-add-button,
.woocommerce ul.products li.product .yith-ywraq-add-button.show,
.woocommerce ul.products li.product .add-request-quote-button.button,
.elementor-widget-woo-product-grid .product .yith-ywraq-add-button,
.elementor-widget-woo-product-grid .product .yith-ywraq-add-button.show {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  padding: 10px 0 !important;
  margin: 0 auto !important;
}

/* Supprime tout espace parasite autour */
.woocommerce ul.products li.product .yith-ywraq-add-button.show,
.woocommerce ul.products li.product .yith-ywraq-add-button.show + * {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Si le conteneur du bouton limite la largeur */
.woocommerce ul.products li.product .yith-ywraq-add-to-quote {
  width: 100% !important;
  display: block !important;
}


/* Widget Woo Product List : images couvrantes réelles */
.elementor-element.elementor-widget-ucaddon_woocommerce_product_list .product-img img {
    width: 100% !important;         /* forcer largeur */
    height: 100% !important;        /* forcer hauteur */
    min-width: 0 !important;        /* annule les contraintes internes */
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;   /* remplissage complet sans déformation */
    object-position: center center !important;
}


/* Variations page produit unique border radius */
.single-product form.cart table.variations {
  border-radius: 12px;
  overflow: hidden;
}

/* Variations page produit unique padding */
.single-product form.cart table.variations th,
.single-product form.cart table.variations td {
  padding: 15px 20px !important;
  vertical-align: middle;
}

/* ================================ */
/* Cacher tous les messages YITH partout sauf page produit unique */
/* ================================ */
body:not(.single-product) .yith_ywraq_add_item_response_message,
body:not(.single-product) .yith_ywraq_add_item_response_message.show,
body:not(.single-product) .yith_ywraq_add_item_browse_message,
body:not(.single-product) .yith_ywraq_add_item_browse_message.show,
body:not(.single-product) .yith_ywraq_add_item_browse_list_message {
    display: none !important;
}

/* ================================================= */
/* Aligner tous les boutons WooCommerce/YITH  */
/* ================================================= */
.woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce ul.products li.product .yith-ywraq-add-button,
.woocommerce ul.products li.product .yith-ywraq-add-button.show,
.woocommerce ul.products li.product .yith-ywraq-add-button.added,
.woocommerce ul.products li.product .add-request-quote-button.button,
.woocommerce ul.products li.product .add-request-quote-button.button.added,
.woocommerce ul.products li.product .button {
    display: block !important;       /* conserve taille normale */
    margin-top: auto !important;     /* pousse le bouton en bas du conteneur */
    padding: 10px 0 !important;      /* padding standard */
    box-sizing: border-box !important;
}

/* Supprime marges/paddings parasites autour des boutons ajoutés */
.woocommerce ul.products li.product .yith-ywraq-add-button.added + *,
.woocommerce ul.products li.product .add-request-quote-button.button.added + * {
    margin: 0 !important;
    padding: 0 !important;
}



/*Filtre Horizontal*/

/* Chaque filtre devient le "parent" du menu */
.wl-horizontal-filter .filter-item {
  position: relative !important;
}

/* Le menu se place juste sous le bouton */
.wl-horizontal-filter .filter-item .dropdown-menu {
  position: absolute !important;
  top: 100% !important;   /* directement en dessous */
  left: 0 !important;     /* aligné au bouton */
  margin-top: 4px;        /* petit espace visuel */
  z-index: 9999 !important;
  min-width: 100%;        /* même largeur que le bouton */
}


/* Masquer le filtre "Taille" partout dans le horizontal filter */
.woolentor-filter-single-item.elementor-repeater-item-7a2d9f6 {
    display: none !important;
}

/* Réafficher uniquement dans la catégorie Textile & Événementiel */
body.term-textile_et_evenementiel .woolentor-filter-single-item.elementor-repeater-item-7a2d9f6 {
    display: block !important;
}



/*PAGE PRODUIT UNIQUE*/

/*PRODUITS SIMILAIRES*/

/*Bouton ajout devis à gauche */
.elementor-element-ee64e47 .yith-ywraq-add-button.show,
.elementor-element-ee64e47 .yith-ywraq-add-to-quote,
.elementor-element-ee64e47 .yith-ywraq-add-to-quote .yith-ywraq-add-button.show {
  display: flex !important;
  justify-content: flex-start !important; /* aligne le contenu à gauche */
  align-items: center !important;          /* centre verticalement si besoin */
  width: 100% !important;                  /* garde la colonne pleine largeur mais non le bouton */
  box-sizing: border-box !important;
}


/* --- TITRE PRINCIPAL "Produits similaires" --- */
.elementor-element-30d9f84f .related.products > h2 {
  color: #909883 !important;
  text-align: center !important;
  font-size: 24px !important;
}

/* TITRES DES PRODUITS */
.elementor-element-30d9f84f .related.products .woocommerce-loop-product__title {
  color: #909883 !important;
  text-align: center !important;
  font-size: 24px !important;
  line-height: 1.3;
  margin: 10px 0 6px;
}

/* Tarif */
.elementor-element-30d9f84f .related.products .price {
  color: #747685 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  align-items: baseline !important;
  gap: 4px; /* petit espace entre le texte et le prix */
}

/* Applique la couleur et la graisse aussi aux sous-éléments */
.elementor-element-30d9f84f .related.products .price .woocommerce-Price-amount,
.elementor-element-30d9f84f .related.products .price bdi,
.elementor-element-30d9f84f .related.products .woocommerce-Price-currencySymbol {
  color: #747685 !important;
  font-weight: 600 !important;
  font-size: 16px !important;
}


/* --- Style commun à tous les boutons WooCommerce et YITH --- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.yith-wcqv-button,
.yith-ywraq-add-to-quote-button,
.add_to_cart_button,
.wl-btn,
.single_add_to_cart_button {
  background-color: #CEB18F !important;
  color: #242424 !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 10px 20px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  text-align: center;
  display: inline-block;
  transition: all 0.3s ease !important;
}

/* Effet au survol des boutons */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.yith-wcqv-button:hover,
.yith-ywraq-add-to-quote-button:hover,
.add_to_cart_button:hover,
.wl-btn:hover,
.single_add_to_cart_button:hover {
  background-color: #985844 !important;
  color: #fff !important;
}


/*Page Mon devis - formulaire demande de devis*/

/* --- Polices --- */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600&family=Poetsen+One&display=swap');

/* --- Conteneur principal --- */
.yith-ywraq-mail-form-wrapper {
    background-color: #fff;
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}

/* --- Titre du formulaire --- */
.yith-ywraq-mail-form-wrapper h3 {
    font-family: "Poetsen One", sans-serif;
    font-size: 32px;
    color: #909883;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
}

/* --- Labels --- */
.yith-ywraq-mail-form-wrapper label,
.yith-ywraq-mail-form-wrapper .required_field {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    color: #747685;
    font-weight: 500;
    margin-bottom: 8px;
    display: block;
}

/* --- Champs de saisie (input, textarea, select, fichier) --- */
.yith-ywraq-mail-form-wrapper input[type="text"],
.yith-ywraq-mail-form-wrapper input[type="email"],
.yith-ywraq-mail-form-wrapper input[type="tel"],
.yith-ywraq-mail-form-wrapper input[type="file"],
.yith-ywraq-mail-form-wrapper textarea,
.yith-ywraq-mail-form-wrapper select {
    width: 100%;
    border-radius: 8px;
    border: 1px solid #e6e6e6;
    background-color: #f5f5f5;
    padding: 12px 16px;
    font-family: "Open Sans", sans-serif;
    font-size: 15px;
    color: #333;
    transition: border-color .18s ease, box-shadow .18s ease;
    box-sizing: border-box;
}

/* --- Focus sur les champs --- */
.yith-ywraq-mail-form-wrapper input:focus,
.yith-ywraq-mail-form-wrapper textarea:focus,
.yith-ywraq-mail-form-wrapper select:focus {
    border-color: #909883;
    background-color: #fff;
    box-shadow: 0 0 0 4px rgba(144,152,131,0.08);
    outline: none;
}

/* --- Bouton d’envoi --- */
.yith-ywraq-mail-form-wrapper input[type="submit"],
.yith-ywraq-mail-form-wrapper button {
    background-color: #b99674;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 12px 28px;
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: background-color .2s ease;
}

/* --- Effet hover sur le bouton --- */
.yith-ywraq-mail-form-wrapper input[type="submit"]:hover,
.yith-ywraq-mail-form-wrapper button:hover {
    background-color: #a27f5e;
}

/* --- Espacement entre les lignes du formulaire --- */
.yith-ywraq-mail-form-wrapper .form-row {
    margin-bottom: 18px;
}

/* --- Champ fichier : meilleure apparence --- */
.yith-ywraq-mail-form-wrapper input[type="file"] {
    padding: 10px 12px;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .yith-ywraq-mail-form-wrapper {
        padding: 20px;
    }
    .yith-ywraq-mail-form-wrapper h3 {
        font-size: 26px;
    }
}

/* --- Champs de saisie avec fond gris clair et sans contour --- */
.yith-ywraq-mail-form-wrapper input[type="text"],
.yith-ywraq-mail-form-wrapper input[type="email"],
.yith-ywraq-mail-form-wrapper input[type="tel"],
.yith-ywraq-mail-form-wrapper input[type="file"],
.yith-ywraq-mail-form-wrapper textarea,
.yith-ywraq-mail-form-wrapper select {
    width: 100%;
    border: none !important;          /* suppression des bordures */
    background-color: #ededed !important; /* gris clair */
    border-radius: 8px;
    padding: 12px 16px;
    font-family: "Open Sans", sans-serif;
    font-size: 15px;
    color: #333;
    transition: background-color .2s ease, box-shadow .2s ease;
    box-sizing: border-box;
}

/* --- Effet focus : légère mise en avant sans bordure --- */
.yith-ywraq-mail-form-wrapper input:focus,
.yith-ywraq-mail-form-wrapper textarea:focus,
.yith-ywraq-mail-form-wrapper select:focus {
    background-color: #fff !important;
    box-shadow: 0 0 0 4px rgba(144,152,131,0.08); /* halo vert-gris subtil */
    outline: none;
}

/* --- Bouton principal "Envoyer la demande" (version finale) --- */
.yith-ywraq-mail-form-wrapper input[type="submit"],
.yith-ywraq-mail-form-wrapper button[type="submit"] {
    background-color: #CEB18F !important;
    color: #242424 !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 14px 36px !important;
    font-family: "Open Sans", sans-serif !important;
    font-weight: 600 !important; /* demi-gras */
    font-size: 16px !important;
    cursor: pointer;
    transition: all 0.25s ease;
    display: inline-block;
    text-transform: none !important; /* plus de majuscules */
    letter-spacing: normal !important;
}

/* --- Effet au survol --- */
.yith-ywraq-mail-form-wrapper input[type="submit"]:hover,
.yith-ywraq-mail-form-wrapper button[type="submit"]:hover {
    background-color: #985844 !important;
    color: #ffffff !important;
}


/* --- Agrandir le champ de quantité dans le tableau YITH --- */
.yith-ywraq-mail-form-wrapper .quantity input.qty,
.yith-ywraq-mail-form-wrapper td.product-quantity .quantity input.qty,
table.ywraq-table .quantity input.qty,
td.product-quantity .quantity input.qty,
.quantity input.qty {
    width: 120px !important;      /* largeur du champ */
    min-width: 120px !important;
    max-width: 120px !important;
    height: 45px !important;      /* hauteur du champ */
    text-align: center !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
}



