/* Venue information shares the existing Goldman / forest / gold identity. */
.room-link { display: block; width: fit-content; margin-top: .65rem; color: var(--gold-light); font-weight: 700; text-underline-offset: 4px; }
.venue-crumbs, .venue-return { padding: 1.5rem var(--pad); max-width: 1480px; margin: auto; font-size: .8rem; }
.venue-crumbs { color: var(--muted); }
.venue-crumbs a, .venue-return a { color: var(--gold-light); text-underline-offset: 4px; }
.venue-crumbs span { margin-inline: .6rem; }
.venue-return { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding-block: 2rem; }
.gaming-room-page .gaming-section { padding-top: clamp(2rem, 4vw, 4rem); padding-bottom: 3rem; }
.gaming-room-page .gaming-catalog { margin-top: 2rem; }
.events-heading { padding: 2.5rem var(--pad) 3rem; }
.events-heading .section-title { margin-bottom: 1rem; }
.events-heading p:not(.section-label) { color: var(--muted); max-width: 40rem; }
.events-page .festival-section { border-top: 1px solid var(--line); padding-block: 3rem; }
.venue-footer { border-top: 1px solid var(--line); padding-block: 2rem; }
.venue-footer .footer-nav { margin-block: 1rem; }
.venue-footer p { color: var(--muted); font-size: .8rem; }
.venue-copyright { margin-top: 1rem; }
.medical-section { background: var(--dark2); border-block: 1px solid var(--line); padding-block: clamp(2rem, 4vw, 3.5rem); }
.medical-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1.5rem; margin: 0 auto 2rem; max-width: 1320px; }
.medical-heading h2 { font: 700 clamp(1.25rem, 2.2vw, 2rem)/1.3 var(--display); color: var(--white); }
.medical-heading a, .medical-note a { color: var(--gold-light); text-underline-offset: 4px; }
.medical-heading a { font-size: .8rem; flex-shrink: 0; }
.medical-section .comp-t { color: var(--gold-light); }
.medical-note { max-width: 1320px; margin: 1.5rem auto 0; color: var(--muted); font-size: .8rem; }
.hero-medical { display: inline-block; color: var(--gold-light); font-size: .8rem; text-underline-offset: 5px; margin: 0 0 1.5rem; }
.gaming-section { background: var(--paper); color: var(--ink); }
.gaming-section .section-label { color: #46634c; }
.gaming-intro { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.gaming-section .section-title { color: var(--ink); margin-bottom: 1.5rem; }
.gaming-section .section-title span { display: block; color: #526e43; }
.gaming-description { max-width: 37em; color: #40533e; }
.gaming-specs { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 1.5rem 0; }
.gaming-specs li { border: 1px solid #cad0c0; border-radius: 2rem; padding: .4rem .85rem; font-size: .75rem; font-weight: 700; }
.gaming-featured { font-size: .9rem; line-height: 1.8; max-width: 35em; }
.gaming-photo { margin: 0; }
.gaming-photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 3px; }
.gaming-photo figcaption { display: flex; justify-content: space-between; gap: 1rem; font-size: .7rem; font-weight: 700; letter-spacing: .1em; padding-top: .85rem; }
.gaming-catalog { margin-top: 2.5rem; border-block: 1px solid #bdc6b4; }
.gaming-catalog summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.5rem 0; list-style: none; font: 700 clamp(1.1rem, 2vw, 1.5rem)/1.4 var(--display); }
.gaming-catalog summary::-webkit-details-marker { display: none; }
.gaming-catalog summary::after { content: '+'; font: 400 2rem/1 var(--body); }
.gaming-catalog[open] summary::after { content: '−'; }
.gaming-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; counter-reset: games; gap: 0 2rem; padding-bottom: 1.5rem; }
.gaming-list li { display: flex; align-items: baseline; gap: .9rem; padding: .9rem 0; border-top: 1px solid #d6dbcd; font-size: .9rem; line-height: 1.5; break-inside: avoid; counter-increment: games; }
.gaming-list li::before { content: counter(games, decimal-leading-zero); font: 400 .75rem/1 var(--display); color: #607351; flex-shrink: 0; }
.gaming-source { display: flex; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; color: #40533e; font-size: .8rem; margin-top: 1rem; }
.gaming-source a { color: var(--ink); font-weight: 700; text-underline-offset: 4px; }
.gaming-section :focus-visible { outline-color: var(--ink); }
.game-coming { display: grid; grid-template-columns: auto 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; margin-top: 2.5rem; padding: clamp(1.5rem, 4vw, 2.5rem); background: var(--dark); color: var(--white); border-top: 3px solid var(--gold); }
.game-coming-mark { font: 700 clamp(4rem, 8vw, 7rem)/1 var(--display); color: var(--gold); }
.game-coming-status { color: var(--gold-light); font-size: .7rem; font-weight: 700; letter-spacing: .1em; margin-bottom: .65rem; }
.game-coming h3 { font: 700 clamp(1.2rem, 2vw, 1.7rem)/1.3 var(--display); margin-bottom: .85rem; }
.game-coming h3 span { display: block; color: var(--gold-light); font-size: .8rem; margin-top: .4rem; }
.game-coming p:not(.game-coming-status) { font-size: .85rem; color: var(--muted); }
.game-coming a { display: inline-block; margin-top: .8rem; font-size: .75rem; color: var(--gold-light); text-underline-offset: 4px; }
.game-coming :focus-visible { outline-color: var(--gold-light); }
.festival-section { background: var(--dark3); border-bottom: 1px solid var(--line); padding-block: 2.5rem; }
.festival-inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 2rem 4rem; }
.festival-section .section-label { margin-bottom: .6rem; }
.festival-section h2 { font: 700 clamp(1.3rem, 2.5vw, 2rem)/1.35 var(--display); }
.festival-date { color: var(--gold-light); font-size: .9rem; margin-top: .5rem; }
.festival-inner > div:last-child p { color: var(--muted); font-size: .85rem; }
.festival-section a { display: inline-block; font-size: .8rem; margin-top: .75rem; color: var(--gold-light); text-underline-offset: 4px; }
html:lang(ru) .medical-heading h2, html:lang(zh) .medical-heading h2,
html:lang(ru) .gaming-catalog summary, html:lang(zh) .gaming-catalog summary { font-family: var(--body); }
@media (max-width: 900px) { .gaming-intro { grid-template-columns: 1fr; gap: 2rem; } .gaming-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .medical-heading { display: block; } .medical-heading a { display: inline-block; margin-top: .75rem; } .gaming-list { gap: 0 1rem; } .gaming-photo figcaption { letter-spacing: .04em; } .festival-inner { grid-template-columns: 1fr; gap: 1rem; } }
@media (max-width: 420px) { .gaming-list { grid-template-columns: 1fr; } .game-coming { grid-template-columns: 1fr; gap: 1rem; } .game-coming-mark { font-size: 3.5rem; } }
