/* Night atelier — dark ground, gold/beige metal. Product-led like a cinematic brand site. */
:root {
    --void: #050506;
    --void-2: #0b0c0f;
    --void-3: #121318;
    --stage: #0e0f13;
    --ink: #efe6d4;
    --ink-soft: #d8cbb0;
    --paper: #050506;
    --paper-2: #0b0c0f;
    --line: rgba(201, 168, 106, 0.22);
    --gold: #c9a86a;
    --gold-soft: #e8d5b3;
    --muted: #9d917c;
}

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

body {
    background: var(--void) !important;
    color: var(--ink) !important;
}

h1, h2, h3, h4, h5, .navbar-brand, .card-title, .price, .price-tag {
    color: var(--gold-soft);
}

a { color: var(--gold-soft); }
a:hover { color: var(--gold); }

.text-dark, .text-black { color: var(--ink) !important; }
.text-muted, .text-secondary { color: var(--muted) !important; }
.bg-white, .bg-light, .bg-body { background-color: var(--void-2) !important; color: var(--ink) !important; }
.border, .border-0 { border-color: var(--line) !important; }
.border-secondary { border-color: var(--line) !important; }

.btn-dark,
.btn-primary,
.btn-primary-custom {
    background: var(--gold) !important;
    border: 1px solid var(--gold) !important;
    color: #0a0a0b !important;
    border-radius: 0 !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 600 !important;
}
.btn-dark:hover,
.btn-primary:hover,
.btn-primary-custom:hover {
    background: var(--gold-soft) !important;
    border-color: var(--gold-soft) !important;
    color: #0a0a0b !important;
}
.btn-outline-dark,
.btn-outline-secondary,
.btn-light {
    background: transparent !important;
    border: 1px solid var(--gold) !important;
    color: var(--gold-soft) !important;
    border-radius: 0 !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.btn-outline-dark:hover,
.btn-outline-secondary:hover,
.btn-light:hover,
.btn-light.text-dark {
    background: rgba(201, 168, 106, 0.12) !important;
    color: var(--gold-soft) !important;
}

.form-control,
.form-select,
.input-group-text,
.form-control:focus,
.form-select:focus {
    background: var(--void-3) !important;
    border: 1px solid var(--line) !important;
    color: var(--ink) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.form-control::placeholder { color: var(--muted) !important; }
.form-check-input {
    background-color: var(--void-3);
    border-color: var(--gold);
}
.form-check-input:checked {
    background-color: var(--gold);
    border-color: var(--gold);
}
.form-check-label { color: var(--ink-soft); }

.dropdown-menu {
    background: var(--void-2) !important;
    border: 1px solid var(--line) !important;
    border-radius: 0 !important;
    color: var(--ink);
}
.dropdown-item,
.dropdown-item-text { color: var(--ink-soft) !important; }
.dropdown-item:hover,
.dropdown-item.active {
    background: rgba(201, 168, 106, 0.12) !important;
    color: var(--gold-soft) !important;
}
.dropdown-divider { border-color: var(--line) !important; }

.alert,
.alert-light,
.alert-info,
.alert-warning {
    background: var(--void-2) !important;
    border: 1px solid var(--line) !important;
    color: var(--ink-soft) !important;
    border-radius: 0 !important;
}

.modal-backdrop.show { opacity: 0.72; }
.modal-content,
.cart-modal .modal-content {
    background: var(--void-2) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-radius: 0 !important;
    box-shadow: 0 40px 90px rgba(0, 0, 0, 0.55) !important;
}
.modal-header,
.modal-footer,
.cart-modal .modal-header,
.cart-modal .modal-footer {
    border-color: var(--line) !important;
}
.modal-title,
.cart-modal .modal-title { color: var(--gold-soft) !important; }
.btn-close {
    filter: invert(1) grayscale(1) brightness(1.6);
    opacity: 0.7;
}

.top-bar {
    background: #000 !important;
    color: var(--gold-soft) !important;
    border-bottom: 1px solid var(--line);
}
.navbar {
    background: rgba(5, 5, 6, 0.78) !important;
    backdrop-filter: blur(22px) saturate(1.1);
    -webkit-backdrop-filter: blur(22px) saturate(1.1);
    border-bottom: 1px solid var(--line) !important;
    box-shadow: none !important;
}
.navbar-brand { color: var(--gold-soft) !important; }
.brand-mark {
    border-color: var(--gold);
    color: var(--gold);
    background: transparent;
}
.site-nav .nav-link {
    color: var(--ink-soft) !important;
}
.site-nav .nav-link:hover { color: var(--gold) !important; }
.lang-switch {
    background: transparent !important;
    border-color: var(--line) !important;
}
.navbar-toggler { border: 0; }
.nav-cart {
    border-color: var(--gold) !important;
    color: var(--gold-soft) !important;
    background: transparent !important;
}
.nav-cart .badge {
    background: var(--gold) !important;
    color: #0a0a0b !important;
}
.navbar-account .dropdown-toggle,
.navbar-account a.border {
    color: var(--ink) !important;
    border-color: var(--line) !important;
}

/* Full-bleed cinematic hero */
.hero-cinematic {
    position: relative;
    min-height: min(92vh, 980px);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: #000;
    margin: 0 0 0;
}
.hero-cinematic-media,
.hero-cinematic-veil {
    position: absolute;
    inset: 0;
}
.hero-cinematic-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 62% 46%;
    filter: saturate(0.88) contrast(1.12) brightness(0.62);
    transform: scale(1.04);
}
.hero-cinematic-veil {
    background:
        linear-gradient(90deg, rgba(5, 5, 6, 0.92) 0%, rgba(5, 5, 6, 0.55) 42%, rgba(5, 5, 6, 0.12) 72%, rgba(5, 5, 6, 0.4) 100%),
        linear-gradient(180deg, rgba(5, 5, 6, 0.45) 0%, transparent 30%, rgba(5, 5, 6, 0.82) 100%);
    pointer-events: none;
}
.hero-cinematic-inner {
    position: relative;
    z-index: 2;
    padding: 8.5rem 0 4.75rem;
    width: 100%;
}
.hero-cinematic-copy { max-width: 40rem; }
.hero-cinematic .hero-kicker {
    color: var(--gold);
    margin-bottom: 1.1rem;
}
.hero-cinematic h1 {
    color: var(--gold-soft) !important;
    font-size: clamp(2.7rem, 6.4vw, 5.1rem);
    font-weight: 500 !important;
    line-height: 0.96;
    letter-spacing: -0.035em;
    text-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
}
.hero-cinematic .lead {
    color: rgba(239, 230, 212, 0.72) !important;
    font-size: 1.08rem;
    max-width: 34rem;
    margin-top: 0.4rem;
}
.hero-cinematic .hero-rule {
    width: 72px;
    height: 1px;
    background: linear-gradient(90deg, var(--gold), transparent);
    margin: 1.35rem 0 1.1rem;
}
.hero-cinematic .hero-chip,
.hero-chip {
    background: transparent !important;
    border: 1px solid rgba(201, 168, 106, 0.4) !important;
    color: var(--gold-soft) !important;
    border-radius: 0 !important;
}
.hero-cinematic .hero-stat {
    background: rgba(5, 5, 6, 0.45);
    border: 1px solid var(--line);
    backdrop-filter: blur(10px);
    min-width: 0;
}
.hero-cinematic .hero-stat .value { color: var(--gold-soft); }
.hero-cinematic .hero-stats {
    flex-direction: row !important;
    gap: 12px !important;
    margin-top: 1.75rem !important;
}
@media (max-width: 767.98px) {
    .hero-cinematic { min-height: 78vh; }
    .hero-cinematic-inner { padding: 6.5rem 0 2.8rem; }
    .hero-cinematic-media img { object-position: 70% 40%; }
}

.trust-strip,
.catalog-bar,
.shipping-note,
.legal-page,
.spec-grid,
.product-stage,
.review-card,
.review-form,
.review-notice {
    background: var(--void-2) !important;
    border-color: var(--line) !important;
    color: var(--ink);
    box-shadow: none !important;
}
.trust-item { color: var(--ink-soft) !important; }
.trust-item i {
    color: var(--gold) !important;
    border-color: var(--line) !important;
    background: transparent !important;
}
.cat-menu-btn,
.cat-menu-btn:hover,
.cat-menu-btn.show {
    background: var(--void-3) !important;
    border-color: var(--line) !important;
    color: var(--ink) !important;
}
.cat-menu-list { background: var(--void-2); }

.product-card {
    background: transparent !important;
    box-shadow: none !important;
}
.product-card .product-gallery,
.product-thumbs img,
.cart-img,
.detail-gallery-shell,
.detail-product-gallery,
.product-stage {
    background: #fff !important;
    border: 1px solid var(--line) !important;
}
.product-card .card-title a,
.product-card .card-title { color: var(--gold-soft) !important; }
.product-card .card-text { color: var(--muted) !important; }
.price-tag { color: var(--gold-soft) !important; }
.lead-chip {
    color: var(--gold-soft);
    border-color: var(--line);
}
.quote-link { color: var(--gold) !important; }
.cat-chip {
    color: var(--gold-soft) !important;
    border-color: var(--line) !important;
    background: transparent !important;
}

.spec-grid dt {
    background: var(--void-3) !important;
    color: var(--muted) !important;
}
.spec-grid dd {
    background: var(--void-2);
    color: var(--ink);
}
.product-stage img { mix-blend-mode: normal; filter: none; }
.trust-pill {
    border-color: var(--line);
    color: var(--ink-soft);
}

.input-group {
    background: var(--void-3) !important;
    border-color: var(--line) !important;
}
.input-group .form-control { background: transparent !important; }

footer {
    background: #000 !important;
    color: var(--muted) !important;
    border-top: 1px solid var(--line);
    margin-top: 0;
}
footer h5 { color: var(--gold) !important; }
footer p,
footer li,
footer .text-white { color: var(--ink-soft) !important; }
footer a { color: var(--ink-soft) !important; }
footer a:hover { color: var(--gold) !important; }

.cart-pay {
    background: var(--gold) !important;
    color: #0a0a0b !important;
    border-color: var(--gold) !important;
}
.cart-pay:hover { background: var(--gold-soft) !important; color: #0a0a0b !important; }
.cart-pay-ghost {
    background: transparent !important;
    color: var(--gold-soft) !important;
    border-color: var(--gold) !important;
}
.cart-pay-ghost:hover { background: rgba(201, 168, 106, 0.12) !important; }
.cart-guest,
.cart-qty,
.cart-coupon,
.cart-totals {
    background: var(--void-3) !important;
    border-color: var(--line) !important;
    color: var(--ink);
}
.cart-line-sum,
.cart-totals-grand strong { color: var(--gold-soft) !important; }

.swal-atelier {
    background: var(--void-2) !important;
    border: 1px solid var(--line) !important;
}
.swal-atelier-title { color: var(--gold-soft) !important; }
.swal-atelier-btn {
    background: var(--gold) !important;
    color: #0a0a0b !important;
}

.cookie-sheet {
    background: var(--void-2) !important;
    border: 1px solid var(--line) !important;
    color: var(--ink);
}

.legal-page { background: var(--void-2) !important; }

.catalog-editorial .col { margin-bottom: 0.5rem; }

#cookie-banner .bg-white { background: var(--void-2) !important; }

.card,
.card-body,
.product-card .card-body {
    background: transparent !important;
    color: inherit !important;
}
.product-gallery,
.product-card .product-gallery {
    background: #fff !important;
    background-color: #fff !important;
    height: 380px;
    border-color: var(--line) !important;
    position: relative;
}
.product-gallery::after,
.product-stage::after {
    display: none !important;
    content: none !important;
    background: none !important;
}
.product-gallery-slide {
    padding: 0;
    background: #fff;
}
.product-gallery-slide img,
.product-stage img,
.product-thumbs img,
.detail-product-gallery img,
.detail-product-image {
    filter: none !important;
    background: #fff;
}
.product-gallery:hover .product-gallery-slide img {
    filter: none !important;
}
.product-gallery-nav {
    color: var(--gold) !important;
    background: #fff !important;
    border-color: var(--gold) !important;
}
.product-gallery-dot {
    background: rgba(12, 18, 32, 0.18) !important;
}
.product-gallery-dot.active {
    background: var(--gold) !important;
}
.product-stage {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    padding: 1.5rem !important;
    min-height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.product-stage img {
    position: relative;
    z-index: 0;
    max-height: 620px;
    filter: none !important;
}
.product-thumbs img {
    background: #fff !important;
}
.detail-gallery-shell,
.detail-product-gallery {
    background: #fff !important;
}
.cart-img {
    background: #fff !important;
}

.lang-switch .btn-light,
.lang-switch .btn-light.text-dark {
    background: transparent !important;
    border: 0 !important;
    color: var(--muted) !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.lang-switch .btn-dark {
    background: var(--gold) !important;
    color: #0a0a0b !important;
    border: 0 !important;
    letter-spacing: 0.08em;
}

.guest-buy-link {
    background: transparent !important;
    color: var(--gold-soft) !important;
    border-color: var(--gold) !important;
}
.guest-buy-link:hover {
    background: rgba(201, 168, 106, 0.12) !important;
    color: var(--gold-soft) !important;
}

.cat-menu-list .dropdown-item.active {
    background: rgba(201, 168, 106, 0.16) !important;
    color: var(--gold-soft) !important;
}
.cat-menu-list .dropdown-item:hover {
    background: rgba(201, 168, 106, 0.1) !important;
}

.register-scroll-btn {
    background: var(--gold) !important;
    color: #0a0a0b !important;
}
.order-status.is-shipped {
    background: var(--gold) !important;
    color: #0a0a0b !important;
    border-color: var(--gold) !important;
}

.hero-cinematic-media img {
    filter: saturate(0.9) contrast(1.08) brightness(0.72);
}

::selection {
    background: rgba(201, 168, 106, 0.35);
    color: #efe6d4;
}

.table,
.table > :not(caption) > * > * {
    background: transparent !important;
    color: var(--ink) !important;
    border-color: var(--line) !important;
}
.list-group-item {
    background: var(--void-2) !important;
    color: var(--ink) !important;
    border-color: var(--line) !important;
}

hr {
    border-color: var(--line) !important;
    opacity: 1;
}

.text-primary { color: var(--gold) !important; }
.text-danger { color: #e8a0a0 !important; }

.navbar-collapse {
    background: transparent;
}
@media (max-width: 991.98px) {
    .navbar-collapse.show,
    .navbar-collapse.collapsing {
        background: rgba(5, 5, 6, 0.96);
        border-color: var(--line) !important;
    }
}

.hero-cinematic .hero-stat .value { color: var(--gold-soft) !important; }

.legal-page {
    border: 1px solid var(--line);
}

.site-nav .nav-link.is-here { color: var(--gold) !important; }
.story-masthead-veil {
    background:
        linear-gradient(90deg, rgba(5, 5, 6, 0.92) 0%, rgba(5, 5, 6, 0.55) 48%, rgba(5, 5, 6, 0.28) 100%),
        linear-gradient(180deg, rgba(5, 5, 6, 0.4) 0%, transparent 28%, rgba(5, 5, 6, 0.88) 100%);
}
.story-masthead-media img {
    filter: saturate(0.9) contrast(1.08) brightness(0.72);
}
.story-masthead h1 { color: var(--gold-soft) !important; }
.story-masthead .lead { color: rgba(239, 230, 212, 0.72) !important; }
.story-card {
    background: var(--void-2) !important;
    border-color: var(--line) !important;
}
.story-card h2 { color: var(--gold-soft); }
.story-card p { color: var(--muted) !important; }
.story-card-link:hover { background: rgba(201, 168, 106, 0.06) !important; }

.cookie-sheet {
    box-shadow: 0 -20px 50px rgba(0, 0, 0, 0.45);
}

.order-card,
.order-card-head {
    background: var(--void-3) !important;
    color: var(--ink) !important;
}
.order-card-head:hover { background: var(--void-2) !important; }
.cart-img { background: #fff !important; }
.swal2-html-container { color: var(--ink-soft) !important; }
