/* ============================================================
   RFD Store Theme Override — v2
   Aligné sur la palette et l'esthétique de randomflightdatabase.fr
   À coller dans : Apparence > Thème & Logo > CSS avancé (PrestaShop)
   ============================================================ */

/* ── Google Fonts ─────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

/* ── Variables ────────────────────────────────────────────── */
:root {
  --rfd-bg:             #020617;
  --rfd-bg-soft:        #0b1220;

  --rfd-surface:        rgba(15, 23, 42, 0.72);
  --rfd-surface-strong: rgba(15, 23, 42, 0.92);
  --rfd-surface-soft:   rgba(255, 255, 255, 0.03);

  --rfd-border:         rgba(255, 255, 255, 0.10);
  --rfd-border-soft:    rgba(255, 255, 255, 0.06);

  --rfd-text:           #e2e8f0;
  --rfd-text-soft:      #cbd5e1;
  --rfd-text-muted:     rgba(148, 163, 184, 0.95);

  --rfd-primary:        #3b82f6;
  --rfd-cyan:           #06b6d4;
  --rfd-dep:            #60a5fa;
  --rfd-arr:            #f472b6;
  --rfd-success:        #22c55e;
  --rfd-warning:        #f59e0b;
  --rfd-danger:         #ef4444;

  --rfd-glow:           0 12px 40px rgba(0, 0, 0, 0.45);
  --rfd-glow-blue:      0 0 24px rgba(59, 130, 246, 0.18);
  --rfd-radius:         14px;
  --rfd-radius-sm:      10px;
  --rfd-radius-pill:    999px;

  --rfd-transition:     0.18s ease-out;
}

/* ── Base ─────────────────────────────────────────────────── */
html,
body {
  background-color: var(--rfd-bg) !important;
  color: var(--rfd-text) !important;
  font-family: "Inter", "Manrope", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body {
  background-image:
    radial-gradient(circle at 15% 50%, rgba(59, 130, 246, 0.07), transparent 27%),
    radial-gradient(circle at 80% 10%, rgba(6, 182, 212, 0.05), transparent 35%),
    repeating-linear-gradient(90deg, rgba(148, 163, 184, 0.06) 0 1px, transparent 1px 90px),
    repeating-linear-gradient(0deg, rgba(148, 163, 184, 0.045) 0 1px, transparent 1px 90px);
  background-size: auto, auto, 90px 90px, 90px 90px;
  background-attachment: fixed;
}

#wrapper,
#main,
#content-wrapper,
.container,
#index .container {
  background: transparent !important;
}

/* ── Typographie ──────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.products-section-title,
.block-title,
.page-header h1,
.page-header__title {
  font-family: "Space Grotesk", "Inter", ui-sans-serif, system-ui, sans-serif !important;
  color: #f8fafc !important;
  letter-spacing: -0.01em;
  font-weight: 600;
}

a {
  color: var(--rfd-dep);
  transition: color var(--rfd-transition);
}

a:hover,
a:focus {
  color: #22d3ee;
  text-decoration: none;
}

/* ── Focus visible ────────────────────────────────────────── */
:where(a, button, input, select, textarea, [role="button"], [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(2, 6, 23, 0.75), 0 0 0 4px rgba(59, 130, 246, 0.55) !important;
}

/* ── Header ───────────────────────────────────────────────── */
#header .header-nav,
#header .header-top {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02)),
    var(--rfd-surface-strong) !important;
  border-bottom: 1px solid var(--rfd-border-soft) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

#header a,
.top-menu a,
#_desktop_user_info .user-info a,
#_desktop_cart .header a {
  color: var(--rfd-text-soft) !important;
}

#header a:hover,
#header a:focus,
.top-menu a:hover,
.top-menu a[data-depth="0"]:hover,
.top-menu .current a[data-depth="0"] {
  color: #ffffff !important;
}

/* Logo */
#header .logo,
.header__logo img {
  filter: brightness(1.05);
}

/* ── Navigation / Menu déroulant ──────────────────────────── */
#header .top-menu .sub-menu,
.top-menu .sub-menu ul {
  background: var(--rfd-surface-strong) !important;
  border: 1px solid var(--rfd-border-soft) !important;
  border-radius: var(--rfd-radius-sm) !important;
  box-shadow: var(--rfd-glow) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.top-menu .sub-menu a {
  color: var(--rfd-text-soft) !important;
}

.top-menu .sub-menu a:hover {
  color: #ffffff !important;
  background: rgba(59, 130, 246, 0.12) !important;
}

/* ── Champs de formulaire ─────────────────────────────────── */
#search_widget form input[type="text"],
.form-control,
.input-group .form-control,
.custom-select,
select,
textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"] {
  background: var(--rfd-surface-strong) !important;
  border: 1px solid var(--rfd-border) !important;
  color: var(--rfd-text) !important;
  border-radius: var(--rfd-radius-sm) !important;
  transition: border-color var(--rfd-transition), box-shadow var(--rfd-transition);
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: var(--rfd-text-muted) !important;
  opacity: 1;
}

.form-control:focus,
input:focus,
textarea:focus,
select:focus,
.custom-select:focus {
  border-color: rgba(59, 130, 246, 0.75) !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18) !important;
  outline: none !important;
}

/* ── Boutons ──────────────────────────────────────────────── */
.btn,
button,
input[type="submit"] {
  border-radius: var(--rfd-radius-pill) !important;
  font-weight: 700 !important;
  letter-spacing: 0.015em !important;
  transition: background var(--rfd-transition), transform var(--rfd-transition), box-shadow var(--rfd-transition) !important;
  -webkit-tap-highlight-color: transparent;
}

.btn-primary,
.btn-primary.disabled,
.btn-primary:disabled,
.btn-primary:active,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active,
.add-to-cart,
#product-availability,
.checkout a.btn {
  background: linear-gradient(135deg, #3b82f6, #06b6d4) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  box-shadow: 0 4px 16px rgba(59, 130, 246, 0.28) !important;
}

.btn-primary:hover,
.add-to-cart:hover,
.checkout a.btn:hover {
  background: linear-gradient(135deg, #2563eb, #0891b2) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 24px rgba(59, 130, 246, 0.38) !important;
}

.btn-secondary,
.btn-tertiary,
.btn-default,
.btn-outline-primary {
  background: var(--rfd-surface) !important;
  border: 1px solid var(--rfd-border) !important;
  color: var(--rfd-text-soft) !important;
}

.btn-secondary:hover,
.btn-tertiary:hover,
.btn-default:hover,
.btn-outline-primary:hover {
  border-color: rgba(59, 130, 246, 0.55) !important;
  color: #ffffff !important;
  background: rgba(59, 130, 246, 0.12) !important;
}

/* Bouton PayPal personnalisé */
a[href*="paypal"],
button[class*="paypal"],
.btn-paypal,
[class*="paypal-btn"],
[id*="paypal-button"] {
  background: linear-gradient(135deg, #0070ba, #005ea6) !important;
  border: none !important;
  color: #ffffff !important;
  border-radius: var(--rfd-radius-pill) !important;
  font-weight: 700 !important;
}

a[href*="paypal"]:hover,
button[class*="paypal"]:hover,
.btn-paypal:hover {
  background: linear-gradient(135deg, #005ea6, #003d7a) !important;
  transform: translateY(-1px) !important;
}

/* ── Cards / Blocs ────────────────────────────────────────── */
.card,
.block-categories,
.block,
#left-column #search_filters,
.featured-products,
.category-top-menu,
.product-features,
.cart-grid-body,
.cart-grid-right,
.checkout-step,
#order-details,
#order-items,
.modal-content,
#blockcart-modal .modal-content,
.tabs .tab-content,
#subcategories,
#cms,
.page-cms,
.account-links .link-item,
.address-item,
.order-detail-content {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015)),
    var(--rfd-surface) !important;
  border: 1px solid var(--rfd-border-soft) !important;
  border-radius: var(--rfd-radius) !important;
  box-shadow: var(--rfd-glow) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.page-content,
.block-category,
#main .page-content,
#main .card,
#main .card-block {
  color: var(--rfd-text-soft);
}

/* Description de catégorie — contraste forcé sur tous les éléments */
.category-description,
.category-description p,
.category-description span,
.category-description li,
.block-category .category-description,
#category-description,
#category-description p,
#category-description *,
.page-header + .card .page-content,
.page-header + .card .page-content p,
.page-header + .card .page-content *,
.page-header + .card p,
/* Ciblage large : tout <p> dans le contenu principal */
#content p,
#main p,
#content-wrapper p,
.page-content p,
.page-content span,
.card-block p,
.card-block > p,
#js-product-list ~ * p,
[class*="block-category"] p,
[id*="category"] p,
[class*="category-desc"] p {
  color: #cbd5e1 !important;
  font-size: 0.97rem;
  line-height: 1.65;
}

/* Texte général dans les cards — couleur héritée correcte */
.card,
.card-block,
.card .card-block,
.card .page-content {
  color: #cbd5e1 !important;
}

/* Card header/footer */
.card-header,
.card .card-header {
  background: rgba(255, 255, 255, 0.035) !important;
  border-bottom: 1px solid var(--rfd-border-soft) !important;
  color: #f8fafc !important;
}

.card-footer,
.card .card-footer {
  background: rgba(255, 255, 255, 0.025) !important;
  border-top: 1px solid var(--rfd-border-soft) !important;
}

/* ── Produits ─────────────────────────────────────────────── */
.product-miniature .thumbnail-container,
.product-miniature .card {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015)),
    var(--rfd-surface) !important;
  border: 1px solid var(--rfd-border-soft) !important;
  border-radius: var(--rfd-radius) !important;
  box-shadow: var(--rfd-glow);
  transition: transform var(--rfd-transition), border-color var(--rfd-transition), box-shadow var(--rfd-transition);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.product-miniature .thumbnail-container:hover,
.product-miniature .card:hover {
  transform: translateY(-4px);
  border-color: rgba(59, 130, 246, 0.45) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.55), var(--rfd-glow-blue) !important;
}

.product-title a,
.product-name,
.product-reference {
  color: #f8fafc !important;
  font-weight: 600;
}

.product-price,
.price,
.current-price,
.product-price-and-shipping .price,
#blockcart-modal .product-price,
.has-discount .current-price {
  color: var(--rfd-dep) !important;
  font-weight: 700;
}

.regular-price,
.old-price,
.discount-percentage,
.product-discount {
  color: var(--rfd-text-muted) !important;
}

/* Badge promo */
.discount-badge,
.badge-discount,
.product-flag.on-sale,
.product-flag.discount {
  background: linear-gradient(135deg, #3b82f6, #06b6d4) !important;
  border-radius: var(--rfd-radius-pill) !important;
  color: #ffffff !important;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

/* ── Fiche produit ────────────────────────────────────────── */
.images-container,
.product-images,
.product-cover {
  border: 1px solid var(--rfd-border-soft) !important;
  border-radius: var(--rfd-radius) !important;
  overflow: hidden;
  background: var(--rfd-surface) !important;
}

/* Zone description courte + longue — ciblage étendu */
.product-information,
.product-information *,
.product-description,
.product-description *,
.product-description-short,
.product-description-short *,
#product-description-short,
#product-description-short *,
.product-additional-info,
.product-additional-info *,
.js-product-description-short,
.js-product-description-short *,
div[id*="description"],
div[class*="description"],
.rte,
.rte * {
  background: transparent !important;
}

/* Couleur du texte dans la description */
.product-information,
.product-description,
.product-description-short,
#product-description-short,
.js-product-description-short,
.rte,
.product-additional-info {
  color: var(--rfd-text-soft) !important;
}

.product-description p,
.product-description li,
.product-description span,
.product-description-short p,
.product-description-short li,
.product-description-short span,
#product-description-short p,
#product-description-short li,
#product-description-short span,
.rte p,
.rte li,
.rte span,
.product-information p,
.product-information li {
  color: var(--rfd-text-soft) !important;
  background: transparent !important;
}

/* Labels et champs produit */
.product-variants .control-label,
.product-information label,
.product-quantity label,
.control-label {
  color: var(--rfd-text-muted) !important;
}

.input-color + span,
.input-radio + span {
  border-color: var(--rfd-border) !important;
}

/* Sélection de texte dans le thème */
::selection {
  background: rgba(59, 130, 246, 0.30);
  color: #ffffff;
}

::-moz-selection {
  background: rgba(59, 130, 246, 0.30);
  color: #ffffff;
}

/* ── Tabs ─────────────────────────────────────────────────── */

/* Conteneur global des onglets */
.tabs,
.product-tabs,
#product .tabs,
#product-tabs,
.tabs > .card,
#product .card.product-tabs {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015)),
    var(--rfd-surface) !important;
  border: 1px solid var(--rfd-border-soft) !important;
  border-radius: var(--rfd-radius) !important;
  box-shadow: var(--rfd-glow) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Barre de navigation des onglets */
.nav-tabs,
.tabs .nav-tabs,
.product-tabs .nav-tabs,
.card .nav-tabs,
.card-header.nav-tabs,
ul.nav.nav-tabs {
  background: rgba(255, 255, 255, 0.025) !important;
  border-bottom: 1px solid var(--rfd-border-soft) !important;
  border-radius: var(--rfd-radius) var(--rfd-radius) 0 0 !important;
  padding: 0 0.5rem !important;
}

.nav-tabs .nav-link,
.nav-tabs .nav-item .nav-link {
  color: var(--rfd-text-muted) !important;
  border: 1px solid transparent !important;
  border-radius: var(--rfd-radius-sm) var(--rfd-radius-sm) 0 0 !important;
  background: transparent !important;
  transition: color var(--rfd-transition), background var(--rfd-transition);
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-item .nav-link:hover {
  color: var(--rfd-text) !important;
  background: rgba(59, 130, 246, 0.08) !important;
  border-color: transparent !important;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.active .nav-link,
.nav-tabs .nav-link[aria-selected="true"] {
  background: rgba(59, 130, 246, 0.14) !important;
  border-color: rgba(59, 130, 246, 0.35) rgba(59, 130, 246, 0.35) transparent !important;
  color: #f8fafc !important;
  font-weight: 600;
}

/* Contenu des onglets */
.tab-content,
.tabs .tab-content,
.product-tabs .tab-content {
  background: transparent !important;
  color: var(--rfd-text-soft) !important;
  padding: 1.25rem !important;
}

.tab-pane,
.tab-pane.active,
.tab-pane.show {
  background: transparent !important;
  color: var(--rfd-text-soft) !important;
}

/* ── Pagination ───────────────────────────────────────────── */

/* Conteneur principal — fond blanc résiduel */
.pagination,
nav.pagination,
.pagination-wrapper,
#js-product-list-bottom .pagination,
#js-product-list-bottom nav {
  background: transparent !important;
}

/* Barre interne (la "pilule" blanche autour des chiffres) */
.page-list,
ul.page-list,
.pagination ul,
.pagination .page-list {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  gap: 4px !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Chaque lien de page */
.pagination .page-list li a,
.pagination a,
.page-list li a,
.page-list li span {
  background: var(--rfd-surface-strong) !important;
  border: 1px solid var(--rfd-border-soft) !important;
  color: var(--rfd-text-soft) !important;
  border-radius: var(--rfd-radius-sm) !important;
  transition: background var(--rfd-transition), border-color var(--rfd-transition), color var(--rfd-transition);
  min-width: 36px;
  text-align: center;
}

/* Page active et hover */
.pagination .current a,
.page-list .current a,
.page-list .current span,
.pagination a:hover,
.page-list li a:hover {
  color: #ffffff !important;
  border-color: rgba(59, 130, 246, 0.55) !important;
  background: rgba(59, 130, 246, 0.22) !important;
}

/* ── Fil d'Ariane ─────────────────────────────────────────── */
.breadcrumb,
nav.breadcrumb,
nav[aria-label="breadcrumb"],
.breadcrumb-wrapper,
#wrapper .breadcrumb {
  background: transparent !important;
}

.breadcrumb-item,
.breadcrumb-item a,
nav .breadcrumb-item,
nav .breadcrumb-item a,
#wrapper .breadcrumb-item,
#wrapper .breadcrumb-item a,
.breadcrumb li,
.breadcrumb li a,
ol.breadcrumb .breadcrumb-item,
ol.breadcrumb .breadcrumb-item a {
  color: #94a3b8 !important;
  font-size: 0.85rem;
}

.breadcrumb-item a:hover,
.breadcrumb li a:hover {
  color: #e2e8f0 !important;
  text-decoration: underline;
}

.breadcrumb-item.active,
.breadcrumb li.active,
ol.breadcrumb .breadcrumb-item.active {
  color: #cbd5e1 !important;
  font-weight: 500;
}

.breadcrumb-item + .breadcrumb-item::before,
.breadcrumb li + li::before,
ol.breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: #64748b !important;
  content: "/" !important;
}

/* ── Filtres / Facettes ───────────────────────────────────── */
#left-column .facet .facet-title,
#search_filters .facet .title,
#search_filters .facet .h6,
.block-categories .h6 {
  color: #f8fafc !important;
}

#search_filters .facet,
#search_filters .facet ul li,
.block-categories .category-sub-menu li {
  border-color: var(--rfd-border-soft) !important;
}

#search_filters .custom-checkbox input[type="checkbox"] + span,
.custom-checkbox input[type="checkbox"] + span {
  border: 1px solid rgba(148, 163, 184, 0.45) !important;
  background: var(--rfd-surface-strong) !important;
}

.custom-checkbox input[type="checkbox"]:checked + span {
  background: var(--rfd-primary) !important;
  border-color: var(--rfd-primary) !important;
}

/* ── Bloc catégories / colonne gauche — structure ─────────── */

/* Cadre général du bloc */
#left-column .block,
#left-column .block-categories,
#left-column .category-top-menu {
  padding: 0 !important;
  overflow: hidden !important;
}

/* Titre du bloc (ex: "ACCUEIL") */
#left-column .block-title,
#left-column .h6.block-title,
#left-column .block-categories .h6,
#left-column .category-top-menu .h6,
#left-column .title-block,
.block-categories > p,
.block-categories > .h6 {
  display: block !important;
  padding: 14px 18px !important;
  margin: 0 !important;
  font-family: "Space Grotesk", "Inter", sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--rfd-text-muted) !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border-bottom: 1px solid var(--rfd-border-soft) !important;
}

/* Liste des catégories */
#left-column .category-sub-menu,
.block-categories .category-sub-menu,
#left-column .category-top-menu ul {
  padding: 8px 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Chaque item */
#left-column .category-sub-menu li,
.block-categories .category-sub-menu li,
#left-column .category-top-menu li {
  border-bottom: 1px solid var(--rfd-border-soft) !important;
}

#left-column .category-sub-menu li:last-child,
.block-categories .category-sub-menu li:last-child {
  border-bottom: none !important;
}

/* ── Liens colonne gauche / catégories — lisibilité ──────── */
#left-column a,
#left-column li a,
.block-categories a,
.block-categories li a,
.category-sub-menu a,
.category-sub-menu li a,
.category-top-menu a,
.linklist a,
.block_newsletter a,
#_desktop_contact_link a {
  display: block !important;
  padding: 9px 18px !important;
  color: var(--rfd-text-soft) !important;
  transition: color var(--rfd-transition), background var(--rfd-transition) !important;
  font-size: 0.9rem !important;
}

#left-column a:hover,
.block-categories a:hover,
.category-sub-menu a:hover,
.category-top-menu a:hover {
  color: #ffffff !important;
  background: rgba(59, 130, 246, 0.10) !important;
}

/* Item actif/courant */
#left-column .current a,
.block-categories .current > a,
.category-sub-menu .current > a {
  color: var(--rfd-dep) !important;
  font-weight: 600;
  background: rgba(96, 165, 250, 0.08) !important;
  border-left: 3px solid var(--rfd-dep) !important;
  padding-left: 15px !important;
}

/* ── Dropdown "Trier par" — lisibilité items ─────────────── */

/* Items de la liste déroulante */
.products-sort-order .dropdown-menu .dropdown-item,
.products-sort-order .dropdown-menu a,
.products-sort-order .select-list .list-item,
.select-list .list-item {
  color: var(--rfd-text-soft) !important;
  background: transparent !important;
  padding: 0.45rem 1rem !important;
}

/* Hover sur un item */
.products-sort-order .dropdown-menu .dropdown-item:hover,
.products-sort-order .dropdown-menu a:hover,
.products-sort-order .select-list .list-item:hover,
.select-list .list-item:hover {
  color: #ffffff !important;
  background: rgba(59, 130, 246, 0.14) !important;
}

/* Item sélectionné/actif — remplace le cyan trop vif */
.products-sort-order .dropdown-menu .dropdown-item.active,
.products-sort-order .dropdown-menu .dropdown-item:active,
.products-sort-order .select-list .list-item.current,
.products-sort-order .select-list .current,
.select-list .current {
  color: #ffffff !important;
  background: rgba(59, 130, 246, 0.28) !important;
  font-weight: 600;
}

/* Conteneur dropdown trier-par */
.products-sort-order .dropdown-menu,
.products-sort-order .select-list {
  background: var(--rfd-surface-strong) !important;
  border: 1px solid var(--rfd-border-soft) !important;
  border-radius: var(--rfd-radius-sm) !important;
  box-shadow: var(--rfd-glow) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* ── Panier ───────────────────────────────────────────────── */
.cart-item,
.cart-overview,
.cart-summary-line {
  border-color: var(--rfd-border-soft) !important;
}

/* Nom du produit dans le panier */
.cart-item .product-name,
.cart-item .product-line-info .label,
.cart-item .product-line-info .value,
.cart-item .product-line-info a,
.cart-item .product-line-info,
.cart-overview .product-name,
.cart-overview .product-line-info,
.cart-overview .product-line-info *,
#cart .product-name,
#cart .product-line-info,
#cart .product-line-info * {
  color: var(--rfd-text-soft) !important;
  background: transparent !important;
}

.cart-item .product-name a,
.cart-overview .product-name a {
  color: #f8fafc !important;
  font-weight: 600;
}

.cart-item .product-name a:hover,
.cart-overview .product-name a:hover {
  color: var(--rfd-dep) !important;
}

/* Référence, attributs (taille, couleur…) */
.cart-item .product-line-info .label,
.cart-item small,
.cart-item .product-line-info small {
  color: var(--rfd-text-muted) !important;
  font-size: 0.82rem;
}

/* Icône corbeille (supprimer du panier) */
.cart-item .remove-from-cart,
.cart-item a.remove-from-cart,
.cart-overview .remove-from-cart,
.cart-line-product-actions .remove-from-cart,
[data-link-action="delete-from-cart"],
.cart-item .js-cart-line-product-delete {
  color: var(--rfd-text-muted) !important;
  opacity: 1 !important;
}

.cart-item .remove-from-cart i,
.cart-item .remove-from-cart .material-icons,
.cart-overview .remove-from-cart i,
[data-link-action="delete-from-cart"] i {
  color: var(--rfd-text-muted) !important;
  font-size: 1.2rem !important;
}

.cart-item .remove-from-cart:hover,
.cart-overview .remove-from-cart:hover,
[data-link-action="delete-from-cart"]:hover {
  color: var(--rfd-danger) !important;
}

.cart-item .remove-from-cart:hover i,
.cart-overview .remove-from-cart:hover i {
  color: var(--rfd-danger) !important;
}

/* Lien "Continuer mes achats" */
.cart-grid-body .cart-overview ~ .cart-extra-action,
a[href*="panier"],
.cart-detailed-actions .continue-shopping,
#cart a[data-link-action="continue-shopping"],
.page-cart a.continue {
  color: var(--rfd-dep) !important;
}

/* Quantité — champ input */
.cart-item .input-group,
.cart-item .js-cart-line-product-quantity,
.cart-item input.js-cart-line-product-quantity {
  background: var(--rfd-surface-strong) !important;
  border-color: var(--rfd-border) !important;
  color: var(--rfd-text) !important;
}

/* Boutons +/- quantité */
.cart-item .input-group .btn,
.cart-item .input-group-btn .btn,
.cart-item .bootstrap-touchspin .btn {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: var(--rfd-border) !important;
  color: var(--rfd-text-soft) !important;
}

.cart-item .input-group .btn:hover,
.cart-item .input-group-btn .btn:hover {
  background: rgba(59, 130, 246, 0.18) !important;
  color: #ffffff !important;
}

.cart-summary-line .label,
.cart-total .label,
.cart-subtotals .cart-summary-line .label,
#order-summary .cart-summary-line .label,
.checkout-process .cart-summary-line .label {
  color: var(--rfd-text-soft) !important;
}

.cart-summary-line .value,
.cart-subtotals .cart-summary-line .value,
#order-summary .cart-summary-line .value {
  color: var(--rfd-text-soft) !important;
}

.cart-total .value,
.cart-summary-totals .cart-total,
.cart-summary-totals .cart-total .value {
  color: var(--rfd-dep) !important;
  font-weight: 700;
}

/* ── Checkout — adresses ──────────────────────────────────── */

/* Card adresse */
.address-item,
.address-item .card,
.address-item.card {
  background: rgba(15, 23, 42, 0.75) !important;
  border: 1px solid var(--rfd-border-soft) !important;
  border-radius: var(--rfd-radius) !important;
}

/* Adresse sélectionnée — accentuation */
.address-item.selected,
.address-item:has(input:checked) {
  border-color: rgba(59, 130, 246, 0.50) !important;
  background: rgba(15, 23, 42, 0.90) !important;
}

/* Texte de l'adresse */
.address-item address,
.address-item .address,
.address-item .address-body,
.address-item address *,
.address-item .address *,
.address-item p,
.address-item span {
  color: var(--rfd-text-soft) !important;
  background: transparent !important;
}

/* Alias / titre de l'adresse */
.address-item .address-alias,
.address-item .h4,
.address-item h4 {
  color: #f8fafc !important;
  font-weight: 600;
  font-family: "Space Grotesk", "Inter", sans-serif !important;
}

/* Liens Modifier / Supprimer */
.address-item .address-footer,
.address-item .address-footer a,
.address-footer .edit-address,
.address-footer .delete-address,
.address-item a[href*="address"] {
  color: var(--rfd-text-muted) !important;
}

.address-item .address-footer a:hover,
.address-footer .edit-address:hover,
.address-footer .delete-address:hover {
  color: var(--rfd-dep) !important;
}

/* Lien "Ajouter une nouvelle adresse" */
.add-address,
.address-item.add-address a,
a[href*="address?back="],
.checkout-step a[data-link-action="add-address"],
#checkout-addresses-step .add-address {
  color: var(--rfd-dep) !important;
  border-color: rgba(59, 130, 246, 0.35) !important;
}

/* Texte informatif dans l'étape adresse */
.checkout-step p,
.checkout-step .content p,
#checkout-addresses-step p {
  color: var(--rfd-text-muted) !important;
}

/* Radio bouton sélection adresse — cercle visible */
.custom-radio input[type="radio"] + span,
.address-item .custom-radio span {
  border: 2px solid rgba(148, 163, 184, 0.55) !important;
  background: transparent !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  position: relative !important;
}

/* État sélectionné — point bleu visible */
.custom-radio input[type="radio"]:checked + span,
.address-item .custom-radio input[type="radio"]:checked + span {
  border-color: var(--rfd-primary) !important;
  background: transparent !important;
}

.custom-radio input[type="radio"]:checked + span::after,
.address-item .custom-radio input[type="radio"]:checked + span::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  background: var(--rfd-primary) !important;
}

/* Label radio */
.custom-radio label,
.address-item .custom-radio label {
  color: var(--rfd-text-soft) !important;
  cursor: pointer;
}

/* ── Conditions générales de vente (CGV) ─────────────────── */

/* Texte complet "J'ai lu et j'accepte les …" */
#conditions-to-approve label,
#conditions-to-approve .condition-label,
.checkout-step #conditions-to-approve label,
#checkout-payment-step label,
#checkout-payment-step .condition-label,
.js-terms-and-conditions-acceptance label,
[id*="conditions"] label {
  color: var(--rfd-text-soft) !important;
}

/* Lien "conditions générales de vente" dans le texte */
#conditions-to-approve a,
#conditions-to-approve label a,
.condition-label a,
#checkout-payment-step a.js-terms {
  color: var(--rfd-dep) !important;
  text-decoration: underline;
}

/* Checkbox CGV visible */
#conditions-to-approve input[type="checkbox"] + span,
#checkout-payment-step .custom-checkbox span {
  border: 2px solid rgba(148, 163, 184, 0.55) !important;
  background: var(--rfd-surface-strong) !important;
}

#conditions-to-approve input[type="checkbox"]:checked + span,
#checkout-payment-step .custom-checkbox input:checked + span {
  background: var(--rfd-primary) !important;
  border-color: var(--rfd-primary) !important;
}

/* ── Checkout — résumé commande (colonne droite) ──────────── */

/* Conteneur global */
.cart-grid-right,
#js-checkout-summary,
.checkout-process .cart-grid-right .card {
  background: rgba(15, 23, 42, 0.80) !important;
  border: 1px solid var(--rfd-border-soft) !important;
  border-radius: var(--rfd-radius) !important;
}

/* "afficher les détails" */
.cart-grid-right a,
#js-checkout-summary a,
.cart-summary-products a {
  color: var(--rfd-dep) !important;
}

/* Séparateurs */
.cart-grid-right hr,
#js-checkout-summary hr {
  border-color: var(--rfd-border-soft) !important;
}

/* Tous les textes dans le résumé */
.cart-grid-right,
.cart-grid-right p,
.cart-grid-right span,
.cart-grid-right .label,
#js-checkout-summary,
#js-checkout-summary span,
#js-checkout-summary p {
  color: var(--rfd-text-soft) !important;
}

/* "Vous avez un code promo ?" */
.cart-summary-line.cart-voucher a,
.cart-grid-right a[data-toggle],
#js-checkout-summary a.collapsed,
#js-checkout-summary [class*="promo"] a {
  color: var(--rfd-dep) !important;
}

/* ── Checkout — étapes (steps) ────────────────────────────── */

/* Numéro d'étape inactive */
.checkout-step .step-number {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--rfd-text-muted) !important;
  border: 1px solid var(--rfd-border-soft) !important;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

/* Étape active */
.checkout-step.-current .step-number {
  background: rgba(59, 130, 246, 0.25) !important;
  color: var(--rfd-dep) !important;
  border-color: rgba(59, 130, 246, 0.45) !important;
}

/* Étape complétée (check) */
.checkout-step.-complete .step-number,
.checkout-step.-complete .done {
  background: rgba(34, 197, 94, 0.20) !important;
  color: var(--rfd-success) !important;
  border-color: rgba(34, 197, 94, 0.40) !important;
}

/* Ligne séparatrice entre étapes */
.checkout-step {
  border-bottom: 1px solid var(--rfd-border-soft) !important;
}

.checkout-step:last-child {
  border-bottom: none !important;
}

/* ── Commande / Checkout ──────────────────────────────────── */
.step-title,
.checkout-step .step-number {
  color: #f8fafc !important;
  font-family: "Space Grotesk", "Inter", sans-serif !important;
}

.checkout-step.-current .step-title {
  color: var(--rfd-dep) !important;
}

.checkout-step.-complete .step-title {
  color: var(--rfd-success) !important;
}

/* ── Footer ───────────────────────────────────────────────── */
.footer-container {
  margin-top: 2.5rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01)),
    var(--rfd-surface-strong) !important;
  border-top: 1px solid var(--rfd-border-soft) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: var(--rfd-text-soft);
}

.footer-container .h3,
.footer-container .title,
.footer-container a,
#footer .footer-links a {
  color: var(--rfd-text-soft) !important;
}

.footer-container a:hover,
#footer .footer-links a:hover {
  color: #ffffff !important;
}

#footer,
#footer p,
#footer li,
#footer span,
.copyright,
.footer__copyright {
  color: var(--rfd-text-muted) !important;
}

/* ── Alertes ──────────────────────────────────────────────── */
.alert-success {
  background: rgba(34, 197, 94, 0.14) !important;
  border: 1px solid rgba(34, 197, 94, 0.35) !important;
  color: #dcfce7 !important;
  border-radius: var(--rfd-radius-sm) !important;
}

.alert-warning {
  background: rgba(245, 158, 11, 0.14) !important;
  border: 1px solid rgba(245, 158, 11, 0.35) !important;
  color: #fef3c7 !important;
  border-radius: var(--rfd-radius-sm) !important;
}

.alert-danger {
  background: rgba(239, 68, 68, 0.14) !important;
  border: 1px solid rgba(239, 68, 68, 0.35) !important;
  color: #fee2e2 !important;
  border-radius: var(--rfd-radius-sm) !important;
}

.alert-info {
  background: rgba(59, 130, 246, 0.14) !important;
  border: 1px solid rgba(59, 130, 246, 0.35) !important;
  color: #dbeafe !important;
  border-radius: var(--rfd-radius-sm) !important;
}

/* ── Tableaux ─────────────────────────────────────────────── */
.table,
.table td,
.table th,
.table thead th,
.table tbody + tbody {
  border-color: var(--rfd-border-soft) !important;
  color: var(--rfd-text-soft);
}

.table thead th {
  background: rgba(255, 255, 255, 0.04) !important;
  color: #f8fafc !important;
  font-weight: 600;
}

.table-striped tbody tr:nth-of-type(odd) {
  background: rgba(148, 163, 184, 0.06) !important;
}

.table-hover tbody tr:hover,
.table tr:hover {
  background: rgba(59, 130, 246, 0.10) !important;
}

/* ── Dropdown / Popover / Modal ───────────────────────────── */
.dropdown-menu,
.popover,
.quickview .modal-content {
  background: var(--rfd-surface-strong) !important;
  border: 1px solid var(--rfd-border-soft) !important;
  color: var(--rfd-text-soft) !important;
  border-radius: var(--rfd-radius-sm) !important;
  box-shadow: var(--rfd-glow) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.dropdown-item {
  color: var(--rfd-text-soft) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: rgba(59, 130, 246, 0.12) !important;
  color: #ffffff !important;
}

.modal-header {
  border-bottom: 1px solid var(--rfd-border-soft) !important;
}

.modal-footer {
  border-top: 1px solid var(--rfd-border-soft) !important;
}

/* ── Bouton fermeture modale (×) ──────────────────────────── */
.modal .close,
.modal-header .close,
.modal button.close,
.quickview .close,
#blockcart-modal .close,
button.close {
  color: var(--rfd-text-soft) !important;
  opacity: 1 !important;
  text-shadow: none !important;
  font-size: 1.6rem !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid var(--rfd-border-soft) !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  transition: background var(--rfd-transition), color var(--rfd-transition) !important;
}

.modal .close:hover,
.modal-header .close:hover,
.quickview .close:hover,
button.close:hover {
  color: #ffffff !important;
  opacity: 1 !important;
  background: rgba(239, 68, 68, 0.25) !important;
  border-color: rgba(239, 68, 68, 0.5) !important;
}

.modal .close span,
button.close span {
  color: inherit !important;
  font-size: inherit !important;
  line-height: 1 !important;
}

/* ── Compte client — dashboard ────────────────────────────── */

/* Fond page compte */
.page-my-account #content,
.page-my-account .page-content,
#my-account {
  background: transparent !important;
}

/* Grille des cards */
.account-links {
  background: transparent !important;
}

/* Chaque card — fond sombre forcé (sélecteurs très spécifiques pour battre theme.css) */
body.page-my-account .account-links a,
body.page-my-account .account-links .link-item,
body.page-my-account a.link-item,
body.page-my-account .link-item.card,
body.page-my-account a.card.link-item,
body.page-my-account .account-links a.card,
.account-links .link-item,
.account-links a.link-item,
a.link-item,
a.link-item.card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 28px 16px !important;
  background: rgba(15, 23, 42, 0.85) !important;
  background-color: rgba(15, 23, 42, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: var(--rfd-radius) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: transform var(--rfd-transition), border-color var(--rfd-transition), box-shadow var(--rfd-transition) !important;
  color: var(--rfd-text-soft) !important;
}

body.page-my-account .account-links a:hover,
body.page-my-account a.link-item:hover,
.account-links .link-item:hover,
.account-links a.link-item:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(59, 130, 246, 0.50) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.60), 0 0 20px rgba(59, 130, 246, 0.14) !important;
  background: rgba(15, 23, 42, 0.92) !important;
  background-color: rgba(15, 23, 42, 0.92) !important;
}

/* Icônes Material Icons */
body.page-my-account .account-links a i,
body.page-my-account .account-links a .material-icons,
.account-links .link-item i,
.account-links .link-item .material-icons,
.account-links a.link-item i {
  color: var(--rfd-dep) !important;
  font-size: 2rem !important;
  opacity: 0.9;
}

/* Label texte */
body.page-my-account .account-links a span,
body.page-my-account .account-links a .link-item-title,
.account-links .link-item span,
.account-links a.link-item span,
.account-links .link-item .link-item-title {
  color: var(--rfd-text-soft) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* ── Boutons réseaux sociaux ──────────────────────────────── */

/* 1. Cacher l'image PNG à fond blanc intégré */
.social-sharing a img,
.social-sharing li a img,
.social-sharing .btn img,
.social-sharing span img {
  display: none !important;
}

/* 2. Conteneur flex */
.social-sharing,
.social-sharing ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 4px 0 !important;
}

/* 3. Base bouton */
.social-sharing a,
.social-sharing li a,
.social-sharing .btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 7px 16px !important;
  border-radius: var(--rfd-radius-pill) !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  border: none !important;
  transition: transform var(--rfd-transition), filter var(--rfd-transition) !important;
  position: relative;
}

/* 4. Icône SVG injectée via ::before */
.social-sharing a::before,
.social-sharing li a::before {
  content: '';
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  display: inline-block !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* 5. Facebook */
.social-sharing li.facebook a,
.social-sharing .btn-facebook,
.social-sharing a[href*="facebook.com"] {
  background: #1877f2 !important;
}
.social-sharing li.facebook a::before,
.social-sharing .btn-facebook::before,
.social-sharing a[href*="facebook.com"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E") !important;
}

/* 6. Twitter / X */
.social-sharing li.twitter a,
.social-sharing .btn-twitter,
.social-sharing a[href*="twitter.com"],
.social-sharing a[href*="x.com"] {
  background: #14171a !important;
}
.social-sharing li.twitter a::before,
.social-sharing .btn-twitter::before,
.social-sharing a[href*="twitter.com"]::before,
.social-sharing a[href*="x.com"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.253 5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") !important;
}

/* 7. Pinterest */
.social-sharing li.pinterest a,
.social-sharing .btn-pinterest,
.social-sharing a[href*="pinterest.com"] {
  background: #e60023 !important;
}
.social-sharing li.pinterest a::before,
.social-sharing .btn-pinterest::before,
.social-sharing a[href*="pinterest.com"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 0C5.373 0 0 5.373 0 12c0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738a.36.36 0 0 1 .083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.216 0-2.359-.632-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146C9.57 23.812 10.763 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0z'/%3E%3C/svg%3E") !important;
}

/* 8. Hover */
.social-sharing a:hover,
.social-sharing li a:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.15) !important;
  color: #ffffff !important;
}

/* ── Bloc social footer (icônes logo dans footer) ─────────── */
.block_social a,
.block-social a,
#footer .block_social a,
#footer .block-social a {
  opacity: 1 !important;
  transition: transform var(--rfd-transition) !important;
}

.block_social a img,
.block-social a img,
#footer .block_social a img {
  opacity: 1 !important;
  display: block !important;
}

.block_social a:hover,
.block-social a:hover {
  transform: translateY(-2px) scale(1.08) !important;
}

/* ── Scrollbar ────────────────────────────────────────────── */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: var(--rfd-bg-soft);
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #2563eb, #0891b2);
  border-radius: var(--rfd-radius-pill);
  border: 2px solid var(--rfd-bg-soft);
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #3b82f6, #06b6d4);
}

/* ── CORRECTIFS VISUELS ───────────────────────────────────── */

/* Bas des cards produits (zone nom + prix) — fond blanc résiduel */
.product-miniature .product-description,
.product-miniature .product-description-bottom,
.product-miniature .product-groups,
.product-miniature .highlighted-informations,
.product-miniature .quick-view-container,
.product-miniature .thumbnail-container .product-description,
.js-product-miniature .product-description,
.product-miniature .product-price-and-shipping,
.product-miniature [class*="product-desc"],
.product-miniature [class*="product-info"] {
  background: rgba(10, 18, 38, 0.92) !important;
  color: var(--rfd-text) !important;
  border-top: 1px solid var(--rfd-border-soft) !important;
}

/* Image produit — fond blanc résiduel sur la fiche produit */
.product-cover,
.product-cover img,
.images-container,
.product-images,
.slick-slide,
.slick-track,
.product-images > li.thumb-container,
.product-images .thumb-container,
.product-images .thumb,
.js-qv-product-cover,
#product .product-cover {
  background: var(--rfd-surface-strong) !important;
}

/* Vignettes miniatures (bande du bas sur la fiche produit) */
.product-images li.thumb-container .thumb,
.product-images .slick-slide img,
.js-thumb {
  border: 1px solid var(--rfd-border-soft) !important;
  border-radius: var(--rfd-radius-sm) !important;
  background: var(--rfd-surface-strong) !important;
}

.product-images li.thumb-container.selected .thumb,
.js-thumb.selected {
  border-color: var(--rfd-primary) !important;
}

/* Dropdown "Trier par" — fond blanc résiduel */
select,
.custom-select,
#js-product-list-top select,
#js-product-list-top .custom-select,
.products-sort-order .custom-select,
.products-sort-order select {
  background-color: var(--rfd-surface-strong) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
  border: 1px solid var(--rfd-border) !important;
  color: var(--rfd-text) !important;
}

select option,
.custom-select option {
  background-color: #0f172a !important;
  color: var(--rfd-text) !important;
}

/* Bloc newsletter — fond blanc */
.block_newsletter,
#block_myaccount_infos,
.ps-emailsubscription-block,
[id*="newsletter"],
[class*="newsletter"],
.footer-newsletter,
.block-newsletter {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01)),
    var(--rfd-surface-strong) !important;
  border: 1px solid var(--rfd-border-soft) !important;
  border-radius: var(--rfd-radius) !important;
  color: var(--rfd-text-soft) !important;
}

.block_newsletter p,
[class*="newsletter"] p,
[class*="newsletter"] small,
.block-newsletter p {
  color: var(--rfd-text-muted) !important;
}

/* Éléments blancs résiduels génériques */
.page-wrapper,
.page-header,
.page-footer,
#content,
section.featured-products,
section.product-accessories,
section.category-products,
.rte,
.products-selection,
.total-products,
.sort-by-row {
  background: transparent !important;
  color: var(--rfd-text-soft);
}

/* Texte des zones de tri/compte produits */
.products-selection .showing,
.products-selection p,
.total-products p,
#js-product-list-top p {
  color: var(--rfd-text-muted) !important;
}

/* Carrousel / slick — fond blanc entre slides */
.slick-list,
.slick-track,
.products-slider,
.carousel,
.carousel-inner {
  background: transparent !important;
}

.carousel-item,
.product-images .slick-slide {
  background: var(--rfd-surface-strong) !important;
}

/* ── Accessibilité : respect prefers-reduced-motion ────────── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 991px) {
  #header .header-nav,
  #header .header-top {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .product-miniature .thumbnail-container:hover,
  .product-miniature .card:hover {
    transform: none;
  }
}

@media (max-width: 767px) {
  .card,
  .block,
  .block-categories,
  .product-miniature .thumbnail-container,
  .product-miniature .card,
  #left-column #search_filters,
  .checkout-step,
  .cart-grid-body,
  .cart-grid-right {
    border-radius: 12px !important;
  }
}
