/*
 * Theme-owned styles. AUTHORED, not generated from the approved baseline.
 *
 * Loaded last, after the whole approved cascade, and deliberately tiny: it
 * styles states the private preview never had, and changes nothing the
 * approved design defines.
 */

/*
 * A destination the site has not published yet.
 *
 * vjv2_link_attr() gives these anchors no `href`, so they are already
 * non-clickable and out of the tab order. This makes that visible rather than
 * leaving text that looks like a working link.
 */
a[data-vjv2-unresolved] {display: none !important;
}

a[data-vjv2-unresolved]:hover {opacity: 0.45;
}

/* A price the store cannot currently quote. */
[data-vjv2-unresolved="1"] {font-style: italic;opacity: 0.7;
}

/*
 * The WordPress admin bar is position:fixed and 32px tall (46px on small
 * screens), and the approved header is fixed at top:0. Without this the bar
 * covers the header for logged-in users the moment the page scrolls - which
 * our own route test missed, because it only measured at the top of the page.
 */
body.admin-bar .site-header {top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .site-header {top: 46px;
	}
}

/* Home 08, production refinement. Preserve section order and brand palette. */
body.vjv2-home08 {padding: 0; }
.vjv2-home08 .desktop-nav {font-size: 13px; }
.vjv2-home08 .lux-home .shell {width: min(1280px, calc(100% - 80px)); }
.vjv2-home08 .lux-home .hero-inner {height: auto;min-height: 720px;max-height: none; }
.vjv2-home08 .lux-hero-copy {padding-block: 120px; }
.vjv2-home08 .lux-hero-prelude {color: var(--vj-color-inverse-muted);opacity: 1;font-size: 20px; }
.vjv2-home08 .lux-home .hero-description {font-size: 16px;max-width: 440px; }
.vjv2-home08 .lux-home .button,
.vjv2-home08 .lux-home .text-button,
.vjv2-home08 .lux-link {font-size: 13px; }
.vjv2-home08 .lux-intro-layout p,
.vjv2-home08 .lux-product-description,
.vjv2-home08 .lux-story-copy > p:not(.eyebrow),
.vjv2-home08 .lux-services-intro > p,
.vjv2-home08 .lux-showroom-title > p,
.vjv2-home08 .lux-difference-heading > p,
.vjv2-home08 .lux-journey-heading p,
.vjv2-home08 .lux-journey-steps > li > p:not(.eyebrow),
.vjv2-home08 .lux-difference-list li > p,
.vjv2-home08 .lux-reassurance-list p,
.vjv2-home08 .lux-faq .faq-list summary,
.vjv2-home08 .lux-faq .faq-list details p {font-size: 15px;line-height: 1.8; }
.vjv2-home08 .lux-home .lux-caption,
.vjv2-home08 .lux-model-chapters small,
.vjv2-home08 .lux-service-row > div > p:not(.eyebrow),
.vjv2-home08 .lux-home .gallery-tabs button,
.vjv2-home08 .lux-home .lux-product-facts,
.vjv2-home08 .footer-column a {font-size: 13px; }
.vjv2-home08 .lux-service-price {white-space: nowrap;font-size: 32px; }
.vjv2-home08 .lux-product-price {flex-wrap: wrap; }
.vjv2-home08 .lux-product-price > strong {font-size: clamp(32px, 3.5vw, 48px); }
.vjv2-home08 .lux-home .lux-product-price > span {font-size: 12px; }
.vjv2-home08 .lux-home .lux-product-price > strong[data-vjv2-unresolved] {font-size: 24px;font-style: normal; }
.vjv2-home08 .lux-showroom .model-stage {min-height: 0;height: clamp(350px, 34vw, 480px);aspect-ratio: auto; }
.vjv2-home08 .lux-showroom .model-instructions {font-size: 12px; }
.vjv2-home08 .lux-showroom-bottom {margin-top: 24px; }
.vjv2-home08 .lux-showroom-bottom p {max-width: 640px;font-size: 12px; }
.vjv2-home08 .home-model-detail {margin-top: 18px;padding-top: 18px; }
.vjv2-home08 .home-model-detail p {max-width: 620px;font-size: 13px; }
.vjv2-home08 .lux-difference-bottom {justify-content: flex-end; }
.vjv2-home08 .site-footer .footer-utility,
.vjv2-home08 .site-footer .footer-bottom {font-size: 12px; }
@media (max-width: 980px) {
 .vjv2-home08 .lux-home .shell {width: calc(100% - 48px); }
 .vjv2-home08 .lux-home .hero-inner {min-height: 660px; }
 .vjv2-home08 .lux-showroom .model-stage {height: 420px; }
 .vjv2-home08 .lux-product-layout {gap: 32px; }
}
@media (max-width: 700px) {
 .vjv2-home08 .lux-home .shell {width: calc(100% - 40px); }
 .vjv2-home08 .lux-home .hero-inner {min-height: 0; }
 .vjv2-home08 .lux-hero-copy {padding-block: 34px 28px; }
 .vjv2-home08 .lux-home .hero-description {font-size: 14px; }
 .vjv2-home08 .lux-hero-prelude {font-size: 17px; }
 .vjv2-home08 .lux-home .hero h1 {font-size: clamp(58px, 16vw, 92px); }
 .vjv2-home08 .lux-home .hero-subtitle {font-size: 28px; }
 .vjv2-home08 .lux-showroom-title h2 {font-size: 46px; }
 .vjv2-home08 .lux-showroom .model-stage {height: 300px; }
 .vjv2-home08 .lux-model-chapters small {font-size: 11px; }
 .vjv2-home08 .lux-home .gallery-tabs button {font-size: 11px; }
 .vjv2-home08 .lux-service-row {grid-template-columns: 24px minmax(0,1fr); }
 .vjv2-home08 .lux-service-price {grid-column: 2;padding-top: 0;text-align: left;font-size: 28px; }
 .vjv2-home08 .lux-service-price small {display: inline-block;margin-left: 10px;font-size: 11px; }
 .vjv2-home08 .lux-service-row > div > p:not(.eyebrow) {max-width: none; }
 .vjv2-home08 .lux-service-row h3 {font-size: 27px; }
 .vjv2-home08 .lux-finale h2 {font-size: clamp(44px, 11vw, 64px); }
 .vjv2-home08 .finish-picker {flex-wrap: wrap; }
 .vjv2-home08 .lux-home .button {gap: 20px; }
}

/* Explicit inverse typography protects the dark Home sections from editor kits. */
.vjv2-home08 .lux-home :is(.hero,.lux-showroom,.lux-journey,.lux-finale) :is(h1,h2,h3){color:var(--vj-color-inverse)}
.vjv2-home08 .lux-home :is(.lux-showroom,.lux-journey,.lux-finale) h2 em{color:var(--vj-color-gold)}
.vjv2-home08 .lux-home .hero .hero-subtitle{color:var(--vj-color-inverse)}
.vjv2-home08 .lux-home .hero .hero-description,
.vjv2-home08 .lux-home .lux-showroom-title>p,
.vjv2-home08 .lux-home .lux-showroom .lux-section-meta>span:last-child,
.vjv2-home08 .lux-home .lux-showroom-bottom p,
.vjv2-home08 .lux-home .lux-journey-heading>div>p,
.vjv2-home08 .lux-home .lux-journey-steps p:not(.eyebrow),
.vjv2-home08 .lux-home .lux-finale-base>p{color:var(--vj-color-inverse-muted)}
