/* Travel guide layouts follow the five supplied UI references. */
.travel-guide-page { background:#fff; color:#102b42; }
.travel-guide-page .tg-page { padding-bottom:14px; }
.tg-page *, .tg-page *::before, .tg-page *::after { box-sizing:border-box; }
.tg-page a:focus-visible, .tg-page summary:focus-visible, .tg-table-scroll:focus-visible { outline:3px solid #b78020; outline-offset:3px; }
.travel-guide-page .tg-page .ttp-container { width:calc(100% - 80px); max-width:1200px; margin-left:auto; margin-right:auto; }
.tg-page h1, .tg-page h2 { font-family:Georgia,'Times New Roman',serif; font-weight:700; letter-spacing:-.6px; color:#102b42; }
.travel-guide-page .tg-page h2 { font-size:30px; line-height:1.15; margin:0 0 7px; }
.travel-guide-page .tg-page h3 { color:#112c43; font-size:15px; font-weight:600; line-height:1.3; margin:0 0 7px; }
.tg-page p { color:#263e50; font-size:12px; line-height:1.55; }
.tg-hero { position:relative; isolation:isolate; min-height:205px; overflow:hidden; background:#14354e; }
.tg-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#0c2d48c7,#0c2d4840 65%,#0c2d4808); }
.tg-hero-background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 48%; z-index:-2; }
.travel-guide-page .tg-page .tg-hero-inner { padding:27px 22px 33px; }
.tg-breadcrumbs ol { list-style:none; display:flex; flex-wrap:wrap; gap:9px; margin:0 0 15px; padding:0; font-size:11px; color:#f5c971; }
.tg-breadcrumbs li+li::before { content:'›'; margin-right:9px; color:#f1e3c8; }
.tg-breadcrumbs a { color:#fff; }
.travel-guide-page .tg-page .tg-hero h1 { color:#fff; font-size:46px; line-height:1.05; margin:0 0 12px; max-width:920px; }
.tg-hero h1 em { color:#edb94d; font-weight:700; }
.tg-page .tg-hero-summary { color:#fff; font-size:14px; line-height:1.45; max-width:590px; margin:0; text-wrap:pretty; }
.tg-content { padding-top:24px; }
.tg-visual-section { margin:0 0 26px; scroll-margin-top:20px; }
.tg-visual-heading { margin:0 0 16px; }
.tg-eyebrow { display:block; font-size:10px; font-weight:700; letter-spacing:1.7px; text-transform:uppercase; color:#a36713; margin-bottom:5px; }
.tg-visual-heading p { margin:0; }
.tg-visual-grid { display:grid; grid-template-columns:repeat(var(--tg-columns),minmax(0,1fr)); gap:14px; align-items:stretch; }
.tg-visual-card { border:1px solid #e6e2db; border-radius:10px; overflow:hidden; background:linear-gradient(130deg,#fff,#f8f6f2); box-shadow:0 3px 4px #1230470a; position:relative; min-width:0; }
.tg-visual-card-body { padding:18px 14px 14px; height:100%; display:flex; flex-direction:column; }
.tg-card-icon { font-size:30px; color:#b98218; margin-bottom:12px; }
.tg-visual-card p { font-size:11px; margin:0 0 8px; }
.tg-visual-card h3 a { color:inherit; }
.tg-card-dates { display:block; font-size:11px; margin:-3px 0 11px; font-weight:500; }
.tg-layout-icons .tg-visual-card-body { align-items:center; text-align:center; }
.tg-card-meta { color:#233a4d; font-size:10px!important; }
.tg-card-meta i { color:#a97413; margin-right:3px; }
.tg-card-photo { position:relative; aspect-ratio:1.6; background:#e9e3d8; overflow:hidden; }
.tg-card-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tg-photo-badge { position:absolute; top:10px; left:10px; font-size:10px; padding:4px 8px; background:#fff5df; color:#5a3d10; border-radius:6px; font-weight:600; }
.tg-has-image { display:flex; flex-direction:column; background:#fff; box-shadow:0 4px 7px #17364b10; }
.tg-has-image .tg-visual-card-body { padding:13px 14px; height:auto; flex:1; }
.tg-layout-photos .tg-card-link { width:100%; text-align:center; border:1px solid #cda354; border-radius:20px; padding:4px 8px; font-size:10px; color:#99600e; margin-top:auto; }
.tg-card-link { display:block; color:#a96f14; margin-top:auto; padding-top:7px; font-size:11px; }
.tg-card-link span { float:right; font-size:18px; line-height:1; }
.tg-checks { list-style:none; padding:0; margin:3px 0 12px; }
.tg-checks li { position:relative; padding-left:16px; font-size:10px; line-height:1.6; margin:3px 0; }
.tg-checks li::before { content:'✓'; position:absolute; left:0; color:#ad7518; font-size:12px; }
.tg-layout-compact .tg-visual-card-body { display:grid; grid-template-columns:32px minmax(0,1fr); column-gap:12px; }
.tg-layout-compact .tg-card-icon { grid-row:1/5; font-size:27px; }
.tg-layout-compact .tg-visual-card h3 { font-size:13px; }
.tg-layout-compact .tg-card-link { grid-column:2; }
.tg-layout-seasons .tg-visual-card-body { align-items:flex-start; }
.tg-layout-seasons .tg-visual-card h3 { font-family:Georgia,'Times New Roman',serif; font-size:21px; }
.tg-layout-seasons .tg-card-dates { background:#f8edda; border:1px solid #eedfc4; padding:5px 10px; border-radius:20px; margin-top:auto; margin-bottom:0; font-size:10px; }
.tg-layout-seasons .tg-has-image .tg-card-photo { aspect-ratio:2.2; }
.tg-layout-strips .tg-card-photo { aspect-ratio:2.75; }
.tg-layout-strips .tg-visual-card-body { display:flex; flex-direction:row; align-items:center; gap:10px; padding:13px 14px; }
.travel-guide-page .tg-layout-strips .tg-visual-card h3 { font-size:12px; margin:0; flex:1; }
.tg-layout-strips .tg-card-link { padding:0; margin:0; }
.tg-layout-strips .tg-card-link span { float:none; }
.tg-layout-checklist { display:grid; grid-template-columns:30% minmax(0,1fr); gap:28px; align-items:center; border:1px solid #e1dace; border-radius:18px; background:#faf8f4; padding:24px 28px; }
.tg-layout-checklist .tg-visual-heading { margin:0; border-right:1px solid #cda357; padding-right:24px; }
.tg-layout-checklist .tg-visual-grid { display:block; }
.tg-layout-checklist .tg-visual-card { border:0; box-shadow:none; background:none; border-radius:0; }
.tg-layout-checklist .tg-visual-card-body { padding:6px 0; border-bottom:1px solid #e1ddd4; display:grid; grid-template-columns:20px minmax(0,1fr); align-items:center; gap:10px; }
.tg-layout-checklist .tg-card-icon { font-size:17px; margin:0; }
.tg-layout-checklist .tg-visual-card h3 { font-size:12px; margin:0; font-weight:400; }
.tg-layout-checklist .tg-visual-card p { grid-column:2; }
.tg-region-overview { display:grid; grid-template-columns:36% minmax(0,1fr); gap:28px; align-items:center; }
.tg-region-key { display:flex; flex-direction:column; gap:9px; }
.tg-region-key>a { display:flex; align-items:center; gap:17px; padding:13px 16px; color:#153148; background:#f8f5ef; border:1px solid #eee6d8; border-radius:10px; }
.tg-region-key i { font-size:26px; color:#b77b13; }
.tg-region-key strong { display:block; font-size:13px; }
.tg-region-key small { display:block; font-size:10px; line-height:1.5; }
.tg-region-key>a>span:last-child { margin-left:auto; color:#b27819; }
.tg-map-wrap svg { width:100%; height:auto; display:block; }
.tg-page .tg-map-caption { text-align:right; font-size:9px; color:#7b786f; margin:0; }
.tg-layout-regions .tg-visual-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.tg-layout-regions .tg-visual-card { grid-column:span 2; }
.tg-layout-regions .tg-visual-card:nth-child(n+6) { grid-column:span 3; display:grid; grid-template-columns:30% minmax(0,1fr); align-items:center; }
.tg-layout-regions .tg-visual-card:nth-child(n+6) .tg-visual-card-body { padding:18px; grid-column:1/-1; display:grid; grid-template-columns:36px minmax(0,1fr); column-gap:12px; }
.tg-layout-regions .tg-visual-card:nth-child(n+6) .tg-card-icon { grid-row:1/5; }
.tg-layout-regions .tg-visual-card:nth-child(n+6) p, .tg-layout-regions .tg-visual-card:nth-child(n+6) .tg-card-link { grid-column:2; }
.tg-table-scroll { overflow-x:auto; max-width:100%; border:1px solid #dcdedc; border-radius:8px; -webkit-overflow-scrolling:touch; }
.tg-comparison table { min-width:980px; width:100%; border-collapse:collapse; font-size:10px; line-height:1.5; text-align:center; }
.tg-comparison th { padding:11px 7px; background:#193e53; color:#fff; }
.tg-comparison td { padding:13px 7px; border:1px solid #e1ded8; background:#fbfaf7; vertical-align:top; }
.tg-comparison th:first-child,.tg-comparison td:first-child { min-width:130px; text-align:left; font-weight:600; }
.tg-source-intro { padding:0 0 12px; }
.tg-source-intro p { font-size:11px; line-height:1.6; margin:0 0 8px; color:#596876; }
.tg-source-intro a, .tg-article a { color:#926218; text-decoration:underline; text-underline-offset:3px; }
.tg-reading-notes { margin:0 0 25px; border-top:1px solid #e6dfd4; border-bottom:1px solid #e6dfd4; background:#fdfcf9; scroll-margin-top:20px; }
.tg-reading-notes>summary { cursor:pointer; padding:15px 18px; color:#203b50; font-size:13px; font-weight:500; }
.tg-reading-notes>summary span { float:right; color:#a26c15; }
.tg-article { padding:20px; max-width:1000px; margin:auto; }
.tg-editorial-meta { display:flex; flex-wrap:wrap; gap:10px 25px; font-size:10px; color:#74808a; margin-bottom:20px; }
.tg-reading-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:25px; }
.tg-reading-nav a { padding:7px 10px; border:1px solid #e4dac6; border-radius:4px; font-size:10px; }
.tg-article-section { margin:0 0 25px; padding-bottom:20px; border-bottom:1px solid #e8e2d8; scroll-margin-top:20px; }
.tg-article p,.tg-article li { font-size:14px; line-height:1.85; color:#4d6070; }
.tg-article h3 { margin:24px 0 12px!important; font-size:19px!important; }
.tg-article ul,.tg-article ol { padding-left:24px; }
.tg-article table { min-width:600px; width:100%; border-collapse:collapse; font-size:12px; }
.tg-article th,.tg-article td { padding:12px; text-align:left; border-bottom:1px solid #e3ded5; }
.tg-article th { background:#f0e9db; }
.tg-article blockquote { border-left:3px solid #b27c19; padding:18px; background:#f7efe0; }
.tg-faq-split { display:grid; grid-template-columns:45% minmax(0,1fr); gap:40px; margin-bottom:20px; }
.tg-faq-intro>p { margin-bottom:20px; }
.tg-help-card { display:flex; align-items:flex-start; gap:16px; border:1px solid #eee1cc; border-radius:12px; padding:22px; min-height:128px; background:#fbf4e8; background-size:cover; background-position:center; }
.tg-help-card>i { color:#ad771c; font-size:32px; }
.tg-page .tg-help-card h3 { font-size:16px; margin:0 0 5px; }
.tg-help-card p { font-size:11px; max-width:260px; margin:0 0 10px; }
.tg-outline-link { display:inline-block; border:1px solid #b27a1a; border-radius:20px; padding:4px 16px; color:#925c0f; font-size:11px; background:#ffffffd4; }
.tg-faq-section { margin:0; padding:0; border:0; }
.tg-faq-section>h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.tg-faq details { border:1px solid #e4e1dc; background:#fff; border-radius:8px; margin-bottom:5px; box-shadow:0 2px 4px #17304708; }
.tg-faq summary { cursor:pointer; font-weight:600; padding:10px 35px 10px 15px; list-style:none; position:relative; font-size:11px; line-height:1.5; }
.tg-faq summary::-webkit-details-marker { display:none; }
.tg-faq summary::after { content:'+'; position:absolute; right:15px; top:7px; font-size:20px; font-weight:400; }
.tg-faq details[open] { background:#f7f4ef; }
.tg-faq details[open] summary { color:#9b6212; }
.tg-faq details[open] summary::after { content:'−'; }
.tg-faq details>div { padding:0 15px 12px; }
.tg-faq details p { font-size:11px; margin:0; }
.tg-plan-banner { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:24px 34px; border-radius:12px; background:linear-gradient(90deg,#a36717,#e7b451); background-size:cover; background-position:center; }
.tg-page .tg-plan-banner h2 { color:#fff; font-size:33px; margin:0 0 7px; }
.tg-plan-banner p { max-width:570px; color:#fff; font-size:12px; margin:0; }
.tg-plan-banner>a { display:inline-flex; align-items:center; gap:12px; white-space:nowrap; padding:13px 22px; border-radius:7px; background:#fff; color:#9d6311; font-size:13px; font-weight:600; }
@media(max-width:1000px) { .travel-guide-page .tg-page .ttp-container{width:calc(100% - 48px)} .tg-visual-grid{gap:10px}.tg-visual-card-body{padding:15px 10px}.tg-visual-card p{font-size:10px}.tg-page .tg-visual-card h3{font-size:13px}.tg-hero-inner{padding-left:0!important}.tg-layout-regions .tg-visual-grid{gap:12px}.tg-faq-split{gap:24px}.tg-layout-compact .tg-visual-card-body{display:flex}.tg-card-photo{aspect-ratio:1.4} }
@media(max-width:760px) { .travel-guide-page .tg-page .ttp-container{width:calc(100% - 32px)} .tg-hero{min-height:230px}.travel-guide-page .tg-page .tg-hero h1{font-size:36px}.travel-guide-page .tg-page .tg-hero-inner{padding:24px 0 30px}.tg-page .tg-hero-summary{font-size:12px;max-width:95%}.tg-breadcrumbs ol{font-size:9px;gap:6px}.tg-breadcrumbs li+li::before{margin-right:6px}.tg-content{padding-top:22px}.travel-guide-page .tg-page h2{font-size:26px}.tg-visual-section{margin-bottom:24px}.tg-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tg-layout-seasons .tg-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tg-visual-card-body{padding:16px 13px}.tg-page .tg-visual-card h3{font-size:14px}.tg-visual-card p{font-size:11px}.tg-card-photo{aspect-ratio:1.55}.tg-layout-photos .tg-visual-card:last-child:nth-child(odd){grid-column:1/-1}.tg-layout-photos .tg-visual-card:last-child:nth-child(odd) .tg-card-photo{aspect-ratio:2.7}.tg-layout-compact .tg-visual-card-body{display:grid;grid-template-columns:27px minmax(0,1fr);gap:7px}.tg-layout-checklist{display:block;padding:20px}.tg-layout-checklist .tg-visual-heading{border:0;border-bottom:1px solid #d3ae6c;padding:0 0 15px;margin-bottom:14px}.tg-layout-checklist .tg-visual-card-body{display:grid}.tg-region-overview{display:flex;flex-direction:column-reverse;gap:15px}.tg-region-key{width:100%}.tg-map-caption{font-size:8px!important}.tg-layout-regions .tg-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tg-layout-regions .tg-visual-card{grid-column:auto}.tg-layout-regions .tg-visual-card:nth-child(n+6){display:block;grid-column:auto}.tg-layout-regions .tg-visual-card:nth-child(n+6) .tg-visual-card-body{display:flex}.tg-layout-regions .tg-visual-card:last-child{grid-column:1/-1}.tg-layout-strips .tg-visual-card-body{padding:12px 10px}.tg-layout-strips .tg-visual-card h3{font-size:11px!important}.tg-source-intro p{font-size:11px}.tg-article{padding:16px}.tg-article p,.tg-article li{font-size:13px}.tg-faq-split{display:block}.tg-faq-intro{margin-bottom:18px}.tg-help-card{padding:18px;min-height:110px}.tg-faq summary{font-size:12px;padding:13px 35px 13px 13px}.tg-faq details p{font-size:12px}.tg-plan-banner{display:block;padding:24px;background-position:65% center}.tg-page .tg-plan-banner h2{font-size:29px}.tg-plan-banner p{font-size:11px}.tg-plan-banner>a{margin-top:17px;padding:10px 17px;font-size:12px}.tg-cta-wrap{margin-bottom:6px!important}.tg-checks li{font-size:10px}.tg-reading-notes>summary{font-size:12px}.travel-guide-page .ttp-site-footer .ttp-footer-grid>div{min-width:0;overflow-wrap:anywhere} }
@media(max-width:380px) { .travel-guide-page .tg-page .tg-hero h1{font-size:31px}.tg-page .tg-visual-card h3{font-size:12px}.tg-visual-card-body{padding:13px 10px}.tg-visual-grid{gap:10px}.tg-layout-compact .tg-visual-grid{grid-template-columns:1fr}.tg-layout-checklist .tg-visual-grid{display:block}.travel-guide-page .ttp-site-footer .ttp-footer-grid{grid-template-columns:minmax(0,1fr)} }
.tg-layout-photos .tg-card-link.tg-arrow-only { align-self:flex-end; width:25px; height:25px; padding:3px; border-radius:50%; margin-top:10px; }
.tg-layout-photos .tg-card-link.tg-arrow-only span { float:none; display:block; font-size:17px; }
