/**
 * Maison Fil Blanc — charte graphique (vitrine front)
 * Fond #FFFFFF · barre Collections/Promo #E7E1D8 · texte / CTA #342F2B · footer #342F2B
 */
:root {
  --Fib-Bg: #ffffff;
  --Fib-Bg-Secondary: #e7e1d8;
  --Fib-Text: #342f2b;
  --Fib-CTA: #342f2b;
  --Fib-Footer: #342f2b;
  --Fib-On-Dark: #f3f0ea;

  --Secondary: #342f2b;
  --Primary-text: #342f2b;
  --Text-heading: #342f2b;
  --Black: #342f2b;
  --Fib-Surface: #ffffff;
  --Fib-Surface-2: #e7e1d8;
  --Fib-Accent: #342f2b;
  --Fib-Wishlist-Active: #342f2b;
  --Primary: #342f2b;
  --Primary-hover: #2a2622;
  --Primary-foreground: #342f2b;
  --Body-text-1: #5c534d;
  --Body-text-2: #6b625c;
  --Body-text-3: #342f2b;
  --Line: #d9d2c8;

  --Fib-Font-Body: "Figtree", "Helvetica Neue", Arial, sans-serif;
  --Fib-Font-Heading: "Playfair Display", Georgia, "Times New Roman", serif;
}

/* Fond général */
html,
body,
body.preload-wrapper,
body.preload-wrapper #wrapper,
body.cms-fiblanc,
body.cms-fiblanc #wrapper,
#wrapper,
.main-content {
  background-color: var(--Fib-Bg) !important;
  color: var(--Fib-Text);
}

header.header-sticky:not(.header-abs):not(.header-s7.hds7-type-2),
header.header-sticky:not(.header-abs):not(.header-s7.hds7-type-2) .header-inner,
.header:not(.header-abs) {
  background-color: var(--Fib-Bg) !important;
}

/* Typographie */
body,
button,
input,
select,
textarea,
.text-body-default,
.text-body-2,
.text-caption-1,
p {
  font-family: var(--Fib-Font-Body);
  font-weight: 400;
  color: var(--Fib-Text);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.text-display,
.text-heading,
.footer-heading,
.footer-title {
  font-family: var(--Fib-Font-Heading);
  font-weight: 400;
  color: var(--Fib-Text);
}

h1,
.h1 {
  font-weight: 600;
}

h2,
.h2,
h3,
.h3 {
  font-weight: 600;
}

.link,
a:not(.tf-btn):not(.btn) {
  color: var(--Fib-Text);
}

/* Liens dans le footer sombre — ne pas hériter du brun texte (sinon liens invisibles) */
.footer.footer-fiblanc a:not(.tf-btn):not(.btn),
.footer.footer-fiblanc .hover-underline-link {
  color: var(--Fib-On-Dark) !important;
}

.footer.footer-fiblanc a:not(.tf-btn):not(.btn):hover,
.footer.footer-fiblanc .hover-underline-link:hover {
  color: #ffffff !important;
}

.footer.footer-fiblanc .footer-heading,
.footer.footer-fiblanc .footer-title,
.footer.footer-fiblanc h5 {
  color: var(--Fib-On-Dark) !important;
}

.link:hover,
.text_primary-color {
  color: var(--Fib-Text) !important;
  opacity: 0.85;
}

/* CTA principal — 14px Medium */
.tf-btn,
a.tf-btn,
.btn-submit.tf-btn {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35;
  font-family: var(--Fib-Font-Body) !important;
}

.tf-btn.btn-bg-primary,
.tf-btn.btn-bg-secondary,
.tf-btn.btn-bg-third,
.btn-submit.tf-btn,
button.tf-btn.btn-bg-primary,
button.tf-btn.btn-bg-secondary,
.meta-filter-shop .remove-all-filters,
.tf-btn.animate-dark,
.tf-btn.bg-dark-2,
button.tf-btn.animate-dark {
  background-color: var(--Fib-CTA) !important;
  border-color: var(--Fib-CTA) !important;
  color: var(--Fib-On-Dark) !important;
}

.tf-btn.btn-bg-primary:hover,
.tf-btn.btn-bg-secondary:hover,
.btn-submit.tf-btn:hover,
button.tf-btn.btn-bg-primary:hover,
button.tf-btn.btn-bg-secondary:hover {
  background-color: #2a2622 !important;
  border-color: #2a2622 !important;
  color: var(--Fib-On-Dark) !important;
}

/* Boutons blancs / sombres du thème → charte footer */
.tf-btn.btn-bg-white,
.tf-btn.btn-bg-white.animate-dark,
.tf-btn.btn-bg-white.animate-btn,
button.tf-btn.btn-bg-white {
  background-color: var(--Fib-Footer) !important;
  border-color: var(--Fib-Footer) !important;
  color: var(--Fib-On-Dark) !important;
}

.tf-btn.btn-bg-white:hover,
.tf-btn.btn-bg-white.animate-dark:hover,
button.tf-btn.btn-bg-white:hover {
  background-color: #2a2622 !important;
  border-color: #2a2622 !important;
  color: var(--Fib-On-Dark) !important;
}

.tf-btn.btn-border-primary,
.tf-btn.btn-border-secondary {
  border-color: var(--Fib-Footer) !important;
  color: var(--Fib-Footer) !important;
}

.tf-btn.btn-border-primary:hover,
.tf-btn.btn-border-secondary:hover,
.tf-btn.btn-border:hover {
  background-color: var(--Fib-Footer) !important;
  border-color: var(--Fib-Footer) !important;
  color: var(--Fib-On-Dark) !important;
}

/* Bouton FILTRER (boutique / favoris) — pas de pastille marron au survol */
a.tf-btn-filter,
.tf-btn-filter {
  color: var(--Fib-Text) !important;
  border-color: var(--Line, #d9d2c8);
  background-color: transparent;
}

a.tf-btn-filter .text,
a.tf-btn-filter .icon,
.tf-btn-filter .text,
.tf-btn-filter .icon {
  color: inherit;
}

a.tf-btn-filter:hover,
a.tf-btn-filter:focus-visible,
a.tf-btn-filter.active,
.tf-btn-filter:hover,
.tf-btn-filter:focus-visible,
.tf-btn-filter.active {
  background-color: var(--Fib-Bg-Secondary, #e7e1d8) !important;
  border-color: var(--Fib-Text) !important;
  color: var(--Fib-Text) !important;
  opacity: 1;
}

a.tf-btn-filter:hover .text,
a.tf-btn-filter:hover .icon,
a.tf-btn-filter.active .text,
a.tf-btn-filter.active .icon,
.tf-btn-filter:hover .text,
.tf-btn-filter:hover .icon,
.tf-btn-filter.active .text,
.tf-btn-filter.active .icon {
  color: inherit !important;
}

.tf-btn.animate-dark,
.tf-btn.bg-dark-2,
button.tf-btn.animate-dark {
  background-color: var(--Fib-Footer) !important;
  border-color: var(--Fib-Footer) !important;
  color: var(--Fib-On-Dark) !important;
}

/* Accents interactifs (surfaces secondaires) */
/* Barre Collections / Promotion (mega-menu) — fond #342F2B, liens blancs ; voir collections-mega-menu.css */
.header-nav-secondary:not(.header-nav-secondary--mega) {
  background: #f0e2d5 !important;
}

.header-nav-secondary_link {
  color: var(--Fib-Text) !important;
}

.header-nav-secondary_link::after {
  background-color: var(--Fib-Text) !important;
}

.header-nav-secondary_link:hover,
.header-nav-secondary_link.active {
  color: var(--Fib-Text) !important;
}

/* Favori actif : même couleur que le texte, sans rose */
.js-wishlist-toggle.active,
.js-wishlist-toggle.active .icon,
.js-wishlist-toggle.active .icon-heart,
.js-wishlist-toggle.active .icon-heart::before,
.card-product .product-action_list .js-wishlist-toggle.active:hover,
.card-product .product-action_list .js-wishlist-toggle.active:hover .icon,
.card-product .product-action_list .js-wishlist-toggle.active:hover .icon-heart::before,
#product-detail-root .js-wishlist-toggle.active .icon-heart::before {
  color: var(--Fib-Text) !important;
}

/* Cartes produit : favoris seul, visible en haut à droite */
.card-product .product-action_list > li.wishlist {
  display: list-item !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.product-action_list .box-icon:hover,
.tf-btn.btn-border-secondary:hover,
.animate-fill.btn-border-secondary:hover,
.tf-btn.btn-border:hover,
.meta-filter-shop .filter-tag:hover,
.meta-filter-shop .filter-tag.active,
.tf-btn-icon,
.card_product_row--V01 .tf-btn-icon {
  background-color: var(--Fib-Bg-Secondary) !important;
  border-color: var(--Fib-Bg-Secondary) !important;
  color: var(--Fib-Text) !important;
}

.tf-check:checked {
  background-color: var(--Fib-CTA) !important;
  border-color: var(--Fib-CTA) !important;
}

/* Footer charte */
.footer.footer-fiblanc {
  background-color: var(--Fib-Footer) !important;
  color: var(--Fib-On-Dark) !important;
}

.footer.footer-fiblanc .text_white,
.footer.footer-fiblanc .text-white,
.footer.footer-fiblanc a.text_white,
.footer.footer-fiblanc .link-2.text_white,
.footer.footer-fiblanc .hover-underline-link.text_white,
.footer.footer-fiblanc .footer-title,
.footer.footer-fiblanc p,
.footer.footer-fiblanc .text-body-default {
  color: var(--Fib-On-Dark) !important;
}

.footer.footer-fiblanc a.text_white:hover,
.footer.footer-fiblanc .link-2.text_white:hover,
.footer.footer-fiblanc .hover-underline-link.text_white:hover {
  color: #ffffff !important;
}

.footer.footer-fiblanc .footer-heading-mobile {
  border-bottom-color: rgba(243, 240, 234, 0.25);
}

.footer.footer-fiblanc .footer-heading-mobile::after {
  border-right-color: var(--Fib-On-Dark);
  border-bottom-color: var(--Fib-On-Dark);
}

.footer.footer-fiblanc .footer-bottom {
  border-top-color: rgba(243, 240, 234, 0.2) !important;
}

.footer.footer-fiblanc .form-newsletter fieldset input,
.footer.footer-fiblanc .form-newsletter .tb-my-input {
  background: rgba(243, 240, 234, 0.14) !important;
  border: 1px solid rgba(243, 240, 234, 0.5) !important;
  color: #f3f0ea !important;
  -webkit-text-fill-color: #f3f0ea;
}

.footer.footer-fiblanc .form-newsletter fieldset input::placeholder,
.footer.footer-fiblanc .form-newsletter .tb-my-input::placeholder {
  color: rgba(243, 240, 234, 0.75) !important;
  opacity: 1;
}

.footer.footer-fiblanc .form-newsletter fieldset input::-webkit-input-placeholder {
  color: rgba(243, 240, 234, 0.75) !important;
}

.footer.footer-fiblanc .form-newsletter .btn-submit,
.footer.footer-fiblanc .form-newsletter .btn-submit.animate-btn {
  background-color: #f3f0ea !important;
  border-color: #f3f0ea !important;
  color: #342f2b !important;
}

.footer.footer-fiblanc .form-newsletter .btn-submit .text-body-default,
.footer.footer-fiblanc .form-newsletter .btn-submit span,
.footer.footer-fiblanc .form-newsletter .btn-submit [class*="icon-"] {
  color: #342f2b !important;
}

.footer.footer-fiblanc .form-newsletter .btn-submit:hover {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #342f2b !important;
}

/* Fiche produit — onglets (actif ne doit pas utiliser --Primary beige) */
.flat-animate-tab .menu-tab-1 .tab-link {
  color: rgba(52, 47, 43, 0.55) !important;
}

.flat-animate-tab .menu-tab-1 .tab-link:hover,
.flat-animate-tab .menu-tab-1 .tab-link.active {
  color: var(--Fib-Text, #342f2b) !important;
}

.flat-animate-tab .menu-tab-1 .tab-link::after {
  background-color: var(--Fib-Text, #342f2b) !important;
}

/* Pastilles tissu — image <img> cover (fiable sur fiche produit + cartes) */
.swatch-value--fabric {
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  background-image: none !important;
  background-color: #f3f3f3;
}

.swatch-value--fabric .swatch-fabric-img,
img.check-color--fabric {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  visibility: visible !important;
  position: static !important;
  border-radius: 50%;
  box-sizing: border-box;
}

.check-color--fabric,
.card-product .swatch-value--fabric,
#product-detail-root .variant-color img.check-color--fabric {
  border-radius: 50%;
}

#product-detail-root .variant-color .product-sous-color-btn.fiblanc-color-dot,
#product-detail-root .variant-color .product-sous-color-btn.style-image {
  overflow: hidden !important;
  padding: 0 !important;
}

.tf-main-product .tf-product-info-wrap .variant-color .color-btn.fiblanc-color-dot .check-color,
.tf-product-info-wrap .variant-color .product-sous-color-btn.fiblanc-color-dot .check-color,
.tf-product-info-wrap .variant-color .product-sous-color-btn.fiblanc-color-dot img.check-color--fabric {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
  object-fit: cover !important;
  object-position: center !important;
  background-size: cover !important;
  background-position: center !important;
}

/* Masquer flèches si toutes les pastilles tiennent dans la ligne */
.product-color-swiper-wrap.fiblanc-color-row-fits,
.product-colors-swiper-wrap.fiblanc-color-row-fits {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.product-color-swiper-wrap.fiblanc-color-row-fits .product-color-nav,
.product-colors-swiper-wrap.fiblanc-color-row-fits .product-colors-nav {
  display: none !important;
  pointer-events: none !important;
}

/* Fiche produit + aperçu rapide — pastilles sur une ligne entre les flèches (pas de wrap) */
#product-detail-root .variant-color .variant-picker-values,
#product-detail-root .product-colors-swiper .swiper-wrapper,
#quickView.modal-quick-view .variant-picker-values,
#quickView.modal-quick-view #shop-qv-colors,
#quickView.modal-quick-view .qv-colors-swiper .swiper-wrapper {
  flex-wrap: nowrap !important;
}

#product-detail-root .product-colors-swiper:not(.swiper-initialized) .swiper-wrapper,
#quickView.modal-quick-view .qv-colors-swiper:not(.swiper-initialized) .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow: hidden;
}

#quickView.modal-quick-view .qv-colors-swiper-wrap:not(.d-none) {
  display: flex !important;
  align-items: center;
  width: 100%;
  min-width: 0;
}

#quickView.modal-quick-view .qv-colors-swiper-wrap:not(.d-none) .qv-colors-swiper {
  flex: 1 1 auto;
  min-width: 0;
}

/* Pastilles FibLanc — cercle plein (neutralise 22px + bordure blanche du thème) */
.shop-listing-wrap .product-color_list,
.wrapper-shop .product-color_list,
.wrapper-wishlist .product-color_list {
  flex-wrap: nowrap !important;
}

.card-product .product-color-item.fiblanc-color-swatch,
.s-product-main .product-color-item.fiblanc-color-swatch,
.cms-pack .product-color-item.fiblanc-color-swatch {
  border-radius: 50% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.card-product .fiblanc-color-swatch .swatch-value,
.card-product .product-color-item.fiblanc-color-swatch .swatch-value,
.s-product-main .fiblanc-newin-color-host .product-color-item .swatch-value,
.s-product-main .product-color-item.fiblanc-color-swatch .swatch-value,
.cms-pack .product-color-item.fiblanc-color-swatch .swatch-value {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(37, 37, 37, 0.45) !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  display: block !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.card-product .fiblanc-color-swatch .swatch-value::before,
.s-product-main .fiblanc-color-swatch .swatch-value::before,
.product-color-item.fiblanc-color-swatch .swatch-value::before {
  display: none !important;
  content: none !important;
}

.card-product .product-color-swiper .swiper-slide:has(.fiblanc-color-swatch),
.s-product-main .product-color-swiper .swiper-slide:has(.fiblanc-color-swatch) {
  flex-shrink: 0 !important;
  aspect-ratio: 1 / 1 !important;
  overflow: visible !important;
}

body.cms-home-cms {
  --fib-cms-block-gap: 64px;
  --fib-cms-section-gap: 64px;
}

@media (max-width: 767.98px) {
  body.cms-home-cms {
    --fib-cms-block-gap: 40px;
    --fib-cms-section-gap: 40px;
  }
}

/* Accueil : espace entre collections → produits → catégories → avis → instagram (hero + collections restent collés) */
body.cms-home-cms #dynamic-blocks-container > .block-wrapper[data-block-type="fiblanc-collections"] + .block-wrapper,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper[data-block-type="fiblanc-products"] + .block-wrapper,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper[data-block-type="fiblanc-categories"] + .block-wrapper,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper[data-block-type="fiblanc-testimonials"] + .block-wrapper,
body.cms-home-cms .cms-pack > .block-wrapper[data-block-type="fiblanc-collections"] + .block-wrapper,
body.cms-home-cms .cms-pack > .block-wrapper[data-block-type="fiblanc-products"] + .block-wrapper,
body.cms-home-cms .cms-pack > .block-wrapper[data-block-type="fiblanc-categories"] + .block-wrapper,
body.cms-home-cms .cms-pack > .block-wrapper[data-block-type="fiblanc-testimonials"] + .block-wrapper {
  margin-top: 0 !important;
}

/* NEW IN — ne pas écraser les visuels (priorité sur styles.css height:100%) */
body.cms-home-cms .s-product-main .card-product_wrapper .product-img {
  height: auto !important;
}
body.cms-home-cms .s-product-main .card-product_wrapper img {
  height: auto !important;
  width: 100% !important;
}
body.cms-home-cms .cms-pack .s-product-main .product-img .img-product,
body.cms-home-cms .cms-pack .s-product-main .product-img .img-hover {
  aspect-ratio: unset !important;
  object-fit: cover;
}

body.cms-home-cms #content > .block-wrapper.cms-block-wrap + .main-content {
  margin-top: 0 !important;
}

body.cms-home-cms .cms-pack > .cms-block-wrap:not([data-block-type="fiblanc-hero"]) + .cms-block-wrap,
body.cms-home-cms .cms-pack > .block-wrapper:not([data-block-type="fiblanc-hero"]) + .block-wrapper,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper:not([data-block-type="fiblanc-hero"]) + .block-wrapper {
  margin-top: var(--fib-cms-block-gap) !important;
}

body.cms-home-cms #dynamic-blocks-container > .block-wrapper[data-block-type="fiblanc-hero"] + .block-wrapper,
body.cms-home-cms .cms-pack > .block-wrapper[data-block-type="fiblanc-hero"] + .block-wrapper {
  margin-top: 0 !important;
}

body.cms-home-cms .cms-pack > .cms-block-wrap,
body.cms-home-cms #content > .block-wrapper.cms-block-wrap,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper {
  margin-bottom: 0 !important;
}

body.cms-home-cms #dynamic-blocks-container > .block-wrapper:first-child {
  margin-top: 0 !important;
}

body.cms-home-cms .cms-pack > .cms-block-wrap > *:first-child,
body.cms-home-cms #content > .block-wrapper.cms-block-wrap > *:first-child,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper > *:first-child {
  margin-top: 0 !important;
}

body.cms-home-cms .cms-pack > .cms-block-wrap > section,
body.cms-home-cms .cms-pack > .cms-block-wrap > div,
body.cms-home-cms .cms-pack > .cms-block-wrap > .tf-slideshow,
body.cms-home-cms .cms-pack > .cms-block-wrap > .s-product-main,
body.cms-home-cms .cms-pack > .cms-block-wrap > .s-lookbook,
body.cms-home-cms .cms-pack > .cms-block-wrap > .flat-thumbs-tes,
body.cms-home-cms .cms-pack > .cms-block-wrap > .hero-banner-v04,
body.cms-home-cms .cms-pack > .cms-block-wrap > .s-colection-v03,
body.cms-home-cms .cms-pack > .cms-block-wrap > .s-banner-v03,
body.cms-home-cms .cms-pack > .cms-block-wrap > .s-instagram-gram,
body.cms-home-cms .cms-pack > .cms-block-wrap > .elemonor-block-spacing,
body.cms-home-cms .cms-pack > .cms-block-wrap > section.elemonor-block-spacing,
body.cms-home-cms .cms-pack > .cms-block-wrap > div.elemonor-block-spacing,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper > section,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper > div,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper > .s-product-main,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper > .s-colection-v03,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper > section.s-testimonials,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper > .s-lookbook,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper > .s-instagram-gram,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper > .hero-banner-v04,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper > .elemonor-block-spacing {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.cms-home-cms #dynamic-blocks-container > .block-wrapper > .s-lookbook.tf-spacing-15,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper > .s-lookbook.elemonor-block-spacing,
body.cms-home-cms #dynamic-blocks-container .tf-spacing-1:has(.s-banner-v03.s2),
body.cms-home-cms #dynamic-blocks-container .tf-spacing-15 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.cms-home-cms .cms-pack .flat-spacing-2,
body.cms-home-cms .cms-pack .flat-spacing-3,
body.cms-home-cms .cms-pack .flat-spacing-4,
body.cms-home-cms .cms-pack .flat-spacing-5,
body.cms-home-cms .cms-pack .flat-spacing-6,
body.cms-home-cms .cms-pack .flat-spacing-7,
body.cms-home-cms .cms-pack .flat-spacing-8,
body.cms-home-cms .cms-pack .tf-spacing-1,
body.cms-home-cms .cms-pack .tf-spacing-2,
body.cms-home-cms .cms-pack .tf-spacing-3,
body.cms-home-cms .cms-pack .tf-spacing-4,
body.cms-home-cms .cms-pack .tf-spacing-5,
body.cms-home-cms .cms-pack .tf-spacing-6,
body.cms-home-cms .cms-pack .tf-spacing-7,
body.cms-home-cms .cms-pack .tf-spacing-8,
body.cms-home-cms .cms-pack .tf-spacing-9,
body.cms-home-cms .cms-pack .tf-spacing-10 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.cms-home-cms .cms-pack > .cms-block-wrap:not(:first-child) > .hero-banner-v04,
body.cms-home-cms .cms-pack > .cms-block-wrap:not(:first-child) > .s-colection-v03,
body.cms-home-cms .cms-pack > .cms-block-wrap:not(:first-child) > .s-banner-v03,
body.cms-home-cms .cms-pack > .cms-block-wrap:not(:first-child) > .s-testimonials,
body.cms-home-cms .cms-pack > .cms-block-wrap:not(:first-child) > section.elemonor-dual-banner,
body.cms-home-cms .cms-pack > .cms-block-wrap:not(:first-child) > div[data-block-config]:first-child,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper:not(:first-child) > .hero-banner-v04,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper:not(:first-child) > .s-colection-v03,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper:not(:first-child) > .s-banner-v03,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper:not(:first-child) > .s-testimonials,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper:not(:first-child) > section.elemonor-dual-banner,
body.cms-home-cms #dynamic-blocks-container > .block-wrapper:not(:first-child) > div[data-block-config]:first-child {
  margin-top: 0 !important;
}

html {
  scrollbar-gutter: stable;
  overflow-y: scroll;
}

/* Évite le « saut » horizontal du header à l’ouverture/fermeture des modales (Bootstrap padding-right) */
body.modal-open,
body.search-modal-open,
body:has(.offcanvas.show) {
  padding-right: 0 !important;
  overflow: hidden !important;
  width: 100%;
  box-sizing: border-box;
}

header.header {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
}

header.header .header-inner {
  position: relative;
  z-index: 1210;
  overflow: visible;
}

header.header > .tf-container.w-1750 {
  overflow: visible;
}

.nav-account-menu .dropdown-menu,
.fiblanc-account-dropdown {
  z-index: 1300 !important;
}

header.header .header-nav-secondary {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.header-nav-secondary_link::after {
  transition: none !important;
}

header.header,
header.header.header-sticky {
  transition: box-shadow 0.3s ease !important;
}

.header-nav-secondary,
.header-nav-secondary_list {
  transition: none !important;
}

body.fiblanc-overlay-closing header.header,
body.fiblanc-overlay-closing .header-nav-secondary,
body.fiblanc-overlay-closing .header-nav-secondary_list {
  transition: none !important;
}

body.modal-open header.header,
body.modal-open .header-nav-secondary,
body:has(.offcanvas.show) header.header,
body:has(.offcanvas.show) .header-nav-secondary {
  transition: none !important;
}

:root {
  --fib-overlay-z-backdrop: 1300;
  --fib-overlay-z-surface: 1310;
}

body .modal-backdrop.show {
  z-index: var(--fib-overlay-z-backdrop) !important;
}

body .modal.show,
body .modal.showing {
  z-index: var(--fib-overlay-z-surface) !important;
}

body .offcanvas-backdrop.show {
  z-index: var(--fib-overlay-z-backdrop) !important;
}

body .offcanvas.show,
body .offcanvas.showing {
  z-index: var(--fib-overlay-z-surface) !important;
}

/* Modal recherche : au-dessus du menu Collections (z-index 1200) + champ visible en haut */
#search.popup-search {
  --bs-modal-zindex: 1310;
  z-index: 1310;
}

body.search-modal-open .modal-backdrop {
  z-index: var(--fib-overlay-z-backdrop) !important;
}

#search.popup-search .modal-dialog.w-full {
  margin: 0;
  max-width: 100%;
  width: 100%;
  min-height: 100%;
  align-items: flex-start;
}

#search.popup-search .modal-content {
  padding-top: calc(24px + env(safe-area-inset-top, 0px));
}

#search.popup-search .looking-for-wrap {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--Fib-Bg, #ffffff);
  padding-top: 8px;
  padding-bottom: 16px;
  margin-bottom: 40px;
}

/* Surcharge thème VinFur (Satoshi) + harmonisation globale */
body,
body.preload-wrapper,
body.cms-fiblanc {
  font-family: var(--Fib-Font-Body) !important;
}

.header .navigation .item-link,
.header-nav-secondary_link,
.mb-menu-link,
.sub-nav-link,
.mega-menu-category_link,
.mega-menu-category_heading,
.mega-menu-featured_title,
.collections-mega-menu_title-link,
.collections-mega-menu_link,
.name-product,
.card-product .name-product,
.breadcrumb-list,
.tf-page-title,
.compare-page-title,
.facet-title .h6,
.widget-facet .h6 {
  font-family: var(--Fib-Font-Body);
}

/* Menu header : casse naturelle (1re lettre majuscule via contenu / fiblancMenuLabel), pas tout en minuscules */
.header .main-menu .navigation li.menu-item > a,
.header .navigation li.menu-item > a.item-link {
  text-transform: none !important;
  letter-spacing: 0.02em;
}

.header-nav-secondary .header-nav-secondary_link {
  text-transform: none !important;
  letter-spacing: 0.03em;
}

#mobileMenu .mb-menu-link > span:first-child,
#mobileMenu .sub-nav-menu .sub-nav-link {
  text-transform: none;
}

.mega-menu-category_link span,
.mega-menu-featured_name,
.mega-menu-category_heading,
.mega-menu-featured_title,
.header .navigation .mega-menu-banner_title,
.mega-menu-featured_all,
.mega-menu-banner_cta {
  text-transform: none;
}

.collections-mega-menu_link,
.collections-mega-menu_title-link,
.collections-mega-menu_banner_kicker,
.collections-mega-menu_banner_title {
  text-transform: none !important;
}

.fiblanc-account-dropdown__label,
.fiblanc-account-dropdown__status,
.fiblanc-account-dropdown__name,
.fiblanc-account-panel-link {
  text-transform: none;
}

.mega-menu-banner_title,
.text-display,
.tf-page-title .title,
.compare-page-intro .compare-page-title,
.footer-heading,
.footer-title,
.popup-search .text-body-default.fw-5 {
  font-family: var(--Fib-Font-Heading);
}

.sib-form,
.sib-form .entry__specification,
.sib-form .entry__error,
.entry__specification,
.entry__label {
  font-family: var(--Fib-Font-Body) !important;
}

body.cms-fiblanc .s-lookbook .card-product .name-product,
body.cms-fiblanc .elemonor-products-grid .card-product .name-product,
body.cms-fiblanc .s-product-main .card-product .name-product,
body.cms-fiblanc .s-product-main .card-product .product-card-subtitle,
body.cms-fiblanc .s-product-main .card-product .price-wrap,
body.cms-fiblanc .s-product-main .card-product .wrap-price,
body.cms-fiblanc .s-product-main .card-product .price-new,
body.cms-fiblanc .s-product-main .card-product .price-old,
body.cms-fiblanc .s-product-main .card-product .price-from {
  font-family: var(--Fib-Font-Body) !important;
}

/* Cartes produit — titre, sous-titre, prix alignés à gauche sous l’image */
.card-product.fiblanc-card-meta-one-line .card-product_info,
.card-product.fiblanc-card-meta-one-line.has-discount .card-product_info {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
  text-align: start !important;
  align-items: start !important;
  justify-items: stretch !important;
}

.card-product.fiblanc-card-meta-one-line .card-product_info > .fiblanc-newin-color-host,
.card-product.fiblanc-card-meta-one-line .card-product_info > .product-color-dock,
.card-product.fiblanc-card-meta-one-line .card-product_info > .product-color-swiper-wrap {
  grid-column: 1 / -1 !important;
}

.card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host .product-color-swiper-wrap {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  justify-items: start !important;
}

.card-product.fiblanc-card-meta-one-line .product-color-swiper .swiper-wrapper {
  justify-content: flex-start !important;
}

.card-product.fiblanc-card-meta-one-line .product-color-swiper-wrap .product-color-swiper {
  justify-self: start !important;
  margin-left: 0 !important;
}

.card-product.fiblanc-card-meta-one-line .card-product_info > .name-product,
.card-product.fiblanc-card-meta-one-line .card-product_info > a.name-product,
.card-product.fiblanc-card-meta-one-line .product-card-subtitle {
  text-align: start !important;
}

.card-product.fiblanc-card-meta-one-line .card-product_info > .wrap-price,
.card-product.fiblanc-card-meta-one-line .card-product_info > .price-wrap,
.card-product.fiblanc-card-meta-one-line.has-discount .wrap-price,
.card-product.fiblanc-card-meta-one-line.has-discount .price-wrap {
  justify-content: flex-start !important;
  align-items: baseline !important;
}

.card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host,
.card-product.fiblanc-card-meta-one-line .card-product_info > .product-color-dock,
.card-product.fiblanc-card-meta-one-line .card-product_info > .product-color-swiper-wrap,
.card-product.fiblanc-card-meta-one-line .card-product_info > .product-color_list {
  justify-content: flex-start !important;
  align-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host .product-color-swiper-wrap,
.card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host .product-color_list:not(.product-color_list--swiper) {
  justify-content: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.shop-listing-wrap .card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host,
.wrapper-shop .card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host,
.wrapper-wishlist .card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host,
.s-product-main .card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host,
.s-related-products .card-product.fiblanc-card-meta-one-line .fiblanc-newin-color-host {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  width: 100% !important;
}
