/* ============================================================
   TW DISTRIBUTION — Thème sombre (fond noir + or/bleu du logo)
   Surcharge du thème classic. Chargé en dernier (priorité 1000).
   ============================================================ */
:root{
  --tw-bg:#0a0b0d;
  --tw-bg2:#0f1113;
  --tw-surface:#14161a;
  --tw-surface2:#1b1e23;
  --tw-border:#2a2e35;
  --tw-border2:#3a3f47;
  --tw-text:#f3f5f7;
  --tw-muted:#9aa1ab;
  --tw-gold:#f7a81b;
  --tw-gold2:#e0910a;
  --tw-blue:#3b78e6;
  --tw-green:#37b877;
}

/* ---------- base ---------- */
body{background:var(--tw-bg)!important;color:var(--tw-text)!important;}
#wrapper,#main,.page-content,#content,#content-wrapper,
.container,.page-wrapper{background:transparent!important;}
a{color:var(--tw-text);}
a:hover,a:focus{color:var(--tw-gold);}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4{color:var(--tw-text)!important;}
hr{border-color:var(--tw-border)!important;}
small,.text-muted{color:var(--tw-muted)!important;}

/* ---------- header ---------- */
#header{background:#000!important;border-bottom:1px solid var(--tw-border);box-shadow:none!important;}
#header .header-top,#header .header-nav{background:#000!important;color:var(--tw-text)!important;}
#header a{color:var(--tw-text);}
#header a:hover{color:var(--tw-gold);}
.header-top{border-bottom:1px solid var(--tw-border);}

/* search */
#search_widget input[type=text],.ui-autocomplete-input,
input.ui-autocomplete-input{background:var(--tw-surface)!important;color:var(--tw-text)!important;border:1px solid var(--tw-border2)!important;}
#search_widget input::placeholder{color:var(--tw-muted)!important;}
#search_widget button[type=submit],#search_widget .search-btn{color:var(--tw-gold)!important;}

/* main menu */
#_desktop_top_menu,.top-menu,.menu{background:transparent!important;}
.top-menu a.top-menu__link,.top-menu a,.menu-top a{color:var(--tw-text)!important;}
.top-menu a:hover{color:var(--tw-gold)!important;}
.top-menu .sub-menu,.popover{background:var(--tw-surface)!important;border-color:var(--tw-border)!important;}

/* cart / user badges */
.blockcart,.blockcart.active{background:var(--tw-surface)!important;color:var(--tw-text)!important;}
.blockcart .cart-products-count{background:var(--tw-gold)!important;color:#111!important;}
.user-info a,.header .material-icons{color:var(--tw-text)!important;}

/* ---------- banners / page header ---------- */
.page-header,.breadcrumb,#left-column .block-categories,
.page-home #wrapper{background:transparent!important;}
.breadcrumb{background:transparent!important;}
.breadcrumb a,.breadcrumb li::after{color:var(--tw-muted)!important;}

/* ---------- surfaces / cards / blocks ---------- */
.card,.block,.block-category,.page-content.card,
.product-miniature .thumbnail-container,
.product-miniature,.featured-products .product-miniature,
.products .product-miniature,.card-block,.elementor-widget-container{
  background:var(--tw-surface)!important;
  border:1px solid var(--tw-border)!important;
  color:var(--tw-text)!important;
  box-shadow:none!important;
}
.card-body,.card-header,.card-footer{background:transparent!important;border-color:var(--tw-border)!important;color:var(--tw-text)!important;}

/* product miniatures */
.product-miniature{border-radius:12px!important;overflow:hidden;transition:border-color .15s ease,transform .15s ease;}
.product-miniature:hover{border-color:var(--tw-gold)!important;transform:translateY(-4px);}
.product-thumbnail img,.thumbnail-container img{background:#0c0d10!important;}
.product-title a,.product-miniature .product-title a{color:var(--tw-text)!important;font-weight:600;}
.product-title a:hover{color:var(--tw-gold)!important;}
.product-reference,.product-flags .discount{color:var(--tw-muted)!important;}

/* prices */
.price,.product-price,.product-price-and-shipping .price,
.regular-price,.current-price span,.product-miniature .price{
  color:var(--tw-gold)!important;font-weight:800!important;
}
.regular-price{color:var(--tw-muted)!important;text-decoration:line-through;}
.product-flag,.product-flags li .product-flag{background:var(--tw-gold)!important;color:#111!important;}
/* retrait des bandeaux "Neuf" */
.product-flag.new,.product-flags li.product-flag.new{display:none!important;}

/* ============================================================
   PAGE COMMANDE / CHECKOUT — lisibilité en thème sombre
   ============================================================ */
#checkout .card,.checkout-step,.checkout-step .card,.checkout-step .card-block,
#cart-summary,.cart-summary,.cart-grid-right .card,.cart-detailed-totals,
#order-summary-content,.cart-summary-products,#order-items,.order-options{
  background:var(--tw-surface)!important;color:var(--tw-text)!important;border-color:var(--tw-border)!important;
}
/* titres d'étapes */
.checkout-step .step-title,.checkout-step .step-title.h3{color:var(--tw-text)!important;}
.checkout-step.-current .step-title{color:var(--tw-gold)!important;}
.checkout-step .step-edit{color:var(--tw-gold)!important;}
/* labels, textes, aides */
.checkout label,.checkout-step label,.form-control-label,.custom-checkbox label,
.payment-option label,.condition-label,.condition-label label,.additional-information,
.checkout .form-informations,.product-line-info,.product-line-info a{color:var(--tw-text)!important;}
.form-control-comment,.checkout .text-muted,.help-block,.checkout small,.optional-label{color:var(--tw-muted)!important;}
/* onglets Invité / Connexion */
.checkout .nav-tabs .nav-link,#customer-form .nav-link,.nav-inline .nav-link{color:var(--tw-muted)!important;}
.checkout .nav-tabs .nav-link.active{color:var(--tw-gold)!important;border-bottom:2px solid var(--tw-gold)!important;background:transparent!important;}
/* récap panier : lignes + totaux */
.cart-summary-line,.cart-summary-line .label,.cart-summary-line .value,
.cart-summary-subtotals .label,.cart-summary-subtotals .value,
.product-line-grid,.order-line,.summary-selected-carrier{color:var(--tw-text)!important;}
.cart-summary-line .value{font-variant-numeric:tabular-nums;}
.cart-summary-line.cart-total,.cart-summary-line.cart-total .label,.cart-summary-line.cart-total .value{color:var(--tw-gold)!important;font-weight:800!important;}
/* rubrique PAIEMENT */
.payment-options,.payment-option{background:transparent!important;color:var(--tw-text)!important;}
.payment-option{border-bottom:1px solid var(--tw-border)!important;padding:6px 0;}
.js-payment-option-form{background:var(--tw-surface2)!important;border:1px solid var(--tw-border)!important;color:var(--tw-text)!important;border-radius:8px;}
.js-conditions-to-approve label{color:var(--tw-text)!important;}
/* liens (conditions, détails…) */
.checkout a,.condition-label a,.payment-option a,.cart-summary a,.show-details{color:var(--tw-gold)!important;}
/* bloc "Réassurance" en checkout */
.checkout .blockreassurance,#block-reassurance{background:transparent!important;}

/* availability */
.product-availability,.stock,.availability{color:var(--tw-green)!important;}

/* ---------- buttons ---------- */
.btn-primary,.btn-primary:visited,
.add-to-cart,button.add-to-cart{
  background:var(--tw-gold)!important;border-color:var(--tw-gold)!important;color:#111!important;font-weight:700!important;
}
.btn-primary:hover,.add-to-cart:hover{background:var(--tw-gold2)!important;border-color:var(--tw-gold2)!important;color:#111!important;}
.btn-secondary,.btn-outline-secondary,.btn-tertiary{
  background:transparent!important;border:1px solid var(--tw-border2)!important;color:var(--tw-text)!important;
}
.btn-secondary:hover,.btn-tertiary:hover{border-color:var(--tw-gold)!important;color:var(--tw-gold)!important;}

/* ---------- forms ---------- */
.form-control,input,select,textarea,
.input-group .form-control{
  background:var(--tw-surface)!important;color:var(--tw-text)!important;border:1px solid var(--tw-border2)!important;
}
.form-control::placeholder{color:var(--tw-muted)!important;}
.form-control:focus{border-color:var(--tw-gold)!important;box-shadow:0 0 0 .15rem rgba(247,168,27,.25)!important;}

/* ---------- left/right columns ---------- */
#left-column .block,#right-column .block,
.block-categories,.category-sub-menu{background:var(--tw-surface)!important;border:1px solid var(--tw-border)!important;color:var(--tw-text)!important;}
.block .title,.block-title,.block-categories .h6{color:var(--tw-gold)!important;}

/* ---------- footer ---------- */
.footer-container,#footer{background:#000!important;color:var(--tw-muted)!important;border-top:1px solid var(--tw-border);}
.footer-container li a,#footer a{color:var(--tw-muted)!important;}
.footer-container li a:hover{color:var(--tw-gold)!important;}
.footer-container .h3,.footer-container h3,.footer-title{color:var(--tw-gold)!important;}
.footer-container{box-shadow:none!important;}

/* newsletter / links widget backgrounds */
.block-contact,.linklist,.blockreassurance{background:transparent!important;}

/* ---------- misc ---------- */
.separator,.border,.card-block .separator{border-color:var(--tw-border)!important;}
.dropdown-menu{background:var(--tw-surface)!important;border-color:var(--tw-border)!important;}
.dropdown-item{color:var(--tw-text)!important;}
.dropdown-item:hover{background:var(--tw-surface2)!important;color:var(--tw-gold)!important;}
table,.table{color:var(--tw-text)!important;}
.table td,.table th{border-color:var(--tw-border)!important;}
.alert-info{background:var(--tw-surface)!important;color:var(--tw-text)!important;border-color:var(--tw-border)!important;}

/* pagination */
.pagination .page-link{background:var(--tw-surface)!important;border-color:var(--tw-border)!important;color:var(--tw-text)!important;}
.pagination .active .page-link{background:var(--tw-gold)!important;border-color:var(--tw-gold)!important;color:#111!important;}

/* ============================================================
   CORRECTIFS zones blanches (home)
   ============================================================ */
/* bas des cartes produit (titre + prix) */
.thumbnail-container,.product-miniature .thumbnail-container{background:var(--tw-surface)!important;}
.product-description,
.thumbnail-container .product-description,
.product-miniature .product-description{
  background:var(--tw-surface)!important;
  border-top:1px solid var(--tw-border)!important;
  color:var(--tw-text)!important;
}
.product-description .product-title,
.product-description .product-title a{color:var(--tw-text)!important;font-weight:600!important;}
.product-description .product-title a:hover{color:var(--tw-gold)!important;}

/* ===== Hero d'accueil (bloc ps_customtext #custom-text) ===== */
#custom-text{
  background:
    radial-gradient(680px 380px at 85% 12%, rgba(247,168,27,.16), transparent 60%),
    radial-gradient(520px 420px at 4% 100%, rgba(59,120,230,.12), transparent 62%),
    var(--tw-surface)!important;
  border:1px solid var(--tw-border)!important;
  border-radius:16px!important;
  padding:52px 48px!important;
  text-align:left!important;
  box-shadow:none!important;
  color:var(--tw-text)!important;
}
.tw-hero{max-width:780px;margin:0 auto 0 0;}
#custom-text .tw-hero-eyebrow{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.2em;color:var(--tw-gold)!important;font-weight:700;margin:0 0 .9rem;}
#custom-text .tw-hero-title{font-size:clamp(1.9rem,3.6vw,3rem)!important;line-height:1.05!important;font-weight:800!important;letter-spacing:-.02em;margin:0 0 1.1rem!important;color:var(--tw-text)!important;text-align:left!important;text-transform:none!important;}
#custom-text .tw-hero-title span{color:var(--tw-gold)!important;}
#custom-text .tw-hero-lead{color:var(--tw-muted)!important;font-size:1.06rem!important;line-height:1.6;max-width:54ch;margin:0 0 1.7rem!important;text-align:left!important;}
#custom-text .tw-hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 1.5rem;}
#custom-text .tw-btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.95rem;border-radius:9px;padding:.75rem 1.4rem;border:1px solid transparent;transition:transform .15s ease,background .15s ease,border-color .15s ease;text-decoration:none;cursor:pointer;}
#custom-text .tw-btn-gold{background:var(--tw-gold)!important;color:#111!important;}
#custom-text .tw-btn-gold:hover{background:var(--tw-gold2)!important;color:#111!important;transform:translateY(-1px);}
#custom-text .tw-btn-ghost{background:transparent!important;border:1px solid var(--tw-border2)!important;color:var(--tw-text)!important;}
#custom-text .tw-btn-ghost:hover{border-color:var(--tw-gold)!important;color:var(--tw-gold)!important;}
#custom-text .tw-hero-note{color:#7a828c!important;font-size:.83rem;display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;margin:0;}
#custom-text .tw-hero-note .ok{color:var(--tw-green)!important;font-weight:700;}
#custom-text .tw-hero-note .sep{opacity:.5;}
@media (max-width:640px){#custom-text{padding:34px 22px!important;}}

/* bloc newsletter */
.block_newsletter,.ps-emailsubscription-block,#footer .block_newsletter{
  background:var(--tw-surface)!important;
  border:1px solid var(--tw-border)!important;
  border-radius:12px;
  color:var(--tw-text)!important;
}
.block_newsletter p,.block_newsletter h3,.block_newsletter label,.block_newsletter .h3{color:var(--tw-text)!important;}
.block_newsletter input[type=email],.block_newsletter input[type=text]{background:var(--tw-bg2)!important;color:var(--tw-text)!important;border:1px solid var(--tw-border2)!important;}

/* icone coeur / wishlist : garder lisible */
.product-miniature .wishlist-button-add,.wishlist-button-add{background:var(--tw-surface2)!important;color:var(--tw-gold)!important;border:1px solid var(--tw-border)!important;}

/* ============================================================
   Bannière défilante d'accueil (carousel ps_imageslider)
   Le thème force .carousel-inner à 340px + overflow:hidden, ce qui
   rogne nos visuels marketing (hauteur naturelle > 340px) : on
   repasse en hauteur automatique pour afficher l'image entière.
   ============================================================ */
#carousel{border-radius:14px;overflow:hidden;border:1px solid var(--tw-border);margin-bottom:32px;}
#carousel .carousel-inner{height:auto!important;overflow:hidden;background:#000;}
#carousel .carousel-item img{height:auto!important;width:100%!important;display:block;}
#carousel .carousel-indicators li{background-color:var(--tw-gold);opacity:.5;}
#carousel .carousel-indicators li.active,#carousel .carousel-indicators .active{opacity:1;}
#carousel .carousel-control .material-icons{color:var(--tw-gold);}

/* ============================================================
   FICHE PRODUIT — panneau description, onglets, avis
   ============================================================ */
.tabs,.product-tabs,.product-information .tabs,.tab-content,
.product-features,.product-description-full,#description,
.product-manufacturer,.product-additional-info{
  background:var(--tw-surface)!important;color:var(--tw-text)!important;
  border-color:var(--tw-border)!important;box-shadow:none!important;
}
.tabs .nav-tabs{border-bottom-color:var(--tw-border)!important;}
.nav-tabs .nav-link{color:var(--tw-muted)!important;background:transparent!important;border-color:transparent!important;}
.nav-tabs .nav-link.active{color:var(--tw-gold)!important;background:transparent!important;border-bottom:2px solid var(--tw-gold)!important;}
.tab-pane,.tab-pane *{color:var(--tw-text)!important;}
.product-features dl.data-sheet dt,.product-features dl.data-sheet dd{background:var(--tw-surface2)!important;color:var(--tw-text)!important;}
.product-information .product-description,.product-description-short{background:transparent!important;color:var(--tw-text)!important;border:0!important;}

/* zone prix fiche produit */
.product-prices,.product-information .current-price{color:var(--tw-text)!important;}
.product-prices .current-price span,.current-price-value,.product-price{color:var(--tw-gold)!important;}
.tax-shipping-delivery-label{color:var(--tw-muted)!important;}

/* module avis / commentaires */
.product-comments,.product-comment-list,#product-comments-list,
.comments,.product-comments-additional-info,.comment-infos,
#product-comments-list-header,.product-comments .comment,
.product-comments-block,#product-comments-list-footer{
  background:var(--tw-surface)!important;color:var(--tw-text)!important;border-color:var(--tw-border)!important;
}

/* ============================================================
   PAGE CATEGORIE — filtres + tri
   ============================================================ */
#search_filters,#search_filter_controls,.faceted-search,
#facets_search_center,.block.filter{
  background:var(--tw-surface)!important;color:var(--tw-text)!important;border:1px solid var(--tw-border)!important;
}
#search_filters .h6,#search_filters .title,.facet-title,#search_filters .facet-title{color:var(--tw-gold)!important;}
#search_filters .facet-label,#search_filters label,.facet .facet-label a,#search_filters a{color:var(--tw-text)!important;}
.ui-slider{background:var(--tw-border2)!important;}
.ui-slider .ui-slider-range{background:var(--tw-gold)!important;}
.ui-slider .ui-slider-handle{background:var(--tw-gold)!important;border-color:var(--tw-gold)!important;}

/* selecteur "Trier par" */
.products-sort-order .select-title,.sort-by-row .select-title,
.products-sort-order .dropdown-menu{
  background:var(--tw-surface)!important;color:var(--tw-text)!important;border:1px solid var(--tw-border2)!important;
}
.products-sort-order .dropdown-item{color:var(--tw-text)!important;}
.products-sort-order .dropdown-item:hover{background:var(--tw-surface2)!important;color:var(--tw-gold)!important;}
.total-products,.showing,.column-header{color:var(--tw-muted)!important;}

/* description de categorie : en jaune */
#category-description,#category-description p,#category-description.text-muted,
.category-description,.category-description p,#js-product-list-header{color:var(--tw-gold)!important;}

/* menu categories (colonne gauche) : liens en jaune, lisibles */
.block-categories a,
.block-categories .category-top-menu a,
.block-categories .category-sub-menu a,
.block-categories .category-sub-link{color:var(--tw-gold)!important;}
.block-categories a:hover{color:#ffffff!important;}
.block-categories li.current > a{color:var(--tw-gold)!important;font-weight:700!important;}

/* Sous-categories : garder les tuiles, masquer UNIQUEMENT le titre "Sous-categories" */
#subcategories .subcategory-heading{display:none!important;}
#subcategories{background:transparent!important;border:0!important;box-shadow:none!important;}
#subcategories .subcategory-image{background:var(--tw-surface2)!important;border:1px solid var(--tw-border)!important;border-radius:10px!important;overflow:hidden;}
/* on masque le <img> (placeholder blanc / tailles manquantes) et on affiche l'image en fond du lien */
#subcategories .subcategory-image img{display:none!important;}
#subcategories .subcategory-image a.img{display:block;min-height:170px;background-color:var(--tw-surface2);background-position:center;background-repeat:no-repeat;background-size:contain;}
/* images reelles des sous-categories (cible par ID, stable aux renommages) */
#subcategories .subcategory-image a[href*="/12-"]{background-image:url("/TWDISTRIBUTION/img/c/12.jpg?v=2")!important;}
#subcategories .subcategory-image a[href*="/13-"]{background-image:url("/TWDISTRIBUTION/img/c/13.jpg?v=2")!important;}
#subcategories .subcategory-name{color:var(--tw-gold)!important;font-weight:700!important;}
#subcategories .subcategory-name:hover{color:#ffffff!important;}

/* module avis (productcomments) injecte en JS */
#empty-product-comment,.product-comment-list-item,.comments-nb,
.product-comment-modal .modal-content,#product-comment-post-error,
#product-comments-list,.product-comments-additional-info{
  background:var(--tw-surface)!important;color:var(--tw-text)!important;border-color:var(--tw-border)!important;
}
#empty-product-comment *,.product-comment-list-item *{color:var(--tw-text)!important;}
.btn-comment{background:var(--tw-gold)!important;color:#111!important;border-color:var(--tw-gold)!important;}
.btn-comment-inverse{background:transparent!important;color:var(--tw-text)!important;border:1px solid var(--tw-border2)!important;}
