/* Contents follows the supplied 1367px artwork at the existing 750px page width. */
.detail-garland{width:100%;height:auto}
.detail-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;width:86%;margin:28px auto 0;font-size:12px;color:var(--gold)}
.detail-nav a{padding:5px 0}
.detail-section{margin-top:95px}
.detail-heading{text-align:center;color:var(--gold);font-family:var(--serif);font-weight:500;line-height:1.25;margin:0 0 28px}
.detail-heading>span{display:block;font-family:Georgia,'Times New Roman',serif;font-size:48px;letter-spacing:-.025em}
.detail-heading small{display:block;font-size:15px;margin-top:10px}
.detail-note{font-size:13px;line-height:1.8}
.center{text-align:center}
.stage-location{text-align:center;font-size:22px;font-weight:700;margin-bottom:46px}
.stage-card{margin-top:75px}
.stage-card:first-of-type{margin-top:0}
.vendor-photo{width:73.3%;height:auto;margin:0 auto 28px}
.stage-banner{width:100%;margin-bottom:42px}
.stage-card h3{border-block:1px solid #dbab6580;text-align:center;padding:23px 0;margin:40px 0 25px;font-size:24px;line-height:1.4}
.stage-card h3 small{font-size:.85em}
.stage-card>p{margin-top:20px;font-size:14px;line-height:1.8}
.stage-times{display:grid;gap:18px;font-weight:700}
.stage-times>div{display:grid;grid-template-columns:84px 1fr;gap:16px;align-items:baseline}
.stage-times dt{font-size:16px}
.stage-times dd{font-size:21px;line-height:1.8}
.stage-times small{display:block;font-size:14px;margin-top:6px}
.event-schedule{padding:26px 20px;background:#fff1d4 url('./assets/images/paper-texture.webp') center/cover;border:16px solid #69160980;color:#641b11;display:grid;gap:6px;margin:44px 0 18px}
.event-schedule li{display:grid;grid-template-columns:108px 1fr;gap:10px;background:#edc95fdd;padding:13px 10px;font-size:13px;line-height:1.5}
.event-schedule li>span{font-weight:800;white-space:nowrap}
.event-schedule li:nth-child(8){margin-top:30px}
.germany-section{width:92%;margin-inline:auto;border:1px solid #e3b65c;border-block:16px solid transparent;border-image:linear-gradient(#181311 0 33%,#d90013 33% 66%,#f8cf26 66%) 16;padding:40px 0 60px}
.germany-grid{width:76%;margin:48px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 40px}
.germany-photo{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:18px}
.germany-grid h3{font-size:16px;text-align:center;line-height:1.5;margin-bottom:14px}
.germany-grid p{font-size:14px;line-height:1.8}
.germany-links{margin-top:15px;font-size:11px;line-height:1.7}
.germany-links a{display:inline-block;padding:3px 0;text-decoration:underline;text-decoration-color:#fff8}
.vendor-card{padding:56px 0;border-bottom:1px solid #dbab6580;scroll-margin-top:85px}
.vendor-card:last-child{border-bottom:0;padding-bottom:0}
.vendor-card:first-of-type{padding-top:75px}
.vendor-labels{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.vendor-number{display:inline-block;border-radius:999px;background:#fffef4;color:#bf0021;padding:2px 17px;font-size:14px;font-weight:800;line-height:1.7}
.goods-number{color:#26743c}.workshop-number{color:#007eac}.kids-number{color:#cc6900}
.german-flag{display:inline-block;flex-shrink:0;width:34px;height:22px;background:url("./assets/images/contents/german-flag.svg") center/contain no-repeat}
.christmas-wreath{display:inline-block;flex-shrink:0;width:26px;height:26px;background:url("./assets/images/contents/christmas-wreath.svg") center/contain no-repeat;font-size:0}
.christmas-wreath:before{content:none}
.vendor-card h3{font-size:23px;line-height:1.45;margin:12px 0}
.vendor-card>p{font-size:14px;line-height:1.8}
.workshop-title{display:block}
.products{font-size:11px;line-height:1.65;margin-top:22px}
.products h4{font-size:inherit;margin:0}
.products ul{display:flex;flex-wrap:wrap;gap:0 8px}
.products li:before{content:'・'}
.workshop-info{font-size:14px;font-weight:600;margin-top:24px}
.workshop-info>div{display:flex;flex-wrap:wrap}
.workshop-info dt:before{content:'【'}.workshop-info dt:after{content:'】'}
.shop-link{display:block;text-align:center;background:#4a240e;color:#fffdf5;margin-top:26px;padding:8px 12px;min-height:44px;font-size:14px;font-weight:700;text-decoration:none}
.shop-link:hover{background:#653414}
.unavailable{background:#5d2c20;font-weight:400;font-size:12px}
.photo-pending{width:73.3%;aspect-ratio:7/5;display:grid;place-items:center;margin:0 auto 28px;background:linear-gradient(90deg,#6b0b05,#970f05,#5c0804);font:24px Georgia,serif}
.photo-caption{width:90%;margin:0 auto 24px;font-size:12px;line-height:1.7}
.lantern-banner{width:100%}
.return-home{text-align:center;margin:70px 0 20px}
.return-home a{display:inline-block;border:1px solid var(--gold);padding:12px 36px}
@media(max-width:600px){
 .detail-nav{gap:5px 15px;font-size:11px;margin-top:20px}
 .detail-section{margin-top:65px}
 .detail-heading>span{font-size:36px}.detail-heading small{font-size:13px}
 .detail-heading{margin-bottom:24px}
 .stage-location{font-size:17px;margin-bottom:32px}
 .stage-card{margin-top:50px}.stage-card h3{font-size:20px;padding:18px 0;margin-top:28px}
 .vendor-photo{width:80%}.stage-times>div{grid-template-columns:65px 1fr;gap:12px}
 .stage-times dt{font-size:14px}.stage-times dd{font-size:17px}.stage-times small{font-size:12px}
 .vendor-card{padding-block:38px}.vendor-card:first-of-type{padding-top:42px}.vendor-card h3{font-size:20px}
 .vendor-number{font-size:12px}.products{font-size:12px}.workshop-info{font-size:13px}
 .germany-section{width:94%;padding:30px 0 40px}.germany-grid{width:88%;gap:34px 18px;margin-top:30px}
 .germany-grid h3{font-size:14px}.germany-grid p{font-size:13px}.germany-links{font-size:12px}
 .event-schedule{border-width:8px;padding:15px 10px;margin-top:30px}.event-schedule li{grid-template-columns:1fr;gap:3px;padding:10px;font-size:12px}
 .photo-caption{width:100%}.shop-link{font-size:13px}
}
@media(max-width:359px){.germany-grid{grid-template-columns:1fr}.germany-photo{width:85%;margin-inline:auto}.detail-heading>span{font-size:32px}}
.vendor-card .vendor-photo{aspect-ratio:7/5;object-fit:contain;background:#fff}
.stage-card:first-of-type h3{font-size:21px}
.germany-section{position:relative;border-image:none;border-block:0}
.germany-section::before,.germany-section::after{content:'';position:absolute;left:0;right:0;height:15px;background:linear-gradient(#181311 0 33.333%,#d90013 33.333% 66.666%,#f8cf26 66.666%)}
.germany-section::before{top:0}.germany-section::after{bottom:0}

/* Reference artwork keeps the hourly scale, empty periods, and paper frame exact. */
.schedule-artwork{display:block;width:100%;height:auto;margin:44px auto 18px}
.event-schedule.sr-only{padding:0;border:0;margin:-1px}
/* Photo assets now contain the design's exact crop and multi-photo composition. */
.vendor-card .vendor-photo{aspect-ratio:auto;height:auto;object-fit:initial;background:transparent}
#workshop-5 .vendor-photo{aspect-ratio:7/5;object-fit:contain;background:#fff}
@media(max-width:600px){.schedule-artwork{margin-top:30px}}

/* Enlarge only the Food category icons, preserving their order and alignment. */
#food .german-flag { width:42px; height:27px; }
#food .christmas-wreath { width:32px; height:32px; }
.vendor-card { scroll-margin-top:0; }
