/*
 * Wenith — Black Swan art direction.
 * This layer intentionally supersedes the first neutral draft. All colour
 * values resolve through the official tokens sampled from the brandbook.
 */

body { background: var(--wenith-black); }

.site-header { border-bottom-color: transparent; color: var(--wenith-ivory); }
.site-header.is-solid { border-bottom-color: var(--wenith-line); background: color-mix(in srgb, var(--wenith-black) 88%, transparent); }
.site-logo-link { display: inline-flex; align-items: center; }
.site-logo-link img { width: auto; max-width: 10rem; max-height: 2.55rem; object-fit: contain; }
.wenith-logo--footer { max-width: 17rem !important; max-height: 4.7rem !important; }
.wenith-logo--missing { display: grid; width: 2.2rem; height: 1.4rem; place-items: center; }
.wenith-logo--missing span:not(.screen-reader-text) { width: .68rem; height: .68rem; border: 1px solid var(--wenith-gold); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
.primary-nav__list a::after { background: var(--wenith-red); }
.cart-count { border-color: var(--wenith-red); color: var(--wenith-ivory); }
.mini-cart { background: var(--wenith-surface-raised); }
.search-overlay { background: color-mix(in srgb, var(--wenith-black) 96%, transparent); }

/* Opening: campaign image, warm side light and an official mark — no grid. */
.hero { min-height: 100svh; padding: 0; place-items: stretch; background: var(--wenith-black); }
.hero::before { display: none; }
.hero__media, .hero__shade { inset: 0; border-radius: 0; }
.hero__media { background: var(--wenith-black); }
.hero__media img, .hero__media video { filter: saturate(.9) contrast(1.08) brightness(.72); }
.hero__media video { opacity: 1; }
.hero__shade { background: linear-gradient(90deg, color-mix(in srgb, var(--wenith-black) 88%, transparent) 0%, color-mix(in srgb, var(--wenith-black) 63%, transparent) 49%, color-mix(in srgb, var(--wenith-black) 18%, transparent) 100%), linear-gradient(0deg, color-mix(in srgb, var(--wenith-black) 82%, transparent), transparent 52%); }
.hero__content { align-items: flex-start; justify-content: center; min-height: 100svh; padding-top: clamp(6.5rem, 12vw, 10rem); padding-bottom: 8rem; text-align: left; }
.hero__eyebrow { margin-bottom: 1.45rem; color: var(--wenith-gold-light); }
.hero__brand { width: min(100%, 34rem); margin-bottom: clamp(1.6rem, 3vw, 2.7rem); }
.hero__brand .site-logo-link { display: block; }
.hero__brand .site-logo-link img { width: min(100%, 32rem); max-width: none; max-height: none; mix-blend-mode: screen; }
.hero__manifesto { max-width: 24rem; margin: 0 0 2.25rem; color: var(--wenith-ivory); font-size: clamp(1.05rem, 1.6vw, 1.28rem); font-weight: 400; letter-spacing: .01em; line-height: 1.45; }
.hero__action .button { border-color: var(--wenith-red); border-radius: 0; background: var(--wenith-red); color: var(--wenith-ivory); }
.hero__action .button:hover { background: var(--wenith-gold); color: var(--wenith-black); }
.hero__scroll { left: max(1.5rem, calc((100vw - 84rem) / 2)); color: var(--wenith-text-muted); transform: none; }
.hero__scroll i { background: var(--wenith-red); }

.experience { background: radial-gradient(circle at 86% 75%, color-mix(in srgb, var(--wenith-red-deep) 33%, transparent), transparent 32%), var(--wenith-black-satin); color: var(--wenith-ivory); }
.experience::before { width: 35rem; height: 35rem; border-color: var(--wenith-line-gold); opacity: .38; }
.experience .eyebrow { color: var(--wenith-gold-light); }
.experience__intro p:not(.eyebrow), .experience__points p { color: var(--wenith-text-muted); }
.experience__points article, .experience__points article:last-child { border-color: var(--wenith-line); }
.experience__points span { color: var(--wenith-red); }

.featured-products { background: linear-gradient(155deg, var(--wenith-black), var(--wenith-surface-raised)); }
.feature-product__image, .product-card__image, .media-frame { background: var(--wenith-surface-soft); }
.wenith-image-placeholder { display: block; width: 100%; height: 100%; background: radial-gradient(circle at 80% 15%, color-mix(in srgb, var(--wenith-red) 26%, transparent), transparent 30%), linear-gradient(140deg, var(--wenith-black-satin), var(--wenith-surface-soft)); }
.media-frame::after { background: linear-gradient(130deg, transparent 50%, color-mix(in srgb, var(--wenith-ivory) 9%, transparent), transparent 65%); }
.feature-product__bottom { border-color: var(--wenith-line); }

.category-stage { background: radial-gradient(circle at 92% 7%, color-mix(in srgb, var(--wenith-gold) 25%, transparent), transparent 22%), linear-gradient(125deg, var(--wenith-black) 0%, var(--wenith-wine) 57%, var(--wenith-black) 100%); }
.category-grid { gap: 1px; background: var(--wenith-line); }
.category-card { background: var(--wenith-black); }
.category-card__media::after { background: linear-gradient(0deg, color-mix(in srgb, var(--wenith-black) 91%, transparent), transparent 68%); }
.category-grid > .catalogue-prompt { background: color-mix(in srgb, var(--wenith-wine) 75%, var(--wenith-black)); }

.collection-banner { min-height: clamp(37rem, 60vw, 52rem); }
.collection-banner__media { opacity: 1; }
.collection-banner__media::after { background: linear-gradient(90deg, color-mix(in srgb, var(--wenith-black) 88%, transparent), color-mix(in srgb, var(--wenith-wine) 40%, transparent) 62%, transparent); }
.collection-banner__content { padding-top: clamp(5rem, 10vw, 8rem); }
.collection-banner__content > p:not(.eyebrow) { color: var(--wenith-text); }

.journal-preview { background: var(--wenith-black-satin); }
.journal-card__image { background: var(--wenith-surface-soft); }

.newsletter { position: relative; overflow: hidden; background: linear-gradient(120deg, var(--wenith-wine), var(--wenith-black)); color: var(--wenith-ivory); }
.newsletter::before { position: absolute; inset: 0; background: radial-gradient(circle at 90% 20%, color-mix(in srgb, var(--wenith-gold) 20%, transparent), transparent 28%); content: ""; pointer-events: none; }
.newsletter > * { position: relative; }
.newsletter .eyebrow { color: var(--wenith-gold-light); }
.newsletter form { border-color: var(--wenith-line-gold); }
.newsletter input { color: var(--wenith-ivory); }
.newsletter input::placeholder { color: var(--wenith-text-muted); }
.newsletter .button--text { color: var(--wenith-gold-light); }
.site-footer { background: var(--wenith-black); }
.site-footer__bottom { color: var(--wenith-text-quiet); }

/* Store, product, cart, checkout and account inherit the same tactile palette. */
.shop-page, .commerce-shell { background: linear-gradient(145deg, var(--wenith-black), var(--wenith-surface-raised)); }
.shop-filter__inner, .woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-checkout-review-order, .woocommerce form .input-text, .woocommerce form select { background: var(--wenith-surface-raised); }
.product-card__badge { border-color: var(--wenith-red); background: color-mix(in srgb, var(--wenith-black) 76%, transparent); color: var(--wenith-ivory); }
.product-single__summary .single_add_to_cart_button, .woocommerce-checkout #place_order { border-color: var(--wenith-red); background: var(--wenith-red); color: var(--wenith-ivory); }
.product-single__summary .single_add_to_cart_button:hover, .woocommerce-checkout #place_order:hover { background: var(--wenith-gold); color: var(--wenith-black); }
.woocommerce-checkout-payment .payment_box { background: var(--wenith-surface-soft) !important; color: var(--wenith-text-muted) !important; }

@media (max-width: 900px) {
  .hero__content { align-items: flex-start; }
  .hero__brand { width: min(100%, 25rem); }
  .primary-nav { background: var(--wenith-black); }
}
@media (max-width: 560px) {
  .hero { min-height: 42rem !important; }
  .hero__content { padding-top: 7rem; padding-bottom: 7rem; }
  .hero__shade { background: linear-gradient(90deg, color-mix(in srgb, var(--wenith-black) 82%, transparent), color-mix(in srgb, var(--wenith-black) 36%, transparent)); }
  .hero__scroll { left: 1rem; }
  .site-logo-link img { max-width: 7.5rem; }
  .hero__brand .site-logo-link img { width: min(100%, 20rem); max-width: none; }
}
@media (prefers-reduced-motion: reduce) { .hero__media video { display: none; } }
