/* Thème Halloween public — ne s'applique pas à l'administration. */
:root {
  --halloween-night: #09060e;
  --halloween-panel: #1a1024;
  --halloween-panel-soft: #24142f;
  --halloween-orange: #ff7a18;
  --halloween-purple: #8b3dff;
  --halloween-pink: #e83e8c;
  --halloween-text: #fff8ed;
  --halloween-muted: #d8c7df;
  --halloween-border: rgba(255, 122, 24, 0.28);
}

html {
  color-scheme: dark;
  background: var(--halloween-night);
}

body {
  color: var(--halloween-text) !important;
  background:
    linear-gradient(rgba(7, 4, 11, 0.79), rgba(12, 6, 18, 0.91)),
    url("/halloween-atelier-realiste.webp") center top / cover no-repeat fixed,
    #08050d !important;
  background-attachment: fixed !important;
}

body::before {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
  opacity: 0.8;
  background:
    radial-gradient(circle at 88% 16%, rgba(255, 122, 24, 0.13), transparent 25%),
    radial-gradient(circle at 12% 30%, rgba(139, 61, 255, 0.13), transparent 26%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.14), transparent 45%, rgba(0, 0, 0, 0.18));
}

body::after {
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  content: "";
  opacity: 0.34;
  background:
    radial-gradient(ellipse at 50% 112%, rgba(226, 217, 235, 0.15), transparent 35%),
    linear-gradient(115deg, transparent 0 70%, rgba(255, 122, 24, 0.04));
  mix-blend-mode: screen;
}

body > main,
body > footer {
  position: relative;
  z-index: 1;
}

header {
  color: var(--halloween-text) !important;
  background: rgba(9, 6, 14, 0.88) !important;
  border-color: rgba(255, 122, 24, 0.24) !important;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.35);
}

.logo,
.nav-links a,
.nav-link,
.home-link {
  color: var(--halloween-text) !important;
}

.logo span,
.category,
.small-title,
.back-link {
  color: #bf87ff !important;
}

.cart,
.cart-count {
  color: #1a0d08 !important;
  background: linear-gradient(135deg, #ffb13b, var(--halloween-orange)) !important;
  box-shadow: 0 8px 24px rgba(255, 122, 24, 0.3);
}

.hero {
  background:
    linear-gradient(90deg, rgba(8, 4, 12, 0.94) 0%, rgba(11, 5, 16, 0.78) 46%, rgba(8, 4, 12, 0.35) 100%),
    url("/halloween-atelier-realiste.webp") center / cover no-repeat !important;
  border-bottom: 1px solid rgba(255, 122, 24, 0.22);
  box-shadow: inset 0 -70px 80px rgba(6, 3, 9, 0.48);
}

.hero::before {
  display: none !important;
}

.hero h1,
.hero-text,
.section-heading h2,
.section-heading p,
.shop-heading h2,
.shop-heading p,
.custom-section h2,
.custom-section p,
.page-heading h1,
.page-heading p,
.product-information h1,
.description,
.content,
.content h2,
.content h3,
.heading h1,
.heading p,
.confirmation-card h1,
.confirmation-card p {
  color: var(--halloween-text) !important;
}

.badge,
.small-title {
  color: #ffd2a3 !important;
  background: rgba(255, 122, 24, 0.14) !important;
  border: 1px solid rgba(255, 122, 24, 0.32);
  box-shadow: 0 0 22px rgba(255, 122, 24, 0.08);
}

.button.primary,
.buy-button,
.checkout-button,
.shop-button,
.home-button,
.product-action-button,
.quote-button {
  color: #fff !important;
  background: linear-gradient(135deg, var(--halloween-orange), #e34a1d 48%, var(--halloween-purple)) !important;
  box-shadow: 0 12px 28px rgba(255, 93, 24, 0.24) !important;
  border-color: transparent !important;
}

.button.primary:hover,
.buy-button:hover,
.checkout-button:hover,
.product-action-button:hover {
  box-shadow: 0 15px 38px rgba(255, 122, 24, 0.38) !important;
  transform: translateY(-2px);
}

.button.secondary,
.details-button,
.show-all-products {
  color: #f0dcff !important;
  background: rgba(139, 61, 255, 0.12) !important;
  border-color: rgba(191, 135, 255, 0.42) !important;
}

.printer-card {
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 122, 24, 0.32), transparent 28%),
    linear-gradient(145deg, #14091e, #371051 52%, #701f32) !important;
  border: 1px solid rgba(255, 156, 69, 0.36);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.46), 0 0 45px rgba(139, 61, 255, 0.13);
}

.printer-image {
  filter: drop-shadow(0 20px 22px rgba(0, 0, 0, 0.55)) saturate(1.08);
}

#catalogue,
#fonctionnement,
.shop,
main.container {
  background: transparent !important;
}

.category,
.step,
.quote-card,
.product-card,
.product-layout,
.cart-item,
.summary,
.empty-cart,
.confirmation-card,
.content {
  color: var(--halloween-text) !important;
  background: linear-gradient(145deg, rgba(35, 20, 47, 0.96), rgba(20, 12, 29, 0.98)) !important;
  border-color: var(--halloween-border) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.3), inset 0 1px rgba(255, 255, 255, 0.04) !important;
}

.category:hover,
.product-card:hover {
  border-color: rgba(255, 122, 24, 0.72) !important;
  box-shadow: 0 22px 55px rgba(0, 0, 0, 0.42), 0 0 28px rgba(255, 122, 24, 0.12) !important;
}

.category-icon,
.step-number,
.product-icon {
  background: linear-gradient(145deg, #321441, #1c1027) !important;
  border: 1px solid rgba(255, 122, 24, 0.3);
  box-shadow: 0 9px 22px rgba(0, 0, 0, 0.32) !important;
}

.category h3,
.category p,
.step h3,
.step p,
.product-card h3,
.product-content h3,
.product-content .description,
.price,
.stock-info,
.product-information h2,
.unit-price,
.selected-color,
.selected-personalization,
.summary,
.summary-line,
.secure-text,
.empty-cart,
.order-details,
.detail-line {
  color: var(--halloween-text) !important;
}

.category,
.product-content .category {
  color: #c997ff !important;
}

.product-image {
  border-bottom: 1px solid rgba(255, 122, 24, 0.22);
  filter: saturate(1.08) contrast(1.03);
}

.custom-label {
  color: #1a0d08 !important;
  background: linear-gradient(135deg, #ffd27a, #ff7a18) !important;
}

.custom-section {
  background:
    radial-gradient(circle at 80% 20%, rgba(255, 122, 24, 0.22), transparent 28%),
    linear-gradient(135deg, #0d0713, #1c0d29) !important;
  border-block: 1px solid rgba(255, 122, 24, 0.17);
}

.quote-field input,
.quote-field textarea,
.quote-field select,
.promo-controls input,
.personalization-field {
  color: var(--halloween-text) !important;
  background: rgba(9, 6, 14, 0.72) !important;
  border-color: rgba(191, 135, 255, 0.34) !important;
}

.quote-field input:focus,
.quote-field textarea:focus,
.promo-controls input:focus,
.personalization-field:focus {
  border-color: var(--halloween-orange) !important;
  box-shadow: 0 0 0 4px rgba(255, 122, 24, 0.12) !important;
}

.product-visual {
  background:
    radial-gradient(circle, rgba(255, 122, 24, 0.22), transparent 52%),
    linear-gradient(145deg, #2a1237, #120a1b) !important;
  border-color: rgba(255, 122, 24, 0.25) !important;
}

.custom-panel,
.promo-box,
.order-details {
  color: var(--halloween-text) !important;
  background: rgba(9, 6, 14, 0.55) !important;
  border-color: rgba(191, 135, 255, 0.24) !important;
}

.quantity-button,
.remove-button {
  color: #ffd8b5 !important;
  background: rgba(255, 122, 24, 0.12) !important;
  border-color: rgba(255, 122, 24, 0.36) !important;
}

footer {
  color: #e8dced !important;
  background:
    linear-gradient(rgba(255, 122, 24, 0.06), transparent 2px),
    #07040b !important;
  border-top: 1px solid rgba(255, 122, 24, 0.22);
}

footer a,
footer h3,
footer p {
  color: inherit !important;
}

@media (max-width: 700px) {
  body {
    background-position: 65% top !important;
  }

  .hero {
    background-position: 62% center !important;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .printer-card {
    animation: halloween-float 5s ease-in-out infinite;
  }

}

@keyframes halloween-float {
  50% { transform: translateY(-8px); }
}
