/*
 * Custom style — Version Finale Optimisée Core Web Vitals & Accessibilité
 */

/* Icône de connexion (personne dans un cercle, dégradé) — toutes tailles */
.account-link a {
  font-size: 0 !important;
  line-height: 0 !important;
}
.account-link a .material-icons,
.account-link a .fa,
.account-link a img {
  display: none !important;
}
.account-link a::before {
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
  vertical-align: middle;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBmaWxsPSJub25lIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImciIHgxPSIwIiB5MT0iMSIgeDI9IjEiIHkyPSIwIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM2ZDI4ZDkiLz48c3RvcCBvZmZzZXQ9IjAuNSIgc3RvcC1jb2xvcj0iIzRmN2ZmNSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzM4YmRmOCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxjaXJjbGUgY3g9IjI1NiIgY3k9IjI1NiIgcj0iMjQwIiBzdHJva2U9InVybCgjZykiIHN0cm9rZS13aWR0aD0iMTgiLz48Y2lyY2xlIGN4PSIyNTYiIGN5PSIxOTYiIHI9IjcyIiBzdHJva2U9InVybCgjZykiIHN0cm9rZS13aWR0aD0iMTgiLz48cGF0aCBkPSJNMTMyIDQwNiBhMTI0IDEyNCAwIDAgMSAyNDggMCIgc3Ryb2tlPSJ1cmwoI2cpIiBzdHJva2Utd2lkdGg9IjE4IiBzdHJva2UtbGluZWNhcD0icm91bmQiLz48L3N2Zz4K") no-repeat center/contain;
}

/* Bouton "remonter en haut" au-dessus du WhatsApp */
#scrollTopButton {
  bottom: 120px !important;
}

/* =======================================================
   1. STABILISATION & ÉLIMINATION DU CLS
   ======================================================= */
#wrapper {
  contain: none !important;
}

/* Verrouillage fluide du bandeau "Offre de la semaine" */
.aone-homepage.home-blocks-top,
.outside-container.top-column-content,
.top-column-content,
#wrapper .column-block.md-bottom {
  min-height: 380px !important;
  display: block !important;
}

@media (max-width: 767.98px) {
  .aone-homepage.home-blocks-top,
  .outside-container.top-column-content,
  .top-column-content,
  #wrapper .column-block.md-bottom {
    min-height: 480px !important;
  }
}

/* Verrouillage vertical des cartes produits */
.product-container .third-block,
.product-miniature .third-block,
.third-block {
  min-height: 48px !important;
  display: block !important;
}

.product-container .product-price-and-shipping,
.product-miniature .product-price-and-shipping {
  min-height: 24px !important;
}

/* Centrage parfait et fixation stricte du Logo */
.header-logo {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  margin: 0 auto !important;
}

.header-logo a {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 146px !important;
  height: 73px !important;
}

.logo, 
img.logo, 
.header-logo img,
img[src*="logotvwebp"] {
  width: 146px !important;
  height: 73px !important;
  max-height: 73px !important;
  aspect-ratio: 146 / 73 !important;
  margin: 0 auto !important;
  display: block !important;
}
/* =======================================================
   2. ACCESSIBILITÉ & CONTRASTES (Score 100/100)
   ======================================================= */
/* Agrandissement des cibles tactiles (Slick dots & flèches) */
.slick-dots li,
.slick-dots li button,
.slick-arrow,
button[data-role="none"] {
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Rehaussement des contrastes de texte */
span.last_remaining_items,
.last_remaining_items {
  color: #990000 !important;
  font-weight: 700 !important;
}

a.view-more-link, 
a[href*="nouveaux-produits"], 
a[href*="26-switch"],
a[href*="mailto"],
.typo a,
footer .footer-main .typo a {
  color: #0b5394 !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

span.regular-price,
.regular-price {
  color: #555555 !important;
  border-color: #555555 !important;
}

/* Blocs "feature" + menu principal */
.feature, .feature2 { padding: 12px 10px !important; }
.feature .fa, .feature2 .fa { font-size: 24px !important; }
.feature a, .feature2 a { font-size: 14px !important; }
.amenu-link { font-size: 14px !important; padding: 10px !important; color: #222222 !important; }
.st-menu-title { color: #222222 !important; }
.header-banner, .header-event-banner { color: #555555 !important; }

#header sup { background-color: #dc3545 !important; }
span.cart-products-count { background-color: #dc3545 !important; }
span.product-price { color: #c82333 !important; }

.title-block span, .aone-tabs .nav-link span { font-size: 20px !important; color: #222222 !important; }
h5.product-name a, p.product-name, p.product-name a { font-weight: 500 !important; color: #222222 !important; }

/* Cartes produits */
.product-miniature {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid #e5e5e5 !important;
  border-radius: 6px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
  transition: box-shadow .2s ease;
}
.product-miniature:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important; }
.product-flags .product-flag.discount span, .product-flags .product-flag.on-sale span { background-color: #dc3545 !important; }
.btn.add-to-cart, a.details-link, .details-link { border-radius: 6px !important; }

/* Descriptions produits */
.product-description-short, .product-description { font-size: 14px !important; color: #555555 !important; }
.top-feature { font-family: Roboto, sans-serif !important; }

/* Pied de page */
footer.js-footer { background-color: #f8f8f8 !important; border-top: 1px solid #e5e5e5 !important; }
footer.js-footer .h4, footer.js-footer h4 { color: #222222 !important; }
footer.js-footer .linklist a { color: #555555 !important; }
footer.js-footer .linklist a:hover { color: #004aad !important; }
footer.js-footer .footer-main .typo { background: #ffffff !important; padding: 20px !important; border-radius: 6px !important; color: #333333 !important; }
footer.js-footer .footer-main .typo p { background: transparent !important; margin-bottom: 12px !important; }
footer.js-footer .footer-main .typo p:last-child { margin-bottom: 0 !important; }

/* Fil d'Ariane mobile + header compact */
@media (max-width: 767.98px) {
  .breadcrumb-wrapper { overflow-x: hidden !important; }
  .breadcrumb { flex-wrap: wrap !important; }
  .breadcrumb-item { min-width: 0 !important; flex-wrap: wrap !important; }
  .breadcrumb-item a, .breadcrumb-item span { white-space: normal !important; word-break: break-word !important; min-width: 0 !important; }
}
@media (max-width: 991.98px) {
  #header .desktop-header-version .header-logo { max-width: 26% !important; }
  #header .desktop-header-version .searchbar-wrapper { margin-bottom: 8px !important; }
}

/* ===== Barre de coordonnées (top bar claire) ===== */
#tv-topbar {
  background: #f8f8f8;
  border-bottom: 1px solid #e5e5e5;
  color: #444444;
  font-family: Roboto, Arial, sans-serif;
  font-size: 13px;
  line-height: 1;
  min-height: 30px;
  box-sizing: border-box;
}
#tv-topbar .tv-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 15px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 24px;
}
#tv-topbar a, #tv-topbar span { color: #444444; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
#tv-topbar a:hover { color: #004aad; }
#tv-topbar .fa { font-size: 14px; color: #004aad; }

@media (max-width: 767.98px) {
  #tv-topbar { font-size: 12px; min-height: 28px; }
  #tv-topbar .tv-inner { gap: 6px 16px; padding: 7px 12px; }
  #tv-topbar .tv-addr { display: none; }
}

/* =========================================================
   BOUTON MENU
   ========================================================= */
.mobile-menu-icon,
[data-left-nav-trigger],
.tv-menu-toggle {
  background-color: #004aad !important;
  border-radius: 4px !important;
  padding: 6px 12px !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  height: 36px !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  overflow: hidden !important;
  font-size: 0 !important;
  color: transparent !important;
  text-indent: 0 !important;
}

.mobile-menu-icon *,
[data-left-nav-trigger] *,
.tv-menu-toggle * {
  display: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: 0 !important;
  height: 0 !important;
}

.mobile-menu-icon::before,
[data-left-nav-trigger]::before,
.tv-menu-toggle::before {
  content: "" !important;
  display: inline-block !important;
  width: 18px !important;
  height: 12px !important;
  margin-right: 8px !important;
  background: transparent !important;
  border-top: 2px solid #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
  box-shadow: 0 3px 0 0 #ffffff !important;
  box-sizing: border-box !important;
}

.mobile-menu-icon::after,
[data-left-nav-trigger]::after,
.tv-menu-toggle::after {
  content: "MENU" !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  display: inline-block !important;
}

.tv-menu-label {
  display: none !important;
}

@media (min-width: 992px) {
  .tv-header-actionrow { display: flex !important; align-items: center !important; flex-wrap: nowrap !important; }
  .tv-search-grow { flex: 1 1 auto !important; min-width: 0 !important; }
  .tv-actionrow-item { margin: 0 0 0 14px !important; flex: 0 0 auto !important; white-space: nowrap !important; }
  .tv-login-icononly { font-size: 0 !important; }
  .tv-login-icononly .material-icons, .tv-login-icononly .fa { font-size: 22px !important; margin: 0 !important; }
}

/* =========================================================
   ANIMATIONS & SÉCURITÉ DES INTERACTIONS
   ========================================================= */
.product-thumbnail,
.btn.add-to-cart,
.btn.details-link,
.details-link,
.mobile-menu-icon,
.cart-link.btn-primary,
.cart-products-count,
button.btn-primary,
li.linkedin,
li.tiktok,
li.instagram,
li.facebook,
li.youtube {
  transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.btn.add-to-cart:hover,
.btn.details-link:hover,
.details-link:hover {
  margin-top: 0 !important;
  transform: translateY(-3px) !important;
}

li.linkedin:hover,
li.tiktok:hover,
li.instagram:hover,
li.facebook:hover,
li.youtube:hover {
  margin-bottom: 0 !important;
  transform: translateY(-2px) !important;
}

/* Neutralisation sélective des backdrops inactifs (évite le blocage des clics) */
.modal-backdrop:not(.show):not(.in),
.wishlist-modal:not(.show) {
  display: none !important;
  pointer-events: none !important;
}