/* Shared layout: inner pages reserve the header's real height in normal flow. */
body.yvr-storefront .site-header { opacity: 1; transform: none; }
body.yvr-header-flow .site-header { position: relative; inset: auto; top: 0 !important; background: #020713; }
body.yvr-header-overlay .site-header { top: 0; }
body.yvr-storefront .header-main { min-height: 91px; height: auto; padding-block: 8px; }
body.yvr-storefront .brand { min-width: 0; max-width: 100%; }
body.yvr-storefront .yvr-site-logo { display: block; width: 240px; max-width: 100%; height: 74px; object-fit: contain; }
body.yvr-storefront .desktop-nav { gap: 22px; }
body.yvr-storefront .desktop-nav > ul { flex-wrap: nowrap; gap: clamp(18px, 2.5vw, 42px); }
body.yvr-storefront .desktop-nav > ul > li > a { white-space: nowrap; }
body.yvr-storefront .header-actions { flex: 0 0 auto; }
body.yvr-storefront .yvr-menu-logo { width: 176px; max-width: calc(100% - 58px); height: 60px; object-fit: contain; }
body.yvr-header-flow #wrapper > .yvr-auth,
body.yvr-header-flow #wrapper > .yvr-customer,
body.yvr-header-flow #main-content.yvr-about,
body.yvr-header-flow #main-content.yvr-contact { padding-top: 0 !important; }
body.yvr-header-flow #main-content.yvr-pd { padding-top: 24px !important; }
body.yvr-header-flow #main-content.yvr-catalog,
body.yvr-header-flow #main-content.yvr-shop-page,
body.yvr-header-flow #main-content.yvr-all-categories,
body.yvr-header-flow #wrapper > .yvr-order-status { padding-top: 28px !important; }
body.yvr-header-flow .yvr-about-hero,
body.yvr-header-flow .yvr-contact-hero { margin-top: 0; }
body.yvr-header-flow .yc-page-head { padding-top: 28px; }
body.yvr-header-flow #wrapper > .ygc-experience { padding-top: 24px; }
body.yvr-header-flow .yvr-help-hero { padding: 40px 0 60px; }
body.yvr-header-flow .yvr-help-breadcrumb { margin-bottom: 28px; }
body.yvr-storefront .yvr-auth-brand { display: block; width: min(250px, 90%); height: 84px; object-fit: contain; margin: 0 auto 16px; }
/* Existing category data and carousel are unchanged; only its backdrop is managed. */
.yvr-cat-section.yvr-cat-section--managed { background-image: none; }
.yvr-cat-section--managed > .yvr-cat-background { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center top; pointer-events: none; }
/* Keep all footer links and the collection invitation in a compact layout. */
body.yvr-storefront .yvr-footer .yvr-footer-masthead { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0, 1.6fr); gap: 32px; align-items: center; padding: 30px 0; border-bottom: 1px solid rgba(230,210,170,.2); }
body.yvr-storefront .yvr-footer-logo { display: block; width: 230px; max-width: 100%; height: 78px; object-fit: contain; }
body.yvr-storefront .yvr-footer-invitation { justify-self: end; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 28px; align-items: center; }
body.yvr-storefront .yvr-footer-eyebrow { grid-column: 1; margin: 0 0 7px; font: 9px/1.5 Arial,sans-serif; letter-spacing: .18em; color: #c8b897; }
body.yvr-storefront .yvr-footer-invitation h2 { grid-column: 1; margin: 0; font: 400 clamp(25px,2.4vw,34px)/1.15 Georgia,serif; color: #f3ebdf; }
body.yvr-storefront .yvr-footer-collection { grid-column: 2; grid-row: 1 / 3; margin: 0; padding: 10px 0; gap: 18px; white-space: nowrap; }
body.yvr-storefront .tf-footer.yvr-footer .footer-body { padding: 30px 0 24px !important; }
body.yvr-storefront .tf-footer.yvr-footer .footer-heading { margin-bottom: 16px; }
body.yvr-storefront .tf-footer.yvr-footer .footer-menu-list li { margin-bottom: 5px; }
body.yvr-storefront .tf-footer.yvr-footer .footer-menu-list a,
body.yvr-storefront .tf-footer.yvr-footer .footer-menu-list li,
body.yvr-storefront .tf-footer.yvr-footer .yvr-footer-description { font-size: 14px; line-height: 1.7; }
body.yvr-storefront .tf-footer.yvr-footer .tf-social-icon { margin-top: 18px; }
body.yvr-storefront .tf-footer.yvr-footer .footer-bottom-wrap { padding-block: 12px; }
@media (max-width: 1199px) {
    body.yvr-storefront .site-header .desktop-nav { display: none; }
    body.yvr-storefront .site-header .menu-trigger { display: inline-grid; }
    body.yvr-storefront .site-header .header-main.shell { grid-template-columns: minmax(38px,1fr) minmax(0,150px) minmax(106px,1fr) !important; min-height: 76px; width: calc(100% - 32px); gap: 8px; }
    body.yvr-storefront .site-header .yvr-site-logo { width: 150px; height: 52px; }
    body.yvr-storefront .yvr-footer-invitation { display: block; }
    body.yvr-storefront .yvr-footer-collection { margin-top: 10px; }
}
@media (max-width: 767px) {
    body.yvr-storefront .site-header .header-main.shell { min-height: 70px; width: calc(100% - 24px); grid-template-columns: minmax(32px,1fr) minmax(0,136px) minmax(102px,1fr) !important; gap: 4px; }
    body.yvr-storefront .site-header .yvr-site-logo { width: 136px; height: 46px; }
    body.yvr-storefront .yvr-mobile-header-actions { gap: 0; }
    body.yvr-storefront .yvr-mobile-header-action { width: 34px; height: 36px; }
    body.yvr-header-flow .yvr-help-hero { padding: 28px 0 42px; }
    body.yvr-header-flow .yvr-help-breadcrumb { margin-bottom: 24px; font-size: 10px; }
    body.yvr-storefront .yvr-auth-brand { width: 215px; height: 72px; margin-bottom: 12px; }
    body.yvr-storefront .yvr-footer .yvr-footer-masthead { grid-template-columns: minmax(0,1fr); gap: 22px; padding: 26px 0; }
    body.yvr-storefront .yvr-footer-logo { width: 190px; height: 64px; }
    body.yvr-storefront .yvr-footer-invitation { justify-self: start; }
    body.yvr-storefront .yvr-footer-invitation h2 { font-size: 28px; }
    body.yvr-storefront .tf-footer.yvr-footer .footer-body { padding: 24px 0 18px !important; }
    body.yvr-storefront .tf-footer.yvr-footer .footer-inner-wrap { gap: 20px; }
}
