#festival-detail.sportstest-detail-from-legacy .detail-scroll{-webkit-overflow-scrolling:touch;flex:1 1 0;min-height:0;padding-bottom:280px;overflow-y:auto}@media (max-width:768px){#festival-detail.sportstest-detail-from-legacy .detail-booking-footer-peek-title-row{align-items:center}#festival-detail.sportstest-detail-from-legacy .detail-booking-footer-peek-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}#festival-detail.sportstest-detail-from-legacy .detail-booking-footer-peek-price{text-overflow:ellipsis;flex:none;max-width:52%;overflow:hidden}}.detail-inner{box-sizing:border-box;max-width:calc(72rem + 48px);margin:0 auto;padding:24px 24px 32px}.detail-hero{color:#fff;border-radius:16px;min-height:360px;margin-bottom:20px;position:relative;overflow:hidden}.detail-hero-bg{background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}img.detail-hero-bg{object-fit:cover;object-position:center;width:100%;height:100%}.detail-hero-overlay{background:linear-gradient(#00000080,#000000b8);position:absolute;inset:0}.detail-hero-content{padding:28px 24px;position:relative}.detail-hero-league{justify-content:center;align-items:center;gap:8px;margin-bottom:20px;display:flex}.detail-hero-league-badge{object-fit:contain;border-radius:4px;width:22px;height:22px}.detail-hero-league-text{color:#ffffffd9;font-size:.75rem;font-weight:600}.detail-hero-teams{justify-content:center;align-items:center;gap:24px;margin-bottom:20px;display:flex}.detail-hero-team{text-align:center}.detail-hero-team-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 8px;display:flex;overflow:hidden}.detail-hero-team-badge img{object-fit:contain;width:40px;height:40px}.detail-hero-team-name{text-shadow:0 1px 3px #0000004d;font-size:1.0625rem;font-weight:800}.detail-hero-team-label{color:#ffffff8c;letter-spacing:.08em;margin-top:3px;font-size:.625rem;font-weight:600}.detail-hero-vs{color:#ffffff59;font-size:1.25rem;font-weight:900}.detail-hero-teams--result{align-items:flex-end;gap:16px}.detail-hero-team-score{text-shadow:0 2px 8px #00000059;margin-top:6px;font-size:2rem;font-weight:900;line-height:1}.detail-hero-team--winner .detail-hero-team-name,.detail-hero-team--winner .detail-hero-team-score{color:#fff7c2}.detail-hero-team--winner .detail-hero-team-label{color:#fff7c2d9}.detail-hero-score-center{text-align:center;min-width:108px;padding:0 4px 4px}.detail-hero-score-line{letter-spacing:.04em;text-shadow:0 2px 8px #00000059;font-size:1.75rem;font-weight:900}.detail-hero-score-status{letter-spacing:.06em;color:#ffffffb8;margin-top:4px;font-size:.6875rem;font-weight:700}.detail-hero-score-outcome{color:#fff7c2;margin-top:6px;font-size:.8125rem;font-weight:800;line-height:1.35}.detail-hero-time-box{text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000004d;border:1px solid #ffffff14;border-radius:12px;margin-bottom:14px;padding:16px}.detail-hero-date{color:#fff9;margin-bottom:4px;font-size:.8125rem}.detail-hero-local-time{text-shadow:0 1px 4px #0000004d;font-size:1.625rem;font-weight:900}.detail-hero-local-label{color:#ffffff80;margin-left:4px;font-size:.6875rem;font-weight:400}.detail-hero-kst{color:#ffffff73;margin-top:4px;font-size:.75rem}.detail-hero-venue{text-align:center;color:#fffc;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;width:fit-content;margin:0 auto;padding:6px 10px;font-family:inherit;font-size:.9375rem;font-weight:800;-webkit-text-decoration:underline #ffffff40;text-decoration:underline #ffffff40;transition:background-color .15s,color .15s,text-decoration-color .15s;display:flex}.detail-hero-venue:hover{color:#fff;background:#ffffff24;text-decoration-color:#ffffffbf}.detail-hero-venue:focus-visible{outline-offset:2px;outline:2px solid #ffffffd9}.detail-hero-source-row{z-index:4;position:absolute;top:14px;left:14px}.detail-hero-source-slot{text-align:left;position:relative}.detail-source-link{color:#ffffffe6;text-underline-offset:2px;cursor:pointer;background:#0006;border:none;border-radius:6px;padding:5px 10px;font-family:inherit;font-size:.6875rem;font-weight:600;text-decoration:underline}.detail-source-link:hover{color:#fff;background:#0000008c}.detail-source-popover{color:#374151;z-index:30;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:200px;max-width:min(380px,100vw - 40px);max-height:240px;margin-top:8px;padding:12px 14px;font-size:.8125rem;line-height:1.55;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 12px 40px #0003}.detail-source-popover[hidden]{display:none!important}.detail-source-line{margin-bottom:10px}.detail-source-line:last-child{margin-bottom:0}.detail-source-tag{color:#9ca3af;margin-bottom:4px;font-size:.6875rem;font-weight:700;display:block}.detail-source-muted{color:#9ca3af;font-size:.8125rem}.detail-cb-track-image{background:#f3f4f6;border-radius:12px;margin:0 0 20px;overflow:hidden}.detail-cb-track-image img{object-fit:cover;object-position:center;width:100%;max-height:420px;display:block}.detail-meta-list,.detail-session-list{margin:0;padding:0;list-style:none}.detail-meta-list li,.detail-session-list li{color:#374151;border-bottom:1px solid #f3f4f6;padding:8px 0;font-size:.9375rem}.detail-session-list li{justify-content:space-between;gap:12px;display:flex}.detail-session-name{font-weight:600}.detail-session-time{color:#6b7280;white-space:nowrap}.f1-session-schedule-block{margin-bottom:28px}.f1-session-schedule-block>.detail-cb-headline{margin-bottom:16px}.f1-session-timeline{color:#e2e8f0;background:linear-gradient(165deg,#0f172a 0%,#1e293b 48%,#0f172a 100%);border-radius:16px;padding:28px 24px 32px;box-shadow:0 8px 32px #0f172a2e}.f1-session-timeline-day{grid-template-columns:28px 1fr;gap:0 20px;margin-bottom:28px;display:grid}.f1-session-timeline-day:last-child{margin-bottom:0}.f1-session-timeline-rail{flex-direction:column;align-items:center;padding-top:6px;display:flex}.f1-session-timeline-dot{border-radius:50%;flex-shrink:0;width:14px;height:14px;box-shadow:0 0 0 4px #ffffff14}.f1-session-timeline-dot--d1{background:#3b82f6}.f1-session-timeline-dot--d2{background:#f59e0b}.f1-session-timeline-dot--d3{background:#ef4444}.f1-session-timeline-line{background:linear-gradient(#475569 0%,#334155 100%);border-radius:1px;flex:1;width:2px;min-height:24px;margin-top:6px}.f1-session-timeline-header{z-index:auto;box-sizing:border-box;background:0 0;border-bottom:none;justify-content:space-between;align-items:flex-start;gap:12px;height:auto;margin-bottom:14px;display:flex;position:static;top:auto;left:auto;right:auto}.f1-session-timeline-day-title{color:#f8fafc;margin:0;font-size:1.0625rem;font-weight:700;line-height:1.4}.f1-session-timeline-day-theme{color:#94a3b8;font-weight:500}.f1-session-day-pill{color:#cbd5e1;letter-spacing:.02em;background:#ffffff1a;border:1px solid #ffffff1f;border-radius:9999px;flex-shrink:0;padding:4px 10px;font-size:.6875rem;font-weight:700}.f1-session-timeline-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.f1-session-timeline-cards--race-day{grid-template-columns:1fr}.f1-tl-card{box-sizing:border-box;background:#1e293bd9;border:1px solid #47556999;border-radius:12px;min-height:100px;padding:16px}.f1-tl-card--wide{grid-column:1/-1}.f1-tl-card--key{background:linear-gradient(135deg,#7f1d1d59 0%,#1e293be6 100%);border-color:#ef444473}.f1-tl-card--race{background:linear-gradient(135deg,#450a0a80 0%,#1e293bf2 55%);border-color:#ef44448c;min-height:0;padding:20px 18px}.f1-tl-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.f1-tl-card-tag{letter-spacing:.06em;color:#64748b;font-size:.6875rem;font-weight:700}.f1-tl-key-badge,.f1-tl-race-badge{letter-spacing:.05em;border-radius:4px;padding:3px 8px;font-size:.625rem;font-weight:800;display:inline-block}.f1-tl-key-badge{color:#fff;background:#dc2626}.f1-tl-race-badge{color:#fff;background:#b91c1c}.f1-tl-status{color:#94a3b8;font-size:.6875rem;font-weight:600}.f1-tl-status--finished{color:#64748b}.f1-tl-status--waiting{color:#38bdf8}.f1-tl-status--scheduled{color:#fbbf24}.f1-tl-card-title{color:#f1f5f9;margin:0 0 4px;font-size:1rem;font-weight:700}.f1-tl-card-title--race{margin-bottom:8px;font-size:1.125rem}.f1-tl-card-desc{color:#94a3b8;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 12px;font-size:.8125rem;line-height:1.55;display:-webkit-box;overflow:hidden}.f1-tl-card-time{color:#cbd5e1;margin:0;font-size:.875rem;font-weight:500}.f1-tl-card-time--race{color:#f87171;font-size:1.125rem;font-weight:700}@media (max-width:640px){.f1-session-timeline{padding:20px 16px 24px}.f1-session-timeline-day{grid-template-columns:22px 1fr;gap:0 14px}.f1-session-timeline-cards{grid-template-columns:1fr}.f1-session-timeline-header{flex-direction:column;align-items:flex-start}}.detail-prose{color:#374151;margin:0 0 14px;font-size:.9375rem;line-height:1.65}.detail-gallery-row{gap:8px;display:flex;overflow-x:auto}.detail-gallery-row img{object-fit:cover;border-radius:8px;width:auto;height:88px}.detail-flight-dates{color:#4b5563;margin-bottom:12px;font-size:.9375rem}.detail-cta-primary{color:#fff;background:#111;border-radius:10px;padding:12px 20px;font-weight:600;text-decoration:none;display:inline-block}.detail-section-title{color:#111;border-bottom:1px solid #f3f4f6;margin-bottom:16px;padding-bottom:10px;font-size:1.0625rem;font-weight:700}.detail-gallery-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex}.detail-gallery-header .detail-gallery-section-title{border:none;flex:1;min-width:0;margin:0;padding:0}.detail-gallery-source-wrap{flex-shrink:0;position:relative}.detail-gallery-header .detail-source-link{color:#4b5563;background:#f3f4f6;text-decoration:underline}.detail-gallery-header .detail-source-link:hover{color:#111;background:#e5e7eb}.detail-gallery-header .detail-source-popover{left:auto;right:0}.detail-gallery-block{min-height:228px;margin-bottom:28px}.detail-gallery--placeholder{background:#f3f4f6;border-radius:12px;min-height:180px}.detail-gallery{scroll-snap-type:x mandatory;gap:10px;margin-bottom:28px;padding-bottom:8px;display:flex;overflow-x:auto}.detail-gallery::-webkit-scrollbar{height:4px}.detail-gallery::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.detail-gallery-img{object-fit:cover;scroll-snap-align:start;background:#f3f4f6;border-radius:12px;flex-shrink:0;width:280px;height:180px}.detail-content-blocks{margin-bottom:28px}.detail-content-blocks.detail-venue-directions{margin-top:14px;margin-bottom:20px}.detail-cb-headline{color:#111;margin-bottom:12px;font-size:1.125rem;font-weight:700}h2.detail-cb-headline{margin-top:0}.detail-cb-headline--worldcup-intro{text-align:center;margin-bottom:16px;line-height:1.45}.detail-cb-headline--worldcup-intro__br{display:block}.worldcup-detail-notice{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e5e7eb;border-radius:14px;margin:12px 0 26px;padding:14px}.worldcup-detail-notice+.detail-cb-headline{margin-top:6px}.worldcup-detail-notice__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.worldcup-detail-notice .detail-cb-headline--worldcup-intro{margin-bottom:12px}.worldcup-detail-notice__item{color:#334155;letter-spacing:-.01em;padding-left:14px;font-size:.875rem;line-height:1.55;position:relative}.worldcup-detail-notice__item:before{content:"";background:#4f46e5;border-radius:999px;width:6px;height:6px;position:absolute;top:.65em;left:0;transform:translateY(-50%);box-shadow:0 0 0 3px #4f46e524}@media (max-width:767px){.worldcup-detail-notice{border-radius:12px;padding:13px 12px}.worldcup-detail-notice__item{font-size:.84375rem}}#festival-detail.sportstest-detail-from-legacy .hotel-section-head h2.hotel-section-title{margin-top:0}#festival-detail.sportstest-detail-from-legacy .detail-top-bar-inner h1.detail-top-title{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;margin:0;overflow:hidden}.detail-cb-text{color:#374151;white-space:pre-line;margin-bottom:16px;font-size:.9375rem;line-height:1.75;position:relative}.detail-cb-text--collapsed{padding-bottom:16px}.detail-cb-text-fade{pointer-events:none;background:linear-gradient(#fff0,#fff 72%);height:42px;position:absolute;bottom:0;left:0;right:0}.detail-cb-text-more-link{appearance:none;font:inherit;color:#111;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:9999px;margin:0;padding:10px 14px;font-weight:800;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;box-shadow:0 10px 20px -15px #0f172a2e}.detail-cb-text-more-link:hover{background:#f8fafc;border-color:#cbd5e1}.detail-cb-text-more-link:active{transform:translateY(.5px)}.detail-cb-text-more-link:focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #4f46e5}.detail-cb-text--collapsed .detail-cb-text-more-link{z-index:2;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.detail-gallery-empty{color:#9ca3af;text-align:center;padding:24px 0;font-size:.875rem}.detail-cb-summary{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;display:grid}.detail-cb-summary-item{background:#f9fafb;border:1px solid #f3f4f6;border-radius:10px;padding:14px 16px}.detail-cb-summary-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.6875rem;font-weight:600}.detail-cb-summary-value{color:#111;font-size:.9375rem;font-weight:700}.detail-cb-tickets{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:4px;display:grid}@media (max-width:639px){.detail-cb-tickets{grid-template-columns:1fr}}.detail-ticket-block{background:#f9fafb;border:1px solid #f3f4f6;border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.detail-ticket-title{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;font-size:.6875rem;font-weight:600}.detail-ticket-btn{color:#111827;white-space:nowrap;background:#fff;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;height:34px;padding:0 14px;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #00000014}.detail-ticket-btn:hover{color:#111827;background:#f3f4f6;text-decoration:none}.detail-tickets-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:24px;display:grid}.detail-tickets-row[hidden]{display:none!important}.detail-tickets-row.single-ticket{grid-template-columns:1fr}@media (max-width:600px){.detail-tickets-row{grid-template-columns:1fr}}.detail-ticket-section{margin:0}.detail-ticket-section[hidden]{display:none!important}.detail-tour-ticket-card{box-sizing:border-box;background:#eaf2ff;border:1px solid #dbe8ff;border-radius:12px;align-items:center;gap:14px;height:100%;padding:14px 16px;display:flex}.detail-tour-ticket-media{background:#d8dde6;border-radius:8px;flex-shrink:0;width:100px;height:100px;position:relative;overflow:hidden}.detail-tour-ticket-image{object-fit:cover;width:100%;height:100%;display:block}.detail-tour-ticket-nav{color:#fff;cursor:pointer;z-index:2;background:#11182799;border:none;border-radius:9999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.detail-tour-ticket-nav.prev{left:4px}.detail-tour-ticket-nav.next{right:4px}.detail-tour-ticket-nav:disabled{opacity:.4;cursor:not-allowed}.detail-tour-ticket-nav[disabled]{display:none}.detail-tour-ticket-info{flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.detail-tour-ticket-text{flex-direction:column;gap:3px;min-width:0;display:flex}.detail-tour-ticket-headline{color:#111827;margin:0;font-size:.9375rem;font-weight:700}.detail-tour-ticket-subtitle{color:#6b7280;margin:0;font-size:.75rem}.detail-tour-ticket-price-date{color:#111827;white-space:nowrap;text-overflow:ellipsis;margin:6px 0 0;font-size:.8125rem;font-weight:600;line-height:1.35;overflow:hidden}#festival-detail.sportstest-detail-from-legacy .detail-tour-ticket-card .detail-tour-ticket-price-date{white-space:normal;margin-top:10px;font-size:1.25rem;font-weight:700;line-height:1.3}.detail-tour-ticket-desc,.detail-tour-ticket-divider,.detail-tour-ticket-price-label,.detail-tour-ticket-price-value,.detail-tour-ticket-footer{display:none}.detail-tour-ticket-buy-btn{color:#111827;white-space:nowrap;background:#fff;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;height:34px;padding:0 14px;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #00000014}.detail-tour-ticket-buy-btn:hover{color:#111827;background:#f3f4f6;text-decoration:none}.detail-match-ticket-card{box-sizing:border-box;background:#eaf2ff;border:1px solid #dbe8ff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;height:100%;min-height:130px;padding:14px 16px;display:flex}.detail-match-ticket-info{align-items:center;gap:10px;min-width:0;display:flex}.detail-match-ticket-text{flex-direction:column;gap:3px;min-width:0;display:flex}.detail-match-ticket-subtitle{color:#6b7280;margin:0;font-size:.75rem}.detail-match-ticket-icon{color:#fff;background:#2563eb;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;display:inline-flex}.detail-match-ticket-title{color:#111827;font-size:.9375rem;font-weight:700}.detail-match-ticket-price{color:#111827;margin:4px 0 0;font-size:.8125rem;font-weight:600;line-height:1.35}.detail-related{margin-bottom:28px}.detail-related-scroll{gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.detail-related-scroll::-webkit-scrollbar{height:4px}.detail-related-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.related-card{cursor:pointer;background:#fff;border:1px solid #f3f4f6;border-radius:12px;flex-shrink:0;width:240px;padding:16px;transition:box-shadow .2s,border-color .2s}.related-card:hover{border-color:#e5e7eb;box-shadow:0 4px 12px #00000014}.detail-related-empty{color:#6b7280;padding:12px 0 4px;font-size:.8125rem;line-height:1.5}.detail-related-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;margin:8px 0 14px;display:flex}.detail-related-toggle{background:#f9fafb;border:1px solid #e5e7eb;border-radius:9999px;display:inline-flex;overflow:hidden}.detail-related-toggle-btn{letter-spacing:.06em;color:#6b7280;cursor:pointer;background:0 0;border:none;padding:8px 20px;font-size:.75rem;font-weight:700;transition:background .15s,color .15s}.detail-related-toggle-btn:hover{color:#111;background:#f3f4f6}.detail-related-toggle-btn.active{color:#fff;background:#111}.detail-related-hint{color:#6b7280;margin:-6px 0 12px;font-size:.8125rem;line-height:1.45}.related-card-league{color:#6b7280;align-items:center;gap:6px;margin-bottom:8px;font-size:.6875rem;font-weight:600;display:flex}.related-card-league img{object-fit:contain;width:14px;height:14px}.related-card-teams-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.related-card-badge{background:#f3f4f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex;overflow:hidden}.related-card-badge img{object-fit:contain;width:18px;height:18px}.related-card-teams-text{color:#111;font-size:.8125rem;font-weight:700;line-height:1.3}.related-card-meta{color:#9ca3af;margin-bottom:10px;font-size:.6875rem;line-height:1.5}.related-card-link{color:#4f46e5;font-size:.75rem;font-weight:600}.sportstest-root .sportstest-detail-inline.sportstest-detail-from-legacy#festival-detail.detail-overlay .detail-scroll{min-height:unset;flex:none;padding-bottom:1.5rem;overflow-y:visible}#festival-detail .detail-weather-section{box-sizing:border-box;background:linear-gradient(145deg,#f0f9ff 0%,#eef2ff 55%,#f8fafc 100%);border:1px solid #e0e7ff;border-radius:12px;width:100%;max-width:72rem;margin:0 auto 14px;padding:10px 12px;box-shadow:0 1px 2px #0f172a0a}#festival-detail .detail-weather-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}#festival-detail .detail-weather-title{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:.875rem;font-weight:800;line-height:1.25}#festival-detail .detail-weather-sub{color:#64748b;flex-wrap:wrap;gap:2px 8px;margin:2px 0 0;font-size:.6875rem;line-height:1.35;display:flex}#festival-detail .detail-weather-place{color:#334155;font-weight:700}#festival-detail .detail-weather-range{color:#64748b}#festival-detail .detail-weather-badge{color:#1d4ed8;background:#dbeafe;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.625rem;font-weight:700}#festival-detail .detail-weather-status{color:#64748b;padding:4px 0 2px;font-size:.75rem}#festival-detail .detail-weather-status--error{color:#b91c1c}#festival-detail .detail-weather-body{min-height:88px}#festival-detail .detail-weather-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:8px;min-height:88px;padding-bottom:2px;display:flex;overflow-x:auto}#festival-detail .detail-weather-scroll--skeleton .detail-weather-day{background:#e2e8f0;border-color:#e2e8f0;animation:1.2s ease-in-out infinite detail-weather-skeleton-pulse}@keyframes detail-weather-skeleton-pulse{0%,to{opacity:.55}50%{opacity:.9}}#festival-detail .detail-weather-scroll::-webkit-scrollbar{height:4px}#festival-detail .detail-weather-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}#festival-detail .detail-weather-day{scroll-snap-align:start;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;flex:0 0 118px;gap:4px;padding:8px 8px 7px;display:flex;box-shadow:0 1px 2px #0f172a0d}#festival-detail .detail-weather-day-row{justify-content:space-between;align-items:center;gap:6px;display:flex}#festival-detail .detail-weather-day-row--meta{align-items:baseline;gap:4px}#festival-detail .detail-weather-day--muted{opacity:.72;background:#f8fafc}#festival-detail .detail-weather-day-date{color:#334155;white-space:nowrap;font-size:.6875rem;font-weight:700}#festival-detail .detail-weather-day-icon{object-fit:contain;flex-shrink:0;width:28px;height:28px}#festival-detail .detail-weather-day-icon--empty{color:#94a3b8;justify-content:center;align-items:center;width:28px;font-size:.75rem;display:inline-flex}#festival-detail .detail-weather-day-condition{color:#475569;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.625rem;font-weight:600;line-height:1.25;overflow:hidden}#festival-detail .detail-weather-day-temps{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:baseline;gap:3px;display:inline-flex}#festival-detail .detail-weather-temp-max{color:#0f172a;font-size:.8125rem;font-weight:800}#festival-detail .detail-weather-temp-min{color:#64748b;font-size:.6875rem;font-weight:600}#festival-detail .detail-weather-temp-na{color:#94a3b8;font-size:.75rem}#festival-detail .detail-weather-day-hint{color:#94a3b8;margin:0;font-size:.5625rem;line-height:1.2}@media (min-width:769px){#festival-detail .detail-weather-section{padding:12px 14px 10px}#festival-detail .detail-weather-day{flex:0 0 124px}}#festival-detail .detail-budget-plan{box-sizing:border-box;background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;width:100%;max-width:72rem;min-height:300px;margin:0 auto 24px;padding:18px 18px 16px;position:relative;overflow:hidden;box-shadow:0 1px 3px #0f172a0f}#festival-detail .detail-budget-plan-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}#festival-detail .detail-budget-plan-badge{letter-spacing:.04em;color:#166534;background:#dcfce7;border-radius:4px;margin-bottom:6px;padding:3px 8px;font-size:.625rem;font-weight:800;display:inline-block}#festival-detail .detail-budget-plan-title{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:1.125rem;font-weight:800}#festival-detail .detail-budget-plan-lead{color:#64748b;margin:4px 0 0;font-size:.8125rem;font-weight:600}#festival-detail .detail-budget-plan-watermark{color:#94a3b82e;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:3.5rem;font-weight:900;line-height:1}#festival-detail .detail-budget-plan-status{color:#64748b;margin:0 0 10px;font-size:.8125rem}#festival-detail .detail-budget-plan-status--error{color:#b91c1c}#festival-detail .detail-budget-plan-rows{flex-direction:column;gap:10px;margin:0 0 14px;padding:0;list-style:none;display:flex}#festival-detail .detail-budget-plan-row{grid-template-columns:28px 1fr auto;align-items:center;gap:8px 12px;display:grid}#festival-detail .detail-budget-plan-row-icon{text-align:center;font-size:1.125rem;line-height:1}#festival-detail .detail-budget-plan-row-label{color:#334155;min-width:0;font-size:.875rem;font-weight:600}#festival-detail .detail-budget-plan-row-price{color:#0f172a;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;flex-shrink:0;min-width:5.5rem;min-height:1.35rem;font-size:.9375rem;font-weight:800}#festival-detail .detail-budget-plan-row-price--loading,#festival-detail .detail-budget-plan-total--loading{color:#64748b;white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;font-size:.75rem;font-weight:600;display:inline-flex}#festival-detail .detail-budget-plan-spinner{border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.65s linear infinite detail-budget-plan-spin}@keyframes detail-budget-plan-spin{to{transform:rotate(360deg)}}#festival-detail .detail-budget-plan-total--loading{margin:0;font-size:1.125rem;font-weight:700}#festival-detail .detail-budget-plan-bar-wrap{min-height:34px;margin-bottom:14px}#festival-detail .detail-budget-plan-bar--placeholder{margin-top:22px}#festival-detail .detail-budget-plan-bar-labels{color:#94a3b8;flex-wrap:wrap;gap:6px 14px;margin-bottom:6px;font-size:.6875rem;font-weight:600;display:flex}#festival-detail .detail-budget-plan-bar{background:#e2e8f0;border-radius:999px;height:8px;display:flex;overflow:hidden}#festival-detail .detail-budget-plan-bar-seg{min-width:4px;transition:none}#festival-detail .detail-budget-plan-foot{border-top:1px solid #e2e8f0;padding-top:14px}#festival-detail .detail-budget-plan-total-caption{color:#64748b;margin:0 0 4px;font-size:.75rem;font-weight:600}#festival-detail .detail-budget-plan-total{color:#0f172a;letter-spacing:-.03em;font-variant-numeric:tabular-nums;min-height:2rem;margin:0;font-size:1.75rem;font-weight:900;line-height:1.1}@media (min-width:769px){#festival-detail .hotel-list-scroll--reserved{min-height:280px}#festival-detail .hotel-loading{justify-content:center;align-items:center;min-height:240px;display:flex}}#festival-detail .hotel-card-img--broken{opacity:0}@media (max-width:768px){.detail-hero{min-height:300px}}@media (max-width:640px){#festival-detail .detail-budget-plan{padding:14px 14px 12px}#festival-detail .detail-budget-plan-total{font-size:1.5rem}}#festival-detail .detail-transport-guide{box-sizing:border-box;width:100%}#festival-detail .detail-transport-guide-title{margin:0 0 16px}#festival-detail .detail-transport-guide-list{flex-direction:column;gap:12px;display:flex}#festival-detail .detail-transport-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0f172a0f}#festival-detail .detail-transport-card-head{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;display:flex}#festival-detail .detail-transport-card-head-main{flex:auto;min-width:0}#festival-detail .detail-transport-card-head-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}#festival-detail .detail-transport-card-badge{border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:800;line-height:1.2;display:inline-flex}#festival-detail .detail-transport-card-badge--recommend{color:#92400e;background:#fef3c7}#festival-detail .detail-transport-card-badge--value{color:#166534;background:#dcfce7}#festival-detail .detail-transport-card-badge--comfort{color:#1d4ed8;background:#dbeafe}#festival-detail .detail-transport-card-badge-icon{font-size:.875rem;line-height:1}#festival-detail .detail-transport-card-transfer{color:#64748b;font-size:.8125rem;font-weight:600}#festival-detail .detail-transport-card-title{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:800;line-height:1.35}#festival-detail .detail-transport-card-head-end{flex-shrink:0;align-items:center;gap:8px;display:flex}#festival-detail .detail-transport-card-pill{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;align-items:center;padding:6px 10px;font-size:.75rem;font-weight:700;display:inline-flex}#festival-detail .detail-transport-card-chevron{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") 50%/12px 12px no-repeat;flex-shrink:0;width:20px;height:20px;transition:transform .2s}#festival-detail .detail-transport-card--open .detail-transport-card-chevron{transform:rotate(180deg)}#festival-detail .detail-transport-card-body{padding:0 18px 18px}#festival-detail .detail-transport-card-guide{color:#475569;margin:0 0 16px;font-size:.875rem;line-height:1.65}#festival-detail .detail-transport-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;padding:14px;display:grid}#festival-detail .detail-transport-summary-item{flex-direction:column;gap:6px;min-width:0;display:flex}#festival-detail .detail-transport-summary-label{color:#94a3b8;letter-spacing:.02em;font-size:.6875rem;font-weight:700}#festival-detail .detail-transport-summary-value{word-break:keep-all;font-size:.875rem;font-weight:800;line-height:1.35}#festival-detail .detail-transport-summary-value--time,#festival-detail .detail-transport-summary-value--fare{color:#2563eb}#festival-detail .detail-transport-summary-value--target{color:#16a34a}#festival-detail .detail-transport-steps-label{color:#94a3b8;margin:0 0 12px;font-size:.75rem;font-weight:700}#festival-detail .detail-transport-steps{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}#festival-detail .detail-transport-step{padding:0 0 18px 28px;position:relative}#festival-detail .detail-transport-step:last-child{padding-bottom:0}#festival-detail .detail-transport-step:before{content:"";background:#e2e8f0;width:2px;position:absolute;top:10px;bottom:-2px;left:7px}#festival-detail .detail-transport-step:last-child:before{display:none}#festival-detail .detail-transport-step:after{content:"";background:#2563eb;border-radius:50%;width:16px;height:16px;position:absolute;top:4px;left:0;box-shadow:0 0 0 3px #fff}#festival-detail .detail-transport-step:nth-child(2):after{background:#60a5fa}#festival-detail .detail-transport-step:nth-child(3):after{background:#94a3b8}#festival-detail .detail-transport-step-title{color:#0f172a;margin:0 0 4px;font-size:.875rem;font-weight:800;line-height:1.4}#festival-detail .detail-transport-step-desc{color:#64748b;margin:0;font-size:.8125rem;line-height:1.5}@media (max-width:768px){#festival-detail .festival-detail-body #detail-transport-guide{margin-top:32px}#festival-detail .detail-transport-summary{grid-template-columns:1fr}#festival-detail .detail-transport-card-head{flex-direction:column;align-items:stretch}#festival-detail .detail-transport-card-head-end{justify-content:space-between;width:100%}}
