﻿/* Hero */
.gs-hero{position:relative;min-height:460px;display:flex;align-items:flex-end;background:#1a3c6e;overflow:hidden}
.gs-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 20s linear}
.gs-hero:hover .gs-hero-bg{transform:scale(1.05)}
.gs-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(15,52,96,.45) 45%,rgba(15,52,96,.55) 100%)}
.gs-hero-content{position:relative;z-index:2;width:100%;max-width:1100px;margin:0 auto;padding:32px 24px 56px}
.gs-breadcrumb{font-size:13px;color:rgba(255,255,255,.65);margin-bottom:22px;line-height:1.4}
.gs-breadcrumb a{color:rgba(255,255,255,.78);text-decoration:none;transition:color .15s}
.gs-breadcrumb a:hover,.gs-breadcrumb a:focus-visible{color:#fff;text-decoration:underline;outline:none}
.gs-badge{display:inline-block;padding:6px 16px;border-radius:999px;font-size:11.5px;font-weight:700;color:#fff;margin-bottom:16px;letter-spacing:.6px;text-transform:uppercase;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.gs-title{font-family:'Plus Jakarta Sans',Inter,system-ui,sans-serif;font-size:clamp(30px,5.2vw,46px);font-weight:800;color:#fff;line-height:1.12;margin-bottom:14px;max-width:760px;letter-spacing:-.02em;text-shadow:0 2px 16px rgba(0,0,0,.25)}
.gs-dek{font-size:clamp(15px,1.6vw,17.5px);color:rgba(255,255,255,.88);line-height:1.55;max-width:640px;margin:0 0 22px;font-weight:400;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.gs-meta{display:flex;gap:14px 18px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.78);align-items:center}
.gs-meta-item{display:inline-flex;align-items:center;gap:6px;font-weight:500}
.gs-meta-dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.45);flex-shrink:0}

/* Layout */
.gs-container{max-width:1100px;margin:0 auto;padding:0 24px}
.gs-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding:40px 0 60px;align-items:start}

/* Main content */
.gs-content{min-width:0;max-width:72ch}
.gs-content>*{max-width:100%}
.gs-content h2{font-size:24px;font-weight:800;color:#1a1a2e;margin:40px 0 16px;padding:16px 0 10px;border-bottom:3px solid #1a3c6e;line-height:1.3;position:relative}
.gs-content h2:first-child{margin-top:0}
.gs-content h3{font-size:18px;font-weight:700;color:#1a3c6e;margin:28px 0 12px;padding-left:14px;border-left:3px solid #e94560}
.gs-content p{font-size:15.5px;line-height:1.85;color:#374151;margin:0 0 18px}
.gs-content ul,.gs-content ol{margin:0 0 20px;padding-left:24px}
.gs-content li{margin-bottom:12px;font-size:15px;line-height:1.75;color:#374151;padding-left:4px}
.gs-content li strong{color:#1a1a2e;font-weight:700}
.gs-content blockquote{margin:24px 0;padding:20px 24px;background:#eff6ff;border-left:4px solid #1a3c6e;border-radius:0 10px 10px 0;font-size:15px;color:#1e40af;line-height:1.7}
.gs-content h2+h3{margin-top:20px}
.gs-content h3+p{margin-top:0}

/* Auto-style consecutive h3 sections as visual cards */
.gs-content h3{background:#f8f9fa;margin-left:-14px;padding:12px 14px 12px 14px;border-radius:0 8px 8px 0}
.gs-content h3:hover{background:#eff6ff}

/* Make ordered lists (Top 10s) look like numbered cards */
.gs-content ol{counter-reset:guide-counter;list-style:none;padding-left:0}
.gs-content ol>li{counter-increment:guide-counter;padding:16px 16px 16px 56px;margin-bottom:12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;position:relative;font-size:15px;line-height:1.7}
.gs-content ol>li::before{content:counter(guide-counter);position:absolute;left:14px;top:14px;width:32px;height:32px;background:#1a3c6e;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.gs-content ol>li:hover{border-color:#1a3c6e;box-shadow:0 2px 8px rgba(0,0,0,.04)}

/* Better unordered lists */
.gs-content ul>li{position:relative;padding-left:8px}
.gs-content ul{list-style:none;padding-left:0}
.gs-content ul>li::before{content:'';position:absolute;left:-12px;top:10px;width:6px;height:6px;background:#e94560;border-radius:50%}

/* Long paragraphs: add visual breathing room */
.gs-content p+p{margin-top:20px}
.gs-content h2+p{font-size:16px;color:#4b5563}
.gs-content h3+p{border-left:2px solid #f3f4f6;padding-left:14px;margin-left:0}

/* Inline image improvements */
.gs-content-img{border-radius:12px;overflow:hidden;margin:28px 0;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.gs-content-img img{height:320px}
.gs-content-img figcaption{padding:10px 16px;font-size:12px;color:#6b7280;background:#f8f9fa;border-top:1px solid #e5e7eb}
.gs-content>p a,.gs-content>ul a,.gs-content>ol a,.gs-content .day-card a,.gs-content .tip-box a{color:#e94560;font-weight:600;text-decoration:none}
.gs-content>p a:hover,.gs-content .day-card a:hover{text-decoration:underline}
.gs-content>img,.gs-content>figure img,.gs-content .gs-content-img img,.gs-content .day-card img{width:100%;border-radius:10px;margin:20px 0;display:block}
.gs-related-card img,.gs-hotel-mini img,.gs-sidebar img{margin:0!important;border-radius:0!important}

/* Day cards */
.gs-content .day-card{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #1a3c6e;border-radius:0 12px 12px 0;padding:28px;margin:24px 0;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:box-shadow .2s}
.gs-content .day-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.gs-content .day-card:nth-child(2){border-left-color:#e94560}
.gs-content .day-card:nth-child(3){border-left-color:#008009}
.gs-content .day-card h3{margin:0 0 14px;color:#1a3c6e;font-size:20px}
.gs-content .day-num{display:inline-block;padding:5px 14px;border-radius:6px;font-size:12px;font-weight:700;background:#1a3c6e;color:#fff;margin-bottom:10px;letter-spacing:.5px}
.gs-content .day-card:nth-child(2) .day-num{background:#e94560}
.gs-content .day-card:nth-child(3) .day-num{background:#008009}

/* Tip boxes */
.gs-content .tip-box{padding:18px 20px 18px 52px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin:24px 0;font-size:14px;color:#166534;line-height:1.7;position:relative}
.gs-content .tip-box .tip-icon{position:absolute;left:18px;top:18px;font-size:20px}

/* Budget tables */
.gs-content .budget-table{width:100%;border-collapse:collapse;margin:20px 0;border-radius:10px;overflow:hidden;border:1px solid #e5e7eb;font-size:14px}
.gs-content .budget-table th{background:#1a3c6e;padding:12px 16px;font-weight:700;text-align:left;border-bottom:2px solid #e5e7eb;color:#fff;font-size:13px}
.gs-content .budget-table th:first-child{border-radius:10px 0 0 0}
.gs-content .budget-table th:last-child{border-radius:0 10px 0 0}
.gs-content .budget-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;color:#374151}
.gs-content .budget-table tr:hover td{background:#f9fafb}
.gs-content .budget-table tr:last-child td{border-bottom:none;font-weight:700;color:#008009;background:#f0fdf4}

/* Internal links */
.gs-content .internal-link{display:inline-flex;align-items:center;gap:4px;padding:5px 14px;background:#f3f4f6;border-radius:6px;font-size:13px;font-weight:600;color:#1a3c6e;text-decoration:none;transition:all .2s;border:1px solid #e5e7eb}
.gs-content .internal-link:hover{background:#dbeafe;border-color:#93c5fd;text-decoration:none}

/* Content images */
.gs-content-img{width:100%;border-radius:10px;margin:20px 0;overflow:hidden;position:relative}
.gs-content-img img{width:100%;height:280px;object-fit:cover;display:block}
.gs-content-img figcaption{font-size:12px;color:#9ca3af;text-align:center;padding:8px 0;background:#f9fafb}

/* Sidebar */
.gs-sidebar{align-self:start}
@media(min-width:769px){
  .gs-sidebar{position:sticky;top:80px;max-height:calc(100vh - 96px);overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
  .gs-sidebar::-webkit-scrollbar{width:6px}
  .gs-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}
  .gs-sidebar::-webkit-scrollbar-track{background:transparent}
}
.gs-sidebar-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:16px}
.gs-sidebar-title{font-size:15px;font-weight:700;color:#1a1a2e;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}

/* Quick facts */
.gs-fact-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f3f4f6;font-size:13px}
.gs-fact-row:last-child{border-bottom:none}
.gs-fact-k{color:#6b7280}
.gs-fact-v{font-weight:600;color:#1f2937}

/* TOC — inline (in-content) box */
.gs-toc-box{background:#f8f9ff;border:1px solid #e5e7eb;border-left:4px solid #e94560;border-radius:10px;padding:18px 22px 16px;margin:0 0 32px;display:none}
.gs-toc-box[data-ready]{display:block}
.gs-toc-label{font-size:11.5px;font-weight:800;color:#0f3460;margin-bottom:10px;text-transform:uppercase;letter-spacing:.8px;display:flex;align-items:center;gap:6px}
.gs-toc-label::before{content:'';display:inline-block;width:14px;height:2px;background:#e94560;border-radius:2px}
.gs-toc-list{margin:0;padding:0;list-style:none;counter-reset:toc-counter}
.gs-toc-list li{counter-increment:toc-counter;margin:0;padding:0}
.gs-toc-list li::before{content:counter(toc-counter,decimal-leading-zero) '.';color:#e94560;font-weight:800;font-size:12px;font-variant-numeric:tabular-nums;display:inline-block;width:26px;flex-shrink:0;padding-top:2px}
.gs-toc-list li{display:flex;align-items:flex-start;gap:0;border-radius:6px;transition:background .15s}
.gs-toc-list li:hover{background:rgba(233,69,96,.06)}
.gs-toc-list a{flex:1;color:#1a3c6e;font-size:14px;font-weight:500;text-decoration:none;line-height:1.45;padding:5px 8px 5px 0;border-radius:6px;transition:color .15s}
.gs-toc-list a:hover,.gs-toc-list a:focus-visible{color:#e94560;outline:none}
.gs-toc-list li.is-active{background:rgba(233,69,96,.1)}
.gs-toc-list li.is-active::before{color:#0f3460}
.gs-toc-list li.is-active a{color:#0f3460;font-weight:700}
/* Legacy class kept for any other reference */
.gs-toc{list-style:none;padding:0;margin:0}
.gs-toc li{margin-bottom:6px}
.gs-toc a{font-size:13px;color:#374151;text-decoration:none;display:block;padding:6px 10px;border-radius:6px;transition:all .15s;line-height:1.4}
.gs-toc a:hover,.gs-toc a.active{background:#eff6ff;color:#1a3c6e;font-weight:600}

/* Hotel mini cards */
.gs-hotel-mini{display:flex;gap:10px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none;color:inherit;transition:all .2s;margin-bottom:8px;overflow:hidden}
.gs-hotel-mini:hover{box-shadow:0 2px 8px rgba(0,0,0,.06);border-color:#93c5fd}
.gs-hotel-mini img{width:52px;height:40px;border-radius:5px;object-fit:cover;flex-shrink:0}
.gs-hotel-mini-info{min-width:0;overflow:hidden}
.gs-hotel-mini-name{font-size:12px;font-weight:600;color:#1a1a2e;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.gs-hotel-mini-meta{font-size:11px;color:#6b7280}
.gs-hotel-mini-price{font-size:12px;font-weight:700;color:#008009}

/* Flight mini */
.gs-flight-mini{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:6px;font-size:12px;text-decoration:none;color:inherit;transition:all .15s}
.gs-flight-mini:hover{border-color:#1a3c6e;background:#f8f9ff}
.gs-flight-mini-route{font-weight:600;color:#1a1a2e}
.gs-flight-mini-price{font-weight:700;color:#008009}

/* City guides sidebar */
.gs-sidebar-link{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:13px;color:#374151;text-decoration:none;transition:all .15s;margin-bottom:2px}
.gs-sidebar-link:hover{background:#f3f4f6;color:#1a3c6e}
.gs-city-guide-link{display:block;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;color:#374151;text-decoration:none;transition:all .15s;margin-bottom:4px;border:1px solid transparent}
.gs-city-guide-link:hover{background:#f3f4f6;border-color:#e5e7eb}
.gs-city-guide-link .guide-type-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}

/* Share bar */
.gs-share{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:22px 0;border-top:1px solid #e5e7eb;margin-top:32px}
.gs-share-label{font-size:13px;font-weight:600;color:#6b7280;margin-right:4px}
.gs-share-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:600;text-decoration:none;color:#fff;transition:transform .15s ease,box-shadow .15s ease,opacity .2s}
.gs-share-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.12);color:#fff}
.gs-share-btn:focus-visible{outline:2px solid #0f3460;outline-offset:2px}
.gs-save-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:600;border:1px solid #e5e7eb;background:#fff;color:#0f3460;cursor:pointer;transition:all .15s}
.gs-save-btn:hover{border-color:#e94560;color:#e94560;background:#fff5f6}
.gs-save-btn:focus-visible{outline:2px solid #e94560;outline-offset:2px}
.gs-save-btn[aria-pressed="true"]{background:#fff5f6;border-color:#e94560;color:#e94560}
.gs-save-btn[aria-pressed="true"] .gs-save-icon{fill:#e94560}
.gs-save-icon{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}

/* Heading anchor offset so jump links don't hide behind sticky nav */
.gs-content h2[id],.gs-content h3[id]{scroll-margin-top:80px}

/* Related guides — vertical card layout */
.gs-related{margin-top:40px;padding-top:40px;border-top:1px solid #e5e7eb}
.gs-related-title{font-size:20px;font-weight:800;color:#1a1a2e;margin-bottom:20px}
.gs-related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.gs-related-card{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;color:inherit;transition:all .2s;overflow:hidden}
.gs-related-card:hover{box-shadow:0 6px 20px rgba(15,52,96,.08);transform:translateY(-2px);border-color:#cbd5e1}
.gs-related-card:focus-visible{outline:2px solid #e94560;outline-offset:2px}
.gs-related-card .gs-related-img-wrap{width:100%;height:140px;overflow:hidden;background:#0f3460;position:relative}
.gs-related-card .gs-related-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;margin:0;border-radius:0}
.gs-related-card:hover .gs-related-img-wrap img{transform:scale(1.05)}
.gs-related-card .gs-related-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:10px;font-weight:700;color:#fff;margin-bottom:8px}
.gs-related-body{padding:14px}
.gs-related-body h4{font-size:14px;font-weight:700;color:#1a1a2e;margin:0 0 6px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gs-related-body p{font-size:12px;color:#6b7280;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}
.gs-related-body .guide-cta{font-size:12px;font-weight:600;color:#e94560}

/* Author bar */
.gs-author{display:flex;gap:14px;align-items:center;padding:20px;background:#f8f9fa;border-radius:10px;margin-top:24px}
.gs-author-avatar{width:48px;height:48px;border-radius:50%;background:#1a3c6e;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;flex-shrink:0}
.gs-author-info{font-size:13px;color:#6b7280;line-height:1.5}
.gs-author-name{font-size:14px;font-weight:700;color:#1a1a2e}

/* Print */
@media print{.gs-sidebar,.gs-share,.gs-related,nav,.search-bar,footer{display:none!important}.gs-layout{grid-template-columns:1fr!important}}

/* Responsive */
@media(max-width:1024px){.gs-layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px}}
@media(max-width:768px){
  .gs-layout{grid-template-columns:1fr;gap:24px;padding:28px 0 48px}
  .gs-sidebar{position:static;order:2}
  .gs-hero{min-height:340px}
  .gs-hero-content{padding:24px 20px 32px}
  .gs-title{font-size:26px;line-height:1.18;letter-spacing:-.015em;margin-bottom:10px}
  .gs-dek{font-size:14.5px;margin-bottom:16px}
  .gs-meta{gap:10px 14px;font-size:12.5px}
  .gs-content{max-width:100%}
  .gs-content h2{font-size:21px;margin:32px 0 14px}
  .gs-content h3{font-size:17px}
  .gs-content p{font-size:15px;line-height:1.78}
  .gs-related-grid{grid-template-columns:1fr}
  .gs-content .day-card{padding:20px}
  .gs-toc-box{padding:14px 16px}
  .gs-share{gap:6px;padding:18px 0}
  .gs-share-btn{padding:7px 12px;font-size:12px}
  .gs-save-btn{margin-left:0;width:100%;justify-content:center;margin-top:6px}
}
@media(max-width:480px){
  .gs-hero{min-height:300px}
  .gs-title{font-size:23px}
  .gs-meta-item{font-size:12px}
}
