
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --cream: #FAF6EF;
    --warm-white: #FDF9F3;
    --terracotta: #C4623A;
    --terracotta-light: #E8906E;
    --terracotta-dark: #8C3E20;
    --sand: #E8DBC8;
    --sand-dark: #C9B89A;
    --olive: #6B7352;
    --olive-light: #8A9468;
    --brown: #3D2B1F;
    --text: #2E2118;
    --text-muted: #7A6355;
    --serif: Verdana, Geneva, sans-serif;
    --sans: Verdana, Geneva, sans-serif;
  }

  html { scroll-behavior: smooth; }

  body {
    font-family: var(--sans);
    background: var(--cream);
    color: var(--text);
    line-height: 1.6;
    margin: 0;
    padding: 0;
    width: 100%;
    display: block;
    }

  /* NAV */
  nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(12px);
    border-bottom: 2px solid transparent;
    background-image: linear-gradient(white, white), linear-gradient(90deg, #C4623A, #6B7352, #4361EE, #6B7352);
    background-origin: border-box;
    background-clip: padding-box, border-box;
  }
  .nav-logo {
    font-family: var(--serif);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--terracotta-dark);
    letter-spacing: 0.02em;
    text-decoration: none;
  }
  .nav-logo span { font-style: italic; color: var(--terracotta); }
  .nav-links {
    display: flex;
    gap: 2.5rem;
    list-style: none;
  }
  .nav-links a {
    font-size: 0.8rem;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.2s;
  }
  .nav-links a:hover { color: var(--terracotta); }
  .nav-cta {
    font-size: 0.78rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.65rem 1.2rem;
    background: var(--terracotta);
    color: #FDF9F3;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    text-decoration: none;
    font-family: var(--sans);
    font-weight: 500;
    transition: background 0.2s;
  }
  .nav-cta:hover { background: var(--terracotta-dark); }

  /* HERO */
  .hero {
    min-height: 70vh;
    display: flex;
    flex-direction: column;
    padding-top: 5rem;
    width: 100%;
  }
  .hero-left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem 2rem 2rem 2rem;
    width: 100%;
  }
  .hero-eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--terracotta);
    font-weight: 500;
    margin-bottom: 1.5rem;
  }
  .hero-title {
    font-family: var(--serif);
    font-size: clamp(3rem, 5vw, 5rem);
    line-height: 1.08;
    font-weight: 500;
    color: var(--brown);
    margin-bottom: 1.5rem;
  }
  .hero-title em {
    font-style: italic;
    color: var(--terracotta);
  }
  .hero-sub {
    font-size: 1rem;
    color: var(--text-muted);
    max-width: 38ch;
    line-height: 1.8;
    margin-bottom: 3rem;
    font-weight: 300;
  }
  .hero-actions {
    display: flex;
    align-items: center;
    gap: 2rem;
  }
  .btn-primary {
    padding: 1rem 2.5rem;
    background: var(--terracotta);
    color: var(--warm-white);
    font-family: var(--sans);
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s, transform 0.15s;
  }
  .btn-primary:hover { background: var(--terracotta-dark); transform: translateY(-1px); }
  .btn-ghost {
    font-size: 0.8rem;
    font-weight: 400;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    text-decoration: none;
    border-bottom: 1px solid var(--sand-dark);
    padding-bottom: 2px;
    transition: color 0.2s, border-color 0.2s;
  }
  .btn-ghost:hover { color: var(--terracotta); border-color: var(--terracotta-light); }

  .hero-right {
    width: 100%;
    height: 45vh;
    min-height: 280px;
    overflow: hidden;
  }
  .hero-image-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    height: 100%;
    gap: 4px;
  }
  .hero-img-cell {
    overflow: hidden;
    position: relative;
  }
  .hero-img-cell img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 6s ease;
  }
  .hero-img-cell:hover img { transform: scale(1.04); }
  .hero-img-overlay {
    position: absolute;
    inset: 0;
    background: rgba(61,43,31,0.18);
  }
  .hero-img-badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(250,246,239,0.9);
    padding: 5px 10px;
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--brown);
    border-radius: 1px;
    font-weight: 500;
  }
  .hero-stats {
    display: flex;
    gap: 3rem;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--sand);
  }
  .hero-stat-num {
    font-family: var(--serif);
    font-size: 2rem;
    font-weight: 600;
    color: var(--terracotta);
    display: block;
  }
  .hero-stat-label {
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-muted);
  }

  /* MARQUEE */
  .marquee-strip {
    background: var(--terracotta);
    padding: 0.85rem 0;
    overflow: hidden;
    white-space: nowrap;
  }
  .marquee-inner {
    display: inline-flex;
    animation: marquee 28s linear infinite;
    gap: 0;
  }
  .marquee-item {
    font-size: 0.72rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--warm-white);
    padding: 0 2.5rem;
    opacity: 0.85;
  }
  .marquee-dot {
    color: rgba(253,249,243,0.5);
    font-size: 0.6rem;
    align-self: center;
  }
  @keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
  }

  /* SECTION SHARED */
  .section-label {
    font-size: 0.72rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--terracotta);
    font-weight: 700;
    margin-bottom: 1rem;
    background: var(--terracotta);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .section-title {
    font-family: var(--serif);
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 500;
    color: var(--brown);
    line-height: 1.15;
    margin-bottom: 1.5rem;
  }
  .section-title em { font-style: italic; color: var(--terracotta); }

  /* ABOUT */
  .about {
    background: var(--warm-white);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
  }
  .about-image-wrap {
    position: relative;
  }
  .about-img-main {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    border-radius: 2px;
    display: block;
  }
  .about-img-accent {
    position: absolute;
    width: 55%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 2px;
    bottom: -2rem;
    right: -2rem;
    border: 6px solid var(--warm-white);
  }
  .about-.about-quote {
    font-family: var(--serif);
    font-size: 1.4rem;
    font-style: italic;
    color: var(--terracotta-dark);
    line-height: 1.5;
    border-left: 3px solid var(--terracotta);
    padding-left: 1.5rem;
    margin: 2rem 0;
  }
  .about-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-top: 2.5rem;
  }
  .about-feature {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
  }
  .about-feature-icon {
    width: 36px;
    height: 36px;
    background: var(--sand);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
  }
  .about-feature-icon svg {
    width: 16px;
    height: 16px;
    stroke: var(--terracotta-dark);
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .about-feature-title {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--brown);
    margin-bottom: 0.2rem;
    letter-spacing: 0.02em;
  }
  .about-feature-text {
    font-size: 0.8rem;
    color: var(--text-muted);
    line-height: 1.6;
  }

  /* DESTINATIONS */
  .destinations { background: var(--cream); }
  .destinations-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 3.5rem;
  }
  .dest-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 1.25rem;
  }
  .dest-card {
    position: relative;
    overflow: hidden;
    border-radius: 2px;
    cursor: pointer;
    background: var(--brown);
  }
  .dest-card:first-child {
    grid-row: 1 / 3;
  }
  .dest-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 220px;
    transition: transform 0.5s ease, opacity 0.3s;
    opacity: 0.88;
  }
  .dest-card:first-child img { min-height: 0; }
  .dest-card:hover img { transform: scale(1.05); opacity: 0.75; }
  .dest-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(30,16,8,0.75) 0%, transparent 60%);
    pointer-events: none;
  }
  .dest-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem;
  }
  .dest-region {
    font-size: 0.65rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(253,249,243,0.7);
    margin-bottom: 0.35rem;
    font-weight: 400;
  }
  .dest-name {
    font-family: var(--serif);
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--warm-white);
    line-height: 1.2;
    margin-bottom: 0.4rem;
  }
  .dest-card:first-child .dest-name { font-size: 2.2rem; }
  .dest-from {
    font-size: 0.75rem;
    color: rgba(253,249,243,0.65);
    font-weight: 300;
  }
  .dest-from strong { color: var(--warm-white); font-weight: 500; }
  .dest-tag {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: var(--terracotta);
    color: var(--warm-white);
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 1px;
    font-weight: 500;
  }

  /* FEATURED DESTINATIONS TOP 10 */
  .dest-top10-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.5rem;
    margin-top: 1rem;
  }
  .dest-top10-card {
    background: var(--warm-white);
    border-radius: 2px;
    overflow: hidden;
    border: 1px solid var(--sand);
    transition: box-shadow 0.25s, transform 0.2s;
  }
  .dest-top10-card:hover { box-shadow: 0 6px 28px rgba(61,43,31,0.12); transform: translateY(-2px); }
  .dest-top10-img {
    width: 100%; height: 180px; object-fit: cover; display: block;
    transition: transform 0.5s;
  }
  .dest-top10-card:hover .dest-top10-img { transform: scale(1.04); }
  .dest-top10-img-wrap { overflow: hidden; position: relative; }
  .dest-top10-rank {
    position: absolute; top: 1rem; left: 1rem;
    background: var(--terracotta); color: #fff;
    font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em;
    padding: 3px 10px; border-radius: 1px;
  }
  .dest-top10-badge {
    position: absolute; top: 1rem; right: 1rem;
    background: rgba(250,246,239,0.92); color: var(--brown);
    font-size: 0.6rem; font-weight: 500; letter-spacing: 0.1em;
    text-transform: uppercase; padding: 3px 10px; border-radius: 1px;
  }
  .dest-top10-.dest-top10-name {
    font-family: var(--serif); font-size: 1.3rem; font-weight: 500;
    color: var(--brown); margin-bottom: 0.2rem;
  }
  .dest-top10-region {
    font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--text-muted); margin-bottom: 1rem;
  }
  .dest-top10-costs {
    display: grid; grid-template-columns: 1fr 1fr 1fr;
    gap: 0.5rem; margin-bottom: 1rem;
  }
  .dest-top10-cost-item {
    background: var(--cream); border-radius: 2px;
    padding: 0.2rem 0.5rem; text-align: center;
  }
  .dest-top10-cost-label {
    font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--text-muted); display: block; margin-bottom: 0.2rem;
  }
  .dest-top10-cost-val {
    font-family: var(--serif); font-size: 0.95rem; font-weight: 600;
    color: var(--terracotta); display: block; line-height: 1.2;
  }
  .dest-top10-cost-sub {
    font-size: 0.58rem; color: var(--text-muted); display: block; margin-top: 1px;
  }
  .dest-top10-days {
    display: flex; align-items: center; gap: 0.5rem;
    font-size: 0.78rem; color: var(--text-muted); margin-bottom: 0.75rem;
  }
  .dest-top10-days strong { color: var(--brown); }
  .dest-top10-highlights {
    font-size: 0.75rem; color: var(--text-muted);
    line-height: 1.6; border-top: 1px solid var(--sand);
    padding-top: 0.75rem; margin-top: 0.25rem;
  }
  .dest-top10-disclaimer {
    font-size: 0.72rem; color: var(--text-muted); font-style: italic;
    margin-top: 2rem; padding: 0.75rem 1rem;
    background: var(--warm-white); border-left: 3px solid var(--sand-dark);
    border-radius: 1px; line-height: 1.6;
  }

  /* FEATURED DESTINATIONS TOP 10 */
    background: var(--brown);
    color: var(--warm-white);
  }
  .experiences .section-title { color: var(--warm-white); }
  .experiences .section-label { color: var(--terracotta-light); }
  .exp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 3.5rem;
  }
  .exp-card {
    padding: 2rem 1.5rem;
    border: 1px solid rgba(253,249,243,0.12);
    border-radius: 2px;
    transition: border-color 0.25s, background 0.25s;
    cursor: default;
  }
  .exp-card:hover {
    border-color: rgba(196,98,58,0.5);
    background: rgba(253,249,243,0.04);
  }
  .exp-icon {
    width: 48px;
    height: 48px;
    background: rgba(196,98,58,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
  }
  .exp-title {
    font-family: var(--serif);
    font-size: 1.3rem;
    font-weight: 500;
    margin-bottom: 0.75rem;
    color: var(--warm-white);
  }
  .exp-.exp-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--terracotta-light);
    text-decoration: none;
    margin-top: 1.5rem;
    transition: gap 0.2s;
  }
  .exp-link:hover { gap: 0.7rem; }

  /* TESTIMONIALS */
  .testimonials { background: var(--sand); }
  .testimonials .section-title { color: var(--brown); }
  .testi-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 3.5rem;
  }
  .testi-card {
    background: var(--warm-white);
    padding: 2.5rem;
    border-radius: 2px;
    position: relative;
  }
  .testi-quote {
    font-family: var(--serif);
    font-size: 3rem;
    color: var(--terracotta);
    line-height: 1;
    margin-bottom: 1rem;
    opacity: 0.5;
  }
  .testi-.testi-author {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
  .testi-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--sand);
  }
  .testi-name {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--brown);
  }
  .testi-trip {
    font-size: 0.72rem;
    color: var(--text-muted);
    margin-top: 2px;
  }
  .testi-stars {
    color: var(--terracotta);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
  }

  /* HOW IT WORKS */
  .how {
    background: var(--warm-white);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
  }
  .steps {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    margin-top: 2.5rem;
  }
  .step {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
  }
  .step-num {
    font-family: var(--serif);
    font-size: 2rem;
    font-weight: 600;
    color: var(--sand-dark);
    line-height: 1;
    flex-shrink: 0;
    width: 2.5rem;
    text-align: right;
  }
  .step-.step-title {
    font-size: 1rem;
    font-weight: 500;
    color: var(--brown);
    margin-bottom: 0.3rem;
  }
  .step-text {
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.7;
    font-weight: 300;
  }
  .how-image {
    position: relative;
  }
  .how-img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    border-radius: 2px;
    display: block;
  }
  .how-card-float {
    position: absolute;
    bottom: 2rem;
    left: 0;
    background: var(--warm-white);
    border: 1px solid var(--sand);
    border-radius: 4px;
    padding: 1.25rem 1.5rem;
    max-width: 220px;
    box-shadow: 0 4px 24px rgba(61,43,31,0.1);
  }
  .how-card-label {
    font-size: 0.68rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 0.5rem;
  }
  .how-card-val {
    font-family: var(--serif);
    font-size: 1.6rem;
    color: var(--terracotta);
    font-weight: 600;
  }
  .how-card-sub {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-top: 0.25rem;
  }

  /* CTA BANNER */
  .cta-banner {
    background: var(--terracotta);
    padding: 2rem 1.5rem;
    text-align: center;
  }
  .cta-banner .section-label { color: rgba(253,249,243,0.65); }
  .cta-banner .section-title { color: var(--warm-white); }
  .cta-banner .section-title em { color: rgba(253,249,243,0.7); }
  .cta-banner p {
    color: rgba(253,249,243,0.75);
    font-size: 1rem;
    max-width: 44ch;
    margin: 0 auto 2.5rem;
    font-weight: 300;
    line-height: 1.8;
  }
  .btn-light {
    display: inline-block;
    padding: 1rem 3rem;
    background: var(--warm-white);
    color: var(--terracotta-dark);
    font-family: var(--sans);
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s, transform 0.15s;
  }
  .btn-light:hover { background: var(--cream); transform: translateY(-2px); }

  /* FOOTER */
  footer {
    background: var(--brown);
    color: var(--warm-white);
    padding: 3rem 1.5rem 2rem;
  }
  .footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 4rem;
    margin-bottom: 3rem;
  }
  .footer-brand p {
    font-size: 0.85rem;
    color: rgba(253,249,243,0.45);
    line-height: 1.8;
    margin-top: 1rem;
    font-weight: 300;
  }
  .footer-logo {
    font-family: var(--serif);
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--warm-white);
  }
  .footer-logo span { font-style: italic; color: var(--terracotta-light); }
  .footer-col-title {
    font-size: 0.68rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(253,249,243,0.4);
    margin-bottom: 1.25rem;
    font-weight: 500;
  }
  .footer-links { list-style: none; display: flex; flex-direction: column; gap: 0.75rem; }
  .footer-links a {
    font-size: 0.85rem;
    color: rgba(253,249,243,0.6);
    text-decoration: none;
    transition: color 0.2s;
    font-weight: 300;
  }
  .footer-links a:hover { color: var(--terracotta-light); }
  .footer-bottom {
    border-top: 1px solid rgba(253,249,243,0.08);
    padding-top: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.75rem;
    color: rgba(253,249,243,0.3);
  }
  .footer-social { display: flex; gap: 1.25rem; }
  .footer-social a {
    color: rgba(253,249,243,0.4);
    text-decoration: none;
    font-size: 0.72rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: color 0.2s;
  }
  .footer-social a:hover { color: var(--terracotta-light); }

  /* ANIMATIONS */
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .fade-up {
    opacity: 0;
    animation: fadeUp 0.8s ease forwards;
  }
  .fade-up-1 { animation-delay: 0.1s; }
  .fade-up-2 { animation-delay: 0.25s; }
  .fade-up-3 { animation-delay: 0.4s; }
  .fade-up-4 { animation-delay: 0.55s; }

  /* PLACES TO COVER SECTION */
  .places-section { background: var(--warm-white); }
  .places-controls {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 2rem;
  }
  .places-search {
    flex: 1;
    min-width: 220px;
    padding: 0.75rem 1rem;
    border: 1px solid var(--sand-dark);
    border-radius: 2px;
    font-family: var(--sans);
    font-size: 0.9rem;
    color: var(--text);
    background: var(--cream);
    outline: none;
    transition: border-color 0.2s;
  }
  .places-search:focus { border-color: var(--terracotta); }
  .places-search::placeholder { color: var(--text-muted); }
  .region-filter {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
  }
  .region-btn {
    padding: 0.5rem 1rem;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid var(--sand-dark);
    border-radius: 20px;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    font-family: var(--sans);
    transition: all 0.2s;
    white-space: nowrap;
  }
  .region-btn:hover { border-color: var(--terracotta); color: var(--terracotta); }
  .region-btn.active { background: var(--terracotta); border-color: var(--terracotta); color: #fff; }
  .places-count {
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-bottom: 1.5rem;
  }
  .places-count strong { color: var(--terracotta); }
  .places-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.25rem;
  }
  .place-card {
    background: var(--cream);
    border: 1px solid var(--sand);
    border-radius: 2px;
    padding: 1.4rem 1.5rem;
    transition: border-color 0.2s, box-shadow 0.2s;
    cursor: default;
  }
  .place-card:hover { border-color: var(--terracotta-light); box-shadow: 0 3px 16px rgba(196,98,58,0.09); }
  .place-card-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
  }
  .place-flag { font-size: 1.6rem; flex-shrink: 0; }
  .place-country {
    font-family: var(--serif);
    font-size: 1.15rem;
    font-weight: 500;
    color: var(--brown);
    line-height: 1.2;
  }
  .place-region-tag {
    display: inline-block;
    font-size: 0.58rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 20px;
    background: var(--sand);
    color: var(--text-muted);
    margin-top: 2px;
  }
  .place-spots {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
  }
  .place-spots li {
    font-size: 0.8rem;
    color: var(--text-muted);
    padding-left: 1.1rem;
    position: relative;
    line-height: 1.4;
  }
  .place-spots li::before {
    content: '◆';
    position: absolute;
    left: 0;
    color: var(--terracotta);
    font-size: 0.4rem;
    top: 4px;
  }
  .place-spots li strong { color: var(--brown); font-weight: 500; }
  .places-no-results {
    grid-column: 1/-1;
    text-align: center;
    padding: 3rem 1.5rem;
    color: var(--text-muted);
    font-size: 0.95rem;
  }
  .places-no-results span { font-size: 2rem; display: block; margin-bottom: 0.5rem; }

  .place-best-time {
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--sand);
  }
  .place-best-time-label {
    font-size: 0.65rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 0.5rem;
  }
  .month-strip {
    display: flex;
    gap: 3px;
    flex-wrap: nowrap;
  }
  .month-pill {
    font-size: 0.58rem;
    font-weight: 500;
    padding: 3px 5px;
    border-radius: 2px;
    background: var(--sand);
    color: var(--sand-dark);
    letter-spacing: 0;
    white-space: nowrap;
  }
  .month-pill.best {
    background: var(--terracotta);
    color: #fff;
  }
  .month-pill.good {
    background: var(--sand-dark);
    color: var(--brown);
  }

  .food-restaurants {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(253,249,243,0.1);
  }
  .food-restaurants-title {
    font-size: 0.65rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--terracotta-light);
    margin-bottom: 0.7rem;
  }
  .restaurant-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
  }
  .restaurant-item {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding-left: 1rem;
    position: relative;
  }
  .restaurant-item::before {
    content: '★';
    position: absolute;
    left: 0;
    color: var(--terracotta-light);
    font-size: 0.5rem;
    top: 4px;
  }
  .restaurant-name {
    font-size: 0.82rem;
    font-weight: 500;
    color: rgba(253,249,243,0.9);
    line-height: 1.3;
  }
  .restaurant-meta {
    font-size: 0.7rem;
    color: rgba(253,249,243,0.4);
    line-height: 1.3;
  }
  .restaurant-try {
    font-size: 0.7rem;
    color: var(--terracotta-light);
    font-style: italic;
    line-height: 1.3;
  }

  /* FOOD TRAILS SECTION */
  .food-section { background: var(--brown); }
  .food-section .section-label { color: var(--terracotta-light); }
  .food-section .section-title { color: var(--warm-white); }
  .food-controls {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 1.5rem;
  }
  .food-search {
    flex: 1;
    min-width: 220px;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(253,249,243,0.2);
    border-radius: 2px;
    font-family: var(--sans);
    font-size: 0.9rem;
    color: var(--warm-white);
    background: rgba(253,249,243,0.08);
    outline: none;
    transition: border-color 0.2s;
  }
  .food-search:focus { border-color: var(--terracotta-light); }
  .food-search::placeholder { color: rgba(253,249,243,0.35); }
  .food-region-btns { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
  .food-region-btn {
    padding: 0.45rem 1rem;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid rgba(253,249,243,0.2);
    border-radius: 20px;
    background: transparent;
    color: rgba(253,249,243,0.5);
    cursor: pointer;
    font-family: var(--sans);
    transition: all 0.2s;
    white-space: nowrap;
  }
  .food-region-btn:hover { border-color: var(--terracotta-light); color: var(--terracotta-light); }
  .food-region-btn.active { background: var(--terracotta); border-color: var(--terracotta); color: #fff; }
  .food-count {
    font-size: 0.78rem;
    color: rgba(253,249,243,0.4);
    margin-bottom: 1.5rem;
  }
  .food-count strong { color: var(--terracotta-light); }
  .food-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.25rem;
  }
  .food-card {
    background: rgba(253,249,243,0.05);
    border: 1px solid rgba(253,249,243,0.1);
    border-radius: 2px;
    padding: 1.4rem 1.5rem;
    transition: border-color 0.2s, background 0.2s;
  }
  .food-card:hover { border-color: rgba(196,98,58,0.5); background: rgba(253,249,243,0.08); }
  .food-card-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.1rem;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid rgba(253,249,243,0.08);
  }
  .food-flag { font-size: 1.6rem; flex-shrink: 0; }
  .food-country {
    font-family: var(--serif);
    font-size: 1.15rem;
    font-weight: 500;
    color: var(--warm-white);
    line-height: 1.2;
  }
  .food-region-tag {
    display: inline-block;
    font-size: 0.58rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 20px;
    background: rgba(253,249,243,0.1);
    color: rgba(253,249,243,0.5);
    margin-top: 2px;
  }
  .dish-list { display: flex; flex-direction: column; gap: 0.6rem; }
  .dish-item {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
  }
  .dish-emoji {
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-top: 1px;
    line-height: 1;
  }
  .dish-info {}
  .dish-name {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--warm-white);
    line-height: 1.3;
  }
  .dish-desc {
    font-size: 0.73rem;
    color: rgba(253,249,243,0.45);
    line-height: 1.4;
    margin-top: 1px;
  }
  .food-no-results {
    grid-column: 1/-1;
    text-align: center;
    padding: 3rem 1.5rem;
    color: rgba(253,249,243,0.35);
    font-size: 0.95rem;
  }
  .food-no-results span { font-size: 2rem; display: block; margin-bottom: 0.5rem; }

  .place-donts {
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--sand);
  }
  .place-donts-label {
    font-size: 0.65rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--terracotta-dark);
    margin-bottom: 0.6rem;
  }
  .donts-list { list-style: none; display: flex; flex-direction: column; gap: 0.45rem; }
  .donts-list li {
    font-size: 0.78rem;
    color: var(--text-muted);
    padding-left: 1.2rem;
    position: relative;
    line-height: 1.4;
  }
  .donts-list li::before {
    content: '✕';
    position: absolute;
    left: 0;
    color: var(--terracotta);
    font-size: 0.6rem;
    font-weight: 700;
    top: 2px;
  }

  .place-kids {
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--sand);
  }
  .place-kids-label {
    font-size: 0.65rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--olive);
    margin-bottom: 0.6rem;
  }
  .kids-list { list-style: none; display: flex; flex-direction: column; gap: 0.45rem; }
  .kids-list li {
    font-size: 0.78rem;
    color: var(--text-muted);
    padding-left: 1.2rem;
    position: relative;
    line-height: 1.4;
  }
  .kids-list li::before {
    content: '★';
    position: absolute;
    left: 0;
    color: var(--olive);
    font-size: 0.55rem;
    top: 3px;
  }

  /* KIDS FIRST SECTION */
  .kidsfirst-section { background: #FFF8F0; }
  .kidsfirst-section .section-label { color: var(--terracotta); }
  .kidsfirst-section .section-title { color: var(--brown); }
  .kf-controls { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; margin-bottom: 1.5rem; }
  .kf-search {
    flex: 1; min-width: 220px; padding: 0.75rem 1rem;
    border: 1px solid var(--sand-dark); border-radius: 2px;
    font-family: var(--sans); font-size: 0.9rem; color: var(--text);
    background: var(--warm-white); outline: none; transition: border-color 0.2s;
  }
  .kf-search:focus { border-color: var(--terracotta); }
  .kf-search::placeholder { color: var(--text-muted); }
  .kf-region-btns { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
  .kf-region-btn {
    padding: 0.45rem 1rem; font-size: 0.7rem; font-weight: 500;
    letter-spacing: 0.08em; text-transform: uppercase;
    border: 1px solid var(--sand-dark); border-radius: 20px;
    background: transparent; color: var(--text-muted);
    cursor: pointer; font-family: var(--sans); transition: all 0.2s; white-space: nowrap;
  }
  .kf-region-btn:hover { border-color: var(--terracotta); color: var(--terracotta); }
  .kf-region-btn.active { background: var(--terracotta); border-color: var(--terracotta); color: #fff; }
  .kf-count { font-size: 0.78rem; color: var(--text-muted); margin-bottom: 1.5rem; }
  .kf-count strong { color: var(--terracotta); }
  .kf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.25rem; }
  .kf-card {
    background: var(--warm-white); border: 1px solid var(--sand);
    border-radius: 2px; padding: 1.4rem 1.5rem;
    transition: border-color 0.2s, box-shadow 0.2s;
  }
  .kf-card:hover { border-color: var(--terracotta-light); box-shadow: 0 3px 16px rgba(196,98,58,0.09); }
  .kf-card-header {
    display: flex; align-items: center; gap: 0.75rem;
    margin-bottom: 1.1rem; padding-bottom: 0.9rem;
    border-bottom: 1px solid var(--sand);
  }
  .kf-flag { font-size: 1.6rem; flex-shrink: 0; }
  .kf-country { font-family: var(--serif); font-size: 1.15rem; font-weight: 500; color: var(--brown); line-height: 1.2; }
  .kf-region-tag {
    display: inline-block; font-size: 0.58rem; font-weight: 500;
    letter-spacing: 0.1em; text-transform: uppercase;
    padding: 2px 8px; border-radius: 20px;
    background: var(--sand); color: var(--text-muted); margin-top: 2px;
  }
  .kf-.kf-sub-title {
    font-size: 0.65rem; font-weight: 500; letter-spacing: 0.12em;
    text-transform: uppercase; margin-bottom: 0.5rem;
  }
  .kf-sub-title.food { color: var(--terracotta-dark); }
  .kf-sub-title.entertain { color: var(--olive); }
  .kf-sub-title.hotels { color: #5A7A9A; }
  .kf-list { list-style: none; display: flex; flex-direction: column; gap: 0.4rem; }
  .kf-list li {
    font-size: 0.78rem; color: var(--text-muted);
    padding-left: 1.2rem; position: relative; line-height: 1.4;
  }
  .kf-list.food-list li::before { content: '🍽️'; position: absolute; left: 0; font-size: 0.6rem; top: 2px; }
  .kf-list.fun-list li::before { content: '🎡'; position: absolute; left: 0; font-size: 0.6rem; top: 2px; }
  .kf-list.hotel-list li::before { content: '🏨'; position: absolute; left: 0; font-size: 0.6rem; top: 2px; }
  .kf-no-results {
    grid-column: 1/-1; text-align: center;
    padding: 3rem 1.5rem; color: var(--text-muted); font-size: 0.95rem;
  }
  .kf-no-results span { font-size: 2rem; display: block; margin-bottom: 0.5rem; }

  /* SHOPPING SECTION */
  .shop-section { background: var(--sand); }
  .shop-section .section-label { color: var(--terracotta-dark); }
  .shop-section .section-title { color: var(--brown); }
  .shop-controls { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; margin-bottom: 1.5rem; }
  .shop-search {
    flex: 1; min-width: 220px; padding: 0.75rem 1rem;
    border: 1px solid var(--sand-dark); border-radius: 2px;
    font-family: var(--sans); font-size: 0.9rem; color: var(--text);
    background: var(--warm-white); outline: none; transition: border-color 0.2s;
  }
  .shop-search:focus { border-color: var(--terracotta); }
  .shop-search::placeholder { color: var(--text-muted); }
  .shop-region-btns { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
  .shop-region-btn {
    padding: 0.45rem 1rem; font-size: 0.7rem; font-weight: 500;
    letter-spacing: 0.08em; text-transform: uppercase;
    border: 1px solid var(--sand-dark); border-radius: 20px;
    background: transparent; color: var(--text-muted);
    cursor: pointer; font-family: var(--sans); transition: all 0.2s; white-space: nowrap;
  }
  .shop-region-btn:hover { border-color: var(--terracotta); color: var(--terracotta); }
  .shop-region-btn.active { background: var(--terracotta); border-color: var(--terracotta); color: #fff; }
  .shop-count { font-size: 0.78rem; color: var(--text-muted); margin-bottom: 1.5rem; }
  .shop-count strong { color: var(--terracotta); }
  .shop-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.25rem; }
  .shop-card {
    background: var(--warm-white); border: 1px solid var(--sand-dark);
    border-radius: 2px; padding: 1.4rem 1.5rem;
    transition: border-color 0.2s, box-shadow 0.2s;
  }
  .shop-card:hover { border-color: var(--terracotta-light); box-shadow: 0 3px 16px rgba(196,98,58,0.1); }
  .shop-card-header {
    display: flex; align-items: center; gap: 0.75rem;
    margin-bottom: 1.1rem; padding-bottom: 0.9rem;
    border-bottom: 1px solid var(--sand);
  }
  .shop-flag { font-size: 1.6rem; flex-shrink: 0; }
  .shop-country {
    font-family: var(--serif); font-size: 1.15rem;
    font-weight: 500; color: var(--brown); line-height: 1.2;
  }
  .shop-region-tag {
    display: inline-block; font-size: 0.58rem; font-weight: 500;
    letter-spacing: 0.1em; text-transform: uppercase;
    padding: 2px 8px; border-radius: 20px;
    background: var(--sand); color: var(--text-muted); margin-top: 2px;
  }
  .shop-
  .shop-subsection-title {
    font-size: 0.65rem; font-weight: 500; letter-spacing: 0.12em;
    text-transform: uppercase; margin-bottom: 0.5rem;
  }
  .shop-subsection-title.markets { color: var(--terracotta-dark); }
  .shop-subsection-title.souvenirs { color: var(--olive); }
  .shop-list { list-style: none; display: flex; flex-direction: column; gap: 0.4rem; }
  .shop-list li {
    font-size: 0.78rem; color: var(--text-muted);
    padding-left: 1.1rem; position: relative; line-height: 1.4;
  }
  .shop-list.market-list li::before {
    content: '🏪'; position: absolute; left: 0; font-size: 0.6rem; top: 2px;
  }
  .shop-list.souvenir-list li::before {
    content: '🎁'; position: absolute; left: 0; font-size: 0.6rem; top: 2px;
  }
  .shop-no-results {
    grid-column: 1/-1; text-align: center;
    padding: 3rem 1.5rem; color: var(--text-muted); font-size: 0.95rem;
  }
  .shop-no-results span { font-size: 2rem; display: block; margin-bottom: 0.5rem; }

  /* VISA SECTION */
  .visa-section { background: var(--cream); }
  .visa-intro {
    max-width: 60ch;
    font-size: 1rem;
    color: var(--text-muted);
    line-height: 1.8;
    font-weight: 300;
    margin-bottom: 0.5rem;
  }
  .visa-disclaimer {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    background: #FFF8ED;
    border: 1px solid var(--sand);
    border-left: 3px solid var(--terracotta);
    border-radius: 2px;
    padding: 0.9rem 1.2rem;
    font-size: 0.78rem;
    color: var(--terracotta-dark);
    line-height: 1.6;
    margin-bottom: 2.5rem;
  }
  .visa-disclaimer svg {
    width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px;
    stroke: var(--terracotta); fill: none; stroke-width: 2;
    stroke-linecap: round; stroke-linejoin: round;
  }
  .visa-tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--sand);
    margin-bottom: 2rem;
    flex-wrap: wrap;
  }
  .visa-tab {
    padding: 0.7rem 1.5rem;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    cursor: pointer;
    border: none;
    background: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    font-family: var(--sans);
    transition: color 0.2s, border-color 0.2s;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  .visa-tab:hover { color: var(--terracotta); }
  .visa-tab.active { color: var(--terracotta); border-bottom-color: var(--terracotta); }
  .visa-tab .tab-count {
    background: var(--sand);
    color: var(--brown);
    font-size: 0.65rem;
    font-weight: 600;
    padding: 1px 7px;
    border-radius: 20px;
    letter-spacing: 0;
  }
  .visa-tab.active .tab-count { background: var(--terracotta); color: #fff; }
  .visa-search-bar {
    display: flex;
    gap: 1rem;
    margin-bottom: 2rem;
    align-items: center;
  }
  .visa-search-bar input {
    flex: 1;
    padding: 0.75rem 1rem;
    border: 1px solid var(--sand-dark);
    border-radius: 2px;
    font-family: var(--sans);
    font-size: 0.9rem;
    color: var(--text);
    background: var(--warm-white);
    outline: none;
    transition: border-color 0.2s;
  }
  .visa-search-bar input:focus { border-color: var(--terracotta); }
  .visa-search-bar input::placeholder { color: var(--text-muted); }
  .visa-panel { display: none; }
  .visa-panel.active { display: block; }
  .visa-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
  }
  .visa-card {
    background: var(--warm-white);
    border: 1px solid var(--sand);
    border-radius: 2px;
    padding: 1rem 1.1rem;
    transition: border-color 0.2s, box-shadow 0.2s;
    cursor: default;
  }
  .visa-card:hover { border-color: var(--terracotta-light); box-shadow: 0 2px 12px rgba(196,98,58,0.08); }
  .visa-card-flag { font-size: 1.4rem; margin-bottom: 0.4rem; }
  .visa-card-name { font-size: 0.9rem; font-weight: 500; color: var(--brown); margin-bottom: 0.2rem; }
  .visa-card-stay { font-size: 0.72rem; color: var(--text-muted); margin-bottom: 0.5rem; }
  .visa-card-badge {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 20px;
  }
  .badge-free { background: #E6F3EA; color: #2D6A40; }
  .badge-voa { background: #FFF0E0; color: #8C4A10; }
  .badge-evisa { background: #E8EBF8; color: #2D3A8C; }
  .badge-required { background: #FDE8E8; color: #8C2D2D; }

  /* DOCS SECTION */
  .docs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
  .docs-card {
    background: var(--warm-white);
    border: 1px solid var(--sand);
    border-radius: 2px;
    padding: 1.5rem;
  }
  .docs-card-title {
    font-family: var(--serif);
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--brown);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  .docs-list { list-style: none; display: flex; flex-direction: column; gap: 0.55rem; }
  .docs-list li {
    font-size: 0.82rem;
    color: var(--text-muted);
    padding-left: 1.1rem;
    position: relative;
    line-height: 1.5;
  }
  .docs-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--olive);
    font-size: 0.7rem;
    top: 1px;
  }
  .visa-no-results {
    text-align: center;
    padding: 3rem;
    color: var(--text-muted);
    font-size: 0.9rem;
  }
  .mea-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: var(--terracotta);
    text-decoration: none;
    border-bottom: 1px solid var(--terracotta-light);
    padding-bottom: 1px;
    margin-top: 2rem;
  }
  .mea-link:hover { color: var(--terracotta-dark); }

  @media (max-width: 768px) {
    /* ── NAV ── */
    nav { padding: 0.9rem 1.25rem; }
    .nav-links { display: none; }
    .nav-cta { display: none; }

    /* ── HAMBURGER ── */
    .nav-hamburger { display: flex; }

    /* ── HERO ── */
    /* hero is already single column */
    .hero-right { height: 55vw; }
    .hero-left { padding: 2.5rem 1.25rem; }
    .hero-title { font-size: 2.2rem; }
    .hero-stats { gap: 1rem; flex-wrap: wrap; }
    .hero-actions { flex-direction: column; gap: 0.75rem; }
    .hero-actions a { text-align: center; }

    /* ── SECTIONS ── all inline 6rem paddings → 3rem 1.25rem */
    .cta-banner { padding: 3rem 1.25rem; }
    footer { padding: 2.5rem 1.25rem 1.5rem; }

    /* ── LAYOUT GRIDS ── */
    .about, .how { grid-template-columns: 1fr; }
    .exp-grid { grid-template-columns: 1fr; }
    .testi-grid { grid-template-columns: 1fr; }
    .how-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
    .dest-grid { grid-template-columns: 1fr; }
    .dest-card:first-child { grid-column: auto; }
    .dest-top10-grid { grid-template-columns: 1fr !important; }

    /* ── PLACES / INDIA / TOP20 GRIDS ── */
    .places-grid { grid-template-columns: 1fr !important; }
    #indiaGrid { grid-template-columns: 1fr !important; }
    #top20Grid { grid-template-columns: 1fr !important; }
    #airlineGrid { grid-template-columns: 1fr !important; }

    /* ── SEARCH & FILTERS ── */
    .places-controls { padding: 0; }
    .places-search { font-size: 0.9rem; padding: 0.75rem 1rem; }
    .region-filter { gap: 0.4rem; }
    .region-btn { font-size: 0.7rem; padding: 0.4rem 0.75rem; }
    .food-region-btns { gap: 0.4rem; }
    .food-region-btn { font-size: 0.7rem; padding: 0.4rem 0.75rem; }
    .kf-region-btns { gap: 0.4rem; }
    .kf-region-btn { font-size: 0.7rem; padding: 0.4rem 0.75rem; }
    .shop-region-btns { gap: 0.4rem; }

    /* ── PLACE CARDS ── */
    .place-card { padding: 1.25rem; }
    .place-card-header { gap: 0.75rem; }
    .place-flag { font-size: 1.8rem; }
    .place-country { font-size: 1.1rem; }
    .month-strip { flex-wrap: wrap; gap: 0.3rem; }
    .month-pill { font-size: 0.62rem; padding: 0.2rem 0.5rem; }

    /* ── FOOD CARDS ── */
    .food-card { padding: 1.25rem; }
    .food-card-header { gap: 0.75rem; }

    /* ── KF CARDS ── */
    .kf-card { padding: 1.25rem; }

    /* ── SHOP CARDS ── */
    .shop-card { padding: 1.25rem; }

    /* ── AIRLINE CARDS ── */
    .airline-card { overflow: hidden; }
    .airline-header { flex-wrap: wrap; gap: 0.75rem; padding: 1rem 1.25rem; }
    .airline-flag { font-size: 1.8rem; }
    .airline-name { font-size: 1rem; }
    .airline-sub { font-size: 0.65rem; }
    .airline-.cabin-grid { grid-template-columns: 1fr 1fr; gap: 0.4rem; }
    .cabin-card { padding: 0.5rem 0.2rem; }
    .cabin-name { font-size: 0.6rem; }
    .cabin-stat { font-size: 0.65rem; }
    .airline-info-row { font-size: 0.75rem; }
    .airline-info-row strong { min-width: 70px; display: block; margin-bottom: 0.15rem; }
    .airline-tag { font-size: 0.62rem; }

    /* ── VISA SECTION ── */
    .visa-tabs { gap: 0; flex-wrap: wrap; }
    .visa-tab { padding: 0.55rem 0.7rem; font-size: 0.65rem; flex: 1; text-align: center; min-width: 0; }
    .docs-grid { grid-template-columns: 1fr !important; }
    .docs-card { padding: 1.25rem; }
    .docs-list li { font-size: 0.8rem; }
    .visa-grid { grid-template-columns: 1fr 1fr !important; gap: 0.4rem !important; }
    .visa-card { padding: 0.75rem !important; }
    .visa-card-name { font-size: 0.8rem !important; }

    /* ── DESTINATION CARDS ── */
    .dest-top10-card { font-size: 0.85rem; }
    .dest-top10-costs { flex-direction: column; gap: 0.5rem; }
    .dest-top10-.dest-top10-name { font-size: 1.1rem; }

    /* ── HOW IT WORKS ── */
    .how-card-float { left: 0.25rem; font-size: 0.6rem; }

    /* ── SECTION TITLES ── */
    .section-title { font-size: 1.8rem; }
    h2.section-title { font-size: 1.8rem; }

    /* ── FOOTER ── */
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-social { flex-wrap: wrap; gap: 0.75rem; }

    /* ── WA FLOAT BUTTON ── */
    .wa-float { bottom: 1rem; right: 1rem; width: 50px; height: 50px; }
  }

  /* ── EXTRA SMALL (phones < 400px) ── */
  @media (max-width: 400px) {
    .cabin-grid { grid-template-columns: 1fr; }
    .visa-grid { grid-template-columns: 1fr !important; }
    .footer-grid { grid-template-columns: 1fr; }
    .hero-title { font-size: 1.9rem; }
    .section-title { font-size: 1.6rem; }
    .visa-tab { font-size: 0.6rem; padding: 0.5rem 0.5rem; }
  }

  /* MULTI-PAGE ROUTER */
  .page { display: none; width: 100%; }
  .page.active { display: block; width: 100%; min-height: calc(100vh - 68px); }

  /* Active nav link */
  .nav-links a.nav-active { color: var(--terracotta); border-bottom: 1px solid var(--terracotta); padding-bottom: 2px; }

  /* Page transition */
  @keyframes pageFade { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
  .page.active { animation: pageFade 0.3s ease forwards; }
  /* ── HAMBURGER BUTTON ── */
  .nav-hamburger {
    display: none; flex-direction: column; justify-content: center;
    gap: 5px; background: none; border: none; cursor: pointer;
    padding: 6px; z-index: 300; flex-shrink: 0;
  }
  .nav-hamburger span {
    display: block; width: 22px; height: 2px;
    background: var(--brown); border-radius: 2px;
    transition: all 0.28s ease;
  }
  .nav-hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
  .nav-hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
  .nav-hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

  /* ── MOBILE NAV OVERLAY ── */
  .mobile-nav-overlay {
    display: none; position: fixed; inset: 0;
    background: var(--cream); z-index: 250;
    flex-direction: column; overflow-y: auto;
    padding-top: 70px;
  }
  .mobile-nav-overlay.open { display: flex; }
  .mobile-nav-overlay a {
    display: block; font-family: var(--serif);
    font-size: 1.25rem; font-weight: 500;
    color: var(--brown); text-decoration: none;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--sand);
    transition: background 0.15s, color 0.15s;
  }
  .mobile-nav-overlay a:hover,
  .mobile-nav-overlay a:active { background: var(--sand); color: var(--terracotta); }
  .mobile-nav-cta {
    margin: 1.5rem 1.5rem 2rem;
    background: var(--terracotta); color: #fff !important;
    border-radius: 4px; text-align: center !important;
    padding: 0.9rem 1.5rem !important;
    font-family: var(--sans) !important;
    font-size: 0.9rem !important; font-weight: 500;
    border-bottom: none !important;
  }
  .mobile-nav-cta:hover { background: var(--terracotta-dark) !important; }

  /* ── PAGE SECTION PADDING ── */
  .page-
  @media (max-width: 768px) {
    .page-
  }/* ── NAV DROPDOWN ── */
  .nav-dropdown { position: relative; }
  .nav-dropdown > a::after { content: ' ▾'; font-size: 0.7rem; }
  .nav-dropdown-menu {
    display: none; position: absolute; top: 100%; left: 0;
    background: var(--warm-white); border: 1px solid var(--sand);
    border-radius: 4px; min-width: 200px; z-index: 200;
    box-shadow: 0 8px 24px rgba(61,43,31,0.12); padding: 0.5rem 0;
  }
  .nav-dropdown:hover .nav-dropdown-menu { display: block; }
  .nav-dropdown-menu a {
    display: block; padding: 0.2rem 1rem; font-size: 0.82rem;
    color: var(--text); text-decoration: none; transition: background 0.15s;
    white-space: nowrap;
  }
  .nav-dropdown-menu a:hover { background: var(--sand); color: var(--terracotta); }

  /* ── ENQUIRY FORM ── */
  .enquiry-modal-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(30,16,8,0.75); z-index: 900;
    align-items: center; justify-content: center;
    backdrop-filter: blur(4px);
  }
  .enquiry-modal-overlay.open { display: flex; }
  .enquiry-modal {
    background: var(--warm-white); border-radius: 8px; padding: 2.5rem;
    max-width: 560px; width: 94%; max-height: 90vh; overflow-y: auto;
    position: relative; animation: pageFade 0.3s ease;
  }
  .enquiry-modal h2 { font-family: var(--serif); font-size: 1.7rem; color: var(--brown); margin-bottom: 0.4rem; }
  .enquiry-modal p { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 1.5rem; }
  .enquiry-close { position: absolute; top: 1rem; right: 1rem; background: var(--sand); border: none; border-radius: 50%; width: 32px; height: 32px; cursor: pointer; font-size: 1rem; color: var(--brown); }
  .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-bottom: 0.75rem; }
  .form-field { display: flex; flex-direction: column; margin-bottom: 0.75rem; }
  .form-field label { font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.35rem; font-weight: 500; }
  .form-field input, .form-field select, .form-field textarea {
    padding: 0.75rem 1rem; border: 1px solid var(--sand-dark); border-radius: 4px;
    font-family: var(--sans); font-size: 0.9rem; color: var(--text);
    background: var(--cream); outline: none; transition: border-color 0.2s;
  }
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--terracotta); }
  .form-field textarea { resize: vertical; min-height: 80px; }
  .form-submit { width: 100%; padding: 0.9rem; background: var(--terracotta); color: #fff; border: none; border-radius: 4px; font-family: var(--sans); font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: background 0.2s; margin-top: 0.5rem; }
  .form-submit:hover { background: var(--terracotta-dark); }
  .form-success { display: none; text-align: center; padding: 2rem 0; }
  .form-success-icon { font-size: 3rem; margin-bottom: 0.75rem; }
  .form-success h3 { font-family: var(--serif); font-size: 1.4rem; color: var(--brown); margin-bottom: 0.5rem; }
  .form-success p { font-size: 0.85rem; color: var(--text-muted); }
  @media (max-width: 768px) { .form-row { grid-template-columns: 1fr; } .enquiry-modal { padding: 1.75rem; } }

  /* ── BACK TO TOP ── */
  .back-to-top {
    position: fixed; bottom: 2rem; right: 5.5rem; z-index: 400;
    width: 42px; height: 42px; border-radius: 50%;
    background: var(--brown); color: #fff; border: none;
    cursor: pointer; font-size: 1.1rem; opacity: 0; pointer-events: none;
    transition: opacity 0.3s, transform 0.3s; box-shadow: 0 2px 12px rgba(61,43,31,0.25);
    display: flex; align-items: center; justify-content: center;
  }
  .back-to-top.visible { opacity: 1; pointer-events: auto; }
  .back-to-top:hover { transform: translateY(-2px); }
  @media (max-width: 768px) { .back-to-top { bottom: 5rem; right: 1rem; } }

  /* ── WHATSAPP SHARE BUTTON ON CARDS ── */
  .card-share-btn {
    display: inline-flex; align-items: center; gap: 0.4rem;
    font-size: 0.7rem; color: #25D366; background: rgba(37,211,102,0.1);
    border: 1px solid rgba(37,211,102,0.3); border-radius: 20px;
    padding: 0.3rem 0.75rem; cursor: pointer; transition: all 0.2s;
    text-decoration: none; margin-top: 0.75rem;
  }
  .card-share-btn:hover { background: #25D366; color: #fff; }

  /* ── SKELETON LOADER ── */
  .skeleton-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; }
  .skeleton-card { background: var(--warm-white); border-radius: 4px; padding: 1.5rem; border: 1px solid var(--sand); }
  .skeleton-line { background: linear-gradient(90deg, var(--sand) 25%, var(--cream) 50%, var(--sand) 75%); background-size: 200% 100%; animation: shimmer 1.4s infinite; border-radius: 4px; margin-bottom: 0.75rem; }
  @keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

  /* ── CURRENCY TOGGLE ── */
  .currency-toggle {
    display: flex; align-items: center; gap: 0.5rem;
    background: var(--sand); border-radius: 20px; padding: 0.3rem 0.2rem;
    font-size: 0.75rem; font-weight: 500; color: var(--text-muted);
    cursor: pointer; border: none; margin-left: auto;
  }
  .currency-toggle span.active { color: var(--terracotta); font-weight: 700; }

  /* ── SOCIAL PROOF STRIP ── */
  .social-proof-strip {
    background: var(--terracotta); padding: 0.85rem 2rem;
    display: flex; align-items: center; justify-content: center;
    gap: 2rem; flex-wrap: wrap;
  }
  .social-proof-item { display: flex; align-items: center; gap: 0.5rem; color: rgba(255,255,255,0.9); font-size: 0.8rem; font-weight: 500; }
  .social-proof-item strong { color: #fff; }
  @media (max-width: 768px) { .social-proof-strip { padding: 0.85rem 1.25rem; gap: 1rem; } .social-proof-item { font-size: 0.72rem; } }

  /* ── PACKING LIST TOOL ── */
  .packing-tool { background: var(--warm-white); border-radius: 8px; border: 1px solid var(--sand); padding: 2rem; max-width: 700px; margin: 2rem auto 0; }
  .packing-selects { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; margin-bottom: 1.5rem; }
  .packing-selects select { padding: 0.65rem 1rem; border: 1px solid var(--sand-dark); border-radius: 4px; font-family: var(--sans); font-size: 0.85rem; background: var(--cream); color: var(--text); outline: none; width: 100%; }
  .packing-list-output { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-top: 1rem; }
  .packing-category h4 { font-family: var(--serif); font-size: 0.95rem; color: var(--brown); margin-bottom: 0.5rem; border-bottom: 1px solid var(--sand); padding-bottom: 0.3rem; }
  .packing-category ul { list-style: none; padding: 0; }
  .packing-category ul li { font-size: 0.78rem; color: var(--text-muted); padding: 0.2rem 0; display: flex; align-items: center; gap: 0.5rem; cursor: pointer; }
  .packing-category ul li::before { content: '☐'; font-size: 0.85rem; flex-shrink: 0; }
  .packing-category ul li.checked { text-decoration: line-through; opacity: 0.4; }
  .packing-category ul li.checked::before { content: '☑'; color: var(--terracotta); }
  @media (max-width: 768px) { .packing-selects { grid-template-columns: 1fr; } .packing-list-output { grid-template-columns: 1fr; } }

  /* ── BEST TIME CALENDAR ── */
  .best-time-tool { background: var(--warm-white); border-radius: 8px; border: 1px solid var(--sand); padding: 2rem; max-width: 800px; margin: 2rem auto 0; }
  .best-time-dest-select { width: 100%; padding: 0.75rem 1rem; border: 1px solid var(--sand-dark); border-radius: 4px; font-family: var(--sans); font-size: 0.9rem; background: var(--cream); color: var(--text); outline: none; margin-bottom: 1.25rem; }
  .best-time-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 3px; }
  .best-time-month { border-radius: 4px; padding: 0.2rem 0.2rem; text-align: center; font-size: 0.62rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
  .btm-best { background: var(--terracotta); color: #fff; }
  .btm-good { background: rgba(196,98,58,0.25); color: var(--terracotta-dark); }
  .btm-avoid { background: var(--sand); color: var(--text-muted); }
  .best-time-legend { display: flex; gap: 1.25rem; margin-top: 0.75rem; flex-wrap: wrap; }
  .btl-item { display: flex; align-items: center; gap: 0.4rem; font-size: 0.72rem; color: var(--text-muted); }
  .btl-dot { width: 12px; height: 12px; border-radius: 2px; flex-shrink: 0; }

  /* ── COMPARISON TOOL ── */
  .compare-tool { background: var(--warm-white); border-radius: 8px; border: 1px solid var(--sand); padding: 2rem; max-width: 800px; margin: 2rem auto 0; }
  .compare-selects { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; margin-bottom: 1.5rem; }
  .compare-vs { font-family: var(--serif); font-size: 1.2rem; color: var(--text-muted); text-align: center; }
  .compare-selects select { padding: 0.65rem 1rem; border: 1px solid var(--sand-dark); border-radius: 4px; font-family: var(--sans); font-size: 0.85rem; background: var(--cream); color: var(--text); outline: none; width: 100%; }
  .compare-output { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--sand); border: 1px solid var(--sand); border-radius: 4px; overflow: hidden; }
  .compare-col { background: var(--warm-white); padding: 1.25rem; }
  .compare-col-header { font-family: var(--serif); font-size: 1.1rem; color: var(--brown); margin-bottom: 1rem; text-align: center; padding-bottom: 0.5rem; border-bottom: 2px solid var(--terracotta); }
  .compare-row { display: flex; justify-content: space-between; padding: 0.45rem 0; border-bottom: 1px solid var(--sand); font-size: 0.78rem; }
  .compare-row:last-child { border-bottom: none; }
  .compare-row-label { color: var(--text-muted); }
  .compare-row-val { color: var(--brown); font-weight: 500; text-align: right; max-width: 55%; }
  @media (max-width: 768px) { .compare-selects { grid-template-columns: 1fr; } .compare-output { grid-template-columns: 1fr; } .calc-top-grid { grid-template-columns: 1fr !important; } }

  /* ── BLOG / TRAVEL JOURNAL ── */
  .blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; margin-top: 2rem; }
  .blog-card { background: var(--warm-white); border: 1px solid var(--sand); border-radius: 4px; overflow: hidden; transition: box-shadow 0.2s, transform 0.2s; cursor: pointer; }
  .blog-card:hover { box-shadow: 0 6px 24px rgba(61,43,31,0.1); transform: translateY(-2px); }
  .blog-card-img { width: 100%; height: 200px; object-fit: cover; display: block; }
  .blog-card-.blog-card-tag { font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--terracotta); font-weight: 600; margin-bottom: 0.5rem; }
  .blog-card-title { font-family: var(--serif); font-size: 1.1rem; color: var(--brown); margin-bottom: 0.5rem; line-height: 1.35; }
  .blog-card-excerpt { font-size: 0.78rem; color: var(--text-muted); line-height: 1.7; margin-bottom: 0.75rem; }
  .blog-card-meta { font-size: 0.68rem; color: var(--text-muted); display: flex; gap: 0.75rem; }

  /* ── HONEYMOON / CORPORATE PAGES ── */
  .special-page-hero { position: relative; height: 320px; overflow: hidden; border-radius: 4px; margin-bottom: 2rem; }
  .special-page-hero img { width: 100%; height: 100%; object-fit: cover; }
  .special-page-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(30,16,8,0.82) 50%, transparent); display: flex; align-items: center; padding: 3rem; }
  .special-page-hero-content h2 { font-family: var(--serif); font-size: 2.2rem; color: #fff; margin-bottom: 0.75rem; }
  .special-page-hero-content p { font-size: 0.9rem; color: rgba(255,255,255,0.75); max-width: 40ch; line-height: 1.7; }
  .package-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
  .package-card { background: var(--warm-white); border: 1px solid var(--sand); border-radius: 4px; overflow: hidden; }
  .package-card-img { width: 100%; height: 160px; object-fit: cover; }
  .package-card-.package-card-title { font-family: var(--serif); font-size: 1rem; color: var(--brown); margin-bottom: 0.3rem; }
  .package-card-price { font-size: 0.72rem; color: var(--terracotta); font-weight: 600; letter-spacing: 0.05em; margin-bottom: 0.5rem; }
  .package-card-desc { font-size: 0.78rem; color: var(--text-muted); line-height: 1.6; }
  @media (max-width: 768px) { .special-page-hero { height: 220px; } .special-page-hero-overlay { padding: 1.5rem; } .special-page-hero-content h2 { font-size: 1.5rem; } }

  /* ── WA FLOATING BUTTON ── */
  .wa-float {
    position: fixed; bottom: 2rem; right: 2rem; z-index: 500;
    width: 56px; height: 56px; border-radius: 50%;
    background: #25D366; border: none; cursor: pointer;
    box-shadow: 0 4px 20px rgba(37,211,102,0.5);
    display: flex; align-items: center; justify-content: center;
    transition: transform 0.2s;
    animation: waPulse 2.5s infinite;
  }
  .wa-float:hover { transform: scale(1.08); }
  @keyframes waPulse { 0%,100%{box-shadow:0 4px 20px rgba(37,211,102,0.5)}50%{box-shadow:0 4px 32px rgba(37,211,102,0.75)} }
  .wa-float-tooltip { position: absolute; right: 64px; top: 50%; transform: translateY(-50%); background: var(--brown); color: #fff; font-size: 0.7rem; font-weight: 500; padding: 0.35rem 0.75rem; border-radius: 4px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 0.2s; }
  .wa-float:hover .wa-float-tooltip { opacity: 1; }
  @media (max-width: 768px) { .wa-float { bottom: 1.25rem; right: 1.25rem; width: 50px; height: 50px; } }


  [data-theme="dark"] {
    --cream: #1a1410;
    --warm-white: #221c17;
    --sand: #3a2e26;
    --sand-dark: #4a3e34;
    --brown: #d4a97a;
    --terracotta: #e07050;
    --terracotta-dark: #c05030;
    --text: #e8d5c0;
    --text-muted: #a09080;
  }
  .dark-toggle { position:fixed; bottom:5rem; left:1.25rem; width:40px; height:40px; border-radius:50%; border:1px solid var(--sand-dark); background:var(--warm-white); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1rem; z-index:999; box-shadow:0 2px 8px rgba(0,0,0,0.15); transition:all 0.2s; }
  .dark-toggle:hover { transform:scale(1.1); }

  /* Card display limit */
  .card-limited .limit-hidden { display: none !important; }
  .show-more-btn { display:block;width:100%;padding:0.75rem;text-align:center;background:var(--cream);border:1px dashed var(--sand-dark);border-radius:6px;color:var(--terracotta);font-size:0.8rem;font-weight:600;cursor:pointer;margin-top:0.75rem;font-family:Verdana,sans-serif;transition:all 0.2s; }
  .show-more-btn:hover { background:var(--warm-white);border-style:solid; }

  /* ═══════════════════════════════════════════
     LAYOUT FOUNDATION — single source of truth
     ═══════════════════════════════════════════ */
  html {
    scroll-behavior: smooth;
    box-sizing: border-box;
  }
  *, *::before, *::after { box-sizing: inherit; }

  body {
    margin: 0;
    padding: 0;
    width: 100%;
    min-width: 320px;
    overflow-x: hidden;
  }

  /* Every direct child of body spans full width */
  body > nav,
  body > div,
  body > section,
  body > main {
    width: 100%;
  }

  /* Page containers */
  .page {
    display: none;
  }
  .page.active {
    display: block;
    width: 100%;
  }

  /* All sections use full width with modest padding */
  section,
  .page-section {
    display: block;
    width: 100%;
    padding-left: 2rem;
    padding-right: 2rem;
    box-sizing: border-box;
  }

  /* Grids fill their container */
  .shop-grid, .food-grid, .kf-grid, .places-grid,
  .dest-top10-grid, .airlines-grid, .blog-grid,
  #shopGrid, #foodGrid, #airlineGrid, #eventsGrid,
  #sportsGrid, #loyaltyGrid {
    width: 100%;
  }

  .dest-top10-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--sand);
    background: var(--cream);
  }
  .dest-book-btn {
    background: var(--terracotta);
    color: #fff;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    cursor: pointer;
    font-family: Verdana, sans-serif;
    transition: background 0.2s;
  }
  .dest-book-btn:hover { background: var(--terracotta-dark); }

  /* ── VIBRANT THEME ENHANCEMENTS ── */

  /* Gradient text for section titles */
  .section-title em {
    background: var(--terracotta);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-style: italic;
  }

  /* Cards get subtle lift and coloured border on hover */
  .dest-top10-card:hover,
  .package-card:hover,
  .blog-card:hover {
    border-color: var(--terracotta) !important;
    box-shadow: 0 8px 32px rgba(255,77,109,0.15) !important;
  }

  /* Nav links hover */
  .nav-links a { transition: color 0.2s; }
  .nav-links a:hover { color: var(--terracotta) !important; }

  /* Hero title gets gradient */
  .hero-title em {
    background: linear-gradient(135deg, #C4623A, #FFB703);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  /* Section label gradient */
  .section-label {
    background: var(--terracotta);
    -webkit-background-clip: text;
    font-weight: 500;
  }

  /* Vibrant scrollbar */
  ::-webkit-scrollbar { width: 6px; }
  ::-webkit-scrollbar-track { background: var(--cream); }
  ::-webkit-scrollbar-thumb { background: linear-gradient(var(--terracotta), var(--violet)); border-radius: 3px; }

  /* Quick access buttons — vibrant */
  button[onclick*="goTo"] { transition: all 0.2s; }
  button[onclick*="goTo"]:hover {
    background: linear-gradient(135deg, rgba(255,77,109,0.08), rgba(123,47,190,0.08)) !important;
    border-color: var(--terracotta) !important;
    color: var(--terracotta) !important;
    transform: translateY(-1px);
  }

  /* Destination cards rank badge */
  .dest-top10-rank {
    background: var(--terracotta);
    color: #fff;
    font-weight: 700;
  }

  /* Stats numbers — vibrant */
  .hero-stat-num {
    background: linear-gradient(135deg, var(--terracotta), var(--amber));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  /* Book buttons */
  .dest-book-btn, .unex-book-btn {
    background: var(--terracotta) !important;
    border-radius: 4px !important;
    
  }

  /* Enquiry button */
  .form-submit {
    background: var(--terracotta) !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
  }

  /* Footer top border */
  footer, .site-footer {
    border-top: 3px solid transparent;
    border-image: linear-gradient(90deg, #C4623A, #6B7352, #4361EE, #6B7352) 1;
  }

  /* Partner strip */
  .partner-strip, .partners-section {
    background: var(--warm-white);
    border-top: 1px solid var(--sand);
    border-bottom: 1px solid var(--sand);
  }


  .exp-card-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 2px;
    margin-bottom: 1.25rem;
    display: block;
    transition: transform 0.5s ease;
  }
  .exp-card:hover .exp-card-img { transform: scale(1.04); }
  .exp-card-img-wrap {
    overflow: hidden;
    border-radius: 2px;
    margin-bottom: 1.25rem;
  }


  /* Quick Access */
  .qa-btn { display:inline-flex;align-items:center;gap:0.35rem;padding:0.35rem 0.85rem;border:1px solid var(--sand-dark);border-radius:50px;font-size:0.72rem;color:var(--text-muted);background:var(--warm-white);text-decoration:none;transition:all 0.18s;font-family:var(--sans); }
  .qa-btn:hover { border-color:var(--terracotta);color:var(--terracotta); }
  .qa-btn-primary { background:var(--terracotta);color:var(--warm-white)!important;border-color:var(--terracotta);font-weight:600; }
  .qa-btn-primary:hover { background:var(--terracotta-dark)!important; }
  /* Package card missing styles */
  .dest-top10-badges { display:flex;gap:0.4rem;flex-wrap:wrap;margin-bottom:0.6rem; }
  .dest-badge { font-size:0.6rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;padding:0.2rem 0.6rem;border-radius:2px; }
  .dest-top10-name { font-family:var(--serif);font-size:1.05rem;font-weight:500;color:var(--brown);margin-bottom:0.2rem;line-height:1.3; }
  .dest-top10-sub { font-size:0.65rem;color:var(--text-muted);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.75rem; }
  .dest-top10-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;margin-bottom:0.75rem;padding:0.65rem 0;border-top:1px solid var(--sand);border-bottom:1px solid var(--sand); }
  .dest-stat-icon { font-size:0.65rem;color:var(--terracotta); }
  .dest-stat-label { font-size:0.55rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-muted);font-weight:600; }
  .dest-stat-val { font-family:var(--serif);font-size:1.05rem;font-weight:500;color:var(--brown); }
  .dest-stat-note { font-size:0.6rem;color:var(--text-muted); }
  .dest-top10-includes { font-size:0.72rem;color:var(--text-muted);line-height:1.7;margin-bottom:0.75rem; }
  .dest-top10-actions { display:flex;align-items:center;justify-content:space-between;gap:0.5rem; }
  .dest-book-btn { background:var(--terracotta);color:var(--warm-white);border:none;padding:0.5rem 1rem;border-radius:2px;font-size:0.72rem;font-weight:600;cursor:pointer;font-family:var(--sans);letter-spacing:0.04em;text-transform:uppercase;transition:background 0.2s; }
  .dest-book-btn:hover { background:var(--terracotta-dark); }
  .dest-view-link { font-size:0.72rem;color:var(--terracotta);text-decoration:none; }
  .dest-view-link:hover { text-decoration:underline; }
  .dest-top10-body { padding:1rem 1.25rem 1.25rem; }


  /* India page cards */
  .india-card { background:var(--warm-white);border:1px solid var(--sand);border-radius:3px;padding:1.25rem;display:flex;flex-direction:column;gap:0.75rem;transition:box-shadow 0.2s,transform 0.2s; }
  .india-card:hover { box-shadow:0 6px 24px rgba(61,43,31,0.1);transform:translateY(-2px); }
  .india-card-header { display:flex;align-items:flex-start;gap:0.75rem; }
  .india-card-icon { font-size:2rem;line-height:1;flex-shrink:0; }
  .india-card-name { font-family:var(--serif);font-size:1.15rem;font-weight:500;color:var(--brown);margin-bottom:0.15rem; }
  .india-card-meta { font-size:0.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.08em; }
  .india-spots { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.3rem; }
  .india-spots li { font-size:0.78rem;color:var(--text-muted);padding-left:1rem;position:relative;line-height:1.5; }
  .india-spots li::before { content:"✦";position:absolute;left:0;color:var(--terracotta);font-size:0.6rem;top:3px; }
  .india-foods { display:flex;gap:0.4rem;flex-wrap:wrap; }
  .india-food-tag { background:var(--cream);border:1px solid var(--sand-dark);border-radius:50px;font-size:0.68rem;padding:0.2rem 0.65rem;color:var(--text-muted); }
  .india-stays { font-size:0.72rem;color:var(--text-muted); }
  .india-tip { font-size:0.72rem;color:var(--olive);background:rgba(107,115,82,0.08);border-radius:2px;padding:0.4rem 0.65rem;border-left:2px solid var(--olive);line-height:1.6; }
  .india-enquire-btn { background:var(--terracotta);color:var(--warm-white);border:none;padding:0.45rem 1rem;border-radius:2px;font-size:0.72rem;font-weight:600;cursor:pointer;font-family:var(--sans);letter-spacing:0.04em;text-transform:uppercase;transition:background 0.2s;align-self:flex-start;margin-top:auto; }
  .india-enquire-btn:hover { background:var(--terracotta-dark); }


  /* Testimonial additional styles */
  .testi-photo {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    margin-bottom: 1.25rem;
    flex-shrink: 0;
    border: 3px solid var(--sand-dark);
  }
  .testi-text {
    font-size: 0.9rem;
    line-height: 1.7;
    color: var(--text-muted);
    margin-bottom: 1rem;
    font-style: italic;
  }
  .testi-dest {
    font-size: 0.72rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--terracotta);
    font-weight: 600;
    margin-top: 0.5rem;
  }
  .testi-card {
    display: flex;
    flex-direction: column;
  }


  /* ── CONTACT OPTIONS MODAL ─────────────────────────────────────────────── */
  .copt-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(20,10,4,0.72); z-index: 950;
    align-items: center; justify-content: center;
    backdrop-filter: blur(6px);
  }
  .copt-overlay.open { display: flex; }
  .copt-box {
    background: var(--warm-white);
    border-radius: 16px;
    width: min(460px, 92vw);
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(20,10,4,0.35);
    position: relative;
    animation: coptIn 0.22s ease;
  }
  @keyframes coptIn {
    from { opacity:0; transform: scale(0.93) translateY(12px); }
    to   { opacity:1; transform: scale(1)    translateY(0); }
  }
  .copt-close {
    position: absolute; top: 1rem; right: 1rem;
    background: rgba(0,0,0,0.08); border: none;
    width: 30px; height: 30px; border-radius: 50%;
    font-size: 0.85rem; cursor: pointer; color: var(--text-muted);
    display: flex; align-items: center; justify-content: center;
    transition: background 0.15s;
  }
  .copt-close:hover { background: rgba(0,0,0,0.15); }
  .copt-header {
    background: linear-gradient(135deg, var(--brown) 0%, #1a0a04 100%);
    padding: 2rem 2rem 1.5rem;
    text-align: center;
  }
  .copt-logo {
    font-family: var(--serif); font-size: 1.4rem;
    color: var(--warm-white); font-weight: 500; margin-bottom: 0.4rem;
  }
  .copt-logo em { color: var(--terracotta-light); font-style: italic; }
  .copt-sub {
    font-size: 0.82rem; color: rgba(253,249,243,0.65);
    margin: 0; letter-spacing: 0.02em;
  }
  .copt-options {
    padding: 1.25rem 1.5rem;
    display: flex; flex-direction: column; gap: 0.75rem;
  }
  .copt-btn {
    display: flex; align-items: center; gap: 1rem;
    padding: 1rem 1.25rem;
    border-radius: 10px;
    border: 1.5px solid var(--sand);
    background: var(--cream);
    text-decoration: none;
    color: var(--brown);
    cursor: pointer;
    font-family: var(--sans);
    transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
    text-align: left; width: 100%;
  }
  .copt-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(61,43,31,0.12);
  }
  .copt-wa   { border-color: #25d366; }
  .copt-wa:hover   { background: #f0fdf4; border-color: #1db954; }
  .copt-call { border-color: var(--terracotta); }
  .copt-call:hover { background: #fdf5f2; }
  .copt-email { border-color: #4f86c6; }
  .copt-email:hover { background: #f0f5fc; }
  .copt-icon {
    width: 44px; height: 44px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .copt-wa   .copt-icon { background: #dcfce7; color: #16a34a; }
  .copt-call .copt-icon { background: #fde8e0; color: var(--terracotta); }
  .copt-email .copt-icon { background: #dbeafe; color: #2563eb; }
  .copt-text { flex: 1; }
  .copt-text strong {
    display: block; font-size: 0.95rem; font-weight: 700;
    color: var(--brown); margin-bottom: 0.15rem;
  }
  .copt-text span {
    font-size: 0.75rem; color: var(--text-muted);
  }
  .copt-arrow {
    font-size: 1.1rem; color: var(--text-muted);
    transition: transform 0.15s;
  }
  .copt-btn:hover .copt-arrow { transform: translateX(4px); }
  .copt-footer {
    text-align: center; font-size: 0.68rem;
    color: var(--text-muted); padding: 0.75rem 1.5rem 1.25rem;
    border-top: 1px solid var(--sand); margin: 0;
    letter-spacing: 0.04em;
  }



  .michelin-hero { background: linear-gradient(135deg, #1a1410 0%, #1a0a3c 60%, #6B7352 100%); padding: 4rem 2rem 3rem; position: relative; overflow: hidden; }
  .michelin-hero::before { content: '⭐'; position: absolute; right: 8%; top: 50%; transform: translateY(-50%); font-size: 18rem; opacity: 0.04; }
  .michelin-hero-label { font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; color: #C4A35A; margin-bottom: 0.75rem; font-weight: 600; }
  .michelin-hero h2 { font-family: var(--serif); font-size: 2.5rem; color: #fff; margin-bottom: 0.75rem; line-height: 1.2; }
  .michelin-hero h2 em { color: #C4A35A; font-style: italic; }
  .michelin-hero p { font-size: 0.95rem; color: rgba(255,255,255,0.65); max-width: 60ch; line-height: 1.8; margin-bottom: 1.5rem; }
  .michelin-badges { display: flex; gap: 1rem; flex-wrap: wrap; }
  .michelin-badge { display: flex; align-items: center; gap: 0.5rem; background: rgba(196,163,90,0.15); border: 1px solid rgba(196,163,90,0.3); border-radius: 20px; padding: 0.4rem 1rem; font-size: 0.75rem; color: #C4A35A; font-weight: 500; }
  @media(max-width:768px) { .michelin-hero { padding: 3rem 1.25rem 2rem; } .michelin-hero h2 { font-size: 1.8rem; } }

  .michelin-controls { background: var(--warm-white); border-bottom: 1px solid var(--sand); padding: 1.25rem 2rem; display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; position: sticky; top: 68px; z-index: 80; }
  @media(max-width:768px) { .michelin-controls { padding: 1rem 1.25rem; top: 58px; } }
  .michelin-search { flex: 1; min-width: 200px; padding: 0.65rem 1rem; border: 1px solid var(--sand-dark); border-radius: 4px; font-family: var(--sans); font-size: 0.88rem; background: var(--cream); color: var(--text); outline: none; }
  .michelin-search:focus { border-color: #C4A35A; }
  .michelin-filter { display: flex; gap: 0.4rem; flex-wrap: wrap; }
  .mf-btn { padding: 0.4rem 0.9rem; border-radius: 20px; border: 1px solid var(--sand-dark); background: transparent; font-family: var(--sans); font-size: 0.72rem; font-weight: 500; color: var(--text-muted); cursor: pointer; transition: all 0.2s; white-space: nowrap; }
  .mf-btn:hover { border-color: #C4A35A; color: #C4A35A; }
  .mf-btn.active { background: #C4A35A; border-color: #C4A35A; color: #fff; }

  .michelin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px,1fr)); gap: 1.25rem; padding: 2rem 2rem; background: var(--cream); }
  @media(max-width:768px) { .michelin-grid { grid-template-columns: 1fr; padding: 1.25rem; } }
  .mich-card { background: var(--warm-white); border: 1px solid var(--sand); border-radius: 6px; overflow: hidden; transition: box-shadow 0.2s, transform 0.2s; }
  .mich-card:hover { box-shadow: 0 6px 28px rgba(61,43,31,0.1); transform: translateY(-2px); }
  .mich-card-header { padding: 1.1rem 1.25rem 0.75rem; border-bottom: 1px solid var(--sand); display: flex; align-items: flex-start; gap: 0.75rem; }
  .mich-star-badge { flex-shrink: 0; background: linear-gradient(135deg,#1a0a00,#1a0a3c); border-radius: 6px; padding: 0.4rem 0.2rem; text-align: center; }
  .mich-star-badge .stars { font-size: 0.7rem; letter-spacing: 1px; display: block; }
  .mich-star-badge .star-label { font-size: 0.5rem; color: #C4A35A; letter-spacing: 0.06em; text-transform: uppercase; display: block; margin-top: 0.1rem; white-space: nowrap; }
  .mich-name { font-family: var(--serif); font-size: 1.05rem; font-weight: 600; color: var(--brown); line-height: 1.3; }
  .mich-cuisine { font-size: 0.7rem; color: var(--terracotta); font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; margin: 0.2rem 0; }
  .mich-city { font-size: 0.75rem; color: var(--text-muted); }
  .mich-budget-tag { margin-left: auto; flex-shrink: 0; font-size: 0.78rem; font-weight: 700; padding: 0.25rem 0.2rem; border-radius: 4px; }
  .tag-cheap { background: rgba(107,115,82,0.12); color: #4a5228; }
  .tag-mid { background: rgba(196,98,58,0.1); color: var(--terracotta-dark); }
  .mich-dishes { padding: 0.85rem 1.25rem; border-bottom: 1px solid var(--sand); }
  .mich-dishes-title { font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; color: #C4A35A; font-weight: 600; margin-bottom: 0.5rem; }
  .mich-dish-row { display: flex; justify-content: space-between; align-items: baseline; padding: 0.3rem 0; border-bottom: 1px dashed rgba(61,43,31,0.08); font-size: 0.8rem; }
  .mich-dish-row:last-child { border-bottom: none; }
  .mich-dish-name { color: var(--text); flex: 1; padding-right: 0.75rem; }
  .mich-dish-price { color: var(--terracotta); font-weight: 600; white-space: nowrap; font-size: 0.78rem; }
  .mich-footer { padding: 0.75rem 1.25rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem; }
  .mich-tip { font-size: 0.72rem; color: var(--text-muted); line-height: 1.5; flex: 1; }
  .mich-tip strong { color: var(--brown); }
  .mich-reserve { font-size: 0.7rem; color: #C4A35A; font-weight: 600; background: rgba(196,163,90,0.1); border: 1px solid rgba(196,163,90,0.3); border-radius: 4px; padding: 0.3rem 0.75rem; white-space: nowrap; }


  .ap-hero {
    background: linear-gradient(135deg, #0B1F3A 0%, #1a0a3c 60%, #0a1a2a 100%);
    padding: 3.5rem 2rem 2.5rem;
    text-align: center;
  }
  .ap-hero h1 { font-family:var(--serif); font-size:clamp(2rem,4vw,3rem); color:#fff; font-weight:500; margin-bottom:0.5rem; }
  .ap-hero h1 em { font-style:italic; color:var(--terracotta-light); }
  .ap-hero p { color:rgba(253,249,243,0.7); font-size:0.9rem; max-width:58ch; margin:0 auto 2rem; line-height:1.8; }
  .ap-stats { display:flex; justify-content:center; gap:3rem; flex-wrap:wrap; margin-top:1.5rem; }
  .ap-stat { text-align:center; }
  .ap-stat-num { font-family:var(--serif); font-size:2rem; font-weight:700; color:var(--terracotta-light); display:block; }
  .ap-stat-label { font-size:0.65rem; text-transform:uppercase; letter-spacing:0.12em; color:rgba(253,249,243,0.55); }
  .ap-tabs {
    background: var(--warm-white);
    border-bottom: 2px solid var(--sand);
    display:flex; align-items:center; gap:0;
    padding: 0 2rem;
    position: sticky; top: 68px; z-index: 50;
  }
  .ap-tab {
    padding: 0.9rem 1.5rem;
    border: none; background: transparent;
    font-size: 0.78rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: var(--text-muted); cursor: pointer;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
    font-family: var(--sans);
  }
  .ap-tab:hover { color: var(--brown); }
  .ap-tab.active { color: var(--terracotta); border-bottom-color: var(--terracotta); }
  .ap-search-bar {
    background: var(--cream);
    padding: 1rem 2rem;
    border-bottom: 1px solid var(--sand);
    display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
  }
  .ap-search { flex:1; min-width:200px; background:var(--warm-white); border:1px solid var(--sand); border-radius:4px; padding:0.55rem 1rem; font-size:0.85rem; color:var(--brown); outline:none; font-family:var(--sans); }
  .ap-search:focus { border-color:var(--terracotta); }
  .ap-count { font-size:0.75rem; color:var(--text-muted); white-space:nowrap; }
  .ap-section { padding: 2rem 2rem 3rem; max-width:1200px; margin:0 auto; }
  .ap-section-title {
    font-family:var(--serif); font-size:1.5rem; font-weight:600;
    color:var(--brown); margin-bottom:1.5rem;
    padding-bottom:0.75rem; border-bottom:2px solid var(--sand);
    display:flex; align-items:center; gap:0.75rem;
  }
  .ap-grid {
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(340px,1fr));
    gap:1.25rem;
  }
  .ap-card {
    background:var(--warm-white);
    border:1px solid var(--sand);
    border-radius:8px;
    overflow:hidden;
    transition:box-shadow 0.2s, transform 0.2s;
  }
  .ap-card:hover { box-shadow:0 8px 28px rgba(61,43,31,0.12); transform:translateY(-2px); }
  .ap-card-header {
    padding:1rem 1.25rem;
    display:flex; align-items:flex-start; gap:1rem;
  }
  .ap-code {
    font-family:var(--serif); font-size:1.8rem; font-weight:700;
    color:rgba(253,249,243,0.95); letter-spacing:0.02em;
    flex-shrink:0; line-height:1;
    background:rgba(0,0,0,0.2); padding:0.3rem 0.6rem; border-radius:4px;
  }
  .ap-name { font-family:var(--serif); font-size:0.95rem; color:rgba(253,249,243,0.95); font-weight:500; line-height:1.3; margin-bottom:0.2rem; }
  .ap-meta { font-size:0.65rem; color:rgba(253,249,243,0.6); letter-spacing:0.04em; }
  .ap-type-badge { font-size:0.6rem; background:rgba(255,255,255,0.15); padding:0.1rem 0.4rem; border-radius:2px; }
  .ap-card-body { padding:1.1rem 1.25rem; display:flex; flex-direction:column; gap:0.65rem; }
  .ap-detail { display:flex; gap:0.5rem; font-size:0.78rem; line-height:1.6; align-items:flex-start; }
  .ap-label { font-weight:600; color:var(--brown); flex-shrink:0; min-width:90px; }
  .ap-secret {
    background:linear-gradient(135deg,rgba(196,98,58,0.08),rgba(196,98,58,0.04));
    border-left:3px solid var(--terracotta);
    padding:0.5rem 0.75rem;
    font-size:0.75rem; color:var(--text-muted); line-height:1.6;
    border-radius:0 4px 4px 0;
    margin-top:0.25rem;
  }
  .ap-secret span { font-weight:700; color:var(--terracotta); }
  .ap-hidden { display:none !important; }


  .ev-hero {
    background: linear-gradient(135deg, #1a1410 0%, #2d1b0e 50%, #1a1a0a 100%);
    padding: 3.5rem 2rem 2.5rem;
    position: relative; overflow: hidden;
  }
  .ev-hero::before {
    content: ''; position: absolute; inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  }
  .ev-stats { display: flex; gap: 2.5rem; flex-wrap: wrap; margin-top: 1.5rem; }
  .ev-stat-num { font-family: var(--serif); font-size: 2rem; font-weight: 500; color: var(--terracotta-light); }
  .ev-stat-label { font-size: 0.65rem; color: rgba(253,249,243,0.5); text-transform: uppercase; letter-spacing: 0.1em; }
  .ev-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.25rem; }
  .ev-card { background: var(--warm-white); border: 1px solid var(--sand); border-radius: 3px; overflow: hidden; transition: box-shadow 0.2s, transform 0.2s; }
  .ev-card:hover { box-shadow: 0 6px 24px rgba(61,43,31,0.12); transform: translateY(-2px); }
  .ev-card-header { padding: 1rem 1.25rem 0.6rem; border-left: 4px solid var(--terracotta); }
  .ev-card-cat { font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--text-muted); font-weight: 600; margin-bottom: 0.3rem; }
  .ev-card-name { font-family: var(--serif); font-size: 1.1rem; font-weight: 500; color: var(--brown); line-height: 1.3; }
  .ev-card-loc { font-size: 0.72rem; color: var(--text-muted); margin-top: 0.25rem; }
  .ev-card-body { padding: 0.75rem 1.25rem; }
  .ev-card-dates { font-size: 0.7rem; font-weight: 600; color: var(--terracotta); margin-bottom: 0.4rem; }
  .ev-card-desc { font-size: 0.78rem; color: var(--text-muted); line-height: 1.7; margin-bottom: 0.5rem; }
  .ev-card-india { font-size: 0.72rem; background: rgba(196,98,58,0.06); border-radius: 2px; padding: 0.5rem 0.65rem; border-left: 2px solid var(--terracotta); color: var(--text-muted); line-height: 1.6; margin-bottom: 0.5rem; }
  .ev-card-tip { font-size: 0.7rem; color: var(--text-muted); font-style: italic; border-top: 1px solid var(--sand); padding-top: 0.5rem; margin-top: 0.25rem; }
  .ev-card-footer { display: flex; align-items: center; justify-content: space-between; padding: 0.65rem 1.25rem; background: var(--cream); border-top: 1px solid var(--sand); }
  .ev-enquire { background: var(--terracotta); color: var(--warm-white); border: none; padding: 0.4rem 0.9rem; border-radius: 2px; font-size: 0.68rem; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; font-family: var(--sans); transition: background 0.2s; }
  .ev-enquire:hover { background: var(--terracotta-dark); }
  .ev-month-strip { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-bottom: 0.5rem; }
  .ev-count { font-size: 0.78rem; color: var(--text-muted); margin-bottom: 1rem; }
  .ev-no-results { grid-column: 1/-1; text-align: center; padding: 3rem; color: var(--text-muted); }
  @media (max-width: 768px) { .ev-grid { grid-template-columns: 1fr; } .ev-stats { gap: 1.25rem; } }


  .unex-hero {
    background: linear-gradient(135deg, #1a1410 0%, #1a0a3c 40%, #0B142E 100%);
    padding: 4rem 2rem 3rem;
    position: relative;
    overflow: hidden;
  }
  .unex-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 50%, rgba(60,120,60,0.15) 0%, transparent 60%),
                radial-gradient(ellipse at 70% 30%, rgba(30,60,120,0.15) 0%, transparent 60%);
  }
  .unex-hero-inner { position: relative; z-index: 1; }
  .unex-section { padding: 2.5rem 2rem; }
  .unex-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
  .unex-card {
    background: var(--warm-white);
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--sand);
    transition: transform 0.25s, box-shadow 0.25s;
    cursor: pointer;
  }
  .unex-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 36px rgba(61,43,31,0.14);
  }
  .unex-card-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
  }
  .unex-card-img-placeholder {
    width: 100%;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
  }
  .unex-card-body { padding: 1.1rem 1.25rem; }
  .unex-card-tag {
    display: inline-block;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.2rem 0.6rem;
    border-radius: 50px;
    margin-bottom: 0.5rem;
  }
  .unex-card-name {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--brown);
    margin-bottom: 0.25rem;
    line-height: 1.3;
  }
  .unex-card-country {
    font-size: 0.72rem;
    color: var(--text-muted);
    margin-bottom: 0.6rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
  }
  .unex-card-desc {
    font-size: 0.78rem;
    color: var(--text-muted);
    line-height: 1.7;
    margin-bottom: 0.75rem;
  }
  .unex-card-facts {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
  }
  .unex-fact {
    font-size: 0.65rem;
    background: var(--cream);
    border: 1px solid var(--sand);
    border-radius: 4px;
    padding: 0.2rem 0.5rem;
    color: var(--text-muted);
  }
  .unex-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 1.25rem;
    border-top: 1px solid var(--sand);
    background: var(--cream);
  }
  .unex-book-btn {
    background: var(--terracotta);
    color: #fff;
    border: none;
    padding: 0.4rem 0.9rem;
    border-radius: 4px;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    font-family: Verdana, sans-serif;
    transition: background 0.2s;
  }
  .unex-book-btn:hover { background: var(--terracotta-dark); }
  .unex-best-time {
    font-size: 0.67rem;
    color: var(--text-muted);
  }
  .unex-filter-bar {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
  }
  .unex-count {
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-bottom: 1rem;
  }
  .unex-why-box {
    background: linear-gradient(135deg, var(--terracotta) 0%, var(--terracotta-dark) 100%);
    border-radius: 10px;
    padding: 1.75rem 2rem;
    color: #fff;
    margin-bottom: 2rem;
  }
  .unex-why-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
  }
  .unex-why-item {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
  }


      @media (max-width:640px) {
        .social-follow-grid { grid-template-columns:1fr !important; }
      }
    

  #searchOverlay.open { display:flex!important; }
  .search-result-item { display:flex;align-items:center;gap:0.85rem;padding:0.75rem 1rem;cursor:pointer;border-radius:3px;transition:background 0.15s; }
  .search-result-item:hover { background:var(--cream); }
  .search-result-item strong { font-size:0.88rem;color:var(--brown); }

/* ═══════════════════════════════════════════════════════════
   COMPREHENSIVE MOBILE RESPONSIVE — 390px iPhone 14 target
═══════════════════════════════════════════════════════════ */

/* ── Base touch improvements ── */
* { -webkit-tap-highlight-color: rgba(196,98,58,0.15); }
button, a, [onclick] { touch-action: manipulation; }

/* ── NAVIGATION ── */
@media (max-width: 768px) {
  nav { padding: 0.75rem 1rem; gap: 0.5rem; }
  .nav-logo-main { font-size: 1.3rem; }
  .nav-links { display: none !important; }
  .nav-cta { display: none !important; }
  .nav-hamburger { display: flex !important; }

  /* ── HERO ── */
  .hero { padding: 2rem 1rem 1.5rem; }
  .hero-left { padding: 1.75rem 1rem 1.5rem; }
  .hero-title { font-size: 2rem; line-height: 1.15; }
  .hero-sub { font-size: 0.82rem; }
  .hero-right { height: 42vw; min-height: 160px; }
  .hero-image-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); height: 42vw; }
  .hero-img-badge { font-size: 0.55rem; padding: 0.2rem 0.4rem; }
  .hero-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem 1rem; padding: 0.5rem 0; }
  .hero-stat-num { font-size: 1.4rem; }
  .hero-stat-label { font-size: 0.6rem; }
  .hero-actions { flex-direction: column; gap: 0.65rem; }
  .hero-actions a, .hero-actions button { width: 100%; text-align: center; justify-content: center; }
  .btn-primary, .btn-ghost { padding: 0.8rem 1.5rem; font-size: 0.78rem; }

  /* ── QUICK ACCESS ── */
  #quick-access { padding: 0.6rem 1rem; gap: 0.4rem; }
  #quick-access > span { width: 100%; font-size: 0.55rem; }
  .qa-btn { font-size: 0.7rem; padding: 0.35rem 0.7rem; }
  .qa-btn-primary { font-size: 0.72rem; }

  /* ── MARQUEE ── */
  .marquee-strip { padding: 0.5rem 0; font-size: 0.7rem; }

  /* ── SECTIONS ── */
  .page-section { padding: 2rem 1rem; }
  .section-label { font-size: 0.6rem; }
  .section-title { font-size: 1.6rem; }

  /* ── PACKAGE / DEST CARDS ── */
  .package-grid { grid-template-columns: 1fr !important; gap: 1rem; }
  .dest-top10-grid { grid-template-columns: 1fr !important; }
  .dest-top10-card { padding: 0; }
  .package-card-img { height: 180px; }
  .package-card { padding: 1rem; }
  .package-card-body { padding: 1rem; }
  .package-price-row { flex-wrap: wrap; gap: 0.4rem; }
  .dest-book-btn { padding: 0.6rem 1rem; font-size: 0.75rem; width: 100%; text-align: center; margin-top: 0.5rem; }

  /* ── TESTIMONIALS ── */
  .testi-grid { grid-template-columns: 1fr !important; gap: 1.25rem; }
  .testi-card { padding: 1.5rem 1.25rem; }
  .testimonials { padding: 2rem 1rem !important; }

  /* ── AIRPORT GUIDE ── */
  .ap-tabs { padding: 0 0.75rem; top: 56px; overflow-x: auto; white-space: nowrap; flex-wrap: nowrap; }
  .ap-tab { padding: 0.75rem 1rem; font-size: 0.7rem; flex-shrink: 0; }
  .ap-search-bar { padding: 0.75rem 1rem; }
  .ap-search { font-size: 0.82rem; }
  .ap-section { padding: 1.25rem 1rem 2rem; }
  .ap-section-title { font-size: 1.1rem; }
  .ap-grid { grid-template-columns: 1fr !important; gap: 1rem; }
  .ap-card-header { padding: 0.85rem 1rem; gap: 0.75rem; }
  .ap-code { font-size: 1.4rem; padding: 0.25rem 0.5rem; }
  .ap-name { font-size: 0.85rem; }
  .ap-card-body { padding: 0.85rem 1rem; gap: 0.5rem; }
  .ap-detail { font-size: 0.74rem; flex-direction: column; gap: 0.15rem; }
  .ap-label { min-width: unset; font-size: 0.7rem; }
  .ap-secret { font-size: 0.72rem; padding: 0.4rem 0.65rem; }
  .ap-hero { padding: 2rem 1rem; }
  .ap-stats { gap: 1rem; }
  .ap-stat-num { font-size: 1.6rem; }
  .ap-stat-label { font-size: 0.58rem; }

  /* ── UNEXPLORED / HIDDEN GEMS ── */
  .unex-grid { grid-template-columns: 1fr !important; gap: 1rem; }
  .unex-card { border-radius: 10px; }
  .unex-card-img, .unex-card-img-placeholder { height: 160px !important; }
  .unex-filter-btns { gap: 0.4rem; flex-wrap: wrap; }
  .unex-filter-btn { font-size: 0.7rem; padding: 0.35rem 0.75rem; }
  .unex-card-body { padding: 1rem; }
  .unex-card-name { font-size: 1.1rem; }
  .unex-card-desc { font-size: 0.78rem; }
  .unex-why { font-size: 0.75rem; padding: 0.5rem 0.75rem; }
  .unex-facts { flex-wrap: wrap; gap: 0.3rem; }
  .unex-fact { font-size: 0.65rem; padding: 0.2rem 0.5rem; }
  .unex-footer { flex-direction: column; gap: 0.5rem; align-items: flex-start; }
  .unex-book-btn { width: 100%; text-align: center; padding: 0.65rem; }

  /* ── BLOG ── */
  .blog-grid { grid-template-columns: 1fr !important; }
  .blog-card-img { height: 160px; }

  /* ── TOP 20 COUNTRIES ── */
  #top20Grid { grid-template-columns: 1fr !important; }
  .place-card { padding: 1.25rem 1rem; }
  .place-card-grid { grid-template-columns: 1fr !important; }

  /* ── HONEYMOON / CORPORATE PACKAGES ── */
  .hm-grid { grid-template-columns: 1fr !important; }
  .special-page-hero { height: 200px; }
  .special-page-hero img { height: 200px; }

  /* ── FOOTER ── */
  footer { padding: 2rem 1rem 1.25rem; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 1.5rem; }
  .footer-social { gap: 0.75rem; }
  .footer-bottom { flex-direction: column; gap: 0.5rem; text-align: center; padding: 1rem; }

  /* ── CONTACT MODAL ── */
  .copt-box { width: 92vw; border-radius: 14px; }
  .copt-header { padding: 1.5rem 1.5rem 1.25rem; }
  .copt-logo { font-size: 1.2rem; }
  .copt-sub { font-size: 0.76rem; }
  .copt-options { padding: 1rem 1.25rem; gap: 0.65rem; }
  .copt-btn { padding: 0.85rem 1rem; gap: 0.75rem; }
  .copt-icon { width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0; }
  .copt-icon svg { width: 20px; height: 20px; }
  .copt-text strong { font-size: 0.88rem; }
  .copt-text span { font-size: 0.7rem; }
  .copt-footer { font-size: 0.62rem; padding: 0.65rem 1.25rem 1rem; }

  /* ── GALLERIES ── */
  #galleryGrid { grid-template-columns: 1fr 1fr !important; gap: 0.5rem !important; }
  #galleryGrid img { height: 160px !important; }

  /* ── VISA PAGE ── */
  .visa-grid { grid-template-columns: 1fr 1fr !important; gap: 0.75rem !important; }
  .visa-card { padding: 0.85rem; }
  .visa-card h3 { font-size: 0.85rem; }

  /* ── TOOLS / MISC PAGES ── */
  .tools-grid { grid-template-columns: 1fr 1fr !important; gap: 0.75rem !important; }
  .tool-card { padding: 1.25rem 1rem; }
  .tool-icon { font-size: 1.5rem; }

  /* ── LOYALTY PAGE ── */
  .loyalty-grid { grid-template-columns: 1fr !important; }
  
  /* ── MICHELIN / FOOD PAGES ── */
  #michelinGrid { grid-template-columns: 1fr !important; }

  /* ── CTA BANNER ── */
  .cta-banner { padding: 2.5rem 1rem; }
  .cta-banner h2 { font-size: 1.5rem; }

  /* ── ABOUT PAGE ── */
  .about-grid { grid-template-columns: 1fr !important; }

  /* ── ITINERARY ── */
  .itn-grid { grid-template-columns: 1fr !important; }

  /* ── MISC ── */
  .section-header { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
  h2.section-title { font-size: 1.6rem; }
  .search-input { font-size: 0.88rem; padding: 0.65rem 0.9rem; }
}

/* ── Extra small (< 390px) ── */
@media (max-width: 390px) {
  .hero-title { font-size: 1.75rem; }
  .ap-grid { grid-template-columns: 1fr !important; }
  #galleryGrid { grid-template-columns: 1fr !important; }
  .copt-box { width: 96vw; }
  .qa-btn { font-size: 0.65rem; padding: 0.3rem 0.6rem; }
}


/* ============================================================= */
/*  ITS MY GETAWAY — AUTOMATED CHAT ASSISTANT (added 14-Jul)      */
/*  Self-contained widget. All classes prefixed .gwc- .          */
/*  Colours pull from the site palette with safe fallbacks.      */
/* ============================================================= */
.gwc-root{
  --gwc-accent:var(--terracotta,#C4623A);
  --gwc-accent-dk:var(--terracotta-dark,#8C3E20);
  --gwc-head:var(--olive,#6B7352);
  --gwc-head-dk:#525a40;
  --gwc-bg:var(--warm-white,#FDF9F3);
  --gwc-bot:#ffffff;
  --gwc-ink:var(--text,#2E2118);
  --gwc-muted:var(--text-muted,#7A6355);
  --gwc-line:var(--sand,#E8DBC8);
  font-family:var(--sans,Verdana,Geneva,sans-serif);
}

/* Launcher */
.gwc-launcher{position:fixed;bottom:24px;right:24px;z-index:2147483000;
  display:flex;align-items:center;gap:9px;padding:13px 20px 13px 15px;
  background:var(--gwc-accent);color:#fff;border:none;border-radius:40px;cursor:pointer;
  font-size:15px;font-weight:600;font-family:inherit;
  box-shadow:0 10px 28px rgba(196,98,58,.42),0 2px 8px rgba(0,0,0,.12);
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}
.gwc-launcher:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 38px rgba(196,98,58,.5)}
.gwc-launcher:active{transform:translateY(0) scale(.98)}
.gwc-launcher svg{width:23px;height:23px;flex:none}
.gwc-launcher.gwc-hide{transform:scale(0);opacity:0;pointer-events:none}
.gwc-dot{position:absolute;top:-3px;right:-3px;width:14px;height:14px;border-radius:50%;
  background:#fff;border:3px solid var(--gwc-accent)}

/* Panel */
.gwc-panel{position:fixed;bottom:24px;right:24px;z-index:2147483001;
  width:380px;max-width:calc(100vw - 32px);height:618px;max-height:calc(100vh - 48px);
  background:var(--gwc-bg);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 24px 70px rgba(61,43,31,.4),0 4px 14px rgba(0,0,0,.15);
  transform:translateY(20px) scale(.96);opacity:0;pointer-events:none;
  transition:transform .3s cubic-bezier(.34,1.3,.5,1),opacity .25s;transform-origin:bottom right}
.gwc-panel.gwc-open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}

/* Header — boarding-pass styled */
.gwc-head{background:var(--gwc-head);color:#fff;padding:18px 18px 16px;position:relative;flex:none}
.gwc-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;
  background-image:radial-gradient(circle at 7px -2px,var(--gwc-bg) 6px,transparent 6.5px);
  background-size:14px 14px;background-repeat:repeat-x}
.gwc-head-top{display:flex;align-items:center;gap:12px}
.gwc-avatar{width:44px;height:44px;border-radius:50%;background:var(--gwc-accent);flex:none;
  display:flex;align-items:center;justify-content:center}
.gwc-avatar svg{width:24px;height:24px}
.gwc-head h3{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.15;margin:0;
  font-family:var(--serif,Verdana,Geneva,sans-serif)}
.gwc-head .gwc-status{font-size:12px;color:rgba(255,255,255,.82);display:flex;align-items:center;gap:6px;margin-top:2px}
.gwc-head .gwc-status i{width:7px;height:7px;border-radius:50%;background:#8ed99a;display:inline-block}
.gwc-close{margin-left:auto;background:rgba(255,255,255,.14);border:none;color:#fff;
  width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;
  display:flex;align-items:center;justify-content:center;transition:background .2s}
.gwc-close:hover{background:rgba(255,255,255,.28)}

/* Messages */
.gwc-msgs{flex:1;overflow-y:auto;padding:20px 16px 8px;display:flex;flex-direction:column;gap:12px}
.gwc-msgs::-webkit-scrollbar{width:6px}
.gwc-msgs::-webkit-scrollbar-thumb{background:var(--gwc-line);border-radius:3px}
.gwc-row{display:flex;max-width:86%;animation:gwcpop .3s ease both}
@keyframes gwcpop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.gwc-row.gwc-bot{align-self:flex-start}
.gwc-row.gwc-usr{align-self:flex-end}
.gwc-bubble{padding:11px 15px;border-radius:18px;font-size:14px;line-height:1.5;word-wrap:break-word}
.gwc-bot .gwc-bubble{background:var(--gwc-bot);color:var(--gwc-ink);border-bottom-left-radius:5px;
  box-shadow:0 2px 8px rgba(61,43,31,.07)}
.gwc-usr .gwc-bubble{background:var(--gwc-accent);color:#fff;border-bottom-right-radius:5px}
.gwc-bubble a{color:inherit;font-weight:700}
.gwc-bubble strong{font-weight:700}
.gwc-bot .gwc-bubble a.gwc-pagelink{color:var(--gwc-accent-dk);text-decoration:underline}

/* Quick reply chips */
.gwc-chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 16px 6px}
.gwc-chip{background:#fff;border:1.5px solid var(--gwc-line);color:var(--gwc-head);
  padding:9px 15px;border-radius:30px;font-size:13px;font-weight:600;cursor:pointer;
  transition:all .18s;font-family:inherit;position:relative;animation:gwcpop .35s ease both}
.gwc-chip::before{content:"";position:absolute;left:9px;top:50%;width:5px;height:5px;
  border-radius:50%;background:var(--gwc-accent);transform:translateY(-50%);opacity:0;transition:opacity .18s}
.gwc-chip:hover{border-color:var(--gwc-accent);color:var(--gwc-accent-dk);padding-left:22px;background:#fdf4ef}
.gwc-chip:hover::before{opacity:1}

/* Typing */
.gwc-typing{display:flex;gap:4px;padding:14px 16px}
.gwc-typing i{width:8px;height:8px;border-radius:50%;background:var(--gwc-muted);animation:gwctype 1.2s infinite}
.gwc-typing i:nth-child(2){animation-delay:.18s}.gwc-typing i:nth-child(3){animation-delay:.36s}
@keyframes gwctype{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}

/* Input + footer */
.gwc-foot{flex:none;border-top:1px solid var(--gwc-line);background:var(--gwc-bg)}
.gwc-inputrow{display:flex;align-items:center;gap:8px;padding:12px 12px 8px}
.gwc-input{flex:1;border:1.5px solid var(--gwc-line);background:#fff;border-radius:24px;
  padding:11px 16px;font-size:16px;font-family:inherit;color:var(--gwc-ink);outline:none;transition:border .2s}
.gwc-input:focus{border-color:var(--gwc-head)}
.gwc-send{width:42px;height:42px;border-radius:50%;background:var(--gwc-head);border:none;cursor:pointer;
  flex:none;display:flex;align-items:center;justify-content:center;transition:background .2s}
.gwc-send:hover{background:var(--gwc-head-dk)}.gwc-send svg{width:20px;height:20px}
.gwc-credit{text-align:center;font-size:11px;color:var(--gwc-muted);padding:0 0 9px}
.gwc-credit b{color:var(--gwc-accent-dk);font-weight:700}

/* WhatsApp handoff */
.gwc-wa{display:inline-flex;align-items:center;gap:8px;background:#25D366;color:#fff;
  text-decoration:none;padding:10px 16px;border-radius:24px;font-size:14px;font-weight:700;
  margin-top:6px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px rgba(37,211,102,.35)}
.gwc-wa:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(37,211,102,.45)}
.gwc-wa svg{width:18px;height:18px}

/* Content-answer styling (search results from site data) */
.gwc-bot .gwc-bubble ul.gwc-list{margin:7px 0 2px;padding-left:18px}
.gwc-bot .gwc-bubble ul.gwc-list li{margin:4px 0;line-height:1.45}
.gwc-bot .gwc-bubble .gwc-line{display:block;margin:5px 0;line-height:1.45}
.gwc-srclink{display:inline-block;margin-top:9px;font-size:12.5px;font-weight:700;
  color:var(--gwc-accent-dk);text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:1px}
.gwc-srclink:hover{opacity:.8}
.gwc-meta{font-size:12px;color:var(--gwc-muted)}
.gwc-pill{display:inline-block;background:#fdf0ea;color:var(--gwc-accent-dk);font-size:11px;
  font-weight:700;padding:2px 9px;border-radius:20px;margin:0 4px 4px 0}
.gwc-flag{font-size:17px;vertical-align:-2px;margin-right:3px}

@media (max-width:480px){
  .gwc-panel{bottom:0;right:0;left:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
  .gwc-launcher{bottom:max(16px,env(safe-area-inset-bottom));right:16px}
  .gwc-foot{padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .gwc-chip{padding:10px 16px}
  .gwc-close{width:38px;height:38px}
}
@media (prefers-reduced-motion:reduce){
  .gwc-launcher,.gwc-panel,.gwc-row,.gwc-chip{transition:none!important;animation:none!important}
}
