/* ==========================================================================
   RC CAR DESIGN — menu principal (même construction que services.vaucluse-communication.fr)
   Barre : liens blancs en capitales, survol rouge. Déroulant : panneau sombre en colonnes.
   Ajouté le 30/09/2026. PrestaShop charge ce fichier par convention (priorité 1000).
   ========================================================================== */

/* --- Barre de navigation (desktop) --- */
.header-top #_desktop_top_menu { padding-left: 28px; }
.header-top #top-menu { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; }
.header-top #top-menu > li { float: none; }
.header-top #top-menu > li > a.dropdown-item {
  color: #fff;
  font-family: Manrope, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 13px 18px;
  border-radius: 8px;
  border-bottom: 3px solid transparent;
  transition: background .2s, color .2s, border-color .2s;
}
.header-top #top-menu > li:hover > a.dropdown-item,
.header-top #top-menu > li.current > a.dropdown-item {
  color: #fff;
  background: rgba(166, 34, 34, .85);
  border-bottom-color: #ff4d4d;
}

/* --- Panneau déroulant --- */
#_desktop_top_menu #top-menu li:hover .popover.sub-menu,
#_desktop_top_menu #top-menu .popover.sub-menu {
  top: 100% !important;
  left: 0 !important;
  background: #14141a !important;
  border: 0;
  border-top: 3px solid #a62222;
  border-radius: 0 0 14px 14px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .6);
  padding: 26px 32px 30px;
  max-width: none;
  color: #d8d8de;
}
#_desktop_top_menu #top-menu .popover.sub-menu > ul[data-depth="1"] {
  display: grid;
  grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr);
  gap: 26px 44px;
  margin: 0;
}
#_desktop_top_menu #top-menu .popover.sub-menu ul { margin: 0; padding: 0; list-style: none; }
#_desktop_top_menu #top-menu .popover.sub-menu li { display: block; float: none; }

/* Titres de rubrique (niveau 1) */
#_desktop_top_menu #top-menu a[data-depth="1"] {
  display: inline-block;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 0 0 7px;
  margin: 0 0 14px;
  border-bottom: 2px solid #a62222;
  transition: color .15s;
}
#_desktop_top_menu #top-menu a[data-depth="1"]:hover { color: #ff5a5a; }

/* Modèles (niveau 2) : sur 3 colonnes */
#_desktop_top_menu #top-menu ul[data-depth="2"] { column-count: 3; column-gap: 28px; }
#_desktop_top_menu #top-menu ul[data-depth="2"] > li { break-inside: avoid; margin-bottom: 8px; }
#_desktop_top_menu #top-menu a[data-depth="2"] {
  display: block;
  color: #f0f0f4;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  padding: 5px 0;
  transition: color .15s, transform .15s;
}
#_desktop_top_menu #top-menu a[data-depth="2"]:hover { color: #ff5a5a; transform: translateX(3px); }

/* Déclinaisons (niveau 3) : retrait avec filet à gauche */
#_desktop_top_menu #top-menu ul[data-depth="3"] { margin: 2px 0 4px 2px; padding-left: 12px; border-left: 2px solid #3a3a46; }
#_desktop_top_menu #top-menu a[data-depth="3"] {
  display: block;
  color: #a8a8b4;
  font-size: 13px;
  font-weight: 500;
  padding: 3px 0;
  transition: color .15s;
}
#_desktop_top_menu #top-menu a[data-depth="3"]:hover { color: #ff5a5a; }

/* Colonne « Stickers ronds découpés » : simple liste */
#_desktop_top_menu #top-menu .popover.sub-menu > ul[data-depth="1"] > li:nth-child(n+2) ul[data-depth="2"] { column-count: 1; }

/* ==========================================================================
   RC CAR DESIGN — thème sombre des pages de contenu (30/09/2026)
   Fond noir de la charte : panneaux #14141a, texte clair, accent rouge éclairci pour la lisibilité.
   ========================================================================== */
:root {
  --rc-bg: #0b0b0f;
  --rc-panel: #14141a;
  --rc-panel-2: #1b1b23;
  --rc-line: #2c2c37;
  --rc-text: #d8d8de;
  --rc-mute: #9a9aa6;
  --rc-red: #a62222;
  --rc-red-lt: #ff5a5a;
}
body { background-color: var(--rc-bg); color: var(--rc-text); }
#wrapper, #content-wrapper, #main, #footer, .footer-container { color: var(--rc-text); }

/* Titres, liens, prix */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
.page-header h1, .products-section-title, .block-category h1, #main h1 { color: #fff; }
#wrapper a, #footer a, #content a { color: var(--rc-red-lt); }
#wrapper a:hover, #footer a:hover, #content a:hover { color: #fff; }
.price, .current-price, .product-price { color: #fff; }
.regular-price { color: var(--rc-mute); }
.discount-percentage, .discount-amount, .product-flag.discount { background: var(--rc-red); color: #fff; }
.text-muted, small, .form-text, .help-block { color: var(--rc-mute) !important; }
hr { border-color: var(--rc-line); }

/* Panneaux blancs -> panneaux sombres */
.card, .card-block, .block-categories, .block-category, #subcategories,
#left-column .block-categories, .page-content.card, .cart-grid-body .card,
.cart-grid-right .card, #order-summary-content, .checkout-step,
.page-content, .product-tabs, .tabs, #authentication, .page-authentication .card,
.modal-content, .dropdown-menu, .block_newsletter, #blockEmailSubscription_displayFooterBefore,
.customer-account, .addresses-footer, .address, .order-confirmation .card {
  background-color: var(--rc-panel) !important;
  color: var(--rc-text);
  border: 1px solid var(--rc-line);
  box-shadow: none;
}
.card-block, .block-category { border-radius: 10px; }
.block-categories .category-sub-menu a, .block-categories a { color: var(--rc-text); }
.block-categories .category-sub-menu a:hover, .block-categories a:hover { color: var(--rc-red-lt); }
.block-categories .collapse-icons .remove, .block-categories .collapse-icons .add { color: var(--rc-red-lt); }
.block-categories .h6, .block-categories .text-uppercase { color: #fff; }
.breadcrumb, .breadcrumb li, .breadcrumb a, .breadcrumb li::after { color: var(--rc-mute) !important; background: transparent !important; }

/* Cartes produit */
.product-miniature .thumbnail-container, .thumbnail-container.reviews-loaded {
  background: var(--rc-panel) !important;
  border: 1px solid var(--rc-line);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color .2s, transform .2s;
}
.product-miniature .thumbnail-container:hover { border-color: var(--rc-red); transform: translateY(-3px); }
.product-miniature .product-description, .product-description {
  background: var(--rc-panel) !important; color: var(--rc-text);
}
.product-miniature .product-title a, .product-title a { color: #fff !important; }
.product-miniature .product-title a:hover { color: var(--rc-red-lt) !important; }
.product-miniature .thumbnail img, .product-miniature .product-thumbnail img { background: #fff; }
.highlighted-informations, .highlighted-informations .quick-view, .variant-links { background: var(--rc-panel-2) !important; color: var(--rc-text); }
button.wishlist-button-add { background: rgba(20, 20, 26, .9) !important; color: var(--rc-red-lt) !important; border-color: var(--rc-line); }
.product-flags li.product-flag { background: var(--rc-red); color: #fff; }

/* Sous-catégories */
.subcategories-list > li, .subcategory-name, .subcategories-list a { color: #fff !important; }
.subcategories-list .subcategory-image a, .subcategory-image img { background: #fff; border: 1px solid var(--rc-line); border-radius: 8px; }
.subcategory-heading, #subcategories .h5 { color: #fff; }

/* Fiche produit, onglets, tableaux */
.product-information, .product-description-short, .product-features, .product-details,
.tab-content, .tab-pane, .product-actions, .product-additional-info { color: var(--rc-text); background: transparent; }
.nav-tabs, .nav-tabs .nav-link { background: transparent; border-color: var(--rc-line); color: var(--rc-mute); }
.nav-tabs .nav-link.active, .nav-tabs .nav-link:hover { background: var(--rc-panel-2) !important; color: #fff; border-color: var(--rc-red); }
.product-cover, .images-container .product-cover img { background: #fff; border-radius: 10px; }
.product-images > li.thumb-container .thumb { background: #fff; border-radius: 8px; }
table, .table, .table th, .table td, .data-sheet dt, .data-sheet dd { background: transparent; color: var(--rc-text); border-color: var(--rc-line); }
.table-striped tbody tr:nth-of-type(odd) { background: var(--rc-panel-2); }
.data-sheet dt.name, .data-sheet dd.value { background: var(--rc-panel-2); }

/* Formulaires */
input.form-control, textarea.form-control, select.form-control, .form-control, .custom-select,
.input-group .form-control, .bootstrap-touchspin .form-control, input[type="text"], input[type="email"],
input[type="password"], input[type="tel"], input[type="number"], select, textarea {
  background: var(--rc-panel-2) !important;
  color: #fff !important;
  border: 1px solid var(--rc-line) !important;
}
.form-control:focus, input:focus, textarea:focus, select:focus { border-color: var(--rc-red-lt) !important; box-shadow: 0 0 0 3px rgba(255, 90, 90, .18) !important; outline: 0; }
::placeholder { color: var(--rc-mute) !important; opacity: 1; }
.form-control-label, label, .form-control-comment { color: var(--rc-text); }
.custom-radio, .custom-checkbox input[type="checkbox"] + span { background: var(--rc-panel-2); border-color: var(--rc-line); }
.bootstrap-touchspin .btn-touchspin { background: var(--rc-panel-2); color: #fff; border-color: var(--rc-line); }

/* Boutons */
.btn-primary { background: var(--rc-red); border-color: var(--rc-red); color: #fff; }
.btn-primary:hover, .btn-primary:focus { background: #c92a2a; border-color: #c92a2a; color: #fff; }
.btn-secondary, .btn-tertiary, .btn-outline-secondary {
  background: var(--rc-panel-2); color: #fff; border: 1px solid var(--rc-line);
}
.btn-secondary:hover, .btn-tertiary:hover { background: var(--rc-line); color: #fff; }
.btn-unstyle { color: var(--rc-text); }

/* Pagination, tri, listing */
.pagination .page-list, .pagination .page-list li a, .products-sort-order .select-title, button.select-title {
  background: var(--rc-panel) !important; color: var(--rc-text) !important; border: 1px solid var(--rc-line);
}
ul.page-list, .pagination .current a { background: var(--rc-panel) !important; }
.pagination .current a { background: var(--rc-red) !important; color: #fff !important; }
.products-selection, .total-products, .sort-by { color: var(--rc-text); }
#search_filters, .facet .facet-title, .facet-label a { color: var(--rc-text); }

/* Panier, commande */
.cart-item, .cart-summary, .cart-summary-line, .checkout-step .content, .checkout-step.-current h1,
.cart-grid-right .cart-summary { background: transparent; color: var(--rc-text); }
.cart-summary-line .label, .cart-summary-line .value, .product-line-info a, .cart-total .value { color: #fff; }
.cart-summary-totals { background: var(--rc-panel-2); }
.checkout-step h1 { color: #fff; }

/* Pied de page */
#footer { background: #08080b; border-top: 3px solid var(--rc-red); }
.footer-container { background: #08080b; }
.footer-container .h3, .footer-container .h4, .footer-container .footer__title, .footer-container p.h3,
.footer-container .block-contact .h4 { color: #fff !important; }
.footer-container li a, .footer-container ul li a { color: var(--rc-text) !important; }
.footer-container li a:hover { color: var(--rc-red-lt) !important; }
.block_newsletter { border-radius: 12px; }
.block_newsletter p, .block_newsletter #block-newsletter-label { color: #fff; }
.block_newsletter .btn { background: var(--rc-red); color: #fff; }

/* Alertes, modales */
.alert-success { background: #12281a; color: #b6f0c6; border-color: #1f4d30; }
.alert-warning { background: #2b2410; color: #f4dc9a; border-color: #5c4a15; }
.alert-danger { background: #2c1214; color: #ffb8b8; border-color: #6a1f24; }
.alert-info { background: #10202b; color: #b7dcf4; border-color: #1f4a66; }
.modal-header, .modal-footer { border-color: var(--rc-line); }
.modal-header .close, button.close { color: #fff; text-shadow: none; opacity: .8; }
.dropdown-menu .dropdown-item { color: var(--rc-text); }
.dropdown-menu .dropdown-item:hover { background: var(--rc-panel-2); color: #fff; }

/* Mobile : panneau du menu resté clair, on le passe en sombre lui aussi */
#mobile_top_menu_wrapper, #mobile_top_menu_wrapper .js-top-menu-bottom, .js-top-menu-bottom { background: var(--rc-panel) !important; }
#mobile_top_menu_wrapper .top-menu a, #mobile_top_menu_wrapper .top-menu a.dropdown-item { color: #fff; border-color: var(--rc-line); }
#mobile_top_menu_wrapper .top-menu .collapse { background: var(--rc-panel-2); }

/* Les boutons-liens gardent leur texte blanc malgré la règle des liens */
#wrapper a.btn, #content a.btn, #footer a.btn { color: #fff; }
#wrapper a.btn:hover, #content a.btn:hover { color: #fff; }

/* Textes descriptifs (catégories, produits, CMS) : couleur forcée, y compris style en ligne */
#category-description, #category-description *, .block-category, .block-category *:not(a):not(.btn),
.product-description-short, .product-description-short *, #description, #description *,
.page-cms, .page-cms *:not(a):not(.btn), .page-content *:not(a):not(.btn):not(.alert) { color: var(--rc-text) !important; }
.block-category h1, #category-description h1, #category-description h2, #category-description h3,
.page-cms h1, .page-cms h2, .page-cms h3 { color: #fff !important; }
#left-column .block-categories .h6, #left-column .block-categories .h6 a, .block-categories .category-top-menu > li > a,
.block-categories > ul > li > a { color: #fff !important; }

/* Barre du haut (contact, langue, connexion) */
.header-nav, .header-nav #contact-link, .header-nav a, .header-nav .expand-more,
.header-nav .language-selector button, .header-nav .user-info a { color: #f0f0f4 !important; }
.header-nav a:hover { color: #fff !important; }
.header-nav .blockcart .header, .header-nav .blockcart a { color: #fff !important; }

/* Fiche produit : la colonne d'achat est posée sur un panneau, pas directement sur l'image de fond */
.product-container > .col-md-6:last-child {
  background: rgba(20, 20, 26, .94);
  border: 1px solid var(--rc-line);
  border-radius: 12px;
  padding: 22px 24px 26px;
}
.product-container .product-information,
.product-container .product-information *:not(a):not(.btn):not(.card):not(.card *):not(input):not(select):not(textarea) { color: var(--rc-text); }
.product-container .product-prices .current-price, .product-container h1 { color: #fff !important; }
.blockreassurance_product, .blockreassurance_product * { color: var(--rc-text) !important; }
.blockreassurance_product { border-top: 1px solid var(--rc-line); margin-top: 18px; padding-top: 14px; }
.blockreassurance_product img, .blockreassurance_product svg { filter: brightness(0) invert(1); opacity: .9; }

/* Bloc de texte de l'accueil et avis produits */
#custom-text { background: var(--rc-panel) !important; border: 1px solid var(--rc-line); border-radius: 12px; }
#custom-text p, #custom-text span, #custom-text li { color: var(--rc-text) !important; }
#custom-text h1, #custom-text h2, #custom-text h3, #custom-text .h1, #custom-text .h2, #custom-text .h3, #custom-text strong { color: #fff !important; }
#custom-text p[style*="color"], #custom-text span[style*="color"] { color: var(--rc-text) !important; }
.product-list-reviews { background: transparent !important; }

/* ==== Tunnel de commande : libellés, adresses, transporteurs, paiement (30/09/2026) ==== */
#checkout label, #checkout .form-control-label, .checkout-step label, .checkout-step .form-control-label,
#checkout .custom-checkbox label, #checkout .custom-radio + label, #checkout .form-group label,
#checkout .condition-label, #checkout .condition-label label, #checkout .label { color: var(--rc-text) !important; }
#checkout .step-title, #checkout .h1, #checkout h1, #checkout h4, #checkout .h4 { color: #fff !important; }
#checkout .nav-item a.nav-link, #checkout .nav-inline a { color: var(--rc-red-lt) !important; }
#checkout .nav-inline .nav-item a.active, #checkout .nav-inline a.active { color: #fff !important; }
#checkout .form-text, #checkout .form-control-comment, #checkout .help-block { color: var(--rc-mute) !important; }

/* Adresses (cartes) */
.address-item, .address-selector .address-item {
  background: var(--rc-panel-2) !important;
  border: 1px solid var(--rc-line) !important;
  border-radius: 10px;
  color: var(--rc-text);
}
.address-item.selected { border: 2px solid var(--rc-red-lt) !important; }
.address-item .radio-block { background: transparent; }
.address-item .address-alias, .address-item header, .address-item .h4, .address-item label { color: #fff !important; background: transparent !important; }
.address-item .address, .address-item address { background: transparent !important; color: var(--rc-text) !important; border: 0; padding: 0; }
.address-item .address-footer { background: transparent !important; border-top: 1px solid var(--rc-line) !important; }
.address-item .address-footer a { color: var(--rc-red-lt) !important; }

/* Modes de livraison */
.delivery-option, .delivery-options-list .delivery-option, #delivery-options .delivery-option,
.delivery-option > label, .delivery-option .row, .carrier-extra-content {
  background: var(--rc-panel-2) !important;
  color: var(--rc-text);
}
.delivery-option { border: 1px solid var(--rc-line); border-radius: 10px; margin-bottom: 12px; }
.delivery-option label, .delivery-option .carrier-name, .delivery-option .carrier-delay,
.delivery-option .carrier-price, .delivery-option span, .delivery-option .h6 { color: var(--rc-text) !important; background: transparent !important; }
.delivery-option .carrier-name { color: #fff !important; font-weight: 700; }
.delivery-option .carrier-price { color: #fff !important; font-weight: 700; }
.delivery-option img { background: #fff; border-radius: 6px; }

/* Paiement */
.payment-option, .payment-options .payment-option, .js-payment-option-form, .additional-information,
.definition-list, .definition-list dl, .definition-list dt, .definition-list dd, #payment-confirmation {
  background: transparent !important;
  color: var(--rc-text);
}
.payment-options label, .payment-option label span, #conditions-to-approve label, #conditions-to-approve .js-terms { color: var(--rc-text) !important; }
.payment-options label img { background: #fff; border-radius: 6px; padding: 2px 6px; }
.js-payment-option-form { border: 1px solid var(--rc-line); border-radius: 8px; padding: 10px 14px; margin: 8px 0; }
#conditions-to-approve li { margin-bottom: 8px; }

/* Récapitulatif panier / commande */
.cart-summary, .card.cart-summary, .cart-summary-line, .cart-summary-products, #cart-summary-product-list,
.cart-detailed-totals, .cart-detailed-actions, .cart-summary-totals, .cart-total, .cart-summary-subtotals-container {
  background: transparent !important; color: var(--rc-text);
}
.cart-summary-totals, .cart-total { background: var(--rc-panel-2) !important; }
.cart-summary-line .label, .cart-summary-line .value, .cart-total .label, .cart-total .value, .cart-summary a { color: #fff !important; }
.checkout-step { background: var(--rc-panel) !important; border: 1px solid var(--rc-line); }

/* ==== Page de commande : en-tête compact (30/09/2026) ==== */
body#checkout #header .header-nav {
  padding: 6px 0 !important;
  min-height: 0;
  max-height: none;
  background: #0f0f14 !important;
  border-bottom: 2px solid var(--rc-red) !important;
}
body#checkout #header .header-nav .container > .row { display: flex; align-items: center; margin: 0; }
body#checkout #header .header-nav #_desktop_logo, body#checkout #header .header-nav #_desktop_logo h1 { margin: 0; padding: 0; }
body#checkout #header .header-nav .logo, body#checkout #header .header-nav #_desktop_logo img { max-height: 44px !important; width: auto; }
body#checkout #header .header-nav #_desktop_contact_link, body#checkout #header .header-nav #contact-link { margin: 0 !important; font-size: 14px; color: var(--rc-text); }
body#checkout #header .header-nav #contact-link span { color: #fff; font-weight: 700; }
@media (max-width: 767px) {
  body#checkout #header .header-nav { padding: 4px 0 !important; }
  body#checkout #header .header-nav .logo { max-height: 34px !important; }
}

/* Boutons inactifs (ex. « Commander » tant que les cases ne sont pas cochées) : lisibles, clairement grisés */
.btn.disabled, .btn:disabled, .btn[disabled], .btn-primary.disabled, .btn-primary:disabled, .btn-primary[disabled],
#payment-confirmation .btn.disabled, #payment-confirmation button.disabled, fieldset:disabled .btn {
  background: #2a1517 !important;
  border: 1px solid #5c2a2e !important;
  color: #b58f92 !important;
  opacity: 1 !important;
  cursor: not-allowed;
  box-shadow: none;
}
.btn.disabled:hover, .btn:disabled:hover, .btn-primary.disabled:hover { background: #2a1517 !important; color: #b58f92 !important; }
