html { background: #050505; }
.shop-page { margin: 0; color: #f2eee6; background: #050505; font-family: Georgia, 'Times New Roman', serif; }
.shop-loading { position: fixed; inset: 0; z-index: 1000; background: #050505; transition: opacity .5s ease, visibility .5s ease; }
.shop-loading.is-hidden { opacity: 0; visibility: hidden; }
.shop-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; display: grid; grid-template-columns: 220px 1fr 220px; align-items: center; height: 44px; padding: 0 42px; color: #fff; background: linear-gradient(180deg, rgba(0,0,0,.78), rgba(0,0,0,0)); }
.shop-logo { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; letter-spacing: .16em; }
.shop-logo span { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.55); font-size: 13px; }
.shop-logo strong { font-size: 11px; line-height: 1.35; font-weight: 400; }
.shop-main-nav { display: flex; justify-content: center; gap: 26px; white-space: nowrap; }
.shop-main-nav a { color: rgba(255,255,255,.72); text-decoration: none; font: 11px/1.2 Arial, sans-serif; letter-spacing: .14em; padding-bottom: 8px; border-bottom: 1px solid transparent; }
.shop-main-nav a:hover, .shop-main-nav a.is-active { color: #fff; border-color: #fff; }
.shop-content { min-height: 100vh; }
.shop-hero { display: grid; place-items: center; min-height: 430px; padding: 120px 24px 70px; text-align: center; background: radial-gradient(circle at 50% 0%, rgba(154,112,55,.35), transparent 36%), linear-gradient(180deg, #12100d, #050505); }
.shop-hero .eyebrow { margin: 0 0 18px; color: #b7a17e; font: 11px/1 Arial, sans-serif; letter-spacing: .32em; }
.shop-hero h1 { margin: 0; font-size: clamp(42px, 8vw, 96px); font-weight: 400; letter-spacing: .14em; }
.shop-container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
.shop-areas { padding: 70px 0; background: #0b0a09; }
.shop-areas.compact { padding: 42px 0; }
.shop-areas h2 { margin: 0 0 28px; font-size: 24px; font-weight: 400; letter-spacing: .14em; text-align: center; }
.shop-area-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.shop-area-grid a { display: grid; min-height: 82px; place-items: center; padding: 18px; color: #f2eee6; text-align: center; text-decoration: none; border: 1px solid rgba(242,238,230,.22); background: rgba(255,255,255,.035); transition: background .25s ease, border-color .25s ease; }
.shop-area-grid a:hover, .shop-area-grid a.is-active { background: rgba(163,121,71,.22); border-color: rgba(220,190,139,.7); }
.shop-replica { background: #050505; }
.shop-replica .header, .shop-replica .breadcrumb, .shop-replica .pagetop, .shop-replica .forcms_block:first-child { display: none !important; }
.shop-replica .shop_list-area { display: none !important; }
.shop-replica img { max-width: 100%; height: auto; }
.shop-replica a { color: inherit; }
.shop-replica .base-min-container { width: min(1088px, calc(100% - 40px)); margin: 0 auto; }
.shop-replica .shop_list-ss { padding: 72px 0 64px; text-align: center; }
.shop-replica .shop_list-ss h2, .shop-replica .shop_list-se h2 { margin: 0; text-align: center; }
.shop-replica .shop_list-ss-comment { margin: 22px auto 34px; text-align: center; line-height: 1.9; }
.shop-replica .shop_list-ss-list ul { display: flex; justify-content: center; list-style: none; margin: 0; padding: 0; }
.shop-replica .shop_list-ss-list li { width: 100%; }
.shop-replica .shop_list-ss-list a, .shop-replica .shop_list-se a { display: block; text-decoration: none; }
.shop-replica .shop_list-ss-list picture, .shop-replica .shop_list-ss-list img, .shop-replica .shop_list-se-bg img { display: block; width: 100%; margin: 0 auto; }
.shop-replica .shop_list-se { padding: 0 0 86px; }
.shop-replica .shop_list-se .base-min-container { position: relative; }
.shop-replica .shop_list-se a { position: relative; overflow: hidden; text-align: center; }
.shop-replica .shop_list-se-detail { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; text-align: center; }
.shop-replica .shop_list-se-comment { line-height: 1.8; }
.shop-replica .shop_list-se-viewmore span { display: inline-block; padding-bottom: 6px; }
.shop-store-section { padding: 68px 0 100px; background: #050505; }
.shop-static-main { padding: 92px 0 100px; background: #050505; }
.shop-static-container { width: min(1088px, calc(100% - 40px)); margin: 0 auto; }
.shop-breadcrumb { width: min(1088px, calc(100% - 40px)); margin: 0 auto 28px; color: rgba(242,238,230,.62); font: 12px/1.6 Arial, sans-serif; letter-spacing: .08em; }
.shop-breadcrumb a { color: inherit; text-decoration: none; }
.shop-breadcrumb a::after { content: '>'; margin: 0 10px; color: rgba(242,238,230,.36); }
.stage-hero, .experience-hero { position: relative; width: min(1180px, calc(100% - 40px)); margin: 0 auto; text-align: center; }
.stage-hero > img, .experience-hero > img { display: block; width: 100%; height: auto; margin: 0 auto; }
.stage-logo { position: absolute; inset: 0; display: grid; place-items: center; padding: 24px; }
.stage-logo img { width: min(360px, 48vw); }
.shop-anchor-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 28px; width: min(1088px, calc(100% - 40px)); margin: 34px auto 68px; padding: 0; font: 12px/1.3 Arial, sans-serif; letter-spacing: .16em; }
.shop-anchor-nav a { color: #f2eee6; text-decoration: none; border-bottom: 1px solid rgba(242,238,230,.35); padding-bottom: 6px; }
.shop-anchor-nav.compact { margin: 34px auto 0; }
.stage-section { margin-top: 68px; text-align: center; }
.stage-section:first-of-type { margin-top: 0; }
.stage-section-image { display: block; width: min(1088px, calc(100% - 40px)); margin: 0 auto; }
.stage-text { margin-top: 38px; text-align: center; }
.stage-text h1, .stage-text h2, .stage-shop-list h2, .experience-intro h1, .experience-section h2, .experience-closing h2 { margin: 0; font-weight: 400; letter-spacing: .14em; text-align: center; }
.stage-text h1 { font-size: clamp(34px, 5vw, 68px); }
.stage-text h2, .stage-shop-list h2, .experience-section h2 { font-size: clamp(26px, 4vw, 44px); }
.stage-text h2 span, .experience-section h2 span { display: block; margin-top: 12px; font-size: 14px; letter-spacing: .14em; }
.stage-text p, .experience-intro p, .experience-card p, .experience-closing p { margin: 24px auto 0; max-width: 820px; color: rgba(242,238,230,.82); line-height: 2; text-align: center; }
.stage-section-split .shop-static-container { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.stage-section-split.reverse .stage-section-image { order: 2; }
.stage-section-split .stage-section-image { width: 100%; }
.stage-section-split .stage-text { margin-top: 0; }
.stage-shop-list { margin-top: 84px; }
.stage-store-card { display: grid; grid-template-columns: minmax(0, 44%) 1fr; gap: 38px; align-items: center; margin-top: 34px; padding: 30px; border: 1px solid rgba(242,238,230,.14); background: rgba(255,255,255,.035); }
.stage-store-photo { display: block; width: 100%; }
.stage-store-info { text-align: left; }
.stage-store-info h3 { margin: 0 0 18px; font-size: 30px; font-weight: 400; letter-spacing: .08em; }
.stage-store-info p { margin: 0 0 18px; color: rgba(242,238,230,.82); line-height: 1.8; }
.stage-store-info dl { display: grid; grid-template-columns: 140px 1fr; gap: 12px; margin: 10px 0; color: rgba(242,238,230,.82); }
.stage-store-info dt, .stage-store-info dd { margin: 0; }
.stage-store-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.stage-store-links a { min-width: 145px; padding: 12px 18px; border: 1px solid rgba(242,238,230,.34); color: #f2eee6; text-align: center; text-decoration: none; font: 12px/1 Arial, sans-serif; letter-spacing: .12em; }
.experience-intro { margin-top: 52px; text-align: center; }
.experience-intro h1 { font-size: clamp(34px, 5vw, 68px); line-height: 1.25; }
.experience-section { margin-top: 82px; }
.experience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; margin-top: 36px; }
.experience-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.experience-card { text-align: center; }
.experience-card img { display: block; width: 100%; margin: 0 auto 22px; }
.experience-card h3 { margin: 0; font-size: 19px; font-weight: 400; line-height: 1.7; letter-spacing: .06em; }
.experience-card p { margin-top: 16px; font-size: 14px; text-align: left; }
.experience-closing { margin-top: 86px; text-align: center; }
.experience-closing h2 { font-size: clamp(28px, 4vw, 48px); line-height: 1.35; }
.experience-closing img { display: block; width: 86px; margin: 26px auto 0; }
.shop-static-cta { margin-top: 78px; }
.shop-static-cta a { position: relative; display: block; overflow: hidden; color: #f2eee6; text-align: center; text-decoration: none; }
.shop-static-cta img { display: block; width: 100%; margin: 0 auto; }
.shop-static-cta span { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 20px; }
.shop-static-cta strong { font-size: clamp(28px, 4vw, 48px); font-weight: 400; line-height: 1.18; letter-spacing: .16em; }
.shop-static-cta em { font-style: normal; line-height: 1.7; }
.shop-static-cta b { font: 12px/1 Arial, sans-serif; letter-spacing: .14em; }
.shop-detail-block { border: 1px solid rgba(242,238,230,.16); background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.015)); }
.shop-company-card { margin-bottom: 24px; padding: clamp(28px, 5vw, 56px); }
.shop-detail-kicker { margin-bottom: 14px; color: #b7a17e; font: 11px/1 Arial, sans-serif; letter-spacing: .24em; text-transform: uppercase; }
.shop-company-card h2, .shop-detail-heading h2 { margin: 0; font-size: clamp(28px, 5vw, 54px); font-weight: 400; letter-spacing: .08em; }
.shop-company-card p { max-width: 760px; margin: 24px 0 0; color: rgba(242,238,230,.86); font-size: 18px; line-height: 2; }
.shop-company-contact { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 28px; }
.shop-company-contact span { color: #f2eee6; font: 16px/1.4 Arial, sans-serif; letter-spacing: .08em; }
.shop-company-contact a { padding: 12px 20px; color: #f2eee6; text-decoration: none; border: 1px solid rgba(242,238,230,.32); font: 11px/1 Arial, sans-serif; letter-spacing: .14em; }
.shop-company-contact a:hover { background: #f2eee6; color: #050505; }
.shop-directory { padding: clamp(24px, 4vw, 38px); }
.shop-detail-heading { display: flex; justify-content: space-between; gap: 28px; align-items: end; padding-bottom: 28px; border-bottom: 1px solid rgba(242,238,230,.12); }
.shop-detail-heading p { max-width: 420px; margin: 0; color: rgba(242,238,230,.64); line-height: 1.8; text-align: right; }
.shop-area-intro { margin: 24px 0 0; color: rgba(242,238,230,.75); line-height: 1.9; }
.shop-store-list { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 18px; }
.shop-store-card { display: grid; grid-template-columns: 1fr; gap: 30px; padding: 28px; border: 1px solid rgba(242,238,230,.12); background: #0e0d0b; }
.shop-store-card.has-media { grid-template-columns: minmax(0, 34%) 1fr; }
.shop-store-media { display: grid; align-content: start; gap: 18px; }
.shop-brand-logo { max-width: 220px; max-height: 44px; object-fit: contain; filter: invert(1) grayscale(1) contrast(.8); }
.shop-store-image { width: 100%; aspect-ratio: 4/3; object-fit: cover; background: #151515; }
.shop-store-brand { margin: 0 0 10px; color: #b7a17e; font: 11px/1 Arial, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.shop-store-info h3 { margin: 0 0 18px; font-size: 28px; font-weight: 400; line-height: 1.35; letter-spacing: .04em; }
.shop-store-info .address { margin: 0 0 18px; color: rgba(242,238,230,.82); line-height: 1.9; }
.shop-store-info dl { display: grid; grid-template-columns: 110px 1fr; gap: 12px; margin: 10px 0; color: rgba(242,238,230,.82); }
.shop-store-info dt { color: #b7a17e; font-weight: 400; }
.shop-store-info dd { margin: 0; }
.shop-store-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.shop-store-links a { min-width: 150px; padding: 13px 22px; color: #f2eee6; text-decoration: none; text-align: center; border: 1px solid rgba(242,238,230,.38); font: 11px/1 Arial, sans-serif; letter-spacing: .14em; }
.shop-store-links a:hover { background: #f2eee6; color: #050505; }
.shop-footer { display: flex; justify-content: space-between; gap: 24px; padding: 34px 42px; color: rgba(242,238,230,.68); background: #090807; border-top: 1px solid rgba(242,238,230,.12); font: 11px/1.2 Arial, sans-serif; letter-spacing: .18em; }
.shop-footer a { color: inherit; text-decoration: none; }
.language-switch { position: fixed; right: 24px; bottom: 24px; z-index: 80; font-family: Arial, sans-serif; }
.language-switch-current { width: 48px; height: 48px; color: #f2eee6; border: 1px solid rgba(242,238,230,.35); background: rgba(12,11,10,.86); font-size: 11px; cursor: pointer; }
.language-switch-panel { position: absolute; right: 0; bottom: 56px; min-width: 130px; padding: 12px; opacity: 0; visibility: hidden; transform: translateY(8px); background: rgba(12,11,10,.94); border: 1px solid rgba(242,238,230,.2); transition: .2s ease; }
.language-switch:hover .language-switch-panel, .language-switch.is-open .language-switch-panel { opacity: 1; visibility: visible; transform: translateY(0); }
.language-switch-title { margin-bottom: 8px; color: #b7a17e; font-size: 10px; letter-spacing: .18em; }
.language-switch-panel a { display: block; padding: 9px 0; color: rgba(242,238,230,.72); text-decoration: none; font-size: 11px; letter-spacing: .12em; }
.language-switch-panel a.is-active, .language-switch-panel a:hover { color: #fff; }
@media (max-width: 900px) { .shop-header { display:none!important; } .shop-main-nav { justify-content: flex-start; overflow-x: auto; gap: 18px; padding-bottom: 6px; } .shop-header-spacer { display: none; } .shop-area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .shop-detail-heading { display: block; } .shop-detail-heading p { margin-top: 16px; text-align: left; } .shop-store-card, .shop-store-card.has-media { grid-template-columns: 1fr; padding: 20px; } .shop-store-info dl { grid-template-columns: 1fr; gap: 3px; } .shop-footer { padding: 28px 20px; flex-direction: column; } }
@media (min-width: 769px) { .shop-replica .sp-only { display: none !important; } .shop-replica .pc-only { display: block !important; } }
@media (max-width: 768px) { .shop-replica .base-min-container { width: calc(100% - 32px); } .shop-replica .pc-only { display: none !important; } .shop-replica .sp-only { display: block !important; } .shop-replica .shop_list-ss { padding: 48px 0 42px; } .shop-replica .shop_list-ss-comment { margin: 18px auto 26px; } .shop-replica .shop_list-se { padding-bottom: 56px; } .shop-replica .shop_list-se-detail { gap: 12px; } }
@media (max-width: 768px) { .shop-static-main { padding-top: 74px; } .shop-static-container, .shop-breadcrumb, .stage-hero, .experience-hero, .stage-section-image, .shop-anchor-nav { width: calc(100% - 32px); } .shop-anchor-nav { margin: 28px auto 48px; gap: 12px 18px; } .stage-section { margin-top: 52px; } .stage-section-split .shop-static-container, .stage-section-split.reverse .shop-static-container, .stage-store-card, .experience-grid, .experience-grid.three { grid-template-columns: 1fr; } .stage-section-split.reverse .stage-section-image { order: 0; } .stage-store-card { padding: 20px; } .stage-store-info { text-align: center; } .stage-store-info dl { grid-template-columns: 1fr; gap: 3px; } .stage-store-links { justify-content: center; } .experience-section { margin-top: 58px; } .experience-card p { text-align: center; } .shop-static-cta { margin-top: 54px; } .shop-static-cta span { gap: 9px; } }
@media (max-width: 520px) { .shop-area-grid { grid-template-columns: 1fr; } .shop-hero { min-height: 340px; } .shop-company-card, .shop-directory { padding: 22px; } .shop-company-card p { font-size: 16px; } .shop-store-info h3 { font-size: 23px; } }

/* Walnut gold theme: color-only overrides. */
html, .shop-page, .shop-content, .shop-replica, .shop-store-section, .shop-static-main { background: var(--zg-deep, #050302); color: var(--zg-ink, #f0e5d2); }
.shop-loading { background: var(--zg-deep, #050302); }
.shop-header, .shop-footer { background: var(--zg-deep, #050302); color: var(--zg-ink, #f0e5d2); border-color: var(--zg-line, rgba(189,154,98,.38)); }
.shop-hero { background: radial-gradient(circle at 68% 20%, #624026, #17100b 48%, var(--zg-deep, #050302) 100%); color: var(--zg-ink, #f0e5d2); }
.shop-areas { background: var(--zg-deep-soft, #0e0804); color: var(--zg-ink, #f0e5d2); }
.shop-hero .eyebrow, .shop-detail-kicker, .shop-store-brand, .shop-store-info dt { color: var(--zg-gold, #bd9a62); }
.shop-hero h1, .shop-areas h2, .stage-text h1, .stage-text h2, .stage-shop-list h2, .experience-intro h1, .experience-section h2, .experience-closing h2, .shop-company-card h2, .shop-detail-heading h2, .shop-store-info h3 { color: var(--zg-ink, #f0e5d2); }
.stage-text p, .experience-intro p, .experience-card p, .experience-closing p, .shop-company-card p, .shop-detail-heading p, .shop-area-intro, .shop-store-info .address, .shop-store-info dl { color: var(--zg-muted, #9a876d); }
.shop-area-grid a, .stage-store-card, .shop-detail-block, .shop-store-card, .shop-directory, .shop-company-card { background: var(--zg-deep-soft, #0e0804); color: var(--zg-ink, #f0e5d2); border-color: var(--zg-line, rgba(189,154,98,.38)); }
.shop-area-grid a:hover, .shop-area-grid a.is-active, .shop-store-links a:hover, .shop-company-contact a:hover { background: var(--zg-gold, #bd9a62); color: var(--zg-deep, #050302); border-color: var(--zg-gold, #bd9a62); }
.shop-anchor-nav a, .stage-store-links a, .shop-store-links a, .shop-company-contact a { color: var(--zg-gold, #bd9a62); border-color: var(--zg-gold, #bd9a62); }
.shop-replica img, .stage-hero > img, .experience-hero > img, .stage-section-image, .stage-store-photo, .experience-card img, .shop-static-cta img, .shop-store-image { filter: saturate(.82) contrast(1.08) sepia(.14) brightness(.82); }

/* Final readable shop layer. */
html,
.shop-page,
.shop-content,
.shop-replica,
.shop-store-section,
.shop-static-main,
.shop-areas {
    background: var(--zg-paper, #f5eee2) !important;
    color: var(--zg-ink, #17120e) !important;
}

.shop-loading {
    background: var(--zg-paper, #f5eee2) !important;
}

.shop-hero {
    background: radial-gradient(circle at 72% 24%, rgba(176, 138, 85, .22), transparent 32%), #120d09 !important;
    color: #f5eee2 !important;
}

.shop-hero h1 {
    color: #f5eee2 !important;
}

.shop-areas h2,
.stage-text h1,
.stage-text h2,
.stage-shop-list h2,
.experience-intro h1,
.experience-section h2,
.experience-closing h2,
.shop-company-card h2,
.shop-detail-heading h2,
.shop-store-info h3 {
    color: var(--zg-ink, #17120e) !important;
}

.stage-text p,
.experience-intro p,
.experience-card p,
.experience-closing p,
.shop-company-card p,
.shop-detail-heading p,
.shop-area-intro,
.shop-store-info .address,
.shop-store-info dl {
    color: var(--zg-muted, #5f554a) !important;
}

.shop-area-grid a,
.stage-store-card,
.shop-detail-block,
.shop-store-card,
.shop-directory,
.shop-company-card {
    background: rgba(255, 250, 242, .74) !important;
    color: var(--zg-ink, #17120e) !important;
    border-color: rgba(122, 86, 53, .22) !important;
}

.shop-area-grid a {
    color: #fff !important;
}

.shop-replica img,
.stage-hero > img,
.experience-hero > img,
.stage-section-image,
.stage-store-photo,
.experience-card img,
.shop-static-cta img,
.shop-store-image {
    filter: saturate(.96) contrast(1.02) sepia(.04) brightness(1) !important;
}

/* Requested shop page title colors. */
.shop-hero h1,
.shop-areas h2,
.shop-replica h1,
.shop-replica h2,
.shop-replica h3,
.shop-replica h4,
.stage-text h1,
.stage-text h2,
.stage-shop-list h2,
.experience-intro h1,
.experience-section h2,
.experience-closing h2,
.shop-company-card h2,
.shop-detail-heading h2,
.shop-store-info h3 {
    color: var(--zg-gold, #bd9a62) !important;
}
