/* ==========================================================================
   THEME HALLOWEEN (classe .theme-halloween sur <html>, voir theme_saisonnier())
   Ecran uniquement : l'impression (factures...) garde le rendu normal.
   ========================================================================== */
@media screen {
  /* Palette nuit de récolte */
  :root.theme-halloween.theme-halloween.theme-halloween {
    color-scheme: dark;
    --bg: #09070d;
    --bg-alt: #0e0a14;
    --surface: #15101d;
    --surface-2: #1c1527;
    --surface-hover: #261c35;
    --border: #2d2240;
    --border-light: #3b2d52;
    --text: #f3eef8;
    --text-muted: #a99cb8;
    --text-faint: #75688a;
    --primary: #ff7a1a;
    --primary-2: #a855f7;
    --primary-hover: #ff9142;
    --primary-gradient: linear-gradient(135deg, #ff7a1a, #ff4d6d 45%, #a855f7);
    --info: #c084fc;
    --success: #7dff6a;
    --success-bg: rgba(125, 255, 106, .1);
    --warning: #ffb347;
    --warning-bg: rgba(255, 179, 71, .12);
    --danger: #ff6478;
    --danger-bg: rgba(255, 59, 79, .12);
    --shadow-glow: 0 0 28px rgba(255, 122, 26, .2), 0 0 54px rgba(168, 85, 247, .12);
    --shadow-3d: 0 22px 54px rgba(0, 0, 0, .5), 0 5px 18px rgba(168, 85, 247, .1);
    --shadow-3d-lift: 0 30px 64px rgba(0, 0, 0, .55), 0 8px 28px rgba(255, 122, 26, .16);
    --hw-orange: #ff7a1a;
    --hw-candle: #ffb347;
    --hw-purple: #a855f7;
    --hw-slime: #7dff6a;
    --hw-blood: #ff3b4f;
    --hw-night: #0b0712;
    --font-spooky: "Creepster", "Unbounded", var(--font-display);
  }

  /* Fond, sélection et clavier */
  .theme-halloween.theme-halloween.theme-halloween body { background-color: var(--bg); color: var(--text); }
  .theme-halloween.theme-halloween.theme-halloween ::selection { color: #fff; background: #7838a8; }
  .theme-halloween.theme-halloween.theme-halloween ::-webkit-scrollbar-track { background: var(--bg-alt); }
  .theme-halloween.theme-halloween.theme-halloween ::-webkit-scrollbar-thumb { background: #4a315e; }
  .theme-halloween.theme-halloween.theme-halloween ::-webkit-scrollbar-thumb:hover { background: var(--hw-orange); }
  .theme-halloween.theme-halloween.theme-halloween :focus-visible { outline-color: var(--hw-orange); }
  .theme-halloween.theme-halloween.theme-halloween [tabindex]:focus-visible { outline: 2px solid var(--hw-orange); outline-offset: 3px; }
  .theme-halloween.theme-halloween.theme-halloween hr { border-color: var(--border); }
  .theme-halloween.theme-halloween.theme-halloween .text-muted { color: var(--text-muted); }
  .theme-halloween.theme-halloween.theme-halloween .skip-link { background: var(--hw-orange); color: #1a0b03; }

  /* Reliefs et boutons */
  .theme-halloween.theme-halloween.theme-halloween .btn { border-color: var(--border-light); }
  .theme-halloween.theme-halloween.theme-halloween .btn-primary { color: #210d03; border-color: transparent; background: linear-gradient(135deg, #ffb347 0%, #ff7a1a 46%, #d64d34 100%); box-shadow: 0 8px 22px rgba(255, 122, 26, .22), inset 0 1px rgba(255,255,255,.24); }
  .theme-halloween.theme-halloween.theme-halloween .btn-primary:hover { color: #210d03; background: linear-gradient(135deg, #ffc66f, #ff9142 52%, #e7604a); box-shadow: 0 10px 28px rgba(255,122,26,.3); }
  .theme-halloween.theme-halloween.theme-halloween .btn-secondary { color: var(--text); background: linear-gradient(145deg, #261b32, #1b1425); border-color: #49345f; }
  .theme-halloween.theme-halloween.theme-halloween .btn-secondary:hover { border-color: var(--hw-purple); color: #fff; }
  .theme-halloween.theme-halloween.theme-halloween .btn-outline { color: #d8c5ed; background: rgba(168,85,247,.07); border-color: #68458a; }
  .theme-halloween.theme-halloween.theme-halloween .btn-outline:hover { color: #fff; border-color: var(--hw-orange); background: rgba(255,122,26,.1); }
  .theme-halloween.theme-halloween.theme-halloween .btn-danger { color: #fff; background: #b52f49; }
  .theme-halloween.theme-halloween.theme-halloween .btn-success { color: #11200d; background: var(--hw-slime); }
  .theme-halloween.theme-halloween.theme-halloween .card { background: linear-gradient(145deg, rgba(27,20,37,.98), rgba(17,12,24,.98)); border-color: var(--border); box-shadow: 0 16px 44px rgba(0,0,0,.22); }
  .theme-halloween.theme-halloween.theme-halloween .card-hover:hover { border-color: rgba(168,85,247,.52); box-shadow: 0 18px 44px rgba(0,0,0,.32), 0 0 26px rgba(168,85,247,.1); }
  .theme-halloween.theme-halloween.theme-halloween .badge { border: 1px solid rgba(255,255,255,.08); }
  .theme-halloween.theme-halloween.theme-halloween .badge-primary { color: #e4c7ff; background: rgba(168,85,247,.18); border-color: rgba(168,85,247,.28); }
  .theme-halloween.theme-halloween.theme-halloween .badge-success { color: #adff9e; background: rgba(125,255,106,.1); }
  .theme-halloween.theme-halloween.theme-halloween .badge-warning { color: #ffd38c; background: rgba(255,179,71,.12); }
  .theme-halloween.theme-halloween.theme-halloween .badge-danger { color: #ff9baa; background: rgba(255,59,79,.13); }
  .theme-halloween.theme-halloween.theme-halloween .badge-muted { color: #c5b8d2; background: var(--surface-2); }

  /* Champs et tableaux */
  .theme-halloween.theme-halloween.theme-halloween .form-control,
  .theme-halloween.theme-halloween.theme-halloween select.form-control { color: var(--text); background-color: #100b17; border-color: #403050; }
  .theme-halloween.theme-halloween.theme-halloween .form-control:focus,
  .theme-halloween.theme-halloween.theme-halloween select.form-control:focus { border-color: var(--hw-orange); box-shadow: 0 0 0 3px rgba(255,122,26,.16); }
  .theme-halloween.theme-halloween.theme-halloween .form-control::placeholder { color: #887996; }
  .theme-halloween.theme-halloween.theme-halloween .form-label { color: #ded3e8; }
  .theme-halloween.theme-halloween.theme-halloween .form-hint { color: #a99cb8; }
  .theme-halloween.theme-halloween.theme-halloween .form-error { color: #ff8796; }
  .theme-halloween.theme-halloween.theme-halloween .form-check input { accent-color: var(--hw-orange); }
  .theme-halloween.theme-halloween.theme-halloween .star-input label:hover ~ label,
  .theme-halloween.theme-halloween.theme-halloween .stars { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .pagination a,
  .theme-halloween.theme-halloween.theme-halloween .pagination span { color: var(--text-muted); background: var(--surface); border-color: var(--border); }
  .theme-halloween.theme-halloween.theme-halloween .pagination a:hover { color: #fff; border-color: var(--hw-orange); }
  .theme-halloween.theme-halloween.theme-halloween .pagination .active { color: #210d03; background: linear-gradient(135deg, #ffb347, #ff7a1a); }
  .theme-halloween.theme-halloween.theme-halloween .table-wrap { border-color: var(--border); }
  .theme-halloween.theme-halloween.theme-halloween table { background: var(--surface); }
  .theme-halloween.theme-halloween.theme-halloween th,
  .theme-halloween.theme-halloween.theme-halloween td { border-bottom-color: var(--border); }
  .theme-halloween.theme-halloween.theme-halloween th { color: #c8b8d8; background: #110c19; }
  .theme-halloween.theme-halloween.theme-halloween tbody tr:hover { background: #21172d; }
  .theme-halloween.theme-halloween.theme-halloween .summary-total { color: #fff; }
  .theme-halloween.theme-halloween.theme-halloween .summary-line-price { color: var(--hw-candle); }

  /* Cartes produits et prix */
  .theme-halloween.theme-halloween.theme-halloween .product-card { background: linear-gradient(150deg, #1a1323, #100c17); border-color: #30233e; box-shadow: 0 16px 42px rgba(0,0,0,.32); }
  .theme-halloween.theme-halloween.theme-halloween .product-card:hover { border-color: rgba(255,122,26,.48); box-shadow: 0 22px 52px rgba(0,0,0,.4), 0 0 28px rgba(168,85,247,.1); }
  .theme-halloween.theme-halloween.theme-halloween .product-card-image { background-color: #100b17; background-image: radial-gradient(ellipse at 78% 15%, rgba(168,85,247,.15), transparent 42%); }
  .theme-halloween.theme-halloween.theme-halloween .product-card-brand { color: #b99dcc; }
  .theme-halloween.theme-halloween.theme-halloween .product-card-title a { color: #f1e9f7; }
  .theme-halloween.theme-halloween.theme-halloween .product-card-title a:hover { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .product-card-price { border-top-color: rgba(168,85,247,.22); }
  .theme-halloween.theme-halloween.theme-halloween .product-card-price .price-now,
  .theme-halloween.theme-halloween.theme-halloween .price-now { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .price-old { color: #95869f; }
  .theme-halloween.theme-halloween.theme-halloween .product-price-badge,
  .theme-halloween.theme-halloween.theme-halloween .product-card-promo { color: #261006; background: linear-gradient(135deg,#ffd17c,#ff7a1a); border-color: rgba(255,230,183,.4); box-shadow: 0 5px 18px rgba(255,122,26,.2); }
  .theme-halloween.theme-halloween.theme-halloween .product-card-ribbon { color: #2b1007; background: linear-gradient(130deg,#ffc66f,#ff7a1a); box-shadow: 0 5px 18px rgba(255,122,26,.2); }
  .theme-halloween.theme-halloween.theme-halloween .product-card-ribbon-vedette { color: #fff; background: linear-gradient(120deg,#a855f7,#7436b5); }
  .theme-halloween.theme-halloween.theme-halloween .product-card-countdown { color: #e1c8fa; background: rgba(101,51,139,.24); border-color: rgba(168,85,247,.35); }
  .theme-halloween.theme-halloween.theme-halloween .product-card-countdown svg,
  .theme-halloween.theme-halloween.theme-halloween .product-card-countdown .cd-highlight { color: #ff9b75; }
  .theme-halloween.theme-halloween.theme-halloween .product-card-specs li { color: #b8a9c5; }
  .theme-halloween.theme-halloween.theme-halloween .product-card-specs svg { color: var(--hw-purple); }
  .theme-halloween.theme-halloween.theme-halloween .product-card-stock.is-urgent { color: #ffd18b; }
  .theme-halloween.theme-halloween.theme-halloween .product-card-stock.is-urgent .stock-dot.in { background: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .product-card-cta { border-color: rgba(168,85,247,.25); }
  .theme-halloween.theme-halloween.theme-halloween .product-card-actions { background: linear-gradient(to top, rgba(13,8,19,.88), transparent); }
  .theme-halloween.theme-halloween.theme-halloween .pca-btn { color: #e5d5f1; background: #1b1326; border-color: #49345f; }
  .theme-halloween.theme-halloween.theme-halloween .pca-btn:hover,
  .theme-halloween.theme-halloween.theme-halloween .pca-btn.is-active { color: #fff; background: linear-gradient(135deg,#ff7a1a,#a855f7); }
  .theme-halloween.theme-halloween.theme-halloween .qty-stepper { background: #100b17; border-color: var(--border-light); }
  .theme-halloween.theme-halloween.theme-halloween .qty-stepper button:hover { color: var(--hw-candle); background: var(--surface-hover); }

  /* Messages flottants et aperçu */
  .theme-halloween.theme-halloween.theme-halloween .toast { background: #1a1323; border-color: #49345f; box-shadow: 0 18px 48px rgba(0,0,0,.5); }
  .theme-halloween.theme-halloween.theme-halloween .toast-message { color: var(--text); }
  .theme-halloween.theme-halloween.theme-halloween .toast-icon { background: rgba(168,85,247,.14); color: #d3a7ff; }
  .theme-halloween.theme-halloween.theme-halloween .toast-info .toast-icon,
  .theme-halloween.theme-halloween.theme-halloween .toast-info .toast-progress { color: #d3a7ff; background-color: rgba(168,85,247,.16); }
  .theme-halloween.theme-halloween.theme-halloween .quickview-overlay { background: rgba(7,4,11,.86); }
  .theme-halloween.theme-halloween.theme-halloween .quickview-modal { background: #15101d; border-color: #49345f; box-shadow: 0 24px 70px rgba(0,0,0,.58); }
  .theme-halloween.theme-halloween.theme-halloween .quickview-image { background: #100b17; }
  .theme-halloween.theme-halloween.theme-halloween .quickview-close { color: #e9dff2; background: #261c35; border-color: #49345f; }

  /* En-tête et navigation */
  .theme-halloween.theme-halloween.theme-halloween .site-header { background: rgba(12,8,17,.97); border-bottom-color: rgba(168,85,247,.15); box-shadow: 0 12px 32px rgba(0,0,0,.32); }
  .theme-halloween.theme-halloween.theme-halloween .site-header::after { background: linear-gradient(90deg, transparent, rgba(255,122,26,.8) 22%, #a855f7 70%, transparent); opacity: .8; }
  .theme-halloween.theme-halloween.theme-halloween .site-header.is-scrolled { background: #0b0712; box-shadow: 0 14px 40px -14px rgba(0,0,0,.9); }
  .theme-halloween.theme-halloween.theme-halloween .site-nav { background: #0e0a14; border-top-color: rgba(168,85,247,.14); }
  .theme-halloween.theme-halloween.theme-halloween .nav-main a { color: #d9cde3; }
  .theme-halloween.theme-halloween.theme-halloween .nav-main a:hover,
  .theme-halloween.theme-halloween.theme-halloween .nav-dropdown > .nav-dropdown-link:hover { color: var(--hw-candle); background: rgba(255,122,26,.07); }
  .theme-halloween.theme-halloween.theme-halloween .nav-dropdown > .nav-dropdown-link.active,
  .theme-halloween.theme-halloween.theme-halloween .nav-main.open > a.active { color: #ffd18b; background: rgba(255,122,26,.1); }
  .theme-halloween.theme-halloween.theme-halloween .nav-dropdown-menu-inner,
  .theme-halloween.theme-halloween.theme-halloween .account-dropdown,
  .theme-halloween.theme-halloween.theme-halloween .search-suggestions { background: #171020; border-color: #49345f; box-shadow: 0 20px 48px rgba(0,0,0,.5); }
  .theme-halloween.theme-halloween.theme-halloween .nav-dropdown-menu .nav-dropdown-item,
  .theme-halloween.theme-halloween.theme-halloween .account-dropdown-item { color: #d9cde3; }
  .theme-halloween.theme-halloween.theme-halloween .nav-dropdown-menu .nav-dropdown-item:hover,
  .theme-halloween.theme-halloween.theme-halloween .account-dropdown-item:hover { color: #fff; background: #261c35; }
  .theme-halloween.theme-halloween.theme-halloween .nav-action-link { color: #e4d8ed; border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .nav-action-link:hover { color: #fff; border-color: rgba(255,122,26,.58); background: rgba(255,122,26,.08); }
  .theme-halloween.theme-halloween.theme-halloween .nav-action-cart:hover { background: linear-gradient(135deg,rgba(255,122,26,.2),rgba(168,85,247,.2)); }
  .theme-halloween.theme-halloween.theme-halloween .cart-count { color: #241006; background: linear-gradient(135deg,#ffd17c,#ff7a1a); box-shadow: 0 0 0 2px #0b0712, 0 4px 12px rgba(255,122,26,.35); }
  .theme-halloween.theme-halloween.theme-halloween .search-form { background: #100b17; border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .search-form:hover { border-color: #604576; }
  .theme-halloween.theme-halloween.theme-halloween .search-form:focus-within { border-color: var(--hw-orange); box-shadow: 0 0 0 3px rgba(255,122,26,.15); }
  .theme-halloween.theme-halloween.theme-halloween .search-form-submit { color: #bdabc9; }
  .theme-halloween.theme-halloween.theme-halloween .search-suggestion-item:hover,
  .theme-halloween.theme-halloween.theme-halloween .search-suggestion-item.active { background: #261c35; }
  .theme-halloween.theme-halloween.theme-halloween .search-suggestion-price { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .mobile-toggle,
  .theme-halloween.theme-halloween.theme-halloween .burger-btn { color: #e4d8ed; }
  .theme-halloween.theme-halloween.theme-halloween .burger-line { background: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .nav-main.open { background: #0e0a14; border-bottom-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .breadcrumb { color: #a99cb8; }
  .theme-halloween.theme-halloween.theme-halloween .breadcrumb a:hover { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .breadcrumb span::before { color: #715d81; }

  /* Confiance et pied de page */
  .theme-halloween.theme-halloween.theme-halloween .trust-strip,
  .theme-halloween.theme-halloween.theme-halloween .trust-band { background: #0d0913; border-color: rgba(168,85,247,.17); }
  .theme-halloween.theme-halloween.theme-halloween .trust-strip svg,
  .theme-halloween.theme-halloween.theme-halloween .trust-icon-tile { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .trust-icon-tile { background: linear-gradient(145deg,#21172d,#15101d); border-color: #49345f; }
  .theme-halloween.theme-halloween.theme-halloween .trust-icons-row .trust-icon-item:hover { border-color: rgba(255,122,26,.3); }
  .theme-halloween.theme-halloween.theme-halloween .site-footer { background-color: #0c0812; background-image: radial-gradient(ellipse at 18% 0%, rgba(168,85,247,.13), transparent 34%), linear-gradient(180deg,#0e0a14,#09070d); border-top-color: rgba(168,85,247,.25); }
  .theme-halloween.theme-halloween.theme-halloween .footer-grid h4,
  .theme-halloween.theme-halloween.theme-halloween .footer-col-info h4,
  .theme-halloween.theme-halloween.theme-halloween .footer-newsletter-band h4 { color: #f4edf9; }
  .theme-halloween.theme-halloween.theme-halloween .footer-brand-accent,
  .theme-halloween.theme-halloween.theme-halloween .footer-eyebrow,
  .theme-halloween.theme-halloween.theme-halloween .footer-contact-list svg { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .footer-grid a { color: #b9a9c5; }
  .theme-halloween.theme-halloween.theme-halloween .footer-grid a:hover,
  .theme-halloween.theme-halloween.theme-halloween .footer-grid ul li a:hover { color: #ffd18b; }
  .theme-halloween.theme-halloween.theme-halloween .footer-watermark { color: rgba(168,85,247,.13); background: linear-gradient(90deg,rgba(255,122,26,.15),rgba(168,85,247,.28)); background-clip: text; -webkit-text-fill-color: transparent; }
  .theme-halloween.theme-halloween.theme-halloween .footer-newsletter-band { background: linear-gradient(110deg,rgba(255,122,26,.08),rgba(168,85,247,.13)); border-color: rgba(168,85,247,.24); }
  .theme-halloween.theme-halloween.theme-halloween .footer-newsletter-band .footer-newsletter-form { border-color: #49345f; background: #110c19; }
  .theme-halloween.theme-halloween.theme-halloween .footer-newsletter-band .footer-newsletter-form:focus-within { border-color: var(--hw-orange); box-shadow: 0 0 0 3px rgba(255,122,26,.14); }
  .theme-halloween.theme-halloween.theme-halloween .footer-bottom { border-top-color: rgba(168,85,247,.2); }
  .theme-halloween.theme-halloween.theme-halloween .footer-socials a { color: #d8c6e7; background: #1b1326; border-color: #49345f; }
  .theme-halloween.theme-halloween.theme-halloween .footer-socials a:hover { color: #fff; background: linear-gradient(135deg,#ff7a1a,#a855f7); box-shadow: 0 8px 22px rgba(168,85,247,.22); }
  .theme-halloween.theme-halloween.theme-halloween .payment-icons .pi { background: #1b1326; border-color: #49345f; }
  .theme-halloween.theme-halloween.theme-halloween .cookie-banner { color: var(--text); background: #171020; border-color: #49345f; box-shadow: 0 16px 48px rgba(0,0,0,.4); }

  /* Pages boutique */
  .theme-halloween.theme-halloween.theme-halloween .shop-hero,
  .theme-halloween.theme-halloween.theme-halloween .shop-head,
  .theme-halloween.theme-halloween.theme-halloween .account-hero,
  .theme-halloween.theme-halloween.theme-halloween .legal-content,
  .theme-halloween.theme-halloween.theme-halloween .confiance-hero,
  .theme-halloween.theme-halloween.theme-halloween .concours-hero { color: var(--text); background-color: #120c1a; background-image: radial-gradient(ellipse at 82% 20%,rgba(255,179,71,.14),transparent 24%), radial-gradient(ellipse at 8% 100%,rgba(168,85,247,.16),transparent 38%), linear-gradient(125deg,#171020,#0d0913 72%); border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .shop-hero h1,
  .theme-halloween.theme-halloween.theme-halloween .shop-head h1 { color: #fff3e5; }
  .theme-halloween.theme-halloween.theme-halloween .shop-hero-glow { background: radial-gradient(ellipse,rgba(255,179,71,.16),transparent 70%); }
  .theme-halloween.theme-halloween.theme-halloween .shop-hero-stats div { background: rgba(14,10,20,.65); border-color: rgba(168,85,247,.22); }
  .theme-halloween.theme-halloween.theme-halloween .shop-hero-stats dd,
  .theme-halloween.theme-halloween.theme-halloween .shop-count strong { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .shop-hero-stats dt { color: #b7a7c2; }
  .theme-halloween.theme-halloween.theme-halloween .shop-subcat-chip { color: #d6c6e1; background: #191221; border-color: #49345f; }
  .theme-halloween.theme-halloween.theme-halloween .shop-subcat-chip:hover,
  .theme-halloween.theme-halloween.theme-halloween .shop-subcat-chip.active { color: #241006; background: linear-gradient(125deg,#ffb347,#ff7a1a); border-color: transparent; }
  .theme-halloween.theme-halloween.theme-halloween .filter-sidebar-card { background: #15101d; border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .filter-sidebar-title { color: #f0e6f6; }
  .theme-halloween.theme-halloween.theme-halloween .filter-sidebar-title::before { background: var(--hw-orange); }
  .theme-halloween.theme-halloween.theme-halloween .filter-group { border-top-color: #30233e; }
  .theme-halloween.theme-halloween.theme-halloween .filter-group-summary { color: #ddd0e7; }
  .theme-halloween.theme-halloween.theme-halloween .filter-checkbox { color: #c6b6d2; border-color: #382944; background: #110c19; }
  .theme-halloween.theme-halloween.theme-halloween .filter-checkbox:hover,
  .theme-halloween.theme-halloween.theme-halloween .filter-checkbox:has(input:checked) { border-color: rgba(255,122,26,.48); background: rgba(255,122,26,.08); }
  .theme-halloween.theme-halloween.theme-halloween .price-pill { color: #f5c887; background: rgba(255,122,26,.1); }
  .theme-halloween.theme-halloween.theme-halloween .price-range-track { background: rgba(255,255,255,.12); }
  .theme-halloween.theme-halloween.theme-halloween .price-range-track-active { background: linear-gradient(90deg,#ff7a1a,#a855f7); box-shadow: 0 0 10px rgba(255,122,26,.2); }
  .theme-halloween.theme-halloween.theme-halloween .price-range-input::-webkit-slider-thumb,
  .theme-halloween.theme-halloween.theme-halloween .price-range-input::-moz-range-thumb { background: var(--hw-orange); box-shadow: 0 0 0 4px rgba(255,122,26,.18); }
  .theme-halloween.theme-halloween.theme-halloween .sort-form select,
  .theme-halloween.theme-halloween.theme-halloween .sort-form input[type="search"] { color: var(--text); background: #100b17; border-color: #403050; }
  .theme-halloween.theme-halloween.theme-halloween .sort-form input[type="search"]:focus { border-color: var(--hw-orange); background-color: rgba(255,122,26,.05); }
  .theme-halloween.theme-halloween.theme-halloween .shop-3d #comparateurTable thead th,
  .theme-halloween.theme-halloween.theme-halloween .shop-3d #comparateurTable tbody th { background: #181121; color: #e4d6ee; }
  .theme-halloween.theme-halloween.theme-halloween .shop-3d #comparateurTable tbody td { border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .shop-3d #comparateurTable tbody tr:hover,
  .theme-halloween.theme-halloween.theme-halloween .specs-table tr:hover { background: rgba(168,85,247,.08); }
  .theme-halloween.theme-halloween.theme-halloween .specs-table th { color: #d9c7e8; background: #171020; }
  .theme-halloween.theme-halloween.theme-halloween .specs-table tr:nth-child(even) { background: rgba(168,85,247,.035); }
  .theme-halloween.theme-halloween.theme-halloween .trust-card { background: #171020; border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .trust-card-title strong { color: #fff; }
  .theme-halloween.theme-halloween.theme-halloween .trust-card-meta { border-top-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .v3d-eyebrow { color: #ffc36c; }

  /* Fiche produit */
  .theme-halloween.theme-halloween.theme-halloween .product-gallery-main,
  .theme-halloween.theme-halloween.theme-halloween .product-gallery-thumbs button { background-color: #100b17; border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .product-gallery-main::before { border-color: rgba(255,179,71,.22); }
  .theme-halloween.theme-halloween.theme-halloween .product-gallery-thumbs button.active,
  .theme-halloween.theme-halloween.theme-halloween .product-gallery-thumbs button:hover { border-color: var(--hw-orange); }
  .theme-halloween.theme-halloween.theme-halloween .product-info h1 { color: #fff4e8; }
  .theme-halloween.theme-halloween.theme-halloween .product-info .product-card-brand { color: #c4a6dc; }
  .theme-halloween.theme-halloween.theme-halloween .product-price { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .product-price .price-now { color: #ffc36c; }
  .theme-halloween.theme-halloween.theme-halloween .product-price-savings { color: #a9ff99; }
  .theme-halloween.theme-halloween.theme-halloween .product-highlight-box { background: linear-gradient(125deg,rgba(255,122,26,.1),rgba(168,85,247,.1)); border-color: rgba(255,122,26,.25); }
  .theme-halloween.theme-halloween.theme-halloween .product-ideal-pour svg { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .product-detail-fact,
  .theme-halloween.theme-halloween.theme-halloween .product-delivery-info { background: #171020; border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .product-detail-fact strong { color: #f3e8fa; }
  .theme-halloween.theme-halloween.theme-halloween .product-delivery-row-link:hover { background: rgba(255,122,26,.06); }
  .theme-halloween.theme-halloween.theme-halloween .product-delivery-row-link:hover strong { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .product-tabs-nav { border-bottom-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .product-tab { color: #b7a7c2; border-color: transparent; }
  .theme-halloween.theme-halloween.theme-halloween .product-tab:hover { color: #fff; background: rgba(168,85,247,.08); }
  .theme-halloween.theme-halloween.theme-halloween .product-tab.active { color: #ffd18b; border-color: var(--hw-orange); }
  .theme-halloween.theme-halloween.theme-halloween .product-tab:focus-visible { outline-color: var(--hw-orange); }
  .theme-halloween.theme-halloween.theme-halloween .review-item { border-bottom-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .readykit-item { background: #171020; border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .readykit-item:hover { border-color: rgba(255,122,26,.38); background: rgba(255,122,26,.05); }
  .theme-halloween.theme-halloween.theme-halloween .readykit-icon { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .buybar { background: rgba(14,10,20,.98); border-color: #49345f; box-shadow: 0 -10px 32px rgba(0,0,0,.42); }
  .theme-halloween.theme-halloween.theme-halloween .buybar::before { background: linear-gradient(90deg,#ff7a1a,#a855f7); }
  .theme-halloween.theme-halloween.theme-halloween .buybar-info span { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .buybar-btn { color: #210d03; background: linear-gradient(135deg,#ffb347,#ff7a1a); }

  /* Panier et commande */
  .theme-halloween.theme-halloween.theme-halloween .cart-item,
  .theme-halloween.theme-halloween.theme-halloween .cart-summary,
  .theme-halloween.theme-halloween.theme-halloween .checkout-layout > .card,
  .theme-halloween.theme-halloween.theme-halloween .checkout-summary,
  .theme-halloween.theme-halloween.theme-halloween .confirmation-box { background: linear-gradient(145deg,#191221,#110c19); border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .cart-summary,
  .theme-halloween.theme-halloween.theme-halloween .checkout-summary { box-shadow: 0 16px 42px rgba(0,0,0,.28), 0 0 26px rgba(168,85,247,.07); }
  .theme-halloween.theme-halloween.theme-halloween .checkout-steps::before { background: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .checkout-steps .step { color: #9f8eaa; }
  .theme-halloween.theme-halloween.theme-halloween .checkout-steps .step::before { color: #c6b5d1; background: #20172b; border-color: #49345f; box-shadow: 0 0 0 5px #0e0a14; }
  .theme-halloween.theme-halloween.theme-halloween .checkout-steps .step.active { color: #ffd18b; }
  .theme-halloween.theme-halloween.theme-halloween .checkout-steps .step.active::before { color: #241006; background: linear-gradient(135deg,#ffb347,#ff7a1a); border-color: #ff9a38; box-shadow: 0 0 0 5px #0e0a14, 0 0 18px rgba(255,122,26,.2); }
  .theme-halloween.theme-halloween.theme-halloween .checkout-steps .step.done { color: #d4aaff; }
  .theme-halloween.theme-halloween.theme-halloween .checkout-steps .step.done::before { color: #fff; background: #7134a1; border-color: #a855f7; }
  .theme-halloween.theme-halloween.theme-halloween .checkout-summary hr { background: linear-gradient(90deg,rgba(255,122,26,.65),rgba(168,85,247,.45),transparent); }
  .theme-halloween.theme-halloween.theme-halloween .checkout-layout h2,
  .theme-halloween.theme-halloween.theme-halloween .checkout-layout h3,
  .theme-halloween.theme-halloween.theme-halloween .checkout-summary h3 { color: #f4eafa; }
  .theme-halloween.theme-halloween.theme-halloween .confirmation-box > svg { color: var(--hw-slime); }
  .theme-halloween.theme-halloween.theme-halloween .cart-item-price,
  .theme-halloween.theme-halloween.theme-halloween .cart-line-price { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .promo-code,
  .theme-halloween.theme-halloween.theme-halloween .coupon-form { border-color: rgba(255,122,26,.28); }
  .theme-halloween.theme-halloween.theme-halloween .checkout-payment-badges img { background: #fff; }
  .theme-halloween.theme-halloween.theme-halloween .checkout-stripe-badge { color: #baabc6; }
  .theme-halloween.theme-halloween.theme-halloween .checkout-stripe-badge strong { color: #f0e6f6; }

  /* Espace client et messagerie */
  .theme-halloween.theme-halloween.theme-halloween .account-hero { border-color: rgba(168,85,247,.28); }
  .theme-halloween.theme-halloween.theme-halloween .account-hero::after { border-color: rgba(255,179,71,.18); box-shadow: 0 0 0 28px rgba(255,122,26,.025), 0 0 0 58px rgba(168,85,247,.04); }
  .theme-halloween.theme-halloween.theme-halloween .account-eyebrow { color: #c2b1cf; }
  .theme-halloween.theme-halloween.theme-halloween .account-eyebrow i { background: var(--hw-orange); }
  .theme-halloween.theme-halloween.theme-halloween .account-greeting,
  .theme-halloween.theme-halloween.theme-halloween .account-greeting span { color: #fff1e1; }
  .theme-halloween.theme-halloween.theme-halloween .account-hero-avatar { color: #fff; background: linear-gradient(#171020,#171020) padding-box, linear-gradient(135deg,#ff7a1a,#a855f7) border-box; box-shadow: 0 0 0 4px rgba(168,85,247,.13); }
  .theme-halloween.theme-halloween.theme-halloween .account-hero-meta { color: #b7a7c2; }
  .theme-halloween.theme-halloween.theme-halloween .account-nav > a { color: #c8b8d4; }
  .theme-halloween.theme-halloween.theme-halloween .account-nav > a:hover,
  .theme-halloween.theme-halloween.theme-halloween .account-nav > a.active { color: #ffd18b; background: rgba(255,122,26,.09); border-color: rgba(255,122,26,.28); }
  .theme-halloween.theme-halloween.theme-halloween .account-nav > a > svg { color: #ba9fd0; }
  .theme-halloween.theme-halloween.theme-halloween .account-stat { background: linear-gradient(145deg,#1d1528,#120d1a); border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .account-stat strong,
  .theme-halloween.theme-halloween.theme-halloween .account-stat-value { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .account-mini-track { border-top-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .account-mini-track li { color: #a99cb8; }
  .theme-halloween.theme-halloween.theme-halloween .account-mini-track li.is-done { color: #dbffd4; }
  .theme-halloween.theme-halloween.theme-halloween .account-mini-track li::before { background: rgba(168,85,247,.28); }
  .theme-halloween.theme-halloween.theme-halloween .account-mini-track li::after { background: #171020; border-color: var(--hw-purple); }
  .theme-halloween.theme-halloween.theme-halloween .account-address-add { background: rgba(168,85,247,.035); border-color: #49345f; }
  .theme-halloween.theme-halloween.theme-halloween .account-address-add summary { color: #d9cce4; }
  .theme-halloween.theme-halloween.theme-halloween .account-address-add summary span { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .account-address-add[open] summary { border-bottom-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .account-address-card { background: #171020; border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .address-card { background-color: rgba(7,4,11,.45); }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .conv-list-item { background: #171020; border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .conv-list-item:hover { border-color: rgba(255,122,26,.45); background-color: rgba(255,122,26,.04); }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .conv-list-item.is-unread { border-color: rgba(168,85,247,.5); background: linear-gradient(110deg,rgba(168,85,247,.1),rgba(255,122,26,.035)); }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .conv-list-item.is-unread .conv-list-item-main strong { color: #e0bfff; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .conv-list-item:focus-visible { outline-color: var(--hw-orange); }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .conv-list-item-main strong { color: #f1e8f8; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .chat-panel,
  .theme-halloween.theme-halloween.theme-halloween .account-layout .chat-messages { background: #100b17; border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .chat-form { background: #171020; border-color: #49345f; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .chat-bubble { color: #f0e7f6; background: #261c35; border-color: #49345f; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .chat-bubble-row.is-mine .chat-bubble { color: #fff; background: linear-gradient(135deg,#65339a,#51256f); }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .chat-bubble-row.is-systeme .chat-bubble { color: #c9b9d4; background: #171020; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .chat-bubble-heure,
  .theme-halloween.theme-halloween.theme-halloween .account-layout .conv-list-item > .text-faint { color: #a99cb8; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .chat-quick-replies { color: #d1c1dc; border-top-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .empty-state { color: #b8a9c5; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .empty-state svg { color: #b783e8; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .support-presence.is-online { color: #aaff9c; }
  .theme-halloween.theme-halloween.theme-halloween .account-layout .support-presence.is-online .support-presence-dot { background: var(--hw-slime); }

  /* Pages éditoriales et erreur 404 */
  .theme-halloween.theme-halloween.theme-halloween .legal-content { --legal-ink: #f3eef8; --legal-muted: #b8a9c5; color: var(--legal-ink); border-color: #382944; }
  .theme-halloween.theme-halloween.theme-halloween .legal-content h1,
  .theme-halloween.theme-halloween.theme-halloween .legal-content h2,
  .theme-halloween.theme-halloween.theme-halloween .page-404 h1 { color: #fff0df; }
  .theme-halloween.theme-halloween.theme-halloween .legal-content p,
  .theme-halloween.theme-halloween.theme-halloween .legal-content ul,
  .theme-halloween.theme-halloween.theme-halloween .legal-content ol,
  .theme-halloween.theme-halloween.theme-halloween .legal-content td { color: #d2c5dc; }
  .theme-halloween.theme-halloween.theme-halloween .legal-content h2::before { background: linear-gradient(180deg,var(--hw-orange),var(--hw-purple)); }
  .theme-halloween.theme-halloween.theme-halloween .legal-content li::marker { color: var(--hw-candle); }
  .theme-halloween.theme-halloween.theme-halloween .legal-content code { color: #e3c4ff; background: #20172b; }
  .theme-halloween.theme-halloween.theme-halloween .legal-content a { color: #e0bfff; text-decoration-color: rgba(168,85,247,.55); }
  .theme-halloween.theme-halloween.theme-halloween .legal-content a:hover { color: #ffd18b; }
  .theme-halloween.theme-halloween.theme-halloween .legal-content table { background: #15101d; }
  .theme-halloween.theme-halloween.theme-halloween .legal-content th,
  .theme-halloween.theme-halloween.theme-halloween .legal-content td { border-color: rgba(168,85,247,.18); }
  .theme-halloween.theme-halloween.theme-halloween .legal-content th { color: #d3c2e0; background: #1c1527; }
  .theme-halloween.theme-halloween.theme-halloween .page-404 .empty-state { background: radial-gradient(ellipse at 50% 10%,rgba(168,85,247,.15),transparent 50%), linear-gradient(145deg,#171020,#0e0a14); border-color: #49345f; }
  .theme-halloween.theme-halloween.theme-halloween .page-404 .error-code { color: #ffb347; font-family: var(--font-spooky); text-shadow: 0 4px 0 rgba(255,122,26,.12), 0 0 34px rgba(255,122,26,.18); }
  .theme-halloween.theme-halloween.theme-halloween .page-404 p { color: #c1b2cd; }
  .theme-halloween.theme-halloween.theme-halloween .page-404-actions .btn-outline { border-color: #68458a; }
  .theme-halloween.theme-halloween.theme-halloween .page-404-actions .btn-outline:hover { border-color: var(--hw-orange); color: #ffd18b; }
  .theme-halloween.theme-halloween.theme-halloween .concours-card,
  .theme-halloween.theme-halloween.theme-halloween .confiance-card,
  .theme-halloween.theme-halloween.theme-halloween .legal-card { background: #171020; border-color: #382944; }

  /* Transitions discrètes et mouvement réduit */
  @media (prefers-reduced-motion: no-preference) {
    .theme-halloween.theme-halloween.theme-halloween .btn-primary { transition: transform .2s ease, color .2s ease, background-color .2s ease; }
    .theme-halloween.theme-halloween.theme-halloween .product-card,
    .theme-halloween.theme-halloween.theme-halloween .card-hover,
    .theme-halloween.theme-halloween.theme-halloween .footer-socials a { transition: transform .25s ease, border-color .25s ease, color .25s ease, background-color .25s ease; }
  }
  @media (prefers-reduced-motion: reduce) {
    .theme-halloween.theme-halloween.theme-halloween *,
    .theme-halloween.theme-halloween.theme-halloween *::before,
    .theme-halloween.theme-halloween.theme-halloween *::after { scroll-behavior: auto !important; }
  }

  /* Silhouette nocturne fixe du pied de page */
  .theme-halloween.theme-halloween.theme-halloween .site-footer {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 130' preserveAspectRatio='none'%3E%3Cpath fill='%2307050b' d='M0 130V90l28-11 16 12 11-21 16 20 13-8 10 18 25-7 8 15h34l14-17 17 9 9-25 9 22 14-7 15 20h44l11-13 15 4 8-28 10 22 11-8 15 23h42l12-16 12 9 11-32 8 25 18-9 13 23h54l12-18 16 12 12-31 8 27 17-8 14 18h51l15-17 13 9 12-28 8 27 14-9 18 18h45l12-14 15 7 9-30 11 26 16-9 15 20h48l14-19 13 10 10-29 9 24 15-8 16 22h57l12-15 12 7 12-33 10 27 16-9 12 23h55l12-17 14 8 12-29 9 24 17-9 16 23h54l10-15 15 7 11-31 9 25 18-8 12 22h58l14-17 13 9 10-29 9 26 17-10 15 21h66l13-16 15 8 8-24 10 21 14-9 16 20h61v41Z'/%3E%3Ccircle cx='1190' cy='37' r='24' fill='%23ffb347' fill-opacity='.12'/%3E%3C/svg%3E"), radial-gradient(ellipse at 18% 0%, rgba(168,85,247,.13), transparent 34%), linear-gradient(180deg,#0e0a14,#09070d);
    background-repeat: no-repeat;
    background-position: center top, center, center;
    background-size: 100% 100px, auto, auto;
  }
}

/* ==========================================================================
   EFFETS HALLOWEEN GLOBAUX (ruban d'offre, logo, chauves-souris, fantome)
   Balisage : templates/header.php (.hw-ribbon, .hw-brand-deco) et
   assets/js/halloween.js (.hw-volee, .hw-fantome).
   ========================================================================== */
@media screen {
  /* ---------- Ruban d'offre au-dessus de l'en-tete ---------- */
  .hw-ribbon {
    position: relative;
    z-index: 101;
    background:
      radial-gradient(ellipse 30% 140% at 50% 0%, rgba(255, 122, 26, 0.22), transparent 70%),
      linear-gradient(90deg, #160b1f, #251133 40%, #2e1510 70%, #160b1f);
    border-bottom: 1px solid rgba(255, 122, 26, 0.35);
    color: #f3eef8;
    font-size: 0.86rem;
  }
  .hw-ribbon-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px 16px;
    min-height: 42px;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  .hw-ribbon-pumpkin { flex: none; width: 22px; height: 22px; }
  .hw-ribbon-pumpkin svg { display: block; width: 100%; height: 100%; }
  .hw-ribbon-text { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 4px 10px; margin: 0; }
  .hw-ribbon-text strong { font-family: var(--font-spooky); font-size: 1.08rem; font-weight: 400; letter-spacing: 0.05em; color: #ffb347; }
  .hw-ribbon-text span { color: #ddd0e9; }
  .hw-ribbon-code {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 3px 4px 3px 12px;
    border: 1px dashed rgba(255, 179, 71, 0.7);
    border-radius: 10px;
    background: rgba(255, 122, 26, 0.08);
    color: #ffd166;
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: 0.86rem;
    letter-spacing: 0.14em;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
  }
  .hw-ribbon-code:hover { border-style: solid; background: rgba(255, 122, 26, 0.16); }
  .hw-ribbon-code:focus-visible { outline: 2px solid #ffb347; outline-offset: 2px; }
  .hw-ribbon-code small {
    padding: 3px 9px;
    border-radius: 7px;
    background: #ff7a1a;
    color: #1d0b02;
    font-family: var(--font-base);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0;
  }
  .hw-ribbon-code.is-copied small { background: #7dff6a; }
  .hw-ribbon-link { display: inline-flex; align-items: center; gap: 6px; color: #e2cffa; font-weight: 600; }
  .hw-ribbon-link svg { width: 14px; height: 14px; transition: transform 0.2s ease; }
  .hw-ribbon-link:hover { color: #ffb347; }
  .hw-ribbon-link:hover svg { transform: translateX(3px); }
  @media (max-width: 640px) {
    .hw-ribbon { font-size: 0.78rem; }
    .hw-ribbon-inner { gap: 4px 10px; min-height: 38px; }
    .hw-ribbon-text strong, .hw-ribbon-link { display: none; }
  }

  /* ---------- Logo : teinte citrouille + chapeau de sorciere + araignee ---------- */
  .theme-halloween .brand { position: relative; }
  .theme-halloween .brand-logo-full { filter: hue-rotate(176deg) saturate(1.7) brightness(1.04); }
  .hw-brand-deco { position: absolute; inset: 0; pointer-events: none; }
  .hw-brand-hat {
    position: absolute;
    left: -7px;
    top: -15px;
    width: 32px;
    transform: rotate(-16deg);
    transform-origin: 50% 90%;
    transition: transform 0.4s var(--ease-bounce);
  }
  .brand:hover .hw-brand-hat { transform: rotate(-4deg) translateY(-3px); }
  .hw-brand-spider { position: absolute; right: -14px; top: 2px; width: 14px; }
  .hw-brand-spider::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 75%;
    width: 1px;
    height: 60px;
    background: linear-gradient(to top, rgba(255, 255, 255, 0.45), rgba(255, 255, 255, 0));
  }
  .hw-brand-spider svg { position: relative; display: block; width: 100%; }
  .site-header .hw-brand-hat { width: 32px; left: -8px; top: -16px; filter: drop-shadow(0 0 6px rgba(168, 85, 247, 0.55)); }
  @media (max-width: 640px) {
    .site-header .hw-brand-hat { width: 22px; left: -5px; top: -10px; }
    .hw-brand-spider { display: none; }
  }

  /* ---------- Cartes produit : fondu raccord + toile d'araignee au survol ---------- */
  .theme-halloween .product-card-image::after { background: linear-gradient(to top, #140f1c, rgba(20, 15, 28, 0)); }
  .theme-halloween .product-card-image::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    width: 88px;
    height: 88px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='white' stroke-opacity='.55' stroke-width='1'%3E%3Cpath d='M120 0 0 120M120 0 30 120M120 0 70 120M120 0 0 70M120 0 0 30'/%3E%3Cpath d='M96 0c2 10 8 18 24 24M72 0c3 20 14 36 48 48M48 0c4 30 22 56 72 72M24 0c5 40 32 76 96 96'/%3E%3C/g%3E%3C/svg%3E") top right / contain no-repeat;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
  }
  .theme-halloween .product-card:hover .product-card-image::before { opacity: 0.7; }

  /* ---------- Bandeau de confiance (cartes encore bleu nuit sinon) ---------- */
  .theme-halloween .trust-icons-row .trust-icon-item {
    background: linear-gradient(160deg, rgba(255, 150, 80, 0.06), rgba(255, 255, 255, 0.012) 55%), #140f1c;
    border-color: rgba(168, 85, 247, 0.18);
  }
  .theme-halloween .trust-icons-row .trust-icon-item:hover { border-color: rgba(255, 122, 26, 0.4); }

  /* ---------- Volee de chauves-souris (halloween.js, ordinateur seulement) ---------- */
  .hw-volee { position: fixed; inset: 0; z-index: 90; overflow: hidden; pointer-events: none; }
  .hw-volee-bat {
    position: absolute;
    left: 0;
    transform: translate3d(-10vw, 0, 0);
    animation: hw-volee 5.4s cubic-bezier(0.4, 0.1, 0.6, 0.9) forwards;
  }
  .hw-volee-bat svg {
    display: block;
    width: 100%;
    fill: #1a0f26;
    stroke: rgba(255, 150, 80, 0.6);
    stroke-width: 1;
    transform-origin: 50% 45%;
    animation: hw-volee-ailes 0.16s ease-in-out infinite alternate;
  }
  @keyframes hw-volee {
    0% { transform: translate3d(-10vw, 0, 0); }
    50% { transform: translate3d(50vw, -7vh, 0); }
    100% { transform: translate3d(112vw, 5vh, 0); }
  }
  @keyframes hw-volee-ailes { from { transform: scaleY(1); } to { transform: scaleY(0.3); } }

  /* ---------- Fantome de l'easter egg "boo" ---------- */
  .hw-fantome {
    position: fixed;
    z-index: 2002;
    left: 0;
    bottom: 20vh;
    width: 88px;
    pointer-events: none;
    animation: hw-fantome 5s ease-in-out forwards;
  }
  .hw-fantome svg { display: block; width: 100%; filter: drop-shadow(0 0 20px rgba(200, 180, 255, 0.65)); }
  .hw-fantome span {
    position: absolute;
    top: -30px;
    left: 70px;
    padding: 4px 12px;
    border-radius: 14px 14px 14px 2px;
    background: #f4eefb;
    color: #1a1024;
    font-family: var(--font-spooky);
    font-size: 1.2rem;
    white-space: nowrap;
  }
  .hw-fantome.is-static { left: 50%; top: 40%; bottom: auto; margin-left: -44px; animation: none; }
  @keyframes hw-fantome {
    0% { transform: translate3d(-120px, 0, 0); opacity: 0; }
    10% { opacity: 0.95; }
    50% { transform: translate3d(48vw, -14vh, 0); }
    90% { opacity: 0.95; }
    100% { transform: translate3d(calc(100vw + 40px), 0, 0); opacity: 0; }
  }

  @media (prefers-reduced-motion: no-preference) {
    .hw-brand-spider { animation: hw-araignee 3.4s ease-in-out infinite; }
  }
  @keyframes hw-araignee { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, 6px, 0); } }
}

/* ==========================================================================
   COULEURS CODEES EN DUR (genere par script) : bleu/cyan -> citrouille,
   indigo -> violet sorciere, bleu nuit -> nuit violette. Couleurs uniquement.
   ========================================================================== */
@media screen {
  /* --- components.css --- */
  .theme-halloween .btn-primary { box-shadow: 0 4px 16px rgba(179, 92, 255, 0.35); }
  .theme-halloween .btn-primary:hover { box-shadow: 0 10px 28px rgba(179, 92, 255, 0.5); }
  .theme-halloween .badge-primary { background: rgba(179, 92, 255, 0.15); }
  .theme-halloween .alert-info { background: rgba(255, 110, 0, 0.1); border-color: rgba(255, 110, 0, 0.3); }
  .theme-halloween .form-control:focus { box-shadow: 0 0 0 3px rgba(179, 92, 255, 0.2); }
  .theme-halloween .product-card { background: linear-gradient(165deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.012) 45%), #1b1123; }
  .theme-halloween .product-card::before { background: linear-gradient(140deg, rgba(201, 139, 255, 0.8), rgba(255, 110, 0, 0.25) 35%, transparent 60%, rgba(255, 110, 0, 0.55)); }
  .theme-halloween .product-card:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 36px 70px -30px rgba(0, 0, 0, 0.95), 0 26px 60px -30px rgba(255, 146, 62, 0.45); }
  .theme-halloween .product-card-image { background: #130b18; }
  .theme-halloween .product-card-image::after { background: linear-gradient(to top, #1b1123, rgba(27, 17, 35, 0)); }
  @media (hover: none) {
    .theme-halloween .product-card-actions { background: linear-gradient(to top, rgba(15, 10, 19, 0.75), transparent); }
  }
  .theme-halloween .product-card-countdown { background: rgba(15, 10, 19, 0.85); }
  .theme-halloween .product-card-specs svg { background: rgba(255, 146, 62, 0.1); box-shadow: inset 0 0 0 1px rgba(255, 146, 62, 0.18); color: #ffa45f; }
  .theme-halloween .toast-info .toast-icon { background: rgba(255, 110, 0, 0.12); }
  .theme-halloween .quickview-overlay { background: rgba(6, 4, 8, 0.75); }
  /* --- layout.css --- */
  .theme-halloween .site-header { background: rgba(15, 10, 19, 0.85); }
  .theme-halloween .site-header.is-scrolled { background: rgba(15, 10, 19, 0.96); }
  .theme-halloween .search-form:focus-within { box-shadow: 0 0 0 4px rgba(179, 92, 255, 0.16), var(--shadow-glow); }
  .theme-halloween .search-overlay-input-wrap:focus-within { box-shadow: 0 4px 20px -8px rgba(179, 92, 255, 0.5); }
  .theme-halloween .site-header { background: #0f0913; }
  .theme-halloween .site-header::after { background: linear-gradient(90deg, transparent, rgba(179, 92, 255, 0.7) 20%, rgba(255, 110, 0, 0.7) 80%, transparent); }
  .theme-halloween .site-header.is-scrolled { background: #0f0913; }
  @media (min-width: 641px) {
    .theme-halloween .search-form:focus-within { border-color: rgba(255, 110, 0, 0.6); box-shadow: 0 0 0 4px rgba(255, 110, 0, 0.12); }
    .theme-halloween .account-trigger:hover,
    .theme-halloween .nav-action-link:hover { border-color: rgba(255, 110, 0, 0.5); background: rgba(255, 110, 0, 0.06); }
    .theme-halloween .nav-action-cart { background: linear-gradient(135deg, rgba(179, 92, 255, 0.24), rgba(255, 110, 0, 0.14)); border-color: rgba(179, 92, 255, 0.5); }
    .theme-halloween .nav-action-cart:hover { background: linear-gradient(135deg, rgba(179, 92, 255, 0.34), rgba(255, 110, 0, 0.22)); }
  }
  .theme-halloween .cart-count { box-shadow: 0 0 0 2px #0f0913, 0 4px 12px -2px rgba(179, 92, 255, 0.7); }
  .theme-halloween .account-dropdown,
  .theme-halloween .nav-dropdown-menu-inner { background: #1b1123; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(179, 92, 255, 0.12); }
  .theme-halloween .site-nav { background: #120b17; }
  @media (min-width: 861px) {
    .theme-halloween .nav-main > a.active,
    .theme-halloween .nav-dropdown > .nav-dropdown-link.active { background: rgba(179, 92, 255, 0.14); box-shadow: inset 0 0 0 1px rgba(179, 92, 255, 0.4); }
    .theme-halloween .nav-trust-item svg { background: rgba(255, 110, 0, 0.1); }
  }
  @media (max-width: 860px) {
    .theme-halloween .nav-main.open { background: #120b17; }
    .theme-halloween .nav-main.open > a.active { background: rgba(179, 92, 255, 0.14); }
  }
  .theme-halloween .account-avatar-mini { background: linear-gradient(135deg, #b35cff, #ff6e00); box-shadow: 0 0 0 2px #0f0913, 0 0 0 3px rgba(179, 92, 255, 0.55), 0 6px 16px -6px rgba(255, 110, 0, 0.7); }
  .theme-halloween .account-avatar-mini::after { box-shadow: 0 0 0 2px #0f0913; }
  @media (min-width: 641px) {
    .theme-halloween .account-trigger::before,
    .theme-halloween .nav-action-link::before { background: conic-gradient(from var(--beam), transparent 0 52%, rgba(179, 92, 255, 0.95) 68%, #ff6e00 84%, transparent 100%); }
    .theme-halloween .account-trigger:hover,
    .theme-halloween .nav-action-link:hover,
    .theme-halloween .account-menu.open .account-trigger { box-shadow: 0 12px 30px -12px rgba(255, 110, 0, 0.55), 0 0 0 1px rgba(179, 92, 255, 0.18); }
    .theme-halloween .nav-action-cart .nav-action-text small { color: #ffd7b9; }
  }
  .theme-halloween .trust-band { background: #0f0913; }
  .theme-halloween .trust-icons-row .trust-icon-item { background: linear-gradient(160deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.012) 55%), #19101f; }
  .theme-halloween .trust-icons-row .trust-icon-item:hover { border-color: rgba(255, 110, 0, 0.35); box-shadow: 0 24px 50px -28px rgba(255, 146, 62, 0.55); }
  .theme-halloween .trust-icon-tile { background: linear-gradient(145deg, rgba(179, 92, 255, 0.22), rgba(255, 110, 0, 0.1)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 12px 26px -12px rgba(179, 92, 255, 0.7); }
  .theme-halloween .site-footer { background: radial-gradient(ellipse 50% 60% at 0% 0%, rgba(179, 92, 255, 0.12), transparent 70%),
    radial-gradient(ellipse 40% 50% at 100% 100%, rgba(255, 110, 0, 0.08), transparent 70%),
    #0c070f; }
  .theme-halloween .site-footer::before { background: linear-gradient(90deg, transparent, rgba(179, 92, 255, 0.7) 20%, rgba(255, 110, 0, 0.7) 80%, transparent); }
  .theme-halloween .footer-newsletter-band { background: radial-gradient(ellipse 60% 120% at 0% 50%, rgba(179, 92, 255, 0.25), transparent 70%),
    radial-gradient(ellipse 50% 120% at 100% 50%, rgba(255, 110, 0, 0.14), transparent 70%),
    #19101f; border: 1px solid rgba(179, 92, 255, 0.3); box-shadow: 0 30px 60px -36px rgba(179, 92, 255, 0.6); }
  .theme-halloween .footer-newsletter-band .footer-newsletter-form:focus-within { border-color: rgba(255, 110, 0, 0.6); box-shadow: 0 0 0 4px rgba(255, 110, 0, 0.12); }
  .theme-halloween .footer-watermark { background: linear-gradient(180deg, rgba(179, 92, 255, 0.28), rgba(255, 110, 0, 0.06) 60%, transparent 90%); }
  .theme-halloween .footer-socials a:hover { box-shadow: 0 10px 22px -10px rgba(179, 92, 255, 0.8); }
  /* --- home.css --- */
  .theme-halloween .box3d { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07),
    inset 0 -1px 0 rgba(0, 0, 0, 0.45),
    0 2px 0 rgba(0, 0, 0, 0.35),
    0 28px 60px -30px rgba(0, 0, 0, 0.85),
    0 20px 50px -30px rgba(179, 92, 255, 0.35); }
  .theme-halloween .box3d::before { background: linear-gradient(140deg, rgba(201, 139, 255, 0.75), rgba(255, 110, 0, 0.2) 35%, transparent 60%, rgba(255, 110, 0, 0.45)); }
  .theme-halloween .box3d:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1),
    inset 0 -1px 0 rgba(0, 0, 0, 0.45),
    0 2px 0 rgba(0, 0, 0, 0.35),
    0 40px 80px -30px rgba(0, 0, 0, 0.9),
    0 30px 70px -28px rgba(179, 92, 255, 0.55); }
  .theme-halloween .promo-bar { background: linear-gradient(90deg, rgba(179, 92, 255, 0.16), rgba(255, 110, 0, 0.09) 50%, rgba(179, 92, 255, 0.16)),
    #120b17; }
  .theme-halloween .promo-bar::after { background: linear-gradient(90deg, transparent, rgba(179, 92, 255, 0.85) 25%, rgba(255, 110, 0, 0.85) 75%, transparent); }
  .theme-halloween .promo-bar-code:hover { background: rgba(255, 110, 0, 0.08); }
  .theme-halloween .promo-bar-code-action { color: #0f0a13; }
  .theme-halloween .hero3d-glow-1 { background: radial-gradient(circle, rgba(172, 77, 255, 0.3), transparent 62%); }
  .theme-halloween .hero3d-glow-2 { background: radial-gradient(circle, rgba(255, 110, 0, 0.24), transparent 62%); }
  .theme-halloween .hero3d-floor { background-image: linear-gradient(rgba(255, 146, 62, 0.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 146, 62, 0.22) 1px, transparent 1px); }
  .theme-halloween .hero3d-title-outline > span { color: #110b16; }
  .theme-halloween .hero3d-cta { box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset, 0 14px 34px -10px rgba(179, 92, 255, 0.7); }
  .theme-halloween .hero3d-cta-ghost:hover { border-color: rgba(255, 110, 0, 0.5); }
  .theme-halloween .hero3d-spot { background: radial-gradient(ellipse 42% 48% at 54% 44%, rgba(255, 146, 62, 0.22), transparent 70%),
    radial-gradient(ellipse 34% 16% at 54% 90%, rgba(255, 146, 62, 0.16), transparent 70%); }
  .theme-halloween .pc3d-shadow::after { border: 1px solid rgba(255, 146, 62, 0.5); box-shadow: 0 0 24px rgba(255, 146, 62, 0.35), inset 0 0 24px rgba(255, 146, 62, 0.2); }
  .theme-halloween .pc3d-face { background: linear-gradient(180deg, #271a30, #110b16); }
  .theme-halloween .pc3d-front { border: 6px solid #140c19; background: radial-gradient(ellipse at 50% 50%, rgba(255, 146, 62, 0.1), transparent 70%), #0e0812; }
  .theme-halloween .pc3d-glass { background: linear-gradient(118deg, rgba(255, 255, 255, 0.17) 0%, rgba(255, 255, 255, 0.035) 20%, transparent 38%, transparent 64%, rgba(255, 255, 255, 0.06) 76%, transparent 88%),
    rgba(210, 142, 90, 0.045); border: 5px solid #110b16; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12), inset 0 0 50px rgba(255, 146, 62, 0.12); }
  .theme-halloween .pc3d-top { background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0 2px, transparent 2px 9px) 18px 30px / calc(100% - 36px) calc(100% - 60px) no-repeat,
    linear-gradient(90deg, #2f2139, #1c1224); }
  .theme-halloween .pc3d-bottom { background: #0c070f; }
  .theme-halloween .pc3d-fan { background: radial-gradient(circle, #140c19 0 14%, rgba(255, 255, 255, 0.2) 14.5% 15.5%, transparent 16%),
    repeating-conic-gradient(from 8deg, rgba(235, 187, 150, 0.14) 0deg 18deg, rgba(14, 8, 18, 0.92) 18deg 40deg),
    #0e0812; box-shadow: 0 0 0 2px #0a060d,
    0 0 0 4px var(--led),
    0 0 18px 3px var(--led-soft),
    inset 0 0 0 6px rgba(10, 6, 13, 0.9),
    inset 0 0 22px var(--led-soft); }
  .theme-halloween .pc3d-board { background: linear-gradient(180deg, #352540, #1f1527) 64% 20px / 118px 16px no-repeat,
    linear-gradient(135deg, #2f203a, #1c1224) 8% 252px / 52px 40px no-repeat,
    linear-gradient(90deg, #382844, #271a30) 62% 300px / 214px 5px no-repeat,
    radial-gradient(ellipse 60% 45% at 58% 26%, rgba(255, 146, 62, 0.24), transparent 70%),
    linear-gradient(180deg, #160d1d, #0e0812); }
  .theme-halloween .pc3d-io { background: repeating-linear-gradient(180deg, #3a2a46 0 10px, #170f1d 10px 16px); }
  .theme-halloween .pc3d-cable { background: repeating-linear-gradient(90deg, #f3e8df 0 3px, #8d97ad 3px 5px); }
  .theme-halloween .pc3d-ssd { background: linear-gradient(90deg, #3a2a46, #211629); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1), 0 0 10px rgba(255, 146, 62, 0.35); }
  .theme-halloween .pc3d-psu { background: linear-gradient(90deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02)) 0 0 / 100% 1px no-repeat,
    radial-gradient(circle, rgba(255, 255, 255, 0.07) 1px, transparent 1.6px) 72% 50% / 7px 7px,
    linear-gradient(180deg, #201628, #110b16); }
  .theme-halloween .pc3d-psu em { color: #ffe4cf; }
  .theme-halloween .pc3d-ram i { background: linear-gradient(180deg, #fff3ea 0 4px, var(--led) 4px 9px, #291b33 9px, #19101f); box-shadow: 0 0 10px rgba(255, 146, 62, 0.45); }
  .theme-halloween .pc3d-pump { box-shadow: 0 0 0 3px #100a15, 0 0 20px var(--led-soft), 0 12px 22px rgba(0, 0, 0, 0.6); }
  .theme-halloween .pc3d-pump::before { border: 5px solid #291c32; }
  .theme-halloween .pc3d-rad { background: linear-gradient(90deg, transparent 0 6%, rgba(255, 146, 62, 0.85) 6% 94%, transparent 94%) 0 100% / 100% 2px no-repeat,
    repeating-linear-gradient(90deg, #392a44 0 2px, #1e1425 2px 5px); }
  .theme-halloween .pc3d-gpu { background: linear-gradient(90deg, transparent 0 5%, var(--led) 5% 62%, transparent 62%) 0 100% / 100% 2px no-repeat,
    linear-gradient(180deg, #3c2c48 0%, #211729 55%, #140d19 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), inset 0 -3px 0 #100a15, 0 16px 26px rgba(0, 0, 0, 0.65); }
  .theme-halloween .pc3d-gpu em { color: #fff5ee; }
  .theme-halloween .hero3d-chip { background: rgba(21, 13, 27, 0.9); }
  .theme-halloween .hero3d-price { border-color: rgba(255, 146, 62, 0.45); background: linear-gradient(135deg, rgba(255, 146, 62, 0.2), rgba(21, 13, 27, 0.94) 62%); box-shadow: 0 20px 40px -14px rgba(0, 0, 0, 0.85), 0 14px 40px -14px rgba(255, 146, 62, 0.55); }
  .theme-halloween .assurance-marquee { background: linear-gradient(90deg, rgba(179, 92, 255, 0.09), rgba(255, 110, 0, 0.06), rgba(0, 227, 154, 0.07)); }
  .theme-halloween .section-head-link:hover { background: rgba(255, 110, 0, 0.06); }
  .theme-halloween .statement::before { background: radial-gradient(ellipse 50% 60% at 30% 50%, rgba(179, 92, 255, 0.12), transparent 70%); }
  .theme-halloween .hs::before { background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(179, 92, 255, 0.1), transparent 70%); }
  .theme-halloween .hs-end { background: radial-gradient(ellipse 80% 60% at 20% 0%, rgba(179, 92, 255, 0.45), transparent 70%),
    radial-gradient(ellipse 70% 60% at 100% 100%, rgba(255, 110, 0, 0.3), transparent 70%),
    var(--box-bg); }
  .theme-halloween .hs-end-count { color: #201528; }
  .theme-halloween .hs-end-arrow { color: #0f0a13; }
  .theme-halloween .anatomy-bg { background: radial-gradient(ellipse 45% 55% at 68% 50%, rgba(255, 146, 62, 0.16), transparent 70%),
    radial-gradient(ellipse 35% 40% at 80% 72%, rgba(179, 92, 255, 0.12), transparent 70%); }
  .theme-halloween .anatomy-bg::after { background-image: linear-gradient(rgba(255, 146, 62, 0.26) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 146, 62, 0.18) 1px, transparent 1px); }
  .theme-halloween .anatomy-tag { background: rgba(20, 12, 26, 0.92); }
  .theme-halloween .anatomy-tag i { box-shadow: 0 0 0 4px rgba(255, 110, 0, 0.18), 0 0 12px var(--primary-2); }
  .theme-halloween .bigtype-row .is-outline { color: #0f0a13; }
  .theme-halloween .home-products::before { background: radial-gradient(ellipse at center, rgba(179, 92, 255, 0.1), transparent 70%); }
  .theme-halloween .trust-showcase::before { background: radial-gradient(ellipse at center, rgba(255, 110, 0, 0.12), transparent 68%); }
  .theme-halloween .faq-section::before { background: radial-gradient(ellipse at center, rgba(179, 92, 255, 0.12), transparent 68%); }
  .theme-halloween .final-cta { background: radial-gradient(ellipse 60% 80% at 50% 0%, rgba(179, 92, 255, 0.28), transparent 70%),
    radial-gradient(ellipse 50% 60% at 80% 100%, rgba(255, 110, 0, 0.16), transparent 70%),
    var(--box-bg); }
  .theme-halloween .final-cta-floor { background-image: linear-gradient(rgba(179, 92, 255, 0.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 110, 0, 0.25) 1px, transparent 1px); }
  .theme-halloween .avis-badge-float { background: rgba(24, 15, 30, 0.96); }
  /* --- shop.css --- */
  .theme-halloween #comparateurTable tr.cmp-row-diff { background: rgba(255, 110, 0, 0.05); }
  /* --- vitrine3d.css --- */
  .theme-halloween .box3d { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07),
    inset 0 -1px 0 rgba(0, 0, 0, 0.45),
    0 2px 0 rgba(0, 0, 0, 0.35),
    0 28px 60px -30px rgba(0, 0, 0, 0.85),
    0 20px 50px -30px rgba(179, 92, 255, 0.3); }
  .theme-halloween .box3d::before { background: linear-gradient(140deg, rgba(201, 139, 255, 0.75), rgba(255, 110, 0, 0.2) 35%, transparent 60%, rgba(255, 110, 0, 0.45)); }
  .theme-halloween .shop-hero-glow { background: radial-gradient(ellipse 50% 90% at 0% 0%, rgba(179, 92, 255, 0.22), transparent 70%),
    radial-gradient(ellipse 40% 80% at 100% 100%, rgba(255, 110, 0, 0.14), transparent 70%); }
  .theme-halloween .shop-hero-glow::after { background-image: linear-gradient(rgba(255, 146, 62, 0.3) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 146, 62, 0.2) 1px, transparent 1px); }
  .theme-halloween .shop-3d .sort-form select:hover,
  .theme-halloween .shop-3d .sort-form select:focus,
  .theme-halloween .shop-3d .sort-form input[type="search"]:focus { background-color: rgba(255, 110, 0, 0.06); }
  .theme-halloween .shop-3d .price-range-input::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(255, 110, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.5); }
  .theme-halloween .shop-3d .price-range-input::-moz-range-thumb { box-shadow: 0 0 0 4px rgba(255, 110, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.5); }
  .theme-halloween .shop-3d .filter-checkbox:hover { border-color: rgba(255, 110, 0, 0.4); background: rgba(255, 110, 0, 0.05); }
  .theme-halloween .shop-3d .filter-checkbox:has(input:checked) { border-color: rgba(255, 110, 0, 0.6); background: rgba(255, 110, 0, 0.1); }
  .theme-halloween .shop-3d .pagination .active { box-shadow: 0 10px 26px -10px rgba(179, 92, 255, 0.8); }
  .theme-halloween .shop-3d .avis-grid .trust-card { background: linear-gradient(160deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.012) 55%), #1b1123; }
  .theme-halloween .shop-3d .avis-grid .trust-card::before { color: rgba(179, 92, 255, 0.22); }
  .theme-halloween .shop-3d .avis-grid .trust-card:hover { border-color: rgba(255, 110, 0, 0.35); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 30px 60px -30px rgba(255, 146, 62, 0.5); }
  .theme-halloween .shop-3d #comparateurTableWrap { background: linear-gradient(160deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.01) 55%), #19101f; }
  .theme-halloween .shop-3d #comparateurTable thead th { background: #201428; }
  .theme-halloween .shop-3d #comparateurTable tbody tr:hover { background: rgba(255, 110, 0, 0.04); }
  /* --- product.css --- */
  .theme-halloween .product-gallery-main { background: radial-gradient(ellipse 70% 60% at 50% 40%, rgba(255, 146, 62, 0.12), transparent 70%),
    #130b18; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 40px 80px -40px rgba(0, 0, 0, 0.95),
    0 30px 70px -40px rgba(255, 146, 62, 0.4); }
  .theme-halloween .product-gallery-main::before { background: linear-gradient(140deg, rgba(201, 139, 255, 0.7), rgba(255, 110, 0, 0.2) 35%, transparent 60%, rgba(255, 110, 0, 0.5)); }
  .theme-halloween .gallery-zoom-btn { background: rgba(15, 10, 19, 0.75); }
  .theme-halloween .gallery-thumb { background: #130b18; }
  .theme-halloween .gallery-thumb.active { box-shadow: 0 0 0 3px rgba(255, 110, 0, 0.2), 0 10px 24px -10px rgba(255, 110, 0, 0.6); }
  .theme-halloween .lightbox-overlay { background: rgba(6, 4, 8, 0.94); }
  .theme-halloween .lightbox-main img { background: #130b18; }
  .theme-halloween .lightbox-thumb { background: #130b18; }
  .theme-halloween .product-highlight-box { background: linear-gradient(160deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015)), #1d1225; }
  .theme-halloween .product-config-card { background: linear-gradient(160deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012) 55%), #1b1123; }
  .theme-halloween .product-config-card:hover { border-color: rgba(255, 110, 0, 0.4); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 26px 50px -26px rgba(255, 146, 62, 0.5); }
  .theme-halloween .product-config-card.has-badge { border-color: rgba(179, 92, 255, 0.45); background: radial-gradient(ellipse 80% 70% at 0% 0%, rgba(179, 92, 255, 0.18), transparent 70%),
    linear-gradient(160deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012) 55%), #1b1123; }
  .theme-halloween .product-config-badge { box-shadow: 0 6px 16px -6px rgba(179, 92, 255, 0.8); }
  .theme-halloween .product-ideal-pour { background: rgba(255, 110, 0, 0.06); border: 1px solid rgba(255, 110, 0, 0.22); }
  .theme-halloween #btnAjouterPanier { box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset, 0 16px 36px -12px rgba(179, 92, 255, 0.75); }
  .theme-halloween .product-delivery-info { background: linear-gradient(160deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.012)), #1b1123; }
  .theme-halloween .product-delivery-row svg { background: rgba(255, 146, 62, 0.1); box-shadow: inset 0 0 0 1px rgba(255, 146, 62, 0.2); color: #ffa45f; }
  .theme-halloween .readykit-strip { background: radial-gradient(ellipse 50% 90% at 0% 0%, rgba(179, 92, 255, 0.18), transparent 70%),
    radial-gradient(ellipse 45% 80% at 100% 100%, rgba(255, 110, 0, 0.12), transparent 70%),
    var(--box-bg); }
  .theme-halloween .readykit-item:hover { border-color: rgba(255, 110, 0, 0.35); background: rgba(255, 110, 0, 0.04); }
  .theme-halloween .readykit-icon { background: linear-gradient(145deg, rgba(179, 92, 255, 0.25), rgba(255, 110, 0, 0.12)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 12px 26px -12px rgba(179, 92, 255, 0.7); }
  .theme-halloween .product-tab.active { box-shadow: 0 10px 24px -10px rgba(179, 92, 255, 0.8); }
  .theme-halloween .pdp-3d .product-tab-panel { background: linear-gradient(160deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.01) 55%), #19101f; }
  .theme-halloween .specs-table tr:hover { background: rgba(255, 110, 0, 0.05); }
  .theme-halloween .fps-tile-badge { background: rgba(15, 10, 19, 0.9); }
  .theme-halloween .buybar { background: #120b17; }
  .theme-halloween .buybar::before { background: linear-gradient(90deg, transparent, rgba(179, 92, 255, 0.85) 25%, rgba(255, 110, 0, 0.85) 75%, transparent); }
  .theme-halloween .buybar-img { background: #130b18; }
  /* --- cart.css --- */
  .theme-halloween .container.section .cart-items::before,
  .theme-halloween .container.section .cart-summary::before,
  .theme-halloween .container.section .empty-state::before { background: linear-gradient(135deg, rgba(179, 92, 255, .72), rgba(255, 110, 0, .44) 55%, rgba(179, 92, 255, .2)); }
  .theme-halloween .container.section .cart-item-image { background: rgba(18, 9, 25, .72); box-shadow: inset 0 0 20px rgba(179, 92, 255, .06); }
  .theme-halloween .container.section .cart-item-title:hover { color: #d7aaff; }
  .theme-halloween .container.section .cart-item-qty { background: rgba(14, 5, 21, .72); }
  .theme-halloween .container.section .cart-item-qty button:hover { background: rgba(179, 92, 255, .3); }
  .theme-halloween .container.section .cart-shipping-progress { border: 1px solid rgba(255, 110, 0, .18); background: rgba(255, 110, 0, .055); }
  .theme-halloween .container.section .cart-shipping-progress.is-complete { border-color: rgba(255, 110, 0, .3); }
  .theme-halloween .container.section .cart-shipping-progress.is-complete .cart-shipping-progress-msg { color: #ffbd8b; }
  .theme-halloween .container.section .cart-promo-form { background: rgba(14, 5, 21, .72); }
  .theme-halloween .container.section .cart-promo-form .btn { border: 1px solid rgba(179, 92, 255, .38); background: rgba(179, 92, 255, .14); color: #ecd7ff; }
  .theme-halloween .container.section .cart-promo-form .btn:hover { background: rgba(179, 92, 255, .25); }
  .theme-halloween .container.section .cart-promo-active { border: 1px solid rgba(255, 110, 0, .25); background: rgba(255, 110, 0, .07); color: #ffd7b8; }
  .theme-halloween .container.section .cart-promo-remove { color: #dfbaff; }
  .theme-halloween .container.section .summary-row > :last-child { color: #fbf4ee; }
  .theme-halloween .container.section .cart-summary-discount { color: #ffbd8b; }
  .theme-halloween .container.section .cart-summary-discount > :last-child { color: #ffbd8b; }
  .theme-halloween .container.section .cart-summary hr { background: linear-gradient(90deg, rgba(179, 92, 255, .65), rgba(255, 110, 0, .3), transparent); }
  .theme-halloween .container.section .cart-summary .btn { border: 1px solid rgba(255, 110, 0, .4); }
  .theme-halloween .container.section .cart-summary .btn-primary { background: linear-gradient(105deg, #a147ef, #df7728 62%, #d05f08); box-shadow: 0 10px 28px rgba(235, 135, 59, .24), 0 0 22px rgba(255, 110, 0, .12); }
  .theme-halloween .container.section .cart-trust-badge svg { background: rgba(255, 110, 0, .1); color: #ffa866; }
  .theme-halloween .container.section .cart-trust-badge strong { color: #f6ece5; }
  .theme-halloween .container.section .cart-payment-label svg { color: #ffae70; }
  .theme-halloween .container.section .empty-state > svg { border: 1px solid rgba(255, 110, 0, .24); background: rgba(255, 110, 0, .08); color: #ffaf72; }
  .theme-halloween .container.section .empty-state .btn { background: linear-gradient(105deg, #a147ef, #c56216); }
  .theme-halloween .container.section :where(button,
  .theme-halloween a,
  .theme-halloween input):focus-visible { outline: 2px solid #ff9f55; }
  .theme-halloween .container.section .cart-summary .cart-promo-form .btn { border-color: rgba(179, 92, 255, 0.38); background: rgba(179, 92, 255, 0.14); color: #ecd7ff; }
  .theme-halloween .container.section .cart-summary .cart-promo-form .btn:hover { background: rgba(179, 92, 255, 0.28); }
  .theme-halloween .container.section .cart-promo-form:focus-within { border-color: rgba(255, 110, 0, 0.55); box-shadow: 0 0 0 4px rgba(255, 110, 0, 0.12); }
  /* --- checkout.css --- */
  .theme-halloween .container.section .checkout-steps::before { background: linear-gradient(90deg, rgba(179, 92, 255, .75), rgba(255, 110, 0, .48), rgba(130,148,177,.22)); }
  .theme-halloween .container.section .checkout-steps .step::before { background: #1b1123; box-shadow: 0 0 0 5px #170d1e; }
  .theme-halloween .container.section .checkout-steps .step.active { color: #e9d0ff; }
  .theme-halloween .container.section .checkout-steps .step.active::before { border-color: #c583ff; background: linear-gradient(145deg, #a751f2, #a56a3c); box-shadow: 0 0 0 5px #170d1e, 0 0 20px rgba(179, 92, 255, .35); }
  .theme-halloween .container.section .checkout-steps .step.done { color: #ffc191; }
  .theme-halloween .container.section .checkout-steps .step.done::before { border-color: rgba(255, 110, 0, .6); background: rgba(255, 110, 0, .13); color: #ffb780; }
  .theme-halloween .container.section .checkout-layout > .card::before,
  .theme-halloween .container.section .checkout-summary::before,
  .theme-halloween .container.section .confirmation-box::before { background: linear-gradient(135deg, rgba(179, 92, 255, .72), rgba(255, 110, 0, .42) 56%, rgba(179, 92, 255, .2)); }
  .theme-halloween .container.section .checkout-layout > .card > h2,
  .theme-halloween .container.section .confirmation-box h1 { color: #fffaf6; }
  .theme-halloween .container.section .checkout-layout > .card > h3 { color: #fbf5f0; }
  .theme-halloween .container.section .checkout-summary h3 { color: #fff9f4; }
  .theme-halloween .container.section .form-control { background: rgba(14, 5, 21, .7); color: #fff8f3; }
  .theme-halloween .container.section .form-control:focus { border-color: rgba(255, 110, 0, .76); box-shadow: 0 0 0 3px rgba(255, 110, 0, .15); }
  .theme-halloween .container.section #nouvelleAdresseFields { border: 1px solid rgba(179, 92, 255, .2); background: rgba(179, 92, 255, .035); }
  .theme-halloween .container.section #nouvelleAdresseFields .form-check input { accent-color: #b160f8; }
  .theme-halloween .container.section #formLivraison > .btn { border: 1px solid rgba(255, 110, 0, .4); background: linear-gradient(105deg, #a147ef, #df7728 62%, #d05f08); box-shadow: 0 10px 28px rgba(235, 135, 59, .21); }
  .theme-halloween .container.section .alert-info { border-color: rgba(255, 110, 0, .28); background: rgba(255, 110, 0, .07); color: #fcd5b7; }
  .theme-halloween .container.section .delivery-recap { border: 1px solid rgba(255, 110, 0, .2); background: rgba(255, 110, 0, .045); }
  .theme-halloween .container.section .delivery-recap strong { color: #fff9f4; }
  .theme-halloween .container.section .delivery-recap .btn { color: #f0e1d5; }
  .theme-halloween .container.section .summary-line-image { background: rgba(14, 5, 21, .75); }
  .theme-halloween .container.section .summary-line-name { color: #f8f0e9; }
  .theme-halloween .container.section .summary-line-price { color: #fbf6f2; }
  .theme-halloween .container.section .checkout-summary hr { background: linear-gradient(90deg, rgba(179, 92, 255, .62), rgba(255, 110, 0, .3), transparent); }
  .theme-halloween .container.section .summary-row > :last-child { color: #fbf4ef; }
  .theme-halloween .container.section .btn-stripe-pay { border: 1px solid rgba(255, 110, 0, .5); background: linear-gradient(105deg, #a147ef, #df7728 62%, #d05f08); box-shadow: 0 10px 30px rgba(235, 135, 59, .24), 0 0 22px rgba(255, 110, 0, .12); }
  .theme-halloween .container.section .checkout-stripe-badge strong { color: #f5ebe4; }
  .theme-halloween .container.section .trust-item svg { color: #ffae70; }
  .theme-halloween .container.section .confirmation-icon { border: 1px solid rgba(255, 110, 0, .48); background: radial-gradient(circle at 30% 20%, rgba(255, 110, 0, .22), rgba(179, 92, 255, .15) 68%); color: #ffb57c; box-shadow: 0 0 38px rgba(255, 110, 0, .15); }
  .theme-halloween .container.section .confirmation-box > p strong { border: 1px solid rgba(255, 110, 0, .25); background: rgba(255, 110, 0, .07); color: #ffc79d; }
  .theme-halloween .container.section .table-wrap { background: rgba(14, 5, 21, .38); }
  .theme-halloween .container.section .table-wrap th { border-bottom: 1px solid rgba(255, 110, 0, .18); }
  .theme-halloween .container.section .table-wrap td:last-child { color: #fcf6f2; }
  .theme-halloween .container.section .confirmation-box > div[style*="display:flex"] .btn-primary { border-color: rgba(255, 110, 0, .4); background: linear-gradient(105deg, #a147ef, #c56216); }
  .theme-halloween .container.section :where(button,
  .theme-halloween a,
  .theme-halloween input,
  .theme-halloween select):focus-visible { outline: 2px solid #ff9f55; }
  @media (max-width: 620px) {
    .theme-halloween .container.section .checkout-steps .step::before { box-shadow: 0 0 0 4px #170d1e; }
    .theme-halloween .container.section .checkout-steps .step.active::before { box-shadow: 0 0 0 4px #170d1e, 0 0 16px rgba(179, 92, 255, .3); }
  }
  /* --- account.css --- */
  .theme-halloween .account-layout :is(h1,
  .theme-halloween h2,
  .theme-halloween h3,
  .theme-halloween h4),
  .theme-halloween .auth-page :is(h1,
  .theme-halloween h2,
  .theme-halloween h3,
  .theme-halloween h4),
  .theme-halloween .facture-wrap :is(h1,
  .theme-halloween h2,
  .theme-halloween h3,
  .theme-halloween h4),
  .theme-halloween .container.section[style*="max-width: 720px"] :is(h1,
  .theme-halloween h2,
  .theme-halloween h3,
  .theme-halloween h4) { color: #fff8f3; }
  .theme-halloween .account-nav.card,
  .theme-halloween .account-content > .card,
  .theme-halloween .account-review-card,
  .theme-halloween .address-card,
  .theme-halloween .auth-form-card,
  .theme-halloween .auth-form-panel > .card,
  .theme-halloween .auth-page .auth-form-card .card,
  .theme-halloween .facture-wrap > .card,
  .theme-halloween .container.section[style*="max-width: 720px"] > .card,
  .theme-halloween .container.section[style*="max-width: 720px"] > .card > .card { background: var(--account-glass, linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.012) 55%), #1b1123); }
  .theme-halloween .account-nav.card::before,
  .theme-halloween .account-content > .card::before,
  .theme-halloween .account-review-card::before,
  .theme-halloween .address-card::before,
  .theme-halloween .auth-form-card::before,
  .theme-halloween .auth-form-panel > .card::before,
  .theme-halloween .auth-page .auth-form-card .card::before,
  .theme-halloween .facture-wrap > .card::before,
  .theme-halloween .container.section[style*="max-width: 720px"] > .card::before,
  .theme-halloween .container.section[style*="max-width: 720px"] > .card > .card::before { background: linear-gradient(135deg, rgba(179, 92, 255, .82), rgba(255, 110, 0, .68) 52%, rgba(179, 92, 255, .22)); }
  .theme-halloween .account-avatar { background: linear-gradient(145deg, #2e1d3b, #20102b); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1), 0 0 0 1px rgba(179, 92, 255, .7), 0 0 0 3px rgba(255, 110, 0, .16); }
  .theme-halloween .account-nav-user strong { color: #fffaf6; }
  .theme-halloween .account-nav > a.active { background: linear-gradient(100deg, rgba(179, 92, 255, .2), rgba(255, 110, 0, .07)); }
  .theme-halloween .account-layout .form-control,
  .theme-halloween .auth-page .form-control,
  .theme-halloween .facture-wrap .form-control,
  .theme-halloween .container.section[style*="max-width: 720px"] .form-control { background: rgba(15, 7, 20, .62); color: #fff9f5; }
  .theme-halloween .account-layout .form-control:focus,
  .theme-halloween .auth-page .form-control:focus,
  .theme-halloween .container.section[style*="max-width: 720px"] .form-control:focus { background: rgba(19, 8, 27, .9); box-shadow: 0 0 0 4px rgba(255, 110, 0, .12), inset 0 1px 2px rgba(0,0,0,.2); }
  .theme-halloween .account-layout :is(a,
  .theme-halloween button,
  .theme-halloween input,
  .theme-halloween select,
  .theme-halloween textarea,
  .theme-halloween [tabindex]):focus-visible,
  .theme-halloween .auth-page :is(a,
  .theme-halloween button,
  .theme-halloween input,
  .theme-halloween select,
  .theme-halloween textarea,
  .theme-halloween [tabindex]):focus-visible,
  .theme-halloween .facture-wrap :is(a,
  .theme-halloween button,
  .theme-halloween [tabindex]):focus-visible,
  .theme-halloween .container.section[style*="max-width: 720px"] :is(a,
  .theme-halloween button,
  .theme-halloween input,
  .theme-halloween select,
  .theme-halloween textarea,
  .theme-halloween [tabindex]):focus-visible { outline: 2px solid #ff6e00; }
  .theme-halloween .account-layout .btn-primary,
  .theme-halloween .auth-page .btn-primary,
  .theme-halloween .container.section[style*="max-width: 720px"] .btn-primary { background: linear-gradient(110deg, #9d48e8, #b35cff 50%, #c76316); box-shadow: 0 8px 22px rgba(150, 69, 221, .25); }
  .theme-halloween .account-layout .btn-primary:hover,
  .theme-halloween .auth-page .btn-primary:hover,
  .theme-halloween .container.section[style*="max-width: 720px"] .btn-primary:hover { box-shadow: 0 12px 28px rgba(150, 69, 221, .38); }
  .theme-halloween .account-layout .btn-secondary,
  .theme-halloween .account-layout .btn-outline,
  .theme-halloween .auth-page .btn-secondary,
  .theme-halloween .auth-page .btn-outline { color: #f4e8df; }
  .theme-halloween .account-layout .btn-secondary:hover,
  .theme-halloween .account-layout .btn-outline:hover,
  .theme-halloween .auth-page .btn-secondary:hover,
  .theme-halloween .auth-page .btn-outline:hover { border-color: rgba(255, 110, 0, .65); }
  .theme-halloween .account-layout a:not(.btn):hover,
  .theme-halloween .auth-page a:not(.btn):hover { color: #ffbe8c; }
  .theme-halloween .account-layout .table-wrap,
  .theme-halloween .container.section[style*="max-width: 720px"] .table-wrap { background: rgba(12, 5, 17, .28); }
  .theme-halloween .account-review-produit { color: #fff8f2; }
  .theme-halloween .account-review-titre { color: #f7eee8; }
  .theme-halloween .account-layout .address-card { background-color: rgba(15, 7, 20, .45); }
  .theme-halloween .account-layout .order-timeline-dot,
  .theme-halloween .container.section[style*="max-width: 720px"] .order-timeline-dot { background: #21142a; }
  .theme-halloween .account-layout .order-timeline-step.active .order-timeline-dot,
  .theme-halloween .container.section[style*="max-width: 720px"] .order-timeline-step.active .order-timeline-dot { box-shadow: 0 0 0 5px rgba(255, 110, 0, .13); }
  .theme-halloween .auth-page { background: radial-gradient(ellipse at 75% 45%, rgba(63, 23, 91, .18), transparent 48%); }
  .theme-halloween .auth-visual { background: linear-gradient(155deg,#1d1026,#110916); }
  .theme-halloween .auth-form-card { box-shadow: 0 22px 65px rgba(0,0,0,.32), 0 0 70px rgba(179, 92, 255, .09); }
  .theme-halloween .auth-page .auth-orb-1 { background: radial-gradient(circle, rgba(179, 92, 255, .52), transparent 70%); }
  .theme-halloween .auth-page .auth-orb-2 { background: radial-gradient(circle, rgba(255, 110, 0, .4), transparent 70%); }
  .theme-halloween .account-hero { border: 1px solid rgba(210, 158, 255, .22); background: linear-gradient(125deg, rgba(179, 92, 255, .16), transparent 48%), linear-gradient(300deg, rgba(255, 110, 0, .09), transparent 44%), #1a1022; }
  .theme-halloween .account-hero::after { border: 1px solid rgba(255, 110, 0, .15); box-shadow: 0 0 0 28px rgba(255, 110, 0, .025), 0 0 0 58px rgba(179, 92, 255, .025); }
  .theme-halloween .account-hero-avatar { background: linear-gradient(#21152a,#21152a) padding-box, linear-gradient(135deg,#b35cff,#ff6e00) border-box; box-shadow: 0 0 0 4px rgba(179, 92, 255, .12); }
  .theme-halloween .account-eyebrow i { background: #ff6e00; }
  .theme-halloween .account-greeting { color: #faf3ee; }
  .theme-halloween .account-stat { background: rgba(15, 7, 20, .4); }
  .theme-halloween .account-stat:hover { border-color: rgba(255, 110, 0, .45); background-color: rgba(255, 110, 0, .055); }
  .theme-halloween .account-stat strong { color: #fffaf6; }
  .theme-halloween .account-section-icon { border: 1px solid rgba(255, 110, 0, .2); background: linear-gradient(145deg,rgba(179, 92, 255, .2),rgba(255, 110, 0, .09)); color: #ffb378; }
  .theme-halloween .account-nav > a.active > svg { border-color: rgba(255, 110, 0, .18); background: rgba(255, 110, 0, .08); }
  .theme-halloween .account-address-add summary span { color: #ffaa69; }
  .theme-halloween .account-order-card,
  .theme-halloween .account-subcard { background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.014)),#1a1022; }
  .theme-halloween .account-mini-track li::after { background: #1b1123; }
  .theme-halloween .account-order-item img,
  .theme-halloween .account-order-item-placeholder { background: #24172d; }
  .theme-halloween .account-order-item-name strong { color: #fbf4ee; }
  .theme-halloween .account-layout :is(a,
  .theme-halloween button,
  .theme-halloween summary):focus-visible { outline: 2px solid #ff6e00; }
  .theme-halloween .account-layout .order-timeline,
  .theme-halloween .container.section[style*="max-width: 720px"] .order-timeline { background: linear-gradient(160deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .01)), #1b1123; }
  .theme-halloween .account-layout .order-timeline-step.done::before,
  .theme-halloween .container.section[style*="max-width: 720px"] .order-timeline-step.done::before { background: linear-gradient(90deg, #2dd6ae, #ff6e00); }
  .theme-halloween .account-layout .order-timeline-step.active .order-timeline-dot,
  .theme-halloween .container.section[style*="max-width: 720px"] .order-timeline-step.active .order-timeline-dot { background: #ff6e00; border-color: #ffc79c; box-shadow: 0 0 0 5px rgba(255, 110, 0, .16), 0 0 18px rgba(255, 110, 0, .55); }
  /* --- messagerie.css --- */
  .theme-halloween .account-layout .chat-panel { background: linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.012) 55%), #1a1022; }
  .theme-halloween .account-layout .chat-bubble-row.is-mine .chat-bubble { border: 1px solid rgba(216, 172, 255, .3); background: linear-gradient(135deg, rgba(179, 92, 255, .96), rgba(220, 137, 73, .96)); }
  .theme-halloween .account-layout .chat-bubble-row.is-systeme .chat-bubble { background: rgba(11, 4, 16, .3); }
  .theme-halloween .account-layout .chat-bubble-row.is-mine .chat-bubble-heure { color: #edcdb4; }
  .theme-halloween .account-layout .chat-form { background: #1c1124; }
  .theme-halloween .account-layout .conv-list-item:hover { border-color: rgba(255, 110, 0, .43); background-color: rgba(255, 110, 0, .035); }
  .theme-halloween .account-layout .conv-list-item.is-unread { border-color: rgba(255, 110, 0, .42); background: linear-gradient(110deg, rgba(255, 110, 0, .085), rgba(179, 92, 255, .05)); }
  .theme-halloween .account-layout .conv-list-item-main strong { color: #fff5ed; }
  .theme-halloween .account-layout .conv-list-item.is-unread .conv-list-item-main strong { color: #ffbe8c; }
  .theme-halloween .account-layout .conv-list-item-dot { background: #ff6e00; box-shadow: 0 0 0 4px rgba(255, 110, 0, .1); }
  .theme-halloween .account-layout .chat-panel :is(button,
  .theme-halloween textarea,
  .theme-halloween select):focus-visible,
  .theme-halloween .account-layout .conv-list-item:focus-visible { outline: 2px solid #ff6e00; }
  .theme-halloween .account-layout .chat-form .btn { box-shadow: 0 7px 20px rgba(150, 69, 221, .3); }
  .theme-halloween .account-layout .conv-list-item:focus-visible { border-color: #ff6e00; }
  /* --- legal.css --- */
  .theme-halloween .legal-content { background: linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.012) 55%), #1b1123; }
  .theme-halloween .legal-content::before { background: linear-gradient(135deg, #b35cff, #ff6e00); }
  .theme-halloween .legal-content h2 { color: #fbf6f3; }
  .theme-halloween .legal-content h2::before { background: linear-gradient(180deg, #b35cff, #ff6e00); }
  .theme-halloween .legal-content li::marker { color: #ffae70; }
  .theme-halloween .legal-content code { border: 1px solid rgba(255, 110, 0, .22); background: rgba(255, 110, 0, .08); color: #ffcea8; }
  .theme-halloween .legal-content a { color: #ffb780; text-decoration-color: rgba(255, 183, 128, .45); }
  .theme-halloween .legal-content a:hover { color: #ffdec4; }
  .theme-halloween .legal-content a:focus-visible,
  .theme-halloween .legal-content :where(button,
  .theme-halloween input,
  .theme-halloween select,
  .theme-halloween textarea):focus-visible,
  .theme-halloween .page-404 :where(a,
  .theme-halloween button):focus-visible { outline: 2px solid #ff6e00; }
  .theme-halloween .legal-content .table-wrap,
  .theme-halloween .legal-content table { background: linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.012) 55%), #1b1123; }
  .theme-halloween .page-404 .empty-state { background: linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.012) 55%), #1b1123; }
  .theme-halloween .page-404 .empty-state::before { background: linear-gradient(135deg, #b35cff, #ff6e00); }
  .theme-halloween .page-404 .error-code { background: linear-gradient(115deg, #cb8fff 15%, #ffa058 85%); }
  .theme-halloween .page-404-actions .btn-outline:hover { border-color: #ff6e00; color: #ffc79c; }
  /* --- confiance.css --- */
  .theme-halloween .confiance-card { background: linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.012) 55%), #1b1123; }
  .theme-halloween .confiance-card::before { background: linear-gradient(135deg, #b35cff, #ff6e00); }
  .theme-halloween .confiance-icon { border: 1px solid rgba(255, 110, 0, .25); background: linear-gradient(145deg, rgba(179, 92, 255, .19), rgba(255, 110, 0, .09)); color: #ffbc88; }
  .theme-halloween .confiance-card h3 { color: #fff8f3; }
  .theme-halloween .confiance-card a:not(.btn) { color: #ffbe8c; }
  .theme-halloween .confiance-card a:not(.btn):hover { color: #ffe4d0; }
  .theme-halloween .confiance-card :where(a,
  .theme-halloween button):focus-visible { outline: 2px solid #ff6e00; }
  .theme-halloween .confiance-card .pi { color: #f7ebe2; }
  .theme-halloween .confiance-card p strong { border: 1px solid rgba(255, 110, 0, .27); background: rgba(255, 110, 0, .1); color: #ffcaa2; }
  .theme-halloween .confiance-card .btn:focus-visible { outline: 2px solid #ff6e00; }
  /* --- concours.css --- */
  .theme-halloween .concours-hero-img { box-shadow: 0 0 0 1px rgba(179, 92, 255, .15), 0 20px 60px rgba(0,0,0,.36), 0 0 44px rgba(255, 110, 0, .08); }
  .theme-halloween .concours-hero-cta-row .btn { box-shadow: 0 10px 30px rgba(179, 92, 255, .28); }
  .theme-halloween .concours-hero :where(a,
  .theme-halloween button):focus-visible,
  .theme-halloween .concours-countdown-band :where(a,
  .theme-halloween button):focus-visible,
  .theme-halloween .concours-step :where(a,
  .theme-halloween button):focus-visible,
  .theme-halloween .concours-form-section :where(a,
  .theme-halloween button,
  .theme-halloween input):focus-visible { outline: 2px solid #ff6e00; }
  .theme-halloween .concours-countdown-band { background: linear-gradient(90deg, rgba(179, 92, 255, .07), rgba(255, 110, 0, .045) 55%, rgba(179, 92, 255, .04)), #160d1d; }
  .theme-halloween .concours-countdown-timer div { background: linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.015) 55%), #1b1123; }
  .theme-halloween .concours-countdown-timer strong { color: #fff9f5; }
  .theme-halloween .concours-participants-count { border: 1px solid rgba(179, 92, 255, .3); background: rgba(179, 92, 255, .1); }
  .theme-halloween .concours-participants-count strong { color: #ffc79c; }
  .theme-halloween .concours-countdown-band + .section .section-eyebrow { color: #ffbd8b; }
  .theme-halloween .concours-countdown-band + .section .section-head h2,
  .theme-halloween .concours-form-card h2 { color: #fffaf7; }
  .theme-halloween .concours-step { background: linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.012) 55%), #1b1123; }
  .theme-halloween .concours-step::before { background: linear-gradient(135deg, #b35cff, #ff6e00); }
  .theme-halloween .concours-step:hover { box-shadow: 0 22px 42px rgba(0,0,0,.26), 0 0 24px rgba(179, 92, 255, .1); }
  .theme-halloween .concours-step-num { border: 1px solid rgba(255, 110, 0, .38); background: linear-gradient(145deg, rgba(179, 92, 255, .22), rgba(255, 110, 0, .13)); color: #ffcea9; }
  .theme-halloween .concours-step h3 { color: #fdf8f4; }
  .theme-halloween .concours-form-card { background: linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.015) 55%), #1b1123; box-shadow: 0 25px 65px rgba(0,0,0,.26), 0 0 42px rgba(179, 92, 255, .08); }
  .theme-halloween .concours-form-card::before { background: linear-gradient(135deg, #b35cff, #ff6e00); }
  .theme-halloween .concours-form-card .form-control { background: rgba(14, 5, 21, .62); color: #fff8f3; }
  .theme-halloween .concours-form-card .form-control:focus { border-color: #ff6e00; box-shadow: 0 0 0 3px rgba(255, 110, 0, .17); }
  .theme-halloween .concours-form-card .form-check input { accent-color: #ff6e00; }
  .theme-halloween .concours-form-card .form-check label a { color: #ffbd8b; }
  .theme-halloween .concours-form-card .form-check label a:hover { color: #ffe4d0; }
  .theme-halloween .concours-form-card :where(a,
  .theme-halloween button,
  .theme-halloween input):focus-visible { outline: 2px solid #ff6e00; }
}
