/* Winter edition. Keep the familiar, single-column mobile booklet rhythm. */
:root {
  --autumn-gold:var(--primary,#38788d); --autumn-amber:#79aebb;
  --autumn-orange:var(--secondary,#bf785d); --autumn-deep:#23546b;
  --autumn-brown:#214558; --autumn-warm-bg:#f5f9fa; --autumn-cream:#edf5f7;
  --autumn-light:#e8f2f5; --autumn-leaf:#31768d; --autumn-sunset:#b76d52;
  --autumn-dark:#153445; --primary-black:#173646; --primary-white:#fff;
  --text-dark:#243f4c; --text-gray:#627984; --card-bg:#fff;
  --tag-bg:#e9f3f5; --tag-text:#376c7e;
  --card-shadow:0 10px 50px rgba(26,70,87,.06);
}
html { scroll-behavior:smooth; }
body { background:#dce8ec!important; }
.mobile-viewport-fit { background:#dce8ec!important; }
.mobile-container>section { box-shadow:none; }
.mobile-container>section:not(.hero-section) { background:var(--bg-warm,#f5fafb); }
.hero-section { background:#143b50!important; padding:200px 60px 100px!important; }
.hero-section::before,.hero-section::after { content:none; }
.winter-cover { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% 50%; }
.winter-cover-shade { position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,45,61,.55) 0%,rgba(10,38,56,.24) 42%,rgba(9,34,50,.18) 65%,rgba(9,34,50,.76) 100%); }
.hero-section>:not(.winter-cover):not(.winter-cover-shade) { position:relative;z-index:1; }
.hero-season-tag { background:transparent;border:2px solid rgba(255,255,255,.7);border-radius:0;color:#fff;box-shadow:none;font-size:30px;letter-spacing:7px;padding:15px 30px;margin-bottom:65px; }
.hero-section .main-title { color:#fff;max-width:1050px;font-size:110px;font-weight:800;text-shadow:0 4px 40px rgba(4,27,39,.3);line-height:1.35!important;letter-spacing:6px;margin-bottom:35px; }
.hero-section .subtitle { color:#f0f8fa;font-size:40px;max-width:970px;line-height:1.8;margin-bottom:55px; }
.hero-section .logo-text { color:white;font-weight:500;font-size:56px;letter-spacing:14px; }
.hero-section .logo-text::after { background:#fff;width:100px;opacity:.7; }
.hero-section .cta-button { margin-top:auto;border:0;background:none;box-shadow:none;color:#fff;padding:20px 30px;border-radius:0;font-size:50px;letter-spacing:13px; }
.hero-section .hero-date-info { color:#e5f0f6;font-size:30px;margin-top:12px;letter-spacing:3px; }
.hero-section .cover-caption { color:#e5edf0;font-size:25px;line-height:1.6;margin-top:30px;opacity:.85; }
.route-switch { background:#f8fcfd;padding:40px 60px;display:flex;align-items:center;gap:30px;margin-top:-50px; }
.route-switch label { flex:none;font-size:36px;font-weight:700;color:#31586a; }
.route-switch select { min-width:0;flex:1;border:2px solid #cedfe5;border-radius:15px;background:white;color:#25485a;font-family:inherit;font-size:39px;padding:22px 25px; }
.section-header h2,.highlights-header h2,.intro-title { line-height:1.35;letter-spacing:1px; }
.section-subtitle,.highlights-sub { letter-spacing:3px!important; }
.story-text p { text-indent:0!important;margin-bottom:32px; }
.story-text p:first-child { color:#31596b;font-weight:500; }
.story-image { height:440px!important;min-height:0!important; }
.story-image img { width:100%;height:100%;object-fit:cover; }
.highlight-card { background:transparent;box-shadow:none; }
.highlight-name { color:#254a5c; }
.intro-desc-box,.intro-card,.detail-text-card,.dining-details-card { background:#fff;box-shadow:none; }
.intro-cards { gap:26px; }
.intro-card { border:2px solid #dfebef; }
.route-map-img-wrap { height:auto!important; }
.route-map-img-wrap img { width:100%;height:auto!important;object-fit:contain;display:block; }
.booklet-note { font-size:38px;color:#617d89;line-height:1.8;margin:35px 0 0; }
.photo-source-note { margin:-15px 0 0;padding:0 60px 12px;font-size:35px; }
.itinerary-content { background:#fff; }
.itinerary-meta { flex-wrap:wrap;row-gap:12px; }
.day-detail-section:before { color:rgba(43,108,131,.07)!important; }
.day-route-title { line-height:1.5; }
.day-route-subtitle { flex-wrap:wrap;row-gap:14px;line-height:1.6; }
.day-route-subtitle .detail-trip-meta-item { min-width:0; }
.detail-gallery-grid { grid-template-rows:none!important;grid-auto-rows:auto; }
.gallery-item { box-shadow:none;border-radius:12px; }
.tip-text { color:#496c7e!important;background:#edf5f7!important;border-color:#b4d3dd!important; }
.tickets-list-header { display:none; }
.ticket-row { grid-template-columns:70px minmax(0,1fr) auto;gap:12px 25px;padding:35px 35px;background:#fff;border-bottom:2px solid #e3edf0; }
.ticket-row:nth-child(even) { background:#f1f7f9; }
.ticket-row-icon { grid-column:1;grid-row:1; }
.ticket-row-name { grid-column:2;grid-row:1;font-weight:600!important; }
.ticket-row-desc { grid-column:2/4;grid-row:2; }
.ticket-row-badge { grid-column:3;grid-row:1; }
.badge-included { white-space:nowrap;background:#dfedf1;color:#326a7e; }
.hotel-list { grid-template-columns:1fr!important; }
.hotel-link { background:#fff;border-color:#dae7ec;color:#254a5c; }
.hotel-link:hover { background:#edf6f8; }
.hotel-content-grid,.vehicle-type-grid { gap:30px; }
.hotel-footer-note { line-height:1.9; }
.note-text ul { padding-left:1.2em;margin-top:.35em; }
.note-text li { margin-bottom:.5em; }
.note-text strong { color:#2e647b; }
.price-table th { background:#224f64; }
.price-col { color:#315d70;white-space:normal; }
.dark-card { background:#214a60; }
.complaint-number { white-space:nowrap; }
.driver-team-gallery:empty { display:none; }
.page-footer { flex-wrap:wrap;gap:15px; }
.hotel-modal-hero[hidden],.hotel-modal-section[hidden] { display:none!important; }
.hotel-modal-panel.no-photo { width:min(640px,calc(100vw - 28px));height:auto;max-height:85vh;display:block;overflow:auto; }
.hotel-modal-panel.no-photo .hotel-modal-title-block { padding:40px 28px 15px; }
.hotel-modal-panel.no-photo .hotel-modal-body { padding:10px 28px 30px; }
.hotel-modal-panel.no-photo .hotel-modal-close { color:#1d4558;background:#eef5f7; }
@media(max-width:1200px) {
 .hero-section .main-title { font-size:calc(var(--mobile-main-title-font) * 1.08)!important; }
 .hero-section .subtitle { font-size:var(--mobile-card-font)!important; }
 .cover-caption { font-size:calc(var(--mobile-date-font) * .8)!important; }
 .route-switch label { font-size:calc(var(--mobile-date-font) * .96); }
 .route-switch select { font-size:var(--mobile-card-font); }
 .booklet-note { font-size:var(--mobile-date-font); }
 .day-route-subtitle { font-size:var(--mobile-date-font)!important; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { animation:none!important;transition:none!important; } }

.day-extra-meta { display:flex;flex-wrap:wrap;gap:20px 40px;margin:0 0 35px;color:#5a7a89;font-size:38px;line-height:1.7; }
@media(max-width:1200px){.day-extra-meta{font-size:var(--mobile-date-font);}}

:root { --autumn-brown:var(--primary-dark,#214558); }
.dark-card,.price-table th { background:var(--primary-dark,#214a60); }
.highlight-name,.note-text strong { color:var(--highlight-text,#315d70); }
.hotel-category { margin-left:auto;font-size:35px;font-weight:400;color:#648290; }

.highlight-name { font-size:50px;line-height:1.5; }

.booklet-contact { display:flex;flex-wrap:wrap;gap:20px 30px;margin-top:45px;padding:30px 0;border-top:2px solid #d8e6ec;font-size:40px;color:#41677a;line-height:1.6; }
.booklet-contact a { color:var(--primary,#267992);font-weight:700;text-decoration:none; }
@media(max-width:1200px){.booklet-contact{font-size:var(--mobile-card-font);}}
