/**
 * Theme Name:     Rufous_ICE
 * Author:         ICE SAS
 * Template:       rufous
 * Text Domain:	   rufous_ice
 * Description:    Rufous is an innovative, easily customizable, multi-purpose theme, focused on empowering users to build astonishing WordPress websites. Rufous is mainly designed for small businesses, startups, or personal portfolio websites and works perfectly with Kubio Page Builder which enriches the WordPress block editor with a variety of new blocks and advanced styling options to give you full design freedom.
 */

.bloc-description-technique {
    background-color: #f5faff;
    padding: 1.5em;
    margin-top: 2em;
    border-left: 4px solid #0073e6;
}

.bloc-description-technique h2 {
    color: #0073e6;
    margin-bottom: 0.5em;
}

.acf-file-link {
    color: blue;
    font-weight: 500;
    text-decoration: underline;
}


/* Bloc Avantages produit */
.ice-avantages {
    margin: 20px 0;
    padding: 0;
    display: block;
}

.ice-avantages .ice-avantage-item {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 0 8px 0 !important; /* espace entre les lignes */
    font-size: 28px !important;
    color: #009ACD !important;
    font-weight: bold !important;
	line-height: 1.4 !important;
    text-align: left !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
}

/* Si un style parent force un display inline-flex ou width : override */
.ice-avantages .ice-avantage-item {
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important;
}

/* Responsive mobile */
@media (max-width: 600px) {
    .ice-avantages {
        flex-direction: column;
    }
}


/* Ombre uniquement sur les images ACF générées par shortcode */

/* Table contenant les images ACF */
table.acf-activites {
    margin: 0 auto;            /* centre le tableau */
    border-collapse: separate; /* permet de gérer les espaces */
    border-spacing: 20px 10px; /* espace horizontal (20px) et vertical (10px) entre les images */
    text-align: center;        /* centre le contenu dans les cellules */
}

/* Cellules contenant les images */
table.acf-activites td {
    text-align: left;        /* centre l’image dans la cellule */
    vertical-align: middle;    /* aligne verticalement */
}

/* Images ACF */
table.acf-activites img {
    display: block;            /* évite les petits décalages */
    margin: 0 auto;            /* centre l’image dans la cellule */
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
    border-radius: 50%; /* arrondi des coins (mettre 50% pour rond ou sinon en px) */
    width: 100%;               /* s’adapte à la cellule */
    max-width: 60px;          /* taille max de l’image */
    height: auto;
    transition: none /* sinon écririe : all 0.3s ease-in-out; */
}

/* Responsive : images plus petites sur mobile */
@media (max-width: 768px) {
    table.acf-activites {
        border-spacing: 12px 8px;
    }
    table.acf-activites img {
        max-width: 40px;
        border-radius: 50%;
    }
}


/**
 * Style pour model-viewer (3D)
 */

#content{
	height: 700px;
	width: 100%;
}
model-viewer{
	width: 90%;
	height: 90%;
}
:fullscreen{
	background-color: #c5c6c8
}
#menuGen{	
	position: absolute;
	bottom: 10px;
	right: 10px;
}
#variants{	
	position: absolute;
	bottom: 20px;
	left: 50%;	
	transform: translateX(-50%)
}
.ico {	
	width: 35px;
	height: 35px;
	cursor: pointer;	
}
.ico:hover{
	transform: scale(1.2)
}
.ico.close{	
	display: none;
	position: absolute;
	top: 20px;
	right: 20px;
}
.fullscreen{
	content: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20105%20105%22%3E%3Cpath%20d%3D%22M102.4%2049.8c1.5%2029.6-22.8%2054.1-52.6%2052.6-25.4-1.2-46-22-47.3-47.3C1%2025.5%2025.3%201%2055.1%202.5c25.4%201.2%2046%2022%2047.3%2047.3Z%22%20style%3D%22fill%3A%23fff%3Bstroke%3A%23010101%3Bstroke-miterlimit%3A10%3Bstroke-width%3A2px%22%2F%3E%3Cpath%20style%3D%22fill%3Anone%3Bstroke%3A%23919192%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A3px%22%20d%3D%22m25.39%2079.61%2054.22-54.22m0%2054.22L25.39%2025.39m41.3%202.41%2012.92-2.41-1.48%2012.44m-.93%2028.86%202.41%2012.92-12.44-1.48m-28.86-.93-12.92%202.41%201.48-12.44m.93-28.86-2.41-12.92%2012.44%201.48%22%2F%3E%3C%2Fsvg%3E);
}
.close{
	content: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20105%20105%22%3E%3Cpath%20d%3D%22M102.4%2049.8c1.5%2029.6-22.8%2054.1-52.6%2052.6-25.4-1.2-46-22-47.3-47.3C1%2025.5%2025.3%201%2055.1%202.5c25.4%201.2%2046%2022%2047.3%2047.3Z%22%20style%3D%22fill%3A%23fff%3Bstroke%3A%23010101%3Bstroke-miterlimit%3A10%3Bstroke-width%3A2px%22%2F%3E%3Cpath%20style%3D%22fill%3Anone%3Bstroke%3A%23919192%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A3px%22%20d%3D%22m25.39%2079.61%2054.22-54.22m0%2054.22L25.39%2025.39%22%2F%3E%3C%2Fsvg%3E);

}
.recenter {
	content: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22a%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20105%20105%22%3E%3Cpath%20d%3D%22M102.4%2C49.8c1.5%2C29.6-22.8%2C54.1-52.6%2C52.6-25.4-1.2-46-22-47.3-47.3C1%2C25.5%2C25.3%2C1%2C55.1%2C2.5c25.4%2C1.2%2C46%2C22%2C47.3%2C47.3h0Z%22%20style%3D%22fill%3A%23fff%3B%20stroke%3A%23010101%3B%20stroke-miterlimit%3A10%3B%20stroke-width%3A2px%3B%22%2F%3E%3Ccircle%20cx%3D%2252.3%22%20cy%3D%2252.7%22%20r%3D%228.44%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23919192%3B%20stroke-miterlimit%3A10%3B%20stroke-width%3A3px%3B%22%2F%3E%3Cline%20x1%3D%2263.91%22%20y1%3D%2241.23%22%20x2%3D%2280.51%22%20y2%3D%2224.49%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23919192%3B%20stroke-linecap%3Around%3B%20stroke-miterlimit%3A10%3B%20stroke-width%3A3px%3B%22%2F%3E%3Cpolyline%20points%3D%2265.63%2032.02%2063.91%2041.23%2072.98%2039.89%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23919192%3B%20stroke-linecap%3Around%3B%20stroke-linejoin%3Around%3B%20stroke-width%3A3px%3B%22%2F%3E%3Cline%20x1%3D%2263.77%22%20y1%3D%2264.31%22%20x2%3D%2280.51%22%20y2%3D%2280.91%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23919192%3B%20stroke-linecap%3Around%3B%20stroke-miterlimit%3A10%3B%20stroke-width%3A3px%3B%22%2F%3E%3Cpolyline%20points%3D%2272.98%2066.03%2063.77%2064.31%2065.11%2073.38%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23919192%3B%20stroke-linecap%3Around%3B%20stroke-linejoin%3Around%3B%20stroke-width%3A3px%3B%22%2F%3E%3Cline%20x1%3D%2240.69%22%20y1%3D%2264.17%22%20x2%3D%2224.09%22%20y2%3D%2280.91%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23919192%3B%20stroke-linecap%3Around%3B%20stroke-miterlimit%3A10%3B%20stroke-width%3A3px%3B%22%2F%3E%3Cpolyline%20points%3D%2238.97%2073.38%2040.69%2064.17%2031.62%2065.51%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23919192%3B%20stroke-linecap%3Around%3B%20stroke-linejoin%3Around%3B%20stroke-width%3A3px%3B%22%2F%3E%3Cline%20x1%3D%2240.83%22%20y1%3D%2241.09%22%20x2%3D%2224.09%22%20y2%3D%2224.49%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23919192%3B%20stroke-linecap%3Around%3B%20stroke-miterlimit%3A10%3B%20stroke-width%3A3px%3B%22%2F%3E%3Cpolyline%20points%3D%2231.62%2039.37%2040.83%2041.09%2039.49%2032.02%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23919192%3B%20stroke-linecap%3Around%3B%20stroke-linejoin%3Around%3B%20stroke-width%3A3px%3B%22%2F%3E%3C%2Fsvg%3E)
}

table.product-attributes-table .attribute-values-grid {
    display: flex !important;
    gap: 2rem !important;
}

table.product-attributes-table .attribute-values-list {
    flex: 1 !important;
    margin: 0 !important;
    padding-left: 1.2em !important;
	list-style: none !important;
}


.product-attributes-table {
    width: 100% !important;
    table-layout: fixed !important; /* évite que les colonnes se déforment trop */
	border-collapse: separate !important;
    border-spacing: 0 12px !important; /* ajoute 10px de "vide" entre les lignes */
}
.product-attributes-table td,
.product-attributes-table th {
    width: auto;
    vertical-align: top;
}

/**
 * Style pour l'icone SVG PDF des documents produits
 */
 
.doc-icon-pdf {
  width: 20px;
  height: 20px;
  fill: rgba(var(--kubio-color-1));          /* couleur rouge type PDF */
  vertical-align: middle; /* alignement avec le texte */
  margin-right: 6px;      /* espace entre icône et texte */
}


/* Style des produits dans le bloc Upsells */
.wp-block-woocommerce-product-collection .wc-block-product-template .wc-block-product {
    border-radius: 10px; /* Coins arrondis */
    transition: box-shadow 0.3s ease;
	box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3); /* ombrage bleu */
	padding: 10px; 
    border-radius: 6px; 
}

/* Zoom sur l’image au survol */
.wp-block-woocommerce-product-collection .wc-block-product-template .wc-block-product img {
    transition: transform 0.3s ease;
}

.wp-block-woocommerce-product-collection .wc-block-product-template .wc-block-product:hover img {
    transform: scale(1.05); /* zoom léger */
}


/* Archive Product */

.shop-archive {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 2rem;
  margin: 2rem auto;
}

.shop-sidebar {
  background: #f7f7f7;
  padding: 1.5rem;
  border-radius: 12px;
}

.shop-header h1 {
  font-size: 2rem;
  margin-bottom: 1.5rem;
  color: #0a2a43;
}

.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2rem;
}

.product-card {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  text-align: center;
  padding: 1rem;
  transition: transform .2s ease;
}

.product-card:hover {
  transform: translateY(-5px);
}

.product-thumb img {
  max-width: 100%;
  border-radius: 8px;
}

.product-title {
  font-size: 1.2rem;
  margin: 1rem 0 0.5rem;
}

.product-info {
  margin-top: 0.5rem;
}


/* ====== Personnalisation formulaire Profil ====== */

/* Conteneur général */
.woocommerce-EditAccountForm.edit-account {
  max-width: 700px;
  margin: 0 auto;
  padding: 2rem;
  background: #f9f9f9;
  border: 1px solid #e2e2e2;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

/* Labels */
.woocommerce-EditAccountForm label {
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
  color: #333;
}

/* Champs */
.woocommerce-EditAccountForm input[type="text"],
.woocommerce-EditAccountForm input[type="email"] {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background: #fff;
  font-size: 14px;
  transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.woocommerce-EditAccountForm input:focus {
  border-color: #0073aa;
  box-shadow: 0 0 0 2px rgba(0,115,170,0.2);
  outline: none;
}

/* Organisation des champs */
.woocommerce-EditAccountForm .form-row-first,
.woocommerce-EditAccountForm .form-row-last {
  width: 48%;
  float: left;
  margin-right: 2%;
}

.woocommerce-EditAccountForm .form-row-last {
  margin-right: 0;
}

.woocommerce-EditAccountForm .form-row-wide {
  clear: both;
  width: 100%;
  margin-top: 1rem;
}

/* Message de succès */
.woocommerce-message {
  margin-bottom: 1.5rem;
  padding: 12px 18px;
  border-left: 4px solid #009ACD;
  background: #ecf9f1;
  color: #009ACD;
  font-weight: 500;
  border-radius: 6px;
}

/* Supprimer les bordures par défaut WooCommerce */
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation {
  border: none !important;
  box-shadow: none !important;
}

/



/* ====== Personnalisation Produits Boutique ====== */

/* = Carte produit = */
.woocommerce ul.products li.product {
    border: 2px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border-radius: 30px;
    overflow: hidden;
    background: #fff; 
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    padding: 15px;
    text-align: center;
}

/* Effet au survol */
.woocommerce ul.products li.product:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

/* = Nom du produit = */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 24px;
    font-weight: 600;
    color: #009ACD;
    margin-top: 12px;
    margin-bottom: 8px;
    text-align: center;
}

/* = Description courte = */
.product-short-description {
    font-size: 18px;
    color: #555;
    margin: 8px 0 12px;
    line-height: 1.4;
}

/* Marge latérale description courte */
.woocommerce ul.products li.product {
    padding-top: 30px;
    padding-bottom: 30px;
	padding-left: 30px;
    padding-right: 30px;
}


/* = Bouton produit = */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
    display: inline-block;
    background: #009ACD !important; 
    color: #ffffff !important;
    border: none !important;
    border-radius: 30px !important;
    padding: 10px 20px !important;
    font-weight: 600;
    text-transform: none;
    transition: background 0.3s ease, transform 0.2s ease;
}

/* Centrer le texte des boutons produit */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1.4 !important; /* à ajuster au besoin */
    min-height: 42px; /* hauteur uniforme */
    text-align: center;
}

/* Effet hover */
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .added_to_cart:hover {
    background: #ffffff !important;
	color: #009ACD !important;
	border: solid, 2px !important;
    border-color: #009ACD !important;
	transform: scale(1.05);
}



/* ====== Personnalisation Sidebar Boutique ====== */

/* FORCER largeur sidebar */
body.woocommerce .wp-block-column,
body.woocommerce .widget-area,
body.woocommerce .shop-sidebar {
    width: 100% !important;
    max-width: 100% !important;
}

/* FORCER widgets pleine largeur */
body.woocommerce .widget,
body.woocommerce .wp-block-woocommerce-filter-wrapper {
    width: 100% !important;
}

/* FORCER tous les selects */
body.woocommerce .widget select,
body.woocommerce .widget-area select,
body.woocommerce .select2-container {
    width: 100% !important;
    min-width: 100% !important;
    height: 44px !important;
}

/* Select2 – affichage interne */
body.woocommerce .select2-container .select2-selection {
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
}

/* FORCER alignement vertical des filtres */
body.woocommerce .widget form {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* FORCER boutons en bas et alignés */
body.woocommerce .widget button,
body.woocommerce .widget input[type="submit"] {
    width: 100% !important;
    margin-top: 10px !important;
    display: block !important;
}

/* Select natif */
body.woocommerce .widget select {
    height: 100px !important;
    padding: 10px 14px;
    border-radius: 6px;
    border: 1px solid #cfcfcf;
    background-color: #ffffff;
    font-size: 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Hover / focus */
body.woocommerce .widget select:hover,
body.woocommerce .widget select:focus {
    border-color: #999;
    box-shadow: 0 0 0 2px rgba(0,0,0,0.05);
    outline: none;
}

/* Select2 – conteneur */
body.woocommerce .select2-container .select2-selection--single {
    height: 52px !important;
    border-radius: 6px;
    border: 1px solid #cfcfcf;
    display: flex !important;
    align-items: center !important;
    padding: 0 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Texte Select2 */
body.woocommerce .select2-selection__rendered {
    line-height: normal !important;
    font-size: 14px;
}

/* Icône flèche */
body.woocommerce .select2-selection__arrow {
    height: 100% !important;
}

/* Focus Select2 */
body.woocommerce .select2-container--open .select2-selection--single {
    border-color: #999;
    box-shadow: 0 0 0 2px rgba(0,0,0,0.05);
}


/* Variante mobile (≤ 768 px) */
@media (max-width: 768px) {

    /* Masquer sidebar par défaut */
    body.woocommerce .shop-sidebar,
    body.woocommerce .widget-area {
        display: none;
    }

    /* Afficher sidebar quand filtres ouverts */
    body.woocommerce.filters-open .shop-sidebar,
    body.woocommerce.filters-open .widget-area {
        display: block;
        margin-bottom: 24px;
    }

}






/* = Boutons produits suggérés / produits similaires = */

/* Boutons */
.woocommerce .related .button,
.woocommerce .upsells .button {
    background: #009ACD;
    color: #fff;
    border-radius: 30px;
    padding: 10px 18px;
    font-weight: 600;
    transition: all 0.25s ease;
}

/* Effet hover */
.woocommerce .related .button:hover,
.woocommerce .upsells .button:hover {
    background: #ffffff !important;
	color: #009ACD !important;
	border: solid, 2px !important;
    border-color: #009ACD !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}


/* = Personnalisation Produits Boutique Responsive = */

/* Tablette (max 1024px) */
@media (max-width: 1024px) {
  .woocommerce ul.products li.product {
    padding: 12px;
  }
  
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1rem;
  }
  
  .woocommerce ul.products li.product a.button {
    padding: 8px 18px !important;
    font-size: 0.95rem !important;
  }
}

/* Mobile (max 768px) */
@media (max-width: 768px) {
  .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: 1fr 1fr; /* 2 colonnes */
    gap: 15px;
  }
  
  .woocommerce ul.products li.product {
    padding: 10px;
  }
  
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.95rem;
  }
  
  .woocommerce ul.products li.product a.button {
    width: 100% !important; /* bouton prend toute la largeur */
    padding: 10px 0 !important;
    font-size: 1rem !important;
  }
}

/* Très petit écran (max 480px) */
@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr; /* 1 seule colonne */
  }
  
  .woocommerce ul.products li.product {
    text-align: center;
  }
  
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1rem;
  }
  
  .woocommerce ul.products li.product a.button {
    font-size: 1rem !important;
    padding: 12px 0 !important;
  }
}


/* = Personnalisation page "no results" recherche produits = */

/* No results */
.ice-no-results {
    text-align: center;
    margin: 40px 0;
}

.ice-no-results .woocommerce-info {
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.ice-back-shop {
    display: inline-block;
    padding: 12px 25px;
    border-radius: 6px;
    text-decoration: none;
}

/* Conteneur global */
.ice-google-no-results {
    text-align: center;
    padding: 60px 20px;
    max-width: 600px;
    margin: 60px auto;
    color: #4a4a4a;
    animation: fadeIn 0.4s ease-out;
    transform-origin: center;
}

/* Illustration animée */
.ice-google-illustration {
    width: 120px;
    height: 120px;
    margin: 0 auto 25px;
    background-image: url("data:image/svg+xml,%3Csvg width='120' height='120' viewBox='0 0 24 24' fill='none' stroke='%23b5b5b5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.75;
    animation: float 3s ease-in-out infinite;
}

/* Titre */
.ice-google-no-results h2 {
    font-size: 1.9rem;
    font-weight: 400;
    margin-bottom: 10px;
    color: #333;
}

/* Sous-titre */
.ice-google-no-results p {
    font-size: 1.1rem;
    color: #666;
    margin-bottom: 30px;
}

/* Bouton animé */
.ice-google-btn {
    background: #f1f3f4;
    color: #202124;
    padding: 12px 28px;
    border-radius: 28px;
    text-decoration: none;
    display: inline-block;
    font-size: 0.95rem;
    border: 1px solid #dadce0;
    transition: 
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

/* Micro-interactions Google-like */
.ice-google-btn:hover {
    background: #e8eaed;
    border-color: #c2c5c9;
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

/* Clic avec petit rebond */
.ice-google-btn:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* Animation d’apparition */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(15px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Animation de flottement de l’illustration */
@keyframes float {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-6px); }
    100% { transform: translateY(0); }
}



/* ====== Icônes du Menu ====== */

/* Masque texte pour SEO */
.menu-search a,
.menu-contact a,
.menu-profil a {
  font-size: 0 !important;
  line-height: 0 !important;
  position: relative;
  display: inline-block;
  width: 30px !important;
  height: 30px !important;
  overflow: visible !important;
  transition: color 0.3s ease;
}

/* Icônes Font Awesome visibles */
.menu-search a::before,
.menu-contact a::before,
.menu-profil a::before {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-size: 22px !important;
  color: #fff !important; /* couleur par défaut */
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  display: block !important;
  content: '';
}

/* Contenu spécifique */
.menu-search a::before { content: "\f002"; }
.menu-contact a::before { content: "\f0e0"; }
.menu-profil a::before { content: "\f007"; }

/* Hover simple */
.menu-search a:hover::before,
.menu-contact a:hover::before,
.menu-profil a:hover::before {
  color: #009ACD !important;
}

/* Sticky / scroll : icônes sur menu blanc */
.wp-block-kubio-navigation-section__nav.sticky .menu-search a::before,
.wp-block-kubio-navigation-section__nav.sticky .menu-contact a::before,
.wp-block-kubio-navigation-section__nav.sticky .menu-profil a::before {
  color: #6D6E71 !important; /* couleur menu sticky */
}

/* Hover sur sticky icônes */
.wp-block-kubio-navigation-section__nav.sticky .menu-search a:hover::before,
.wp-block-kubio-navigation-section__nav.sticky .menu-contact a:hover::before,
.wp-block-kubio-navigation-section__nav.sticky .menu-profil a:hover::before {
  color: #009ACD !important; /* même couleur hover que normal */
}

/* Hover sticky pour tous les liens du menu */
.wp-block-kubio-navigation-section__nav.sticky a:hover {
    color: #009ACD !important; /* couleur hover globale */
}


/* Barre de recherche Kubio - masquée par défaut */
.kubio-search-bar {
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.36s ease, opacity 0.36s ease;
}

/* Barre active visible */
.kubio-search-bar.active {
  max-height: 60px !important;
  opacity: 1 !important;
}

/* Transition douce menu sticky */
.wp-block-kubio-navigation-section__nav {
  transition: background 0.3s ease, box-shadow 0.3s ease;
}
