/* Additions requested for the 2026-10-27 source. Existing typography is retained. */
.lantern-capacity{margin:20px 0 8px;color:var(--gold);font-size:21px;font-weight:800;line-height:1.7;text-align:center}
.lantern-information{font-size:14px;text-align:left;line-height:1.9}
.event-pdfs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;margin-top:32px;font-size:18px;font-weight:700;scroll-margin-top:0}
.event-pdfs a{padding:8px 0}
.evers-detail-link{display:block}
.germany-banner{display:block;margin:0 0 32px;text-decoration:none}
.contents-grid li{min-width:0}
.content-card{display:block;position:relative;container-type:inline-size;text-align:center;text-decoration:none}
.contents-grid .content-card-photo{width:100%;height:auto;aspect-ratio:1;object-fit:cover;margin:0}
.content-card-title{display:block;margin-top:8px;color:var(--gold);font-family:var(--serif);font-size:clamp(14px,11cqi,23px);font-weight:600;line-height:1.5;overflow-wrap:break-word}
.schedule-tile-art,.instagram-tile-art{display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:100%;padding:10px;text-align:center;font:700 clamp(16px,16cqi,34px)/1.55 var(--serif)}
.schedule-tile-art{background:linear-gradient(120deg,#f6e49a,#e9c74f);color:#751d13;border:6px solid #e6bd54;font-family:var(--sans);font-size:clamp(16px,12cqi,26px)}
.instagram-tile-art{background:linear-gradient(145deg,#7433a5,#dc3b6e,#e9ac43);color:#fff;font-family:var(--sans);font-size:clamp(15px,14cqi,30px)}
.instagram-update{margin:-4px 0 20px;text-align:center;color:var(--gold);font-size:21px;font-weight:700;line-height:1.7}
.stage-change-note{margin:0 0 18px}
.stage-free-notice{margin:0 0 24px;text-align:center;color:var(--gold);font-size:20px;font-weight:700;line-height:1.7}
.conductor-photo{aspect-ratio:800/558;object-fit:cover;object-position:50% 32%;height:auto}
.conductor-profile{margin-top:26px;padding-top:20px;border-top:1px solid #dbab6580;font-size:14px;line-height:1.9}
.conductor-profile h4{margin:0 0 10px;font-size:19px}
.vendor-labels{flex-wrap:wrap}
@media(max-width:600px){
 .lantern-capacity{font-size:18px;margin-top:16px}.lantern-information{font-size:13px}
 .event-pdfs{font-size:17px;gap:8px 18px}
 .germany-banner{margin-bottom:28px}
 .instagram-update{font-size:19px}
 .stage-free-notice{font-size:18px}
 .conductor-profile h4{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.content-card{scroll-behavior:auto}}

.tile-title-unit{display:inline-block;max-width:100%}

.kinder-heading>span{display:block}
.kinder-heading{font-size:clamp(11px,1.95vw,16px)}
@media(max-width:500px){.germany-grid .kinder-heading{font-size:clamp(16px,4.6vw,18px)}}

/* Every Contents tile has a picture-only media area and a separate HTML title. */
.contents-grid .content-card-photo,.schedule-tile-art,.instagram-tile-art{aspect-ratio:600/590}

/* Fifth-proof supplied artwork and the directory layout from the supplied PDF. */
.germany-banner img{width:100%;height:auto;border-radius:6px}
.anniversary-logo{display:block;width:32px;height:auto;max-width:none;flex:0 0 32px;object-fit:contain}
.vendor-directory{margin-top:38px}
.vendor-directory ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vendor-directory a{height:100%;min-height:48px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:9px 7px;border-radius:6px;color:#fff;text-align:center;text-decoration:none;font:500 12px/1.45 var(--sans);overflow-wrap:break-word}
.vendor-directory-food a{background:#6f1a15}
.vendor-directory-goods a{background:#3d4f35}
.vendor-directory-workshop a{background:#25406f}
.vendor-directory a:hover{filter:brightness(1.16);text-decoration:underline}
.vendor-directory-number{font-size:11px;white-space:nowrap}
.vendor-directory-name{display:block}
@media(max-width:600px){.vendor-directory{margin-top:28px}.vendor-directory ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vendor-directory a{font-size:12px;min-height:64px}.anniversary-logo{width:30px;flex-basis:30px}}

/* Home Goods wreaths use the same 32px frame as Food. */
#goods .christmas-wreath{width:32px;height:32px}
.directory-name-line{display:block;white-space:nowrap}

/* Second supplied text banner has no destination yet. */
.germany-banner{margin-bottom:14px}
.anniversary-menu-banner{margin:0 0 32px}
.anniversary-menu-banner img{width:100%;height:auto;border-radius:6px}
.vendor-directory a.future-school-directory{container-type:inline-size}
.future-school-name{font-size:min(12px,7.5cqi)}

/* Page-specific bottom navigation, with space for content and the Santa artwork. */
html{scroll-padding-top:64px}
.page{padding-bottom:calc(var(--floating-nav-height,110px) + 16px)}
.floating-category-nav{position:fixed;inset:auto 0 0;z-index:30;width:100%;max-width:750px;margin-inline:auto;display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:20px;min-height:88px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#701b16;box-shadow:0 -3px 14px #2c0c0c55;border-top:1px solid #fff59b55}
.floating-nav-logo{display:block;width:84px}
.floating-nav-logo img{width:100%;height:auto}
.floating-category-nav ul{min-width:0;display:grid;gap:3px 14px;align-items:center}
.floating-nav-top ul{grid-template-columns:repeat(3,minmax(0,1fr))}
.floating-nav-contents ul{grid-template-columns:1fr 1.15fr 1.4fr .55fr}
.floating-category-nav li a{display:block;min-height:28px;padding:3px 0;font:700 clamp(10px,1.7vw,13px)/1.6 var(--serif);text-decoration:none;color:var(--white);white-space:nowrap}
.floating-category-nav a:hover,.floating-category-nav a:focus-visible{color:var(--gold)}
.floating-nav-kids{grid-column:3 / 5}
.back-to-top{bottom:calc(var(--floating-nav-height,110px) + 16px)}
@media(max-width:600px){
 .floating-category-nav{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));min-height:76px}
 .floating-nav-logo{width:36px}
 .floating-category-nav ul{gap:0 6px}
 .floating-nav-contents ul{grid-template-columns:.95fr 1.25fr 1.1fr}
 .floating-category-nav li a{font-size:clamp(10px,2.65vw,12px);min-height:28px;padding:4px 0;line-height:1.5}
 .floating-nav-kids{grid-column:1 / 4}
 .back-to-top{bottom:calc(var(--floating-nav-height,110px) + 12px)}
}

/* Match the detail menus to all TOP Contents banners and tiles. */
.floating-nav-contents ul{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.floating-nav-contents li a,.floating-nav-contents .menu-unlinked{display:flex;align-items:center;min-height:34px;padding:4px 0;font:700 12px/1.5 var(--serif);white-space:normal;overflow-wrap:anywhere;color:var(--white);text-decoration:none}
.menu-unlinked{cursor:default}
.detail-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px 16px}
.detail-nav a,.detail-nav .menu-unlinked{display:block;padding:5px 0;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:600px){
 .floating-nav-contents{grid-template-columns:30px minmax(0,1fr);gap:8px}
 .floating-nav-contents .floating-nav-logo{width:30px}
 .floating-nav-contents ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px}
 .floating-nav-contents li a,.floating-nav-contents .menu-unlinked{font-size:10px;min-height:32px;padding:3px 0}
 .detail-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Native disclosure keeps the detail navigation compact until requested. */
.floating-nav-contents{grid-template-columns:48px minmax(0,1fr);gap:14px;min-height:60px;padding:6px 16px calc(6px + env(safe-area-inset-bottom,0px));align-items:end}
.floating-nav-contents .floating-nav-logo{width:48px;align-self:end;margin-bottom:5px}
.floating-menu{min-width:0}
.floating-menu summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;cursor:pointer;list-style:none;font:700 15px/1.5 var(--serif);color:var(--white)}
.floating-menu summary::-webkit-details-marker{display:none}
.floating-menu summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.floating-menu-state::after{content:'＋';font-size:22px}
.floating-menu[open] .floating-menu-state::after{content:'−'}
.floating-menu[open] ul{max-height:55dvh;overflow-y:auto;overscroll-behavior:contain;padding:8px 0;border-top:1px solid #fff59b55}
.floating-menu:not([open]) ul{display:none}
.floating-menu li a,.floating-menu .menu-unlinked{min-height:44px;font-size:12px}
@media(max-width:600px){
 .floating-nav-contents{grid-template-columns:36px minmax(0,1fr);gap:12px;padding-inline:12px}
 .floating-nav-contents .floating-nav-logo{width:36px;margin-bottom:9px}
 .floating-nav-contents .floating-menu ul{grid-template-columns:repeat(2,minmax(0,1fr))}
 .floating-nav-contents .floating-menu li a,.floating-nav-contents .floating-menu .menu-unlinked{min-height:44px;font-size:12px;padding:6px 0}
}
