/* ==========================================================================
   TRST CULTURE — surcouche de charte (lot 3)
   Chargée en dernier dans <head>. Écrase theme_aster / Bootstrap par ordre et
   par spécificité. Charte : docs/charte-graphique.md.
   Noir dominant · accent jaune #F8DA00 unique · angles vifs · zéro ombre.
   ========================================================================== */

/* ---- 1. Jetons ---------------------------------------------------------- */
:root {
  --tc-black:  #000000;
  --tc-white:  #FFFFFF;
  --tc-yellow: #F8DA00;
  --tc-studio: #EDEAE4;
  --tc-line:   #E5E5E5;
  --tc-muted:  #6B6B6B;
  --tc-ink:    #0A0A0A;

  --tc-space:  8px;
  --tc-container: 1240px;

  --tc-f-display: 'Archivo', 'Arial Narrow', system-ui, sans-serif;
  --tc-f-body:    'Hanken Grotesk', system-ui, -apple-system, sans-serif;

  --tc-track-tight: .02em;
  --tc-track-wide:  .08em;
  --tc-track-sig:   .22em;

  /* Bootstrap primaire -> noir ; secondaire -> jaune accent */
  --bs-primary: var(--tc-black);
  --bs-primary-rgb: 0, 0, 0;
  --bs-secondary: var(--tc-yellow);
  --bs-link-color: var(--tc-black);
  --bs-link-hover-color: var(--tc-muted);
  --bs-body-color: var(--tc-ink);
  --bs-body-font-family: var(--tc-f-body);
  --primary-dark: var(--tc-black);
  --primary-light: var(--tc-studio);
}

/* ---- 2. Base ---------------------------------------------------------- */
body {
  font-family: var(--tc-f-body);
  color: var(--tc-ink);
  background: var(--tc-white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.section-title, .title-text, .product-title {
  font-family: var(--tc-f-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--tc-track-tight);
  line-height: 1.05;
  color: var(--tc-black);
  text-wrap: balance;
}

a { color: var(--tc-black); text-decoration: none; }
a:hover { color: var(--tc-muted); }

/* Prix — chiffres alignés */
.price, .product-price, .current-price, [class*="price"] {
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}

/* ---- 3. Reset formes : angles vifs, zéro ombre ----------------------- */
.btn, .card, .form-control, .form-select, .input-group,
input, select, textarea, .badge, .alert, .dropdown-menu,
.modal-content, .toast, .nav-tabs, .nav-pills, .list-group,
.list-group-item, img, .rounded, [class*="rounded"],
.rounded-circle, .rounded-pill, .product-single-thumb, .single-product,
.product-card, .card-product {
  border-radius: 0 !important;
}

*, .card, .btn, .dropdown-menu, .modal-content, .shadow,
.shadow-sm, .shadow-lg, [class*="shadow"], .product-card:hover,
.single-product:hover {
  box-shadow: none !important;
}

/* ---- 4. Focus (accent jaune) ---------------------------------------- */
:focus-visible,
.btn:focus-visible,
.form-control:focus,
.form-select:focus,
a:focus-visible {
  outline: 3px solid var(--tc-yellow) !important;
  outline-offset: 2px;
  box-shadow: none !important;
}

/* ---- 5. Boutons ---------------------------------------------------- */
.btn {
  font-family: var(--tc-f-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--tc-track-wide);
  padding: 14px 28px;
  border: 1px solid var(--tc-black);
  transition: background-color .18s ease, color .18s ease;
}
.btn-primary,
.btn-success,
.btn-dark,
.btn-theme,
.theme-btn {
  background: var(--tc-black) !important;
  border-color: var(--tc-black) !important;
  color: var(--tc-white) !important;
}
.btn-primary:hover,
.btn-success:hover,
.btn-dark:hover,
.btn-theme:hover,
.theme-btn:hover {
  background: var(--tc-white) !important;
  color: var(--tc-black) !important;
}
.btn-outline-primary,
.btn-outline-dark,
.btn-outline-success,
.btn-outline-secondary {
  background: transparent !important;
  border-color: var(--tc-black) !important;
  color: var(--tc-black) !important;
}
.btn-outline-primary:hover,
.btn-outline-dark:hover,
.btn-outline-success:hover,
.btn-outline-secondary:hover {
  background: var(--tc-black) !important;
  color: var(--tc-white) !important;
}
/* Bouton accent — rare, réservé aux soldes / CTA secondaire fort */
.btn-accent {
  background: var(--tc-yellow) !important;
  border-color: var(--tc-yellow) !important;
  color: var(--tc-black) !important;
}
.btn-accent:hover { filter: brightness(.92); }

/* .btn-secondary (jaune via --bs-secondary) : jamais une surface.
   Sur fiche produit = « Acheter » (raccourci caisse) -> contour noir,
   l'action principale « Ajouter au panier » (.btn-primary) reste pleine. */
.btn-secondary,
.product-buy-now-button {
  background: transparent !important;
  border-color: var(--tc-black) !important;
  color: var(--tc-black) !important;
}
.btn-secondary:hover,
.product-buy-now-button:hover {
  background: var(--tc-black) !important;
  color: var(--tc-white) !important;
}

/* ---- 6. Formulaires --------------------------------------------------- */
.form-control, .form-select, input[type="text"], input[type="email"],
input[type="password"], input[type="search"], input[type="tel"],
input[type="number"], textarea, select {
  border: 1px solid var(--tc-black);
  background: var(--tc-white);
  color: var(--tc-ink);
  padding: 12px 14px;
}
.form-control::placeholder { color: var(--tc-muted); }
label, .form-label {
  font-family: var(--tc-f-display);
  font-weight: 600;
  font-size: .75rem;
  letter-spacing: var(--tc-track-wide);
  text-transform: uppercase;
  color: var(--tc-black);
}

/* ---- 7. Badges ----------------------------------------------------- */
.badge {
  font-family: var(--tc-f-display);
  font-weight: 700;
  letter-spacing: var(--tc-track-wide);
  text-transform: uppercase;
  padding: 5px 9px;
}
.badge.bg-danger, .badge-sale, .discount-badge, .label-sale {
  background: var(--tc-yellow) !important;
  color: var(--tc-black) !important;
}
.badge.bg-secondary, .badge-stock-out, .stock-out {
  background: var(--tc-muted) !important;
  color: var(--tc-white) !important;
}
.badge.bg-primary, .badge.bg-dark, .badge-new, .label-new {
  background: var(--tc-black) !important;
  color: var(--tc-white) !important;
}

/* ---- 8. Conteneur / whitespace ------------------------------------- */
.container, .container-lg, .container-xl {
  max-width: var(--tc-container);
}
section, .section-padding, .pt-page, .py-page {
  padding-block: clamp(48px, 8vw, 96px);
}

/* ---- 9. Anti-bleu résiduel Bootstrap ------------------------------- */
.text-primary { color: var(--tc-black) !important; }
.bg-primary   { background-color: var(--tc-black) !important; }
.border-primary { border-color: var(--tc-black) !important; }
.text-success { color: var(--tc-black) !important; }
.link-primary { color: var(--tc-black) !important; }

/* ---- 10. Cartes produit (structure ; détail en T8) ---------------- */
.card, .single-product, .product-card, .card-product {
  border: 1px solid var(--tc-line);
  background: var(--tc-white);
}
.single-product img, .product-card img, .card-product img,
.product-thumbnail img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;   /* portrait : format des photos produit (admin : 1600 x 2000) */
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ---- 11. Accessibilité mouvement --------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* jamais de texte jaune sur blanc (contraste 1,4:1) */
.text-warning, .text-yellow { color: var(--tc-black) !important; }

/* .text-muted Bootstrap (#6c757d) : 4,33:1 sur fond gris clair -> assombrir.
   Ne s'applique pas dans header/footer (déjà surchargés au-dessus). */
.text-muted { color: #5a5a5a !important; }

/* ---- 16. Corrections chrome ------------------------------------- */
/* bloc "sélectionner une catégorie" ne doit pas chevaucher la nav */
.category-menu, .all-category, .category-nav, .header-category,
.categories-toggle, [class*="select"][class*="categor"] {
  position: relative;
  z-index: 5;
}
.main-menu, .header-nav, .navbar-nav { z-index: 4; }

/* sélecteur clair/sombre 6valley — thème mono-parti */
.settings-sidebar, .theme-bar, .light_button, .dark_button,
.active-theme-wrap { display: none !important; }

/* WhatsApp flottant : angles vifs */
.whatsapp-chat, .chat-image-shadow { border-radius: 0 !important; }

/* badges "Google Play / App Store" du footer (pas de promo app ici) */
footer a[href*="play.google.com"],
footer a[href*="apple.com"],
footer a[href*="apps.apple"],
footer a[href*="/store"],
footer img[src*="google-play"],
footer img[src*="app-store"] { display: none !important; }
footer a[href*="play.google.com"] + a,
footer .d-flex.gap-3.flex-wrap.mt-4 { display: none !important; }

/* sections produits : fond blanc (la bande grise 6valley n'apporte rien) */
.bg-section2, .section-bg, .bg-light-section, [class*="bg-section"],
.top-rated-area, .recommended-area, .best-deal-area {
  background: var(--tc-white) !important;
}
section:has(> .container:only-child > .row:empty) { display: none; }

/* dropdown catégorie header : au-dessus de la nav, pas de chevauchement */
.category-menu-toggle, .all-categories-btn, .header-categories,
.dropdown.category-dropdown { position: relative; z-index: 20; }
.main-menu-area, .navbar-nav, .header-menu { position: relative; z-index: 10; }
/* marge de sécurité entre le bloc catégorie et les liens de nav */
.header-nav-wrap .nav-link:first-child,
.main-menu > li:first-child { margin-left: 8px; }

/* ---- 17. Cartes produit — détail (structure prête lot 6) --------- */
.product-title, .product-name, .single-product__title {
  font-family: var(--tc-f-body);
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  font-size: .95rem;
}

/* ---- 18. Vendeur unique — masquage cosmétique (lot 2 reporté) ---- */
.sold-by, .seller-name, .product-seller, .shop-name,
.sold-by-info, .vendor-info, a[href*="vendor-shop"],
a[href*="seller-profile"], .product-shop-link, .followed-shops,
.follow-shop-btn, .shop-follow, .card-shop-info {
  display: none !important;
}

/* ---- 12. Logo (bypass de l'image DB manquante) --------------------- */
.system-logo-element img,
.logo-area .logo img,
footer .row img.max-height-45px,
footer .row img[class*="max-height"] { display: none !important; }
.system-logo-element,
.logo-area .logo.system-logo-element {
  display: inline-block;
  width: 240px; height: 44px;
  background: url("../img/logo/logo-full.svg") no-repeat left center;
  background-size: contain;
  flex-shrink: 0;
}
/* footer : reconstruire le logo via ::before sur son conteneur */
footer .row .d-flex.justify-content-center.justify-content-md-start::before,
footer .col-lg-3 .d-flex::before {
  content: "";
  display: inline-block;
  width: 230px; height: 46px;
  background: url("../img/logo/logo-full.svg") no-repeat left center;
  background-size: contain;
}

/* ---- 13. Chrome header / footer noir ------------------------------ */
header, .header-area, .main-header, .header-bottom, .header-middle,
.navbar, .bottom-header, .header-top {
  background-color: var(--tc-black) !important;
  color: var(--tc-white);
}
header a, .header-area a, .navbar a, .bottom-header a,
header .nav-link, .header-area .nav-link {
  color: var(--tc-white) !important;
}
header a:hover, .header-area a:hover { color: var(--tc-yellow) !important; }
/* boutons/déclencheurs de menu dans le header noir : texte clair (contraste) */
header button, header .dropdown-toggle, header .btn-link,
.header-area button, .header-top button, .header-top .dropdown-toggle,
header [data-bs-toggle="dropdown"], header .dropdown-toggle * {
  color: var(--tc-white) !important;
}
/* recherche dans le header : champ blanc */
header .form-control, .header-area .form-control,
header input[type="search"], header input[type="text"] {
  background: var(--tc-white) !important;
  color: var(--tc-ink) !important;
  border-color: var(--tc-white) !important;
}
header .btn, .header-area .btn {
  border-color: var(--tc-white);
}

footer, .footer-area, .footer-top, .footer-bottom, .footer-widget-area {
  background-color: var(--tc-black) !important;
  color: #C9C4BB;
}
footer a, .footer-area a { color: #C9C4BB !important; }
footer a:hover, .footer-area a:hover { color: var(--tc-yellow) !important; }
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
.footer-area h1, .footer-area h2, .footer-area h3, .footer-area h4, .footer-area h5 {
  color: var(--tc-white) !important;
}

/* barre d'annonce */
.announcement-color, .top-announcement, .header-announcement {
  background-color: var(--tc-black) !important;
  color: var(--tc-white) !important;
  font-family: var(--tc-f-display);
  font-size: .75rem;
  letter-spacing: var(--tc-track-wide);
  text-transform: uppercase;
}

/* ---- 14. Anti-section teintée (bleu 6valley résiduel) ------------- */
[style*="#1b7fed"], [style*="#CFDFFB"], [style*="rgb(207, 223, 251)"],
.bg-soft-primary, .bg-primary-light, .section-bg, .bg-light-primary {
  background-color: var(--tc-studio) !important;
}
/* le bandeau réassurance / "services" : filet fin, pas de fond coloré */
.services-area, .feature-area, .why-choose-us {
  background: var(--tc-white) !important;
  border-block: 1px solid var(--tc-line);
}

/* ---- 15. Hero éditorial ------------------------------------------- */
.tc-hero {
  position: relative;
  min-height: clamp(440px, 68vh, 720px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--tc-black);
}
.tc-hero__img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
}
/* scrim : DERRIÈRE le texte, DEVANT l'image */
.tc-hero::after {
  content: "";
  position: absolute; inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.42) 48%, rgba(0,0,0,.08) 100%),
              linear-gradient(0deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 42%);
  pointer-events: none;
}
.tc-hero__inner { z-index: 2; }
.tc-hero__inner {
  position: relative;
  max-width: var(--tc-container);
  width: 100%;
  margin: 0 auto;
  padding: clamp(32px, 6vw, 72px) clamp(20px, 5vw, 56px);
  color: var(--tc-white);
}
.tc-hero__title {
  font-family: var(--tc-f-display);
  font-weight: 800;
  text-transform: uppercase;
  font-size: clamp(2.8rem, 9vw, 6rem);
  line-height: .92;
  letter-spacing: -.01em;
  color: var(--tc-white) !important;
  margin: 0 0 .4em;
}
.tc-hero__lead {
  font-family: var(--tc-f-body);
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  max-width: 42ch;
  color: #E6E2DA;
  margin: 0 0 1.8em;
}
.tc-hero__cta {
  display: inline-block;
  width: auto;
  background: var(--tc-white) !important;
  color: var(--tc-black) !important;
  border-color: var(--tc-white) !important;
}
.tc-hero__cta:hover {
  background: var(--tc-yellow) !important;
  border-color: var(--tc-yellow) !important;
}
.tc-hero__inner .tc-hero__lead { position: relative; }

/* bandeau de réassurance sous le hero */
.tc-assurance {
  border-block: 1px solid var(--tc-line);
  padding-block: 0;
}
.tc-assurance__grid {
  list-style: none; margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.tc-assurance__grid li {
  padding: 22px 20px;
  border-left: 1px solid var(--tc-line);
  display: flex; flex-direction: column; gap: 3px;
}
.tc-assurance__grid li:first-child { border-left: 0; }
.tc-assurance__k {
  font-family: var(--tc-f-display);
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: var(--tc-track-wide);
  text-transform: uppercase;
  color: var(--tc-black);
}
.tc-assurance__v { font-size: .82rem; color: var(--tc-muted); }
@media (max-width: 767px) {
  .tc-assurance__grid { grid-template-columns: repeat(2, 1fr); }
  .tc-assurance__grid li:nth-child(3) { border-left: 0; }
}

/* ==========================================================================
   Lot 5 — pages éditoriales
   ========================================================================== */
.tc-eyebrow {
  font-family: var(--tc-f-display);
  font-weight: 600;
  font-size: .7rem;
  letter-spacing: var(--tc-track-sig);
  text-transform: uppercase;
  color: var(--tc-muted);
  margin: 0 0 12px;
}

/* --- hero de page (à propos) --- */
.tc-page-hero {
  position: relative;
  min-height: clamp(340px, 52vh, 520px);
  display: flex; align-items: flex-end;
  background: var(--tc-black); overflow: hidden;
}
.tc-page-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .72; z-index: 0; }
.tc-page-hero::after { content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(0deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,0) 55%); }
.tc-page-hero__inner { position: relative; z-index: 2; max-width: var(--tc-container); width: 100%; margin: 0 auto;
  padding: clamp(28px,5vw,56px) clamp(20px,5vw,56px); color: var(--tc-white); }
.tc-page-hero__inner .tc-eyebrow { color: #C9C4BB; }
.tc-page-hero__title { font-family: var(--tc-f-display); font-weight: 800; text-transform: uppercase;
  font-size: clamp(2.4rem,7vw,4.5rem); line-height: .95; color: var(--tc-white) !important; margin: 0; }

/* --- en-tête de page (collections, lookbook) --- */
.tc-page-head { padding-block: clamp(44px,7vw,88px) clamp(24px,4vw,44px); border-bottom: 1px solid var(--tc-line); }
.tc-page-head h1 { font-size: clamp(2.2rem,6vw,4rem); margin: 0 0 .3em; }
.tc-page-head__lead { max-width: 48ch; color: var(--tc-muted); margin: 0; }

/* --- prose (à propos) --- */
.tc-prose { padding-block: clamp(44px,7vw,88px); }
.tc-prose__col { max-width: 62ch; }
.tc-prose__col h2 { font-size: 1.4rem; margin: 2em 0 .6em; }
.tc-prose__col h2:first-child { margin-top: 0; }
.tc-prose__col p { margin: 0 0 1.1em; }

/* --- collections : 3 portes --- */
.tc-collections__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.tc-collection { position: relative; display: block; aspect-ratio: 3/4; overflow: hidden; background: var(--tc-black); }
.tc-collection img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.tc-collection:hover img { transform: scale(1.04); }
.tc-collection::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 45%); }
.tc-collection__label { position: absolute; left: 24px; bottom: 22px; z-index: 2;
  font-family: var(--tc-f-display); font-weight: 800; text-transform: uppercase;
  letter-spacing: var(--tc-track-wide); font-size: 1.4rem; color: var(--tc-white); }
@media (max-width: 767px) { .tc-collections__grid { grid-template-columns: 1fr; } }

/* --- lookbook : 4 planches égales, grille qui se remplit --- */
.tc-lookbook { padding-block: clamp(28px,4vw,48px) clamp(44px,7vw,88px); }
.tc-lookbook__grid { display: grid; grid-template-columns: 1fr; gap: clamp(20px,3vw,36px); }
.tc-look { margin: 0; }
.tc-look img { width: 100%; height: auto; display: block; aspect-ratio: 4/5; object-fit: cover; background: var(--tc-studio); }
.tc-look figcaption { padding: 12px 2px 0; font-family: var(--tc-f-display); font-weight: 600;
  font-size: .74rem; letter-spacing: var(--tc-track-wide); text-transform: uppercase; color: var(--tc-muted); }
@media (min-width: 768px) {
  .tc-lookbook__grid { grid-template-columns: 1fr 1fr; }
}

/* --- bande CTA --- */
.tc-cta-band { background: var(--tc-black); color: var(--tc-white); padding-block: clamp(40px,6vw,72px); text-align: center; }
.tc-cta-band .container { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.tc-cta-band p { font-family: var(--tc-f-display); font-weight: 700; text-transform: uppercase;
  letter-spacing: var(--tc-track-wide); font-size: 1.1rem; margin: 0; color: var(--tc-white); }
.tc-cta-band .btn-primary { background: var(--tc-white) !important; color: var(--tc-black) !important; border-color: var(--tc-white) !important; }
.tc-cta-band .btn-primary:hover { background: var(--tc-yellow) !important; border-color: var(--tc-yellow) !important; }

/* --- Journal (blog) : grille éditoriale --- */
.blog-card, .blog-item, .single-blog { border: 1px solid var(--tc-line) !important; background: var(--tc-white); }
.blog-card img, .blog-item img, .single-blog img { aspect-ratio: 3/2; object-fit: cover; width: 100%; }
.blog-title, .blog-card h3, .blog-item h3 { font-family: var(--tc-f-display); text-transform: uppercase; letter-spacing: var(--tc-track-tight); }

/* ---- Sélecteur de variante (taille / couleur) ----------------------- */

/* pastilles couleur : carrées, filet, pas d'ombre */
.option-select-btn .color_variants {
  border-radius: 0 !important;
  width: 28px; height: 28px;
  border: 1px solid var(--tc-ligne, #E5E5E5) !important;
  box-shadow: none !important;
  outline-offset: 2px;
}
.option-select-btn .color_variants.color_variant_active {
  outline: 2px solid var(--tc-black) !important;
  border-color: var(--tc-black) !important;
}

/* boutons taille : carrés, display, actif = fond noir */
.option-select-btn li label span:not(.color_variants) {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; height: 40px; padding: 0 12px;
  border: 1px solid var(--tc-black) !important;
  border-radius: 0 !important;
  font-family: var(--tc-f-display);
  font-size: .82rem; letter-spacing: .04em;
  background: var(--tc-white); color: var(--tc-black);
  cursor: pointer; transition: none;
}
.option-select-btn li label input:checked + span:not(.color_variants) {
  background: var(--tc-black) !important; color: var(--tc-white) !important;
}

/* combinaison en rupture : bouton taille barré, inactif (classe posée par le fork) */
.option-select-btn li label span.tc-variant-out {
  text-decoration: line-through;
  opacity: .4;
  pointer-events: none;
}

/* stock faible : seul élément jaune de l'écran (règle charte) */
.tc-stock-low {
  display: inline-block; margin-top: 8px;
  font-family: var(--tc-f-display);
  font-size: .74rem; letter-spacing: var(--tc-track-wide); text-transform: uppercase;
  color: var(--tc-black);
  border-bottom: 2px solid var(--tc-yellow);
  padding-bottom: 2px;
}

/* bloc réassort / "Rupture" : angles vifs */
.product-restock-request-section .btn { border-radius: 0; }

/* ---- Sélecteur de devise (multi_currency) -------------------------- */
header .language-dropdown .dropdown-menu,
.header-top .dropdown-menu {
  background: var(--tc-black) !important;
  border: 1px solid var(--tc-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 4px 0;
}
header .language-dropdown .dropdown-menu li > a,
.header-top .dropdown-menu li > a,
.currency-change > a {
  color: var(--tc-white) !important;
  font-size: .82rem;
  padding: 6px 14px;
  display: block;
}
header .language-dropdown .dropdown-menu li > a:hover,
.currency-change > a:hover {
  color: var(--tc-yellow) !important;
  background: transparent !important;
}

/* === Bannière de catalogue (page boutique filtrée sur un catalogue) === */
.tc-catalogue-banner { position: relative; background: #000; overflow: hidden; aspect-ratio: 12 / 5; }
.tc-catalogue-banner img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.tc-catalogue-banner__text { position: absolute; inset: auto 0 0 0; padding: 24px 24px 32px; color: #fff;
  background: linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,0)); }
.tc-catalogue-banner__text h1 { margin: 0; color: #fff; text-transform: uppercase; }
@media (max-width: 700px) { .tc-catalogue-banner { aspect-ratio: 4 / 3; } }
