/* =================================================================
   CSS VARIABLES & MOBILE-FIRST FOUNDATION
   - Core design tokens
   - Mobile-optimized defaults
   - iOS/Android safe area variables
   ================================================================= */

:root {
    --natgeo-black: #101820;
    --natgeo-gold: #88A828;
    --natgeo-sand: #f5f1e6;
    --natgeo-cloud: #faf8f2;
    --natgeo-ink: #1f2326;
    --natgeo-muted: #6f7376;
    --natgeo-border: rgba(16, 24, 32, 0.18);
    --natgeo-border-strong: rgba(16, 24, 32, 0.35);
    --natgeo-radius: 1.25rem;
    --natgeo-sans: "Source Sans 3", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
    --natgeo-serif: "Bodoni Moda", "Playfair Display", "Georgia", serif;

    /* Mobile-first: Safe area insets fallback for iOS/Android */
    --safe-area-top: env(safe-area-inset-top, 0px);
    --safe-area-bottom: env(safe-area-inset-bottom, 0px);
    --safe-area-left: env(safe-area-inset-left, 0px);
    --safe-area-right: env(safe-area-inset-right, 0px);

    /* Mobile navbar height (smaller default for mobile) */
    --navbar-height-mobile: 64px;
    --navbar-height-desktop: 96px;
}

/* =================================================================
   MOBILE/TOUCH DEVICE OPTIMIZATIONS
   - Prevent unwanted behaviors on mobile
   - Improve touch interactions
   ================================================================= */

/* Hide body scrollbar on mobile/touch devices to prevent interference with
   touch scrolling. The forest-green scrollbar can cause visual issues and
   block touch gestures when it appears during scroll. */
@media (max-width: 768px), (pointer: coarse) {
    html, body {
        scrollbar-width: none !important; /* Firefox */
        -ms-overflow-style: none !important; /* IE 11 */
    }

    html::-webkit-scrollbar,
    body::-webkit-scrollbar {
        display: none !important; /* Chrome, Safari, Edge */
        width: 0 !important;
        height: 0 !important;
    }
}

/* Ensure proper viewport handling on iOS Safari */
@supports (-webkit-touch-callout: none) {
    :root {
        /* iOS specific adjustments */
        --safe-area-top: max(env(safe-area-inset-top, 0px), 20px);
    }
}

/* Android Chrome-specific handling */
@supports (display: -webkit-box) and (not (display: grid)) {
    :root {
        /* Older Android fallback */
        --safe-area-bottom: 0px;
    }
}

.natgeo-page {
    background: var(--natgeo-cloud);
    color: var(--natgeo-ink);
    font-family: var(--natgeo-sans);
}

/* =================================================================
   MOBILE-FIRST HERO SECTION
   - Optimized for iOS and Android mobile browsers
   - Uses dynamic viewport units (dvh) for proper mobile support
   - Safe-area-inset handling for notch/home indicator
   - Touch-friendly spacing and tap targets
   ================================================================= */

.natgeo-hero {
    position: relative;
    overflow: hidden;
    background: var(--natgeo-black);
    color: var(--natgeo-cloud);
    /* Mobile-first: Smaller padding for mobile devices */
    padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(2rem, 5vw, 3rem);
    /* Account for navbar + safe area on iOS */
    padding-top: calc(var(--navbar-height, 80px) + clamp(2.5rem, 6vw, 4rem) + env(safe-area-inset-top, 0px));
    /* Bottom safe area for iOS home indicator */
    padding-bottom: calc(clamp(2rem, 5vw, 3rem) + env(safe-area-inset-bottom, 0px));
    /* Use svh (small viewport height) for mobile - accounts for browser chrome */
    min-height: 50svh;
    /* Ensure content doesn't get cut off - auto height on mobile */
    height: auto;
}

/* iOS/Android: Use dynamic viewport height when supported */
@supports (min-height: 50dvh) {
    .natgeo-hero {
        min-height: 50dvh;
    }
}

/* Fallback for older browsers */
@supports not (min-height: 50svh) {
    .natgeo-hero {
        min-height: calc(50vh - 60px); /* Account for typical mobile browser chrome */
    }
}

/* Desktop: Restore original sizing */
@media (min-width: 62rem) {
    .natgeo-hero {
        padding: clamp(4rem, 8vw, 6.5rem) 0 clamp(3rem, 6vw, 5rem);
        padding-top: calc(var(--navbar-height, 96px) + clamp(4rem, 8vw, 6.5rem));
        min-height: 50vh;
    }
}

.natgeo-hero__media {
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(16, 24, 32, 0.92), rgba(16, 24, 32, 0.3));
    opacity: 1;
    /* LCP optimization: Removed slow transition (was 1.2s) that delayed initial paint */
    transform: scale(1);
    z-index: 1;
}

.natgeo-hero--with-image .natgeo-hero__media {
    background-image: linear-gradient(115deg, rgba(16, 24, 32, 0.75), rgba(16, 24, 32, 0.2)), var(--hero-image, none);
    background-size: cover;
    background-position: center;
    /* Ensure image fills full height of hero container */
    min-height: 100%;
}

/* Optimized hero image using <img> element for LCP optimization */
.natgeo-hero__bg-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
}

/* When using <img> element, only show gradient overlay (no background image) */
.natgeo-hero:has(.natgeo-hero__bg-image) .natgeo-hero__media {
    background-image: linear-gradient(115deg, rgba(16, 24, 32, 0.88), rgba(16, 24, 32, 0.25));
}

.natgeo-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: radial-gradient(circle at 12% 20%, rgba(136, 168, 40, 0.18), transparent 55%),
                radial-gradient(circle at 80% 80%, rgba(15, 20, 25, 0.75), transparent 60%);
    pointer-events: none;
}

.natgeo-hero__inner {
    position: relative;
    max-width: 1320px;
    margin: 0 auto;
    /* Mobile-first: Tighter padding with safe area support */
    padding: 0 max(clamp(1rem, 4vw, 1.5rem), env(safe-area-inset-left, 0px));
    padding-right: max(clamp(1rem, 4vw, 1.5rem), env(safe-area-inset-right, 0px));
    display: grid;
    gap: clamp(1.25rem, 3vw, 2.5rem);
    align-items: stretch;
    z-index: 3;
}

/* Desktop: Restore original padding */
@media (min-width: 62rem) {
    .natgeo-hero__inner {
        padding: 0 clamp(1.5rem, 4vw, 3rem);
    }
}

.natgeo-hero__layout {
    display: grid;
    gap: clamp(2rem, 5vw, 3.25rem);
}

.natgeo-hero__content {
    display: grid;
    gap: clamp(1.5rem, 4vw, 3rem);
}

.natgeo-hero__visual {
    display: none;
    position: relative;
    z-index: 4;
}

.natgeo-hero__map {
    position: relative;
    z-index: 5;
    width: min(100%, clamp(260px, 32vw, 520px));
    display: flex;
    align-items: center;
    justify-content: center;
}

.natgeo-hero__map--desktop,
.natgeo-hero__map--mobile {
    width: 100%;
}

.natgeo-hero__map--mobile {
    display: none;
}

.natgeo-hero__map--custom {
    align-items: stretch;
    justify-content: stretch;
    background: none;
    box-shadow: none;
}

.natgeo-hero__map--custom > * {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
}

.natgeo-hero__map--custom svg,
.natgeo-hero__map--custom [data-map-fallback],
.natgeo-hero__map--custom img,
.natgeo-hero__map--custom iframe,
.natgeo-hero__map--custom canvas {
    filter: none;
    box-shadow: none;
    border-radius: 0;
    background: none;
}

.natgeo-hero__map-frame {
    display: block;
    width: 100%;
    max-width: 100%;
    height: clamp(280px, 38vw, 620px);
    max-height: clamp(280px, 38vw, 620px);
    border: 0;
    border-radius: clamp(16px, 3vw, 28px);
    box-shadow: 0 28px 42px rgba(0, 0, 0, 0.35);
    background: transparent;
}

.natgeo-hero__map svg {
    position: relative;
    z-index: 5;
    display: block;
    width: 100%;
    height: auto;
    max-height: clamp(280px, 38vw, 620px);
    /* LCP optimization: Defer drop-shadow filter to avoid blocking initial paint */
    opacity: 1;
    /* Removed transition delay that blocked LCP measurement */
}

.natgeo-hero__map svg.natgeo-hero__map-canvas--ready {
    opacity: 1;
}

.natgeo-hero__map::before,
.natgeo-hero__map::after {
    content: "";
    position: absolute;
    z-index: 4;
    opacity: 0;
    pointer-events: none;
}

/* Loading state overlay - only show when map is loading */
.natgeo-hero__map:not(.natgeo-hero__map--ready):not(.natgeo-hero__map--uploaded)::before,
.natgeo-hero__map:not(.natgeo-hero__map--ready):not(.natgeo-hero__map--uploaded)::after {
    opacity: 1;
}

.natgeo-hero__map::before {
    inset: 0;
    border-radius: clamp(16px, 3vw, 28px);
    background: rgba(16, 24, 32, 0.25);
}

/* Loading spinner - only animate when actually needed, not on cached maps */
.natgeo-hero__map::after {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 3px solid rgba(255, 255, 255, 0.35);
    border-top-color: var(--natgeo-gold);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Only animate spinner when map is actually loading (not cached) */
.natgeo-hero__map:not(.natgeo-hero__map--ready):not(.natgeo-hero__map--uploaded)::after {
    animation: natgeo-map-spin 1s linear infinite;
}

.natgeo-hero__map--ready::before,
.natgeo-hero__map--ready::after,
.natgeo-hero__map--uploaded::before,
.natgeo-hero__map--uploaded::after,
.natgeo-hero__map--error::before,
.natgeo-hero__map--error::after {
    opacity: 0;
    animation: none;
}

@keyframes natgeo-map-spin {
    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.natgeo-hero__map [data-map-fallback]:not([hidden]) {
    display: block;
    width: 100%;
    height: auto;
    max-height: clamp(280px, 38vw, 620px);
    filter: drop-shadow(0 28px 42px rgba(0, 0, 0, 0.35));
    opacity: 1;
}

.natgeo-hero__map--fallback svg {
    display: none;
}

/* Auto-generated country map styles */
.natgeo-hero__map--auto-generated svg {
    filter: drop-shadow(0 24px 36px rgba(0, 0, 0, 0.25));
}

.natgeo-hero__map--auto-generated svg path {
    vector-effect: non-scaling-stroke;
}

/* Map marker styles */
.geo-map-markers {
    pointer-events: auto;
}

.geo-map-marker {
    transition: transform 180ms ease-out;
}

.geo-map-marker:hover {
    transform: scale(1.15);
}

.geo-map-marker circle:first-child {
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.geo-map-marker[data-url] {
    cursor: pointer;
}

.geo-map-marker[data-url]:hover circle:first-child {
    fill: #f0f0f0;
}

.geo-map-marker[data-url]:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Map wrapper with destination list below */
.natgeo-hero__map-wrapper {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(1rem, 2vw, 1.5rem);
    width: 100%;
    height: 100%;
}

.natgeo-hero__map-wrapper .natgeo-hero__map {
    flex: 1 1 auto;
    width: 100%;
    min-height: clamp(320px, 45vh, 520px);
}

.natgeo-hero__map-wrapper .natgeo-hero__map svg {
    max-height: none;
    height: 100%;
    min-height: clamp(320px, 45vh, 520px);
}

/* Destination list below map */
.natgeo-hero__destinations {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    padding: clamp(0.5rem, 1.5vw, 1rem) 0;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

/* Map controls (zoom, home button) */
.natgeo-hero__map-controls {
    position: absolute;
    left: clamp(0.5rem, 2vw, 1rem);
    top: clamp(0.5rem, 2vw, 1rem);
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    z-index: 10;
}

.natgeo-hero__map-control {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(32px, 6vw, 40px);
    height: clamp(32px, 6vw, 40px);
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    color: #333333;
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: transform 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}

.natgeo-hero__map-control:hover {
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2), 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: scale(1.05);
}

.natgeo-hero__map-control:active {
    transform: scale(0.95);
}

.natgeo-hero__map-control:focus-visible {
    outline: 2px solid var(--natgeo-gold, #d4a847);
    outline-offset: 2px;
}

.natgeo-hero__map-control svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
}

.natgeo-hero__map-control--home svg {
    width: 0.9em;
    height: 0.9em;
}

.natgeo-hero__destination-group {
    display: contents;
}

.natgeo-hero__destination-category {
    flex: 0 0 100%;
    margin: 0.5rem 0 0.25rem;
    padding: 0;
    font-family: inherit;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
}

.natgeo-hero__destination-category:first-child {
    margin-top: 0;
}

.natgeo-hero__destination-list {
    display: contents;
    margin: 0;
    padding: 0;
    list-style: none;
}

.natgeo-hero__destination-list--no-category {
    display: contents;
}

.natgeo-hero__destination-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.015em;
}

.natgeo-hero__destination-item::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    flex-shrink: 0;
}

.natgeo-hero__destination-link,
.natgeo-hero__destination-label {
    color: inherit;
    text-decoration: none;
}

.natgeo-hero__destination-link:hover,
.natgeo-hero__destination-link:focus {
    text-decoration: underline;
    color: var(--natgeo-gold, #d4a847);
}

@media (max-width: 61.99rem) {
    .natgeo-hero__map-wrapper {
        flex-direction: column;
        align-items: stretch;
    }

    .natgeo-hero__map-wrapper .natgeo-hero__map {
        width: 100%;
        min-height: clamp(280px, 50vw, 400px);
    }

    .natgeo-hero__map-wrapper .natgeo-hero__map svg {
        min-height: clamp(280px, 50vw, 400px);
    }

    .natgeo-hero__destinations {
        justify-content: center;
    }
}

.natgeo-hero__favorites {
    align-self: stretch;
}

.natgeo-hero__sidebar {
    display: grid;
    gap: clamp(1.25rem, 2.8vw, 2rem);
    align-self: stretch;
}

@media (min-width: 62rem) {
    .natgeo-hero__layout {
        grid-template-columns: minmax(0, 1.15fr) minmax(260px, 360px);
        align-items: start;
    }

    .natgeo-hero__favorites {
        align-self: end;
        display: flex;
        margin-block-start: 0;
    }

    .natgeo-hero__sidebar {
        align-self: start;
    }

    .natgeo-hero--country .natgeo-hero__layout {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 1.2fr);
        align-items: center;
    }

    .natgeo-hero--country .natgeo-hero__visual {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 0;
        align-self: center;
        width: 100%;
    }

    .natgeo-hero--country .natgeo-hero__map-wrapper {
        width: 100%;
        min-height: clamp(380px, 50vh, 560px);
    }

    .natgeo-hero--country .natgeo-hero__map-wrapper .natgeo-hero__map {
        min-height: 0;
        flex: 1 1 auto;
    }

    .natgeo-hero--country .natgeo-hero__map-wrapper .natgeo-hero__map svg {
        min-height: 0;
    }

    .natgeo-hero--country .natgeo-quick-facts {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* =================================================================
   MOBILE-FIRST COUNTRY HERO LAYOUT (< 62rem / 992px)
   - Prioritizes content visibility on mobile
   - Uses dynamic viewport units for proper sizing
   - Touch-optimized spacing
   ================================================================= */

@media (max-width: 61.99rem) {
    .natgeo-hero__visual--has-mobile-map .natgeo-hero__map--desktop {
        display: none;
    }

    .natgeo-hero__visual--has-mobile-map .natgeo-hero__map--mobile {
        display: flex;
    }

    .natgeo-hero--country .natgeo-hero__layout {
        gap: clamp(1.5rem, 5vw, 2.25rem);
    }

    .natgeo-hero--country .natgeo-hero__visual {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        /* Reduced top padding for mobile to show more content */
        padding: clamp(0.25rem, 3vw, 1rem) 0 0;
    }

    .natgeo-hero--country .natgeo-hero__map-wrapper {
        /* Use dvh for proper mobile viewport handling */
        min-height: clamp(220px, 45vw, 320px);
    }

    .natgeo-hero--country .natgeo-hero__map-wrapper .natgeo-hero__map {
        width: 100%;
    }

    .natgeo-hero--country .natgeo-hero__map svg,
    .natgeo-hero--country .natgeo-hero__map [data-map-fallback]:not([hidden]) {
        /* Smaller map on mobile to prevent cutoff */
        max-height: clamp(220px, 45vw, 320px);
    }

    .natgeo-hero--country .natgeo-hero__quick-facts {
        /* Reduced top padding for tighter mobile layout */
        padding-top: clamp(1.25rem, 4vw, 2rem);
    }

    .natgeo-hero--country .natgeo-quick-facts {
        grid-template-columns: minmax(0, 1fr);
        gap: clamp(0.875rem, 3vw, 1.5rem);
    }

    .natgeo-hero--country .natgeo-quick-facts__item {
        padding: clamp(0.875rem, 4vw, 1.25rem);
    }
}

/* Extra small mobile devices (< 480px) */
@media (max-width: 30rem) {
    .natgeo-hero--country .natgeo-hero__layout {
        gap: clamp(1rem, 4vw, 1.5rem);
    }

    .natgeo-hero--country .natgeo-hero__map-wrapper {
        min-height: clamp(180px, 40vw, 260px);
    }

    .natgeo-hero--country .natgeo-hero__map svg,
    .natgeo-hero--country .natgeo-hero__map [data-map-fallback]:not([hidden]) {
        max-height: clamp(180px, 40vw, 260px);
    }

    /* Single-column quick facts on extra small screens for better mobile UX */
    .natgeo-hero--country .natgeo-quick-facts {
        grid-template-columns: minmax(0, 1fr);
        gap: clamp(0.75rem, 3vw, 1rem);
    }

    .natgeo-hero--country .natgeo-quick-facts__item {
        padding: clamp(0.75rem, 3vw, 1rem);
    }
}

@media (max-width: 48rem) {
    .natgeo-hero__favorites {
        margin-top: 0.5rem;
    }
}

/* =================================================================
   MOBILE-FIRST HERO TYPOGRAPHY
   - Optimized line lengths and font sizes for mobile readability
   - Touch-friendly spacing
   ================================================================= */

.natgeo-hero__tagline {
    font-family: var(--natgeo-sans);
    /* Mobile: Slightly smaller letter-spacing for better fit */
    font-size: 0.7rem;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.75);
}

/* Desktop: Original tagline sizing */
@media (min-width: 62rem) {
    .natgeo-hero__tagline {
        font-size: 0.75rem;
        letter-spacing: 0.55em;
    }
}

.natgeo-hero__title {
    font-family: var(--natgeo-serif);
    font-weight: 600;
    margin: 0;
    /* Mobile-first: Balanced size that doesn't overflow on small screens */
    font-size: clamp(2rem, 8vw, 2.6rem);
    line-height: 1.1;
    /* Prevent very long words from causing horizontal scroll */
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

/* Tablet and up */
@media (min-width: 48rem) {
    .natgeo-hero__title {
        font-size: clamp(2.4rem, 6vw, 3.2rem);
        line-height: 1.08;
    }
}

/* Desktop */
@media (min-width: 62rem) {
    .natgeo-hero__title {
        font-size: clamp(2.8rem, 5vw, 4.25rem);
    }
}

.natgeo-hero__dek {
    max-width: 840px;
    /* Mobile: Slightly larger base size for better readability */
    font-size: clamp(1rem, 4vw, 1.15rem);
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.85);
    /* Improve text rendering on mobile */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Desktop: Original dek sizing */
@media (min-width: 62rem) {
    .natgeo-hero__dek {
        font-size: clamp(1.05rem, 2.2vw, 1.3rem);
        line-height: 1.8;
        color: rgba(255, 255, 255, 0.82);
    }
}

.natgeo-hero__meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    /* Mobile: Tighter letter-spacing */
    font-size: 0.8rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.65);
}

/* Desktop: Original meta styling */
@media (min-width: 62rem) {
    .natgeo-hero__meta {
        gap: 0.75rem;
        font-size: 0.85rem;
        letter-spacing: 0.35em;
    }
}

.natgeo-hero__meta-count {
    font-size: 1.35rem;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: var(--natgeo-gold);
}

.natgeo-hero__quick-facts {
    grid-column: 1 / -1;
    margin-top: 0;
    padding-top: clamp(1rem, 2.5vw, 2rem);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.88);
}

.natgeo-quick-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    grid-auto-rows: 1fr;
    align-items: stretch;
    gap: clamp(1rem, 2.5vw, 2.5rem);
    margin: 0;
    padding: 0;
    list-style: none;
}

.natgeo-quick-facts__item {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
    padding: clamp(1rem, 2vw, 1.5rem);
    border-radius: 1rem;
    background: rgba(0, 20, 14, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
    height: 100%;
    backdrop-filter: none;
}

.natgeo-hero--country .natgeo-quick-facts__item {
    position: relative;
    background: linear-gradient(165deg, rgba(8, 22, 18, 0.92) 0%, rgba(4, 14, 12, 0.96) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #fff;
    overflow: hidden;
}

.natgeo-hero--country .natgeo-quick-facts__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.15) 50%, transparent 100%);
    pointer-events: none;
}

.natgeo-quick-facts__label {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.62);
    margin: 0;
}

.natgeo-quick-facts__value {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0;
    min-height: 3.5rem;
    flex: 1;
    min-width: 0;
}

.natgeo-quick-facts__stats {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
    min-width: 0;
}

.natgeo-quick-facts__stat {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    align-items: flex-start;
}

.natgeo-quick-facts__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.92);
    flex-shrink: 0;
}

.natgeo-quick-facts__icon svg {
    width: 1.5rem;
    height: 1.5rem;
}

.natgeo-quick-facts__stat-content {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.natgeo-quick-facts__stat-label {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.62);
}

.natgeo-quick-facts__stat-value {
    font-family: var(--natgeo-serif);
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    font-weight: 600;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.92);
    overflow-wrap: anywhere;
}

.natgeo-quick-facts__primary {
    font-family: var(--natgeo-serif);
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    font-weight: 600;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.92);
    overflow-wrap: anywhere;
}

.natgeo-quick-facts__secondary {
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
    overflow-wrap: anywhere;
}

.natgeo-quick-facts__eyebrow {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--natgeo-gold);
}

.natgeo-quick-facts__chart {
    width: 100%;
    max-width: 240px;
    height: 64px;
    display: flex;
    align-items: center;
    position: relative;
}

.natgeo-quick-facts__chart::after {
    content: none;
}

.natgeo-quick-facts__chart svg {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
}

@media (max-width: 48rem) {
    .natgeo-quick-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .natgeo-quick-facts__item {
        align-items: center;
        text-align: center;
        gap: 1rem;
    }

    .natgeo-quick-facts__label {
        text-align: center;
    }

    .natgeo-quick-facts__value {
        align-items: flex-start;
        width: 100%;
    }

    .natgeo-quick-facts__stats {
        align-items: flex-start;
        width: 100%;
    }

    .natgeo-quick-facts__stat {
        grid-template-columns: 1fr;
        justify-items: stretch;
        gap: 0.65rem;
        width: 100%;
    }

    .natgeo-quick-facts__stat-content {
        align-items: flex-start;
        text-align: left;
        width: 100%;
    }

    .natgeo-quick-facts__stat-label,
    .natgeo-quick-facts__stat-value,
    .natgeo-quick-facts__primary,
    .natgeo-quick-facts__secondary,
    .natgeo-quick-facts__eyebrow {
        text-align: left;
    }

    .natgeo-quick-facts__chart {
        max-width: none;
        height: 88px;
        margin: 0.5rem auto 0;
    }

    .natgeo-quick-facts__item--currency .natgeo-quick-facts__chart {
        order: 3;
    }

    .natgeo-quick-facts__item--currency .natgeo-quick-facts__primary,
    .natgeo-quick-facts__item--currency .natgeo-quick-facts__secondary {
        align-self: center;
    }

    .natgeo-best-time__calendar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ================================================================
   Regional Subpage V2 Widget Styles
   Styled as individual containers matching country landing page
   ================================================================ */

.natgeo-quick-facts--regional-v2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(1rem, 2.5vw, 1.5rem);
    margin: 0;
    padding: 0;
    list-style: none;
}

.natgeo-quick-facts--regional-v2 .natgeo-quick-facts__item {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 0;
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    border-radius: 1rem;
    background: linear-gradient(165deg, rgba(8, 22, 18, 0.92) 0%, rgba(4, 14, 12, 0.96) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #fff;
    overflow: hidden;
    position: relative;
}

.natgeo-quick-facts--regional-v2 .natgeo-quick-facts__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.15) 50%, transparent 100%);
    pointer-events: none;
}

/* Weather Widget within Regional V2 */
.natgeo-quick-facts__item--weather.weather-widget--hero {
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.natgeo-quick-facts__item--weather.weather-widget--hero::before {
    display: none;
}

.natgeo-quick-facts--regional-v2 .natgeo-quick-facts__item--weather {
    background: linear-gradient(165deg, rgba(8, 22, 18, 0.92) 0%, rgba(4, 14, 12, 0.96) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.03);
    padding: 0;
    overflow: hidden;
}

.natgeo-quick-facts--regional-v2 .natgeo-quick-facts__item--weather::before {
    display: block;
    z-index: 10;
}

/* Climate Widget */
.natgeo-quick-facts__item--climate {
    min-height: 280px;
}

.natgeo-quick-facts__label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.natgeo-quick-facts__sublabel {
    font-size: 0.5rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--natgeo-gold);
    font-weight: 700;
}

.natgeo-quick-facts__chart-area {
    flex: 1;
    min-height: 0;
    position: relative;
}

.natgeo-quick-facts__footer-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 0.5rem;
    font-size: 0.5rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.3);
}

.natgeo-quick-facts__divider {
    height: 1px;
    flex: 1;
    margin: 0 1rem;
    background: rgba(255, 255, 255, 0.05);
}

/* Blueprint Widget */
.natgeo-quick-facts__item--blueprint {
    min-height: 280px;
}

.natgeo-quick-facts__days-display {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin: 0.75rem 0 1rem;
}

.natgeo-quick-facts__days-number {
    font-family: var(--natgeo-serif);
    font-size: clamp(3.5rem, 8vw, 5rem);
    color: #fff;
    line-height: 1;
}

.natgeo-quick-facts__days-label {
    font-family: var(--natgeo-serif);
    font-size: 0.75rem;
    font-style: italic;
    color: rgba(255, 255, 255, 0.6);
}

.natgeo-quick-facts__blueprint-controls {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.natgeo-quick-facts__progress-bar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.natgeo-quick-facts__progress-track {
    flex: 1;
    height: 3px;
    background: rgba(255, 255, 255, 0.05);
    position: relative;
    overflow: hidden;
}

.natgeo-quick-facts__zone {
    position: absolute;
    top: 0;
    height: 100%;
    transition: all 0.3s ease;
}

.natgeo-quick-facts__zone--1 {
    left: 0;
    background: var(--natgeo-gold);
}

.natgeo-quick-facts__zone--2 {
    background: rgba(136, 168, 40, 0.4);
}

.natgeo-quick-facts__zone--3 {
    background: rgba(255, 255, 255, 0.2);
}

.natgeo-quick-facts__zone-labels {
    display: flex;
    justify-content: space-between;
    font-size: 0.5rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 700;
}

.natgeo-quick-facts__status-text {
    margin: 0;
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.2);
    line-height: 1.6;
    font-style: italic;
}

.natgeo-quick-facts__slider-wrap {
    padding-top: 0.5rem;
}

.natgeo-quick-facts__slider {
    width: 100%;
    height: 4px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

.natgeo-quick-facts__slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--natgeo-gold);
    cursor: pointer;
    box-shadow: 0 0 10px rgba(136, 168, 40, 0.5);
}

.natgeo-quick-facts__slider::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--natgeo-gold);
    cursor: pointer;
    border: none;
    box-shadow: 0 0 10px rgba(136, 168, 40, 0.5);
}

.natgeo-quick-facts__slider-labels {
    display: flex;
    justify-content: space-between;
    font-size: 0.5rem;
    color: rgba(255, 255, 255, 0.3);
    margin-top: 0.25rem;
}

/* Highlight Widget */
.natgeo-quick-facts__item--highlight {
    min-height: 280px;
}

.natgeo-quick-facts__highlight-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.natgeo-quick-facts__highlight-icon {
    font-size: 2.5rem;
    color: var(--natgeo-gold);
}

.natgeo-quick-facts__highlight-title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: #fff;
    line-height: 1.3;
}

.natgeo-quick-facts__highlight-desc {
    margin: 0;
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.6;
}

.natgeo-quick-facts__highlight-footer {
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.55rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--natgeo-gold);
    font-weight: 700;
}

/* Mobile styles for regional V2 */
@media (max-width: 48rem) {
    .natgeo-quick-facts--regional-v2 {
        grid-template-columns: 1fr;
    }

    .natgeo-quick-facts__item--climate,
    .natgeo-quick-facts__item--blueprint,
    .natgeo-quick-facts__item--highlight {
        min-height: auto;
    }

    .natgeo-quick-facts__days-number {
        font-size: 3rem;
    }
}

.natgeo-best-time {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
    width: 100%;
    /* Reserve space during loading to prevent CLS */
    min-height: 140px;
}

.natgeo-best-time__calendar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.35rem, 2vw, 0.55rem);
    width: 100%;
}

.natgeo-best-time__month {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: clamp(0.35rem, 1.8vw, 0.55rem) clamp(0.4rem, 2vw, 0.6rem);
    border-radius: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.78);
    font-family: var(--natgeo-sans);
    font-weight: 700;
    font-size: clamp(0.62rem, 1.5vw, 0.78rem);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    line-height: 1;
    text-align: center;
    cursor: default;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease,
        box-shadow 0.2s ease, transform 0.2s ease;
}

.natgeo-best-time__month:focus {
    outline: none;
}

.natgeo-best-time__month:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.7);
    outline-offset: 3px;
}

.natgeo-best-time__month[disabled],
.natgeo-best-time__month--inactive {
    opacity: 0.48;
    border-style: dashed;
    color: rgba(255, 255, 255, 0.55);
    cursor: default;
}

.natgeo-best-time__month--active {
    cursor: pointer;
}

.natgeo-best-time--enhanced .natgeo-best-time__month--active:not([disabled]):hover,
.natgeo-best-time--enhanced .natgeo-best-time__month--active:not([disabled]):focus-visible,
.natgeo-best-time__month--highlight,
.natgeo-best-time__month--selected {
    background: rgba(136, 168, 40, 0.24);
    color: rgba(255, 255, 255, 0.96);
    border-color: rgba(136, 168, 40, 0.7);
    box-shadow: 0 8px 18px rgba(7, 18, 24, 0.28);
    transform: translateY(-1px);
}

.natgeo-best-time__month--selected:focus-visible {
    outline-color: rgba(255, 255, 255, 0.9);
}

.natgeo-best-time__month--range-start::after,
.natgeo-best-time__month--range-end::after {
    content: "";
    position: absolute;
    top: 0.25rem;
    right: 0.25rem;
    width: 0.35rem;
    height: 0.35rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.45);
    box-shadow: 0 0 0 1px rgba(4, 16, 25, 0.32);
}

.natgeo-best-time__month--range-start::after {
    right: auto;
    left: 0.25rem;
}

.natgeo-best-time__details {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.15rem clamp(0.1rem, 1vw, 0.25rem) 0;
    font-family: var(--natgeo-sans);
    text-align: center;
    color: rgba(255, 255, 255, 0.88);
}

.natgeo-best-time__details[hidden] {
    display: none;
}

.natgeo-best-time__details-item {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.natgeo-best-time__details-label {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: clamp(0.58rem, 1.2vw, 0.68rem);
    color: rgba(255, 255, 255, 0.72);
}

.natgeo-best-time__details-range {
    font-size: clamp(0.66rem, 1.8vw, 0.86rem);
    font-weight: 600;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.95);
}

.natgeo-best-time__toggle {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 0.5rem;
}

.natgeo-best-time__toggle-btn {
    flex: 1;
    padding: 0.35rem 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.6);
    font-family: var(--natgeo-sans);
    font-weight: 600;
    font-size: clamp(0.58rem, 1.3vw, 0.72rem);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.natgeo-best-time__toggle-btn:hover {
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.8);
}

.natgeo-best-time__toggle-btn:focus {
    outline: none;
}

.natgeo-best-time__toggle-btn:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.6);
    outline-offset: 2px;
}

.natgeo-best-time__toggle-btn--active {
    background: rgba(136, 168, 40, 0.2);
    color: rgba(255, 255, 255, 0.95);
    border-color: rgba(136, 168, 40, 0.5);
}

.natgeo-best-time__toggle-btn--active:hover {
    background: rgba(136, 168, 40, 0.25);
}

.natgeo-best-time__month--both::before {
    content: "";
    position: absolute;
    top: 0.2rem;
    left: 50%;
    transform: translateX(-50%);
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 50%;
    background: rgba(255, 200, 50, 0.9);
    box-shadow: 0 0 4px rgba(255, 200, 50, 0.6);
}

.natgeo-best-time__month--both.natgeo-best-time__month--highlight,
.natgeo-best-time__month--both.natgeo-best-time__month--selected {
    background: rgba(180, 168, 40, 0.28);
    border-color: rgba(200, 180, 40, 0.7);
}

.natgeo-best-time__legend {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin-top: 0.5rem;
    padding-top: 0.4rem;
}

.natgeo-best-time__legend-dot {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: rgba(255, 200, 50, 0.9);
    box-shadow: 0 0 4px rgba(255, 200, 50, 0.6);
    flex-shrink: 0;
}

.natgeo-best-time__legend-text {
    font-size: clamp(0.58rem, 1.5vw, 0.68rem);
    color: rgba(255, 255, 255, 0.6);
    letter-spacing: 0.03em;
}

.natgeo-quick-facts__spark-area {
    fill: rgba(255, 255, 255, 0.16);
}

.natgeo-quick-facts__spark-line {
    fill: none;
    stroke: rgba(255, 255, 255, 0.9);
    stroke-width: 2;
    stroke-linejoin: round;
    stroke-linecap: round;
    filter: drop-shadow(0 6px 16px rgba(255, 255, 255, 0.22));
}

.natgeo-quick-facts__spark-dot {
    fill: #ffffff;
    stroke: rgba(10, 18, 24, 0.85);
    stroke-width: 1.5;
}

.natgeo-quick-facts__item--currency .natgeo-quick-facts__primary {
    white-space: normal;
}

.natgeo-visa {
    position: relative;
    display: grid;
    gap: clamp(0.5rem, 1.5vw, 0.75rem);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    color: inherit;
    /* Reserve space during loading to prevent CLS */
    min-height: 100px;
}

.natgeo-visa--loading {
    opacity: 0.6;
}

.natgeo-visa__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.natgeo-visa__status {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
}

.natgeo-visa__status[hidden] {
    display: none;
}

.natgeo-visa__status--success {
    color: #cbe78c;
}

.natgeo-visa__status--accent {
    color: #ffd5b3;
}

.natgeo-visa__status--warning {
    color: #ffe9a6;
}

.natgeo-visa__status--danger {
    color: #ffb8a8;
}

.natgeo-visa__status--neutral {
    color: rgba(255, 255, 255, 0.72);
}

.natgeo-visa__info {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.natgeo-visa__info-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: none;
    border-radius: 999px;
    background: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1rem;
    line-height: 1;
    cursor: help;
}

.natgeo-visa__info-button:focus-visible {
    outline: 2px solid var(--natgeo-gold);
    outline-offset: 2px;
}

.natgeo-visa__info-tooltip {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.45rem;
    width: min(18rem, 70vw);
    padding: 0.6rem 0.75rem;
    border-radius: 0.5rem;
    background: rgba(4, 12, 20, 0.92);
    color: rgba(255, 255, 255, 0.92);
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    line-height: 1.45;
    box-shadow: 0 12px 24px rgba(5, 16, 24, 0.45);
    opacity: 0;
    transform: translateY(-0.25rem);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 5;
}

.natgeo-visa__info:hover .natgeo-visa__info-tooltip,
.natgeo-visa__info:focus-within .natgeo-visa__info-tooltip {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.natgeo-visa__summary {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1rem, 1.8vw, 1.2rem);
    line-height: 1.5;
}

.natgeo-visa__summary[hidden] {
    display: none;
}

.natgeo-visa__country {
    border: none;
    background: none;
    color: inherit;
    font: inherit;
    padding: 0;
    margin: 0;
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    cursor: pointer;
}

.natgeo-visa__country:focus-visible {
    outline: 2px solid var(--natgeo-gold);
    outline-offset: 2px;
}

.natgeo-visa__country-wrapper:focus-within .natgeo-visa__country {
    outline: 2px solid var(--natgeo-gold);
    outline-offset: 2px;
}

.natgeo-visa__country--disabled {
    cursor: not-allowed;
    text-decoration: none;
    opacity: 0.6;
}

.natgeo-visa__country--disabled:focus-visible {
    outline: none;
}

.natgeo-visa__details {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: clamp(0.85rem, 1.4vw, 0.95rem);
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.88);
}

.natgeo-visa__details[hidden] {
    display: none;
}

.natgeo-visa__country-wrapper {
    position: relative;
    display: inline-block;
}

.natgeo-visa__label {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.72);
}

.natgeo-visa__select {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: none;
    background: none;
    color: inherit;
    cursor: pointer;
    opacity: 0;
    appearance: none;
}

.natgeo-visa__select option {
    color: var(--natgeo-ink);
    font-weight: 500;
}

.natgeo-visa__select option:hover,
.natgeo-visa__select option:focus,
.natgeo-visa__select option:checked {
    color: var(--natgeo-ink);
    font-weight: 700;
    background-color: var(--natgeo-sand);
}

.natgeo-visa__select--overlay {
    pointer-events: auto;
}

.natgeo-visa__select--disabled {
    cursor: not-allowed;
}

.natgeo-visa__updated {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
}

.natgeo-visa__note {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.68);
}

.natgeo-visa__message {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    color: rgba(255, 211, 173, 0.92);
}

.natgeo-visa__message:empty {
    display: none;
}

.natgeo-article-visa {
    margin: clamp(2rem, 4vw, 3rem) 0;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid #e5ded2;
    border-radius: 1.5rem;
    background: #f6f3ef;
    box-shadow: 0 24px 60px -40px rgba(17, 24, 39, 0.35);
}

.natgeo-article-visa__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(1rem, 3vw, 1.5rem);
    margin-bottom: clamp(1rem, 3vw, 1.5rem);
}

.natgeo-article-visa__titles {
    display: grid;
    gap: 0.35rem;
}

.natgeo-article-visa__eyebrow {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #7c715e;
}

.natgeo-article-visa__title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.35rem, 3vw, 1.7rem);
    color: #1f2a36;
}

.natgeo-article-visa__intro {
    margin: 0;
    color: #3b4148;
    font-size: clamp(0.95rem, 2.4vw, 1.05rem);
    line-height: 1.6;
}

.natgeo-article-visa__badge {
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: #222222;
    color: #f7f6f3;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.natgeo-visa--article {
    padding: clamp(1.1rem, 3vw, 1.6rem);
    border: 1px solid #e5ded2;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: 0 22px 60px -32px rgba(31, 35, 41, 0.2);
    color: #0f1722;
}

.natgeo-visa--article .natgeo-visa__status {
    color: #27472a;
    letter-spacing: 0.16em;
}

.natgeo-visa--article .natgeo-visa__status--success {
    color: #2f7d32;
}

.natgeo-visa--article .natgeo-visa__status--accent {
    color: #b45309;
}

.natgeo-visa--article .natgeo-visa__status--warning {
    color: #d97706;
}

.natgeo-visa--article .natgeo-visa__status--danger {
    color: #b91c1c;
}

.natgeo-visa--article .natgeo-visa__status--neutral {
    color: #475467;
}

.natgeo-visa--article .natgeo-visa__info-button {
    background: #f3f4f6;
    color: #111827;
    border: 1px solid #e5e7eb;
}

.natgeo-visa--article .natgeo-visa__info-tooltip {
    background: #0f172a;
    color: #e5e7eb;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.35);
}

.natgeo-visa--article .natgeo-visa__summary {
    color: #0f1722;
}

.natgeo-visa--article .natgeo-visa__details {
    color: #1f2933;
}

.natgeo-visa--article .natgeo-visa__label {
    color: #475467;
}

.natgeo-visa--article .natgeo-visa__updated {
    color: #667085;
}

.natgeo-visa--article .natgeo-visa__note {
    color: #3b4148;
}

.natgeo-visa--article .natgeo-visa__message {
    color: #9a3412;
}

@media (max-width: 700px) {
    .natgeo-article-visa__header {
        flex-direction: column;
        align-items: flex-start;
    }

    .natgeo-article-visa__badge {
        order: -1;
    }
}

@media (max-width: 600px) {
    .natgeo-visa__header {
        align-items: center;
    }

    .natgeo-visa__info-tooltip {
        right: auto;
        left: 0;
    }
}

/* ------------------------------------------------
   Inline Visa Widget (Modern, Integrated Design)
   ------------------------------------------------ */
.natgeo-visa-inline {
    position: relative;
    margin: clamp(1rem, 2vw, 1.5rem) 0 clamp(2rem, 4vw, 3rem);
    padding: 0;
    border: none;
    background: none;
}

.natgeo-visa-inline--loading {
    opacity: 0.6;
}

.natgeo-visa-inline__header {
    margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
    padding-bottom: clamp(0.75rem, 2vw, 1rem);
    border-bottom: 2px solid #6b8e5c;
}

.natgeo-visa-inline__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem 1rem;
}

.natgeo-visa-inline__title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.35rem, 3vw, 1.7rem);
    font-weight: 500;
    color: #1f2a36;
}

.natgeo-visa-inline__destination {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.1rem, 2.5vw, 1.35rem);
    font-weight: 500;
    color: var(--natgeo-ink, #1f2326);
}

.natgeo-visa-inline__destination-flag {
    width: auto;
    height: 1em;
    object-fit: contain;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
}

.natgeo-visa-inline__intro {
    margin: 0.5rem 0 0;
    font-family: var(--natgeo-sans);
    font-size: clamp(0.9rem, 2vw, 1rem);
    line-height: 1.5;
    color: #4b5563;
}

/* Passport Selector */
.natgeo-visa-inline__selector {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
}

.natgeo-visa-inline__label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    font-weight: 500;
    color: #374151;
    cursor: pointer;
}

.natgeo-visa-inline__label-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
}

.natgeo-visa-inline__select-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 1;
    min-width: 200px;
    max-width: 320px;
}

.natgeo-visa-inline__select {
    width: 100%;
    padding: 0.65rem 2.5rem 0.65rem 0.9rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    font-family: var(--natgeo-sans);
    font-size: 0.95rem;
    color: #1f2937;
    cursor: pointer;
    appearance: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.natgeo-visa-inline__select:hover {
    border-color: #9ca3af;
}

.natgeo-visa-inline__select:focus {
    outline: none;
    border-color: #6b8e5c;
    box-shadow: 0 0 0 3px rgba(107, 142, 92, 0.15);
}

.natgeo-visa-inline__select:disabled {
    background: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
}

.natgeo-visa-inline__select option {
    padding: 0.5rem;
}

.natgeo-visa-inline__select-arrow {
    position: absolute;
    right: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #6b7280;
}

/* Result Area */
.natgeo-visa-inline__result {
    padding: clamp(1rem, 2.5vw, 1.25rem);
    border-radius: 12px;
    background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
    border: 1px solid #e5e7eb;
}

.natgeo-visa-inline__status-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.natgeo-visa-inline__status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: #e5e7eb;
    color: #374151;
}

.natgeo-visa-inline__status[hidden] {
    display: none;
}

.natgeo-visa-inline__status::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
}

.natgeo-visa-inline__status--success {
    background: #dcfce7;
    color: #166534;
}

.natgeo-visa-inline__status--accent {
    background: #ffedd5;
    color: #9a3412;
}

.natgeo-visa-inline__status--warning {
    background: #fef3c7;
    color: #92400e;
}

.natgeo-visa-inline__status--danger {
    background: #fee2e2;
    color: #991b1b;
}

.natgeo-visa-inline__status--neutral {
    background: #e5e7eb;
    color: #374151;
}

/* Info Tooltip */
.natgeo-visa-inline__info {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.natgeo-visa-inline__info-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 1px solid #d1d5db;
    border-radius: 50%;
    background: #fff;
    color: #6b7280;
    cursor: help;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.natgeo-visa-inline__info-button:hover {
    border-color: #9ca3af;
    color: #374151;
}

.natgeo-visa-inline__info-button:focus-visible {
    outline: 2px solid #6b8e5c;
    outline-offset: 2px;
}

.natgeo-visa-inline__info-tooltip {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0.5rem;
    width: min(18rem, 80vw);
    padding: 0.75rem 1rem;
    border-radius: 8px;
    background: #1f2937;
    color: #e5e7eb;
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    line-height: 1.5;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    opacity: 0;
    transform: translateY(-4px);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 10;
}

.natgeo-visa-inline__info:hover .natgeo-visa-inline__info-tooltip,
.natgeo-visa-inline__info:focus-within .natgeo-visa-inline__info-tooltip {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Summary and Details */
.natgeo-visa-inline__summary {
    margin: 0 0 0.5rem;
    font-family: var(--natgeo-serif);
    font-size: clamp(1rem, 2vw, 1.15rem);
    line-height: 1.5;
    color: #1f2937;
}

.natgeo-visa-inline__summary[hidden] {
    display: none;
}

.natgeo-visa-inline__country-wrapper {
    display: inline;
}

.natgeo-visa-inline__country {
    font-weight: 600;
    color: #1f2937;
}

.natgeo-visa-inline__country--disabled {
    opacity: 0.6;
}

.natgeo-visa-inline__select--disabled {
    background: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
}

.natgeo-visa-inline__details {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: clamp(0.85rem, 1.8vw, 0.95rem);
    line-height: 1.6;
    color: #4b5563;
}

.natgeo-visa-inline__details[hidden] {
    display: none;
}

.natgeo-visa-inline__note {
    margin: 0.75rem 0 0;
    padding: 0.6rem 0.9rem;
    border-radius: 6px;
    background: #f0fdf4;
    border-left: 3px solid #6b8e5c;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    line-height: 1.5;
    color: #166534;
}

.natgeo-visa-inline__message {
    margin: 0.5rem 0 0;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    color: #9a3412;
}

.natgeo-visa-inline__message:empty {
    display: none;
}

/* Updated Date */
.natgeo-visa-inline__updated {
    margin: 0.75rem 0 0;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    color: #9ca3af;
}

/* Mobile Adjustments */
@media (max-width: 500px) {
    .natgeo-visa-inline__selector {
        flex-direction: column;
        align-items: stretch;
    }

    .natgeo-visa-inline__select-wrapper {
        max-width: none;
    }

    .natgeo-visa-inline__title-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .natgeo-visa-inline__destination {
        font-size: 0.95rem;
        white-space: nowrap;
    }

    .natgeo-visa-inline__destination-flag {
        height: 0.85em;
        max-height: 14px;
    }

    .natgeo-visa-inline__info-tooltip {
        right: auto;
        left: -2rem;
    }

    /* Fix country name wrapping - ensure proper text flow */
    .natgeo-visa-inline__summary {
        word-break: normal;
        overflow-wrap: break-word;
        hyphens: none;
    }

    .natgeo-visa-inline__country-wrapper {
        display: inline;
        word-break: normal;
    }

    .natgeo-visa-inline__country {
        word-break: normal;
        white-space: normal;
    }
}

.natgeo-quick-facts__primary.natgeo-currency {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0.5rem, 1.6vw, 1rem);
    font-family: var(--natgeo-serif);
    text-align: center;
}

.natgeo-currency__group {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.25rem, 1vw, 0.5rem);
    min-width: 0;
    text-align: center;
}

.natgeo-currency__value-wrap {
    display: inline-flex;
    align-items: baseline;
    gap: clamp(0.25rem, 1vw, 0.45rem);
    font-size: clamp(1.1rem, 2.4vw, 1.6rem);
    line-height: 1;
}

.natgeo-currency__value {
    font-variant-numeric: tabular-nums;
}

.natgeo-currency__symbol {
    font-size: clamp(1rem, 2.2vw, 1.5rem);
    line-height: 1;
}

.natgeo-currency__label {
    display: block;
    font-family: var(--natgeo-sans);
    font-size: clamp(0.55rem, 1.3vw, 0.75rem);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.62);
}

.natgeo-currency__approx {
    font-size: clamp(0.95rem, 2vw, 1.3rem);
    line-height: 1;
}

.natgeo-currency__note {
    font-size: 1.1rem;
    align-self: center;
    margin-left: 0.35rem;
}

.natgeo-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

/* =================================================================
   MOBILE-FIRST BUTTONS
   - Touch-friendly minimum tap targets (44x44px minimum)
   - Better spacing for mobile interactions
   ================================================================= */

.natgeo-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 1.5rem;
    min-height: 44px;
    border: 1px solid var(--natgeo-border, #e8e5de);
    border-radius: 0.5rem;
    background: #fff;
    color: var(--natgeo-charcoal, #222);
    font-family: var(--font-heading, 'Bodoni Moda', Georgia, serif);
    font-weight: 500;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
    text-decoration: none;
    letter-spacing: 0.02em;
    font-size: 0.9375rem;
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.natgeo-button__accent {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: var(--natgeo-sand, #f6f3ef);
}

.natgeo-button__accent svg {
    width: 0.875rem;
    height: 0.875rem;
    stroke: var(--natgeo-gold, #88a828);
    fill: none;
}

.natgeo-button:hover {
    transform: translateY(-2px);
    background: var(--natgeo-sand, #f6f3ef);
    border-color: var(--natgeo-gold, #88a828);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.natgeo-button:hover .natgeo-button__accent {
    background: #fff;
}

.natgeo-button--light {
    background: var(--natgeo-charcoal, #222);
    color: #fff;
    border-color: var(--natgeo-charcoal, #222);
}

.natgeo-button--light:hover {
    background: var(--natgeo-gold, #88a828);
    border-color: var(--natgeo-gold, #88a828);
    color: #fff;
}

/* Country landing page enhancements */

.natgeo-page--country .natgeo-main {
    max-width: 1180px;
    margin: 0 auto;
    padding: clamp(2.5rem, 6vw, 4rem) clamp(1.5rem, 4vw, 3rem) clamp(4rem, 7vw, 5.5rem);
    display: grid;
    gap: clamp(3rem, 6vw, 4.5rem);
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
}

.natgeo-hero--country {
    min-height: clamp(22rem, 55vh, 32rem);
}

.natgeo-section {
    display: grid;
    gap: clamp(1.75rem, 3vw, 2.5rem);
}

.natgeo-section__header {
    display: grid;
    gap: 0.85rem;
    max-width: 720px;
}

.natgeo-section__title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(2rem, 3.6vw, 2.75rem);
    line-height: 1.18;
}

.natgeo-section__intro {
    margin: 0;
    font-size: clamp(1rem, 1.8vw, 1.125rem);
    line-height: 1.75;
    color: var(--natgeo-muted);
}

.natgeo-section__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    font-weight: 700;
    color: var(--natgeo-gold);
}


.natgeo-section--journey .natgeo-journey {
    background: #fff;
    border-radius: calc(var(--natgeo-radius) * 1.1);
    border: 1px solid rgba(16, 24, 32, 0.08);
    padding: clamp(1.65rem, 4vw, 2.4rem);
    display: grid;
    gap: clamp(0.75rem, 1.6vw, 1.35rem);
    width: 100%;
    box-shadow: 0 18px 40px -36px rgba(16, 24, 32, 0.18);
}

.natgeo-journey__kicker {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.24em;
    font-weight: 700;
    color: var(--natgeo-gold);
}

.natgeo-journey__title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(2.05rem, 3.2vw, 2.6rem);
    line-height: 1.18;
}


.natgeo-journey__body {
    font-size: clamp(1.05rem, 2vw, 1.2rem);
    line-height: 1.8;
    color: var(--natgeo-ink);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: clamp(1.2rem, 2.6vw, 1.75rem);
}

.natgeo-journey__body--with-photo {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    column-gap: clamp(1.5rem, 4vw, 3rem);
    align-items: stretch;
}

.natgeo-journey__body--with-photo > :not(.natgeo-journey__photo) {
    grid-column: 1;
}

.natgeo-journey__body p {
    margin: 0;
}

.natgeo-journey__body p:last-child {
    margin-bottom: 0;
}

.natgeo-journey__photo {
    position: relative;
    display: block;
    border-radius: calc(var(--natgeo-radius) * 0.9);
    overflow: hidden;
}

.natgeo-journey__body--with-photo > .natgeo-journey__photo {
    grid-column: 2;
    grid-row: 1 / -1;
    width: 100%;
    height: 100%;
    align-self: stretch;
}

.natgeo-journey__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.natgeo-journey__photo::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(12, 16, 24, 0) 0%, rgba(12, 16, 24, 0.72) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.natgeo-journey__photo::after {
    content: attr(data-caption);
    position: absolute;
    inset: auto 0 0;
    padding: clamp(0.75rem, 2.2vw, 1rem) clamp(0.85rem, 2.4vw, 1.25rem);
    font-family: var(--natgeo-sans);
    font-size: clamp(0.82rem, 1.6vw, 0.95rem);
    line-height: 1.5;
    color: #fff;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}

.natgeo-journey__photo:not(.natgeo-journey__photo--has-caption)::after {
    display: none;
}

.natgeo-journey__photo:hover::before,
.natgeo-journey__photo:focus-within::before {
    opacity: 1;
}

.natgeo-journey__photo:hover::after,
.natgeo-journey__photo:focus-within::after {
    opacity: 1;
    transform: translateY(0);
}

.natgeo-journey__photo:hover img,
.natgeo-journey__photo:focus-within img {
    transform: scale(1.02);
}

@media (max-width: 52rem) {
    .natgeo-section--journey .natgeo-journey {
        padding: clamp(1.35rem, 5vw, 1.8rem);
    }

    .natgeo-journey__body {
        row-gap: clamp(1rem, 4vw, 1.5rem);
    }

    .natgeo-journey__body--with-photo {
        column-gap: clamp(1rem, 4vw, 1.5rem);
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    }
}

@media (hover: none) {
    .natgeo-journey__photo::before,
    .natgeo-journey__photo::after {
        opacity: 1;
        transform: none;
    }

    .natgeo-journey__photo img {
        transform: none;
    }
}

.natgeo-planning-grid {
    display: grid;
    gap: clamp(1.75rem, 3vw, 2.5rem);
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    grid-auto-rows: 1fr;
}

.natgeo-guide-card {
    position: relative;
    height: clamp(22rem, 45vw, 31.25rem);
    color: #fff;
}

.natgeo-guide-card__link {
    position: relative;
    display: block;
    height: 100%;
    border-radius: 0;
    overflow: hidden;
    background: #0a0b11;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 32px 60px -30px rgba(8, 12, 18, 0.8);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    isolation: isolate;
}

.natgeo-guide-card__link:focus-visible {
    outline: 3px solid var(--natgeo-gold);
    outline-offset: 3px;
}

.natgeo-guide-card--interactive .natgeo-guide-card__link {
    cursor: pointer;
}

.natgeo-guide-card--interactive .natgeo-guide-card__link:hover,
.natgeo-guide-card--interactive .natgeo-guide-card__link:focus-visible {
    transform: translateY(-10px);
    box-shadow: 0 42px 90px -38px rgba(8, 12, 18, 0.9);
}

.natgeo-guide-card__link--disabled {
    cursor: default;
    pointer-events: none;
}

.natgeo-guide-card__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.natgeo-guide-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(0.85);
    transition: transform 0.6s ease;
}

.natgeo-guide-card--interactive .natgeo-guide-card__link:hover .natgeo-guide-card__media img,
.natgeo-guide-card--interactive .natgeo-guide-card__link:focus-visible .natgeo-guide-card__media img {
    transform: scale(1.08);
}

.natgeo-guide-card__media--placeholder {
    background: linear-gradient(145deg, rgba(33, 37, 43, 0.85), rgba(15, 17, 21, 0.95));
}

.natgeo-guide-card__color-overlay {
    position: absolute;
    inset: 0;
    background: rgba(54, 70, 84, 0.55);
    transition: background 0.4s ease;
    z-index: 1;
}

.natgeo-guide-card__gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8, 12, 18, 0) 35%, rgba(8, 12, 18, 0.9) 90%);
    z-index: 2;
    pointer-events: none;
}

.natgeo-guide-card--interactive .natgeo-guide-card__link:hover .natgeo-guide-card__color-overlay,
.natgeo-guide-card--interactive .natgeo-guide-card__link:focus-visible .natgeo-guide-card__color-overlay {
    background: rgba(42, 54, 66, 0.75);
}

.natgeo-guide-card__body {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    text-align: center;
    padding: clamp(2.5rem, 4vw, 3.75rem) clamp(1.5rem, 4vw, 2.5rem);
    gap: clamp(0.75rem, 2vw, 1.25rem);
}

.natgeo-guide-card__badge {
    width: clamp(3.2rem, 15%, 4.6rem);
    height: auto;
    margin-bottom: clamp(0.2rem, 1vw, 0.8rem);
    filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.45));
    transition: transform 0.45s ease, filter 0.45s ease;
}

.natgeo-guide-card--interactive .natgeo-guide-card__link:hover .natgeo-guide-card__badge,
.natgeo-guide-card--interactive .natgeo-guide-card__link:focus-visible .natgeo-guide-card__badge {
    transform: scale(1.12);
}

.natgeo-guide-card__titles {
    display: grid;
    gap: clamp(0.4rem, 1.5vw, 0.75rem);
}

.natgeo-guide-card__eyebrow {
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.78);
}

.natgeo-guide-card__title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.6rem, 3vw, 2.1rem);
    line-height: 1.25;
    text-shadow: 0 12px 18px rgba(0, 0, 0, 0.45);
    position: relative;
}

.natgeo-guide-card__title::after {
    content: "";
    display: block;
    width: clamp(2.75rem, 40%, 4.5rem);
    height: 0.2rem;
    margin: clamp(0.55rem, 1.2vw, 0.85rem) auto 0;
    background: var(--natgeo-gold);
    border-radius: 999px;
    transform-origin: center;
    transform: scaleX(0.35);
    transition: transform 0.4s ease;
}

.natgeo-guide-card--interactive .natgeo-guide-card__link:hover .natgeo-guide-card__title::after,
.natgeo-guide-card--interactive .natgeo-guide-card__link:focus-visible .natgeo-guide-card__title::after {
    transform: scaleX(1);
}

.natgeo-guide-card__info {
    margin: 0;
    font-size: clamp(0.95rem, 2.1vw, 1.05rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
    max-width: 36ch;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.45s ease, transform 0.45s ease;
}

.natgeo-guide-card--interactive .natgeo-guide-card__link:hover .natgeo-guide-card__info,
.natgeo-guide-card--interactive .natgeo-guide-card__link:focus-visible .natgeo-guide-card__info {
    opacity: 1;
    transform: translateY(0);
}

@media (hover: none) {
    .natgeo-guide-card__info {
        opacity: 1;
        transform: none;
    }
}

.natgeo-guide-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.8rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.95);
    padding: 0.35rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    transition: background 0.35s ease, color 0.35s ease;
}

.natgeo-guide-card__cta svg {
    width: 1.1rem;
    height: 1.1rem;
    stroke: currentColor;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.4s ease, opacity 0.4s ease;
}

.natgeo-guide-card--interactive .natgeo-guide-card__link:hover .natgeo-guide-card__cta,
.natgeo-guide-card--interactive .natgeo-guide-card__link:focus-visible .natgeo-guide-card__cta {
    background: rgba(255, 255, 255, 0.22);
    color: #10141c;
}

.natgeo-guide-card--interactive .natgeo-guide-card__link:hover .natgeo-guide-card__cta svg,
.natgeo-guide-card--interactive .natgeo-guide-card__link:focus-visible .natgeo-guide-card__cta svg {
    transform: translateX(6px);
}

.natgeo-guide-card__placeholder {
    display: inline-block;
    padding: 0.4rem 1.2rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 0.78rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.85);
}

.natgeo-guide-card--empty .natgeo-guide-card__color-overlay {
    background: rgba(36, 42, 54, 0.75);
}

.natgeo-guide-card--empty .natgeo-guide-card__gradient {
    background: linear-gradient(180deg, rgba(10, 12, 18, 0.2) 35%, rgba(10, 12, 18, 0.9) 95%);
}

.natgeo-guide-card--empty .natgeo-guide-card__link {
    box-shadow: none;
}
@media (max-width: 640px) {
    .natgeo-journey__title {
        font-size: 1.85rem;
    }
}

.natgeo-section__actions {
    display: flex;
    justify-content: center;
}

.natgeo-fact-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.natgeo-fact-card {
    position: relative;
    padding: 1.75rem 1.65rem;
    border-radius: var(--natgeo-radius);
    background: var(--natgeo-cloud);
    border: 1px solid rgba(16, 24, 32, 0.08);
    box-shadow: 0 24px 45px -32px rgba(16, 24, 32, 0.35);
    display: grid;
    gap: 0.75rem;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.natgeo-fact-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 32px 55px -28px rgba(16, 24, 32, 0.45);
}

.natgeo-fact-card__icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 105, 77, 0.18) 0%, rgba(255, 105, 77, 0.08) 100%);
    color: #ff694d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    box-shadow: 0 8px 20px -8px rgba(255, 105, 77, 0.25);
}

.natgeo-fact-card__icon i {
    font-size: 1.35rem;
}

.natgeo-fact-card__label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    color: var(--natgeo-muted);
    font-weight: 700;
}

.natgeo-fact-card__value {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.6rem, 3vw, 2.1rem);
    line-height: 1.2;
}

.natgeo-fact-card__description {
    margin: 0;
    color: var(--natgeo-muted);
    line-height: 1.7;
}

.natgeo-tip-grid {
    display: grid;
    gap: 1.75rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.natgeo-tip-card {
    position: relative;
    border-radius: var(--natgeo-radius);
    background: linear-gradient(135deg, rgba(16, 24, 32, 0.96), rgba(16, 24, 32, 0.78));
    color: #fff;
    padding: 2.1rem 1.85rem 2rem;
    display: grid;
    gap: 1rem;
    box-shadow: 0 28px 48px -30px rgba(16, 24, 32, 0.75);
    overflow: hidden;
}

.natgeo-tip-card__icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: #ffdd99;
}

.natgeo-tip-card__icon i {
    font-size: 1.3rem;
}

.natgeo-tip-card__title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: 1.6rem;
    line-height: 1.25;
}

.natgeo-tip-card__body {
    color: rgba(255, 255, 255, 0.78);
}

.natgeo-tip-card__body ul,
.natgeo-tip-card__body ol {
    margin-left: 1.2rem;
}

.natgeo-map-block--country .natgeo-map-block__body {
    display: grid;
    gap: 1.5rem;
}

.natgeo-map-block__legend {
    background: rgba(16, 24, 32, 0.04);
    border-radius: var(--natgeo-radius);
    padding: 1.25rem 1.5rem;
    border: 1px solid rgba(16, 24, 32, 0.08);
    display: grid;
    gap: 1rem;
}

.natgeo-map-block__legend-title {
    margin: 0;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.32em;
    color: var(--natgeo-muted);
    font-weight: 700;
}

.natgeo-map-block__legend-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1rem;
}

.natgeo-map-block__legend-item {
    display: grid;
    gap: 0.4rem;
    grid-template-columns: auto 1fr;
    align-items: start;
    column-gap: 0.75rem;
}

.natgeo-map-block__legend-swatch {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    background: var(--legend-color, #ff694d);
    border: 1px solid rgba(16, 24, 32, 0.12);
    margin-top: 0.35rem;
}

.natgeo-map-block__legend-name {
    font-weight: 600;
}

.natgeo-map-block__legend-description {
    margin: 0;
    color: var(--natgeo-muted);
    font-size: 0.95rem;
    line-height: 1.6;
}

@media (min-width: 62rem) {
    .natgeo-map-block--country .natgeo-map-block__body {
        grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
    }
}

@media (max-width: 48rem) {
    .natgeo-section__title {
        font-size: 1.8rem;
    }

    .natgeo-tip-card {
        padding: 1.75rem 1.5rem;
    }
}

.natgeo-hero__active-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(15, 20, 25, 0.35);
    backdrop-filter: blur(8px);
}

.natgeo-label {
    font-size: 0.65rem;
    letter-spacing: 0.38em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.6);
}

.natgeo-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    background: var(--natgeo-gold);
    color: #111;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-size: 0.7rem;
}

.natgeo-reset {
    font-size: 0.7rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
}

.natgeo-reset:hover {
    color: var(--natgeo-gold);
}

.natgeo-hero__feature {
    display: grid;
    gap: 0.9rem;
    padding: clamp(1.5rem, 4vw, 2.6rem);
    border-radius: var(--natgeo-radius);
    background: rgba(15, 20, 25, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 28px 60px -30px rgba(4, 6, 8, 0.9);
    text-decoration: none;
    color: inherit;
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
    max-width: min(100%, 720px);
}

.natgeo-hero__feature:hover {
    transform: translateY(-4px);
    border-color: rgba(136, 168, 40, 0.6);
    box-shadow: 0 38px 90px -32px rgba(0, 0, 0, 0.85);
}

.natgeo-hero__feature-kicker {
    font-size: 0.72rem;
    letter-spacing: 0.45em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--natgeo-gold);
}

.natgeo-hero__feature h2 {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    line-height: 1.25;
    color: #fff;
}

.natgeo-hero__feature p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.78);
}

.natgeo-hero__feature-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    font-size: 0.85rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
}

.natgeo-hero__feature-meta > * + *::before {
    content: "•";
    margin: 0 0.6rem;
    color: rgba(255, 255, 255, 0.4);
}

.natgeo-hero__feature-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.78rem;
    letter-spacing: 0.38em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--natgeo-gold);
}

.natgeo-hero__filters {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
    padding-top: 0.5rem;
}

.natgeo-chip-row {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.natgeo-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    font-weight: 600;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.natgeo-chip:hover {
    background: rgba(136, 168, 40, 0.2);
    border-color: var(--natgeo-gold);
    color: #fff;
    transform: translateY(-1px);
}

.natgeo-chip--active {
    background: var(--natgeo-gold);
    color: var(--natgeo-black);
    border-color: var(--natgeo-gold);
    font-weight: 700;
}

.natgeo-main {
    position: relative;
    max-width: 1180px;
    margin: clamp(3rem, 6vw, 5rem) auto clamp(4rem, 7vw, 6rem);
    padding: 0 clamp(1.5rem, 4vw, 3rem);
    display: grid;
    gap: clamp(2.5rem, 5vw, 3.5rem);
    grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr);
    align-items: start;
}

.natgeo-section-heading {
    border-left: 4px solid var(--natgeo-gold);
    padding-left: 1rem;
}

.natgeo-section-heading__label {
    font-size: 0.75rem;
    letter-spacing: 0.5em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--natgeo-muted);
}

/* =================================================================
   BLOG CARD GRID - Redesigned blog index cards
   Matches the "More stories you might like" carousel style
   ================================================================= */

.natgeo-blog-grid {
    margin-top: clamp(1.5rem, 3vw, 2rem);
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
}

@media (min-width: 560px) {
    .natgeo-blog-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

@media (min-width: 900px) {
    .natgeo-blog-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.natgeo-blog-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 0.75rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--natgeo-border, #e8e5de);
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.natgeo-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.natgeo-blog-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.natgeo-blog-card__image {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--natgeo-sand, #f6f3ef);
}

.natgeo-blog-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.natgeo-blog-card:hover .natgeo-blog-card__image img {
    transform: scale(1.05);
}

.natgeo-blog-card__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 1rem;
}

.natgeo-blog-card__kicker {
    display: block;
    margin-bottom: 0.375rem;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--natgeo-gold, #88a828);
}

.natgeo-blog-card__title {
    margin: 0;
    font-family: var(--font-heading, 'Bodoni Moda', Georgia, serif);
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--natgeo-charcoal, #222);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.natgeo-blog-card__excerpt {
    margin: 0.5rem 0 0;
    font-size: 0.8125rem;
    color: var(--natgeo-muted, #6f7376);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.natgeo-blog-card__meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 0.75rem;
    font-size: 0.75rem;
    color: var(--natgeo-muted, #6f7376);
}

.natgeo-blog-card__author {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.natgeo-blog-card__author-avatar {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
}

/* Mobile optimizations for blog cards */
@media (max-width: 559px) {
    .natgeo-blog-card__content {
        padding: 0.875rem 1rem 1rem;
    }

    .natgeo-blog-card__title {
        font-size: 1rem;
    }

    .natgeo-blog-card__excerpt {
        -webkit-line-clamp: 2;
    }
}

/* Touch interactions for mobile */
@media (hover: none) {
    .natgeo-blog-card:active {
        transform: scale(0.98);
    }

    .natgeo-blog-card:hover {
        transform: none;
        box-shadow: none;
    }
}

/* =================================================================
   OLD CARD GRID (kept for backwards compatibility)
   ================================================================= */

.natgeo-card-grid {
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
    display: grid;
    gap: clamp(1.75rem, 3.5vw, 2.5rem);
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.natgeo-card {
    background: #fff;
    border-radius: var(--natgeo-radius);
    border: 1px solid var(--natgeo-border);
    box-shadow: 0 30px 60px -40px rgba(16, 24, 32, 0.35);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.natgeo-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 36px 80px -40px rgba(16, 24, 32, 0.45);
}

.natgeo-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.natgeo-card__media {
    position: relative;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    border-radius: var(--natgeo-radius) var(--natgeo-radius) 0 0;
    background: rgba(16, 24, 32, 0.18);
}

.natgeo-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.natgeo-card:hover .natgeo-card__media img {
    transform: scale(1.05);
}

.natgeo-card__body {
    display: grid;
    gap: 0.85rem;
    padding: clamp(1.35rem, 3vw, 1.8rem);
    flex: 1;
}

.natgeo-card__kicker {
    font-size: 0.68rem;
    letter-spacing: 0.38em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--natgeo-muted);
}

.natgeo-card__title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: 1.35rem;
    line-height: 1.35;
    color: var(--natgeo-ink);
}

.natgeo-card__excerpt {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.7;
    color: var(--natgeo-muted);
}

.natgeo-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    font-size: 0.8rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--natgeo-muted);
}

.natgeo-card__meta > * + *::before {
    content: "•";
    margin: 0 0.5rem;
    color: rgba(31, 35, 38, 0.25);
}

.natgeo-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.natgeo-card__tags span {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    background: rgba(16, 24, 32, 0.08);
    color: var(--natgeo-ink);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* When cards need to be constrained (few items) */
.natgeo-card-grid--constrained {
    grid-template-columns: repeat(auto-fit, minmax(280px, 380px));
    justify-content: center;
}

/* Single card - center and limit width */
.natgeo-card-grid--single {
    grid-template-columns: minmax(280px, 420px);
    justify-content: center;
}

/* Two cards - limit width each */
.natgeo-card-grid--two {
    grid-template-columns: repeat(2, minmax(280px, 380px));
    justify-content: center;
}

@media (max-width: 48rem) {
    .natgeo-card-grid--single,
    .natgeo-card-grid--two,
    .natgeo-card-grid--constrained {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }
}

.natgeo-empty {
    background: #fff;
    border-radius: var(--natgeo-radius);
    border: 1px dashed var(--natgeo-border-strong);
    padding: clamp(2.5rem, 5vw, 3.5rem);
    text-align: center;
    display: grid;
    gap: 1rem;
    color: var(--natgeo-ink);
}

.natgeo-empty__icon {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(136, 168, 40, 0.22);
    margin: 0 auto;
    font-size: 1.6rem;
}

.natgeo-pagination {
    margin-top: clamp(2.5rem, 4vw, 3.2rem);
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 0.78rem;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    font-weight: 700;
}

.natgeo-pagination a,
.natgeo-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    border: 1px solid var(--natgeo-border);
    background: #fff;
    color: var(--natgeo-ink);
    text-decoration: none;
    transition: border-color 0.3s ease, background 0.3s ease, color 0.3s ease;
}

.natgeo-pagination a:hover {
    border-color: var(--natgeo-gold);
    color: var(--natgeo-black);
    background: rgba(136, 168, 40, 0.25);
}

.natgeo-pagination .current {
    background: var(--natgeo-black);
    color: var(--natgeo-gold);
    border-color: var(--natgeo-black);
}

.natgeo-sidebar {
    background: #fff;
    border-radius: var(--natgeo-radius);
    border: 1px solid var(--natgeo-border);
    box-shadow: 0 24px 60px -42px rgba(16, 24, 32, 0.35);
    padding: clamp(1.75rem, 3.5vw, 2.5rem);
    display: grid;
    gap: 2rem;
    position: sticky;
    top: calc(var(--navbar-height, 96px) + 2rem);
}

.natgeo-sidebar__label {
    font-size: 0.68rem;
    letter-spacing: 0.45em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--natgeo-muted);
}

.natgeo-sidebar__intro {
    margin: 0.65rem 0 0;
    font-size: 0.98rem;
    line-height: 1.6;
    color: var(--natgeo-muted);
}

.natgeo-sidebar__block h2 {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: 1.2rem;
    line-height: 1.3;
}

.natgeo-sidebar__chips {
    margin-top: 1.1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.natgeo-chip--hidden {
    display: none;
}

.natgeo-chip-toggle {
    margin-top: 0.85rem;
    border: none;
    background: transparent;
    color: var(--natgeo-gold);
    font-size: 0.78rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
}

.natgeo-chip-toggle:hover {
    color: var(--natgeo-black);
}

.natgeo-sidebar .natgeo-chip {
    background: #fff;
    border: 1px solid var(--natgeo-border);
    color: var(--natgeo-ink);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    padding: 0.5rem 0.875rem;
}

.natgeo-sidebar .natgeo-chip:hover {
    background: var(--natgeo-sand);
    border-color: var(--natgeo-gold);
    color: var(--natgeo-ink);
    transform: translateY(-1px);
}

.natgeo-sidebar .natgeo-chip--active {
    background: var(--natgeo-gold);
    color: var(--natgeo-black);
    border-color: var(--natgeo-gold);
    font-weight: 700;
}

.natgeo-favorites {
    position: relative;
    display: grid;
    gap: clamp(1.4rem, 3vw, 2.05rem);
    color: rgba(239, 244, 248, 0.94);
}

.natgeo-hero__feature.natgeo-favorites {
    padding: clamp(1.6rem, 4vw, 2.8rem);
    transition: border-color 0.4s ease, box-shadow 0.4s ease;
}

.natgeo-hero__feature.natgeo-favorites:hover {
    transform: none;
    border-color: rgba(255, 255, 255, 0.18);
    box-shadow: 0 28px 60px -30px rgba(4, 6, 8, 0.9);
}

.natgeo-top-three {
    display: grid;
    gap: clamp(1.1rem, 2.4vw, 1.6rem);
    color: rgba(239, 244, 248, 0.94);
}

.natgeo-top-three.natgeo-hero__feature {
    transition: none;
}

.natgeo-top-three.natgeo-hero__feature:hover {
    transform: none;
    border-color: rgba(255, 255, 255, 0.18);
    box-shadow: 0 28px 60px -30px rgba(4, 6, 8, 0.9);
}

.natgeo-top-three__headline {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.45rem, 3vw, 2rem);
    line-height: 1.25;
    font-weight: 600;
    color: #fff;
}

.natgeo-top-three__intro {
    margin: 0;
    font-size: clamp(0.95rem, 1.8vw, 1.05rem);
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.78);
}

.natgeo-top-three__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: clamp(0.75rem, 1.8vw, 1.1rem);
}

.natgeo-top-three__item {
    position: relative;
}

.natgeo-top-three__link {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: clamp(0.85rem, 1.8vw, 1.2rem);
    padding: clamp(0.85rem, 2.2vw, 1.1rem) clamp(0.95rem, 2.6vw, 1.35rem);
    border-radius: calc(var(--natgeo-radius) * 0.9);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: inherit;
    text-decoration: none;
    transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.natgeo-top-three__link:hover {
    transform: translateY(-2px);
    border-color: rgba(136, 168, 40, 0.5);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 14px 32px -16px rgba(0, 0, 0, 0.65);
}

.natgeo-top-three__link:focus-visible {
    outline: 2px solid var(--natgeo-gold);
    outline-offset: 6px;
}

.natgeo-top-three__media {
    position: relative;
    display: grid;
    width: clamp(3.4rem, 7vw, 4rem);
    aspect-ratio: 1;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: linear-gradient(135deg, rgba(136, 168, 40, 0.16), rgba(136, 168, 40, 0.04));
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18);
    margin-top: 0.1rem;
}

.natgeo-top-three__thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.natgeo-top-three__thumb--placeholder {
    display: grid;
    place-items: center;
    color: rgba(255, 255, 255, 0.6);
    background: linear-gradient(135deg, rgba(136, 168, 40, 0.18), rgba(136, 168, 40, 0.08));
}

.natgeo-top-three__badge {
    position: absolute;
    top: 6px;
    right: 6px;
    min-width: 1.75rem;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: rgba(11, 15, 18, 0.7);
    color: #fff;
    font-weight: 800;
    letter-spacing: 0.08em;
    font-size: 0.8rem;
    text-align: center;
    line-height: 1.2;
}

.natgeo-top-three__copy {
    display: grid;
    gap: 0.4rem;
    min-width: 0;
    padding-top: 0.1rem;
}

.natgeo-top-three__kicker {
    font-size: 0.7rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
}

.natgeo-top-three__title {
    font-family: var(--natgeo-serif);
    font-size: clamp(1.05rem, 2.2vw, 1.3rem);
    line-height: 1.35;
    color: #fff;
}

.natgeo-top-three__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 0.85rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
}

.natgeo-top-three__meta > * + *::before {
    content: "•";
    margin: 0 0.5rem;
    color: rgba(255, 255, 255, 0.4);
}

.natgeo-top-three__author {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.natgeo-top-three__author-avatar {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.25);
    flex-shrink: 0;
}

.natgeo-top-three__arrow {
    font-size: 1.1rem;
    color: var(--natgeo-gold);
    margin-top: 0.2rem;
    opacity: 0.8;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.natgeo-top-three__link:hover .natgeo-top-three__arrow {
    opacity: 1;
    transform: translateX(2px);
}

.natgeo-favorites__headline {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.65rem, 3.4vw, 2.3rem);
    line-height: 1.25;
    font-weight: 600;
    color: #fff;
}

.natgeo-favorites__intro {
    margin: 0;
    font-size: clamp(0.95rem, 1.8vw, 1.05rem);
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.78);
}

.natgeo-favorites__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: clamp(0.85rem, 2vw, 1.2rem);
}

.natgeo-favorites__item {
    position: relative;
}

.natgeo-favorites__link {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: clamp(0.85rem, 1.8vw, 1.3rem);
    align-items: center;
    padding: clamp(0.85rem, 2.2vw, 1.2rem);
    border-radius: calc(var(--natgeo-radius) * 0.9);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: inherit;
    text-decoration: none;
    transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.natgeo-favorites__link::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(125deg, rgba(136, 168, 40, 0.22), rgba(136, 168, 40, 0));
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
}

.natgeo-favorites__link:focus-visible {
    outline: 2px solid var(--natgeo-gold);
    outline-offset: 6px;
}

.natgeo-favorites__media {
    position: relative;
    display: grid;
    place-items: center;
    width: clamp(3rem, 6.5vw, 3.6rem);
    aspect-ratio: 1;
    border-radius: 18px;
    background: rgba(8, 16, 24, 0.55);
    overflow: hidden;
}

.natgeo-favorites__number {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    letter-spacing: 0.5em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.72);
    z-index: 1;
}

.natgeo-favorites__thumb {
    position: absolute;
    inset: 0;
    opacity: 0.88;
    mix-blend-mode: screen;
}

.natgeo-favorites__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.natgeo-favorites__body {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
}

.natgeo-favorites__meta {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.6rem;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.66);
}

.natgeo-favorites__category {
    color: inherit;
}

.natgeo-favorites__title {
    font-family: var(--natgeo-serif);
    font-size: clamp(1.05rem, 1.4vw, 1.35rem);
    line-height: 1.32;
    font-weight: 600;
    color: #fff;
    transition: color 0.3s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    hyphens: auto;
}

.natgeo-favorites__description {
    font-size: 0.82rem;
    line-height: 1.55;
    color: rgba(230, 236, 240, 0.8);
}

.natgeo-favorites__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(2.15rem, 4vw, 2.6rem);
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(10, 18, 26, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.18);
    transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}

.natgeo-favorites__arrow svg {
    width: 1.2rem;
    height: 1.2rem;
    stroke: rgba(255, 255, 255, 0.65);
    transition: stroke 0.3s ease;
}

.natgeo-favorites__link:hover {
    transform: translateY(-4px);
    background: rgba(15, 20, 25, 0.85);
    border-color: rgba(136, 168, 40, 0.5);
    box-shadow: 0 34px 62px -38px rgba(8, 19, 30, 0.82);
}

.natgeo-favorites__link:hover::before {
    opacity: 1;
}

.natgeo-favorites__link:hover .natgeo-favorites__title {
    color: var(--natgeo-gold);
}

.natgeo-favorites__link:hover .natgeo-favorites__meta {
    color: rgba(255, 255, 255, 0.82);
}

.natgeo-favorites__link:hover .natgeo-favorites__arrow {
    transform: translateX(6px);
    background: rgba(136, 168, 40, 0.22);
    border-color: rgba(136, 168, 40, 0.55);
}

.natgeo-favorites__link:hover .natgeo-favorites__arrow svg {
    stroke: var(--natgeo-gold);
}

.natgeo-favorites__link:hover .natgeo-favorites__number {
    color: var(--natgeo-gold);
}

@media (max-width: 40rem) {
    .natgeo-favorites__headline {
        font-size: clamp(1.35rem, 7vw, 1.85rem);
    }

    .natgeo-favorites__link {
        gap: 0.65rem;
    }

    .natgeo-favorites__media {
        width: clamp(4rem, 26vw, 5.25rem);
    }

    .natgeo-favorites__arrow {
        margin-top: 0.15rem;
    }
}

.natgeo-article {
    background: #fff;
    color: var(--natgeo-ink);
    font-family: var(--natgeo-sans);
    margin: 0;
    --natgeo-article-main-width: clamp(44rem, 58vw, 54rem);
}

.natgeo-article__hero {
    position: relative;
    overflow: hidden;
    background: var(--natgeo-black);
    color: var(--natgeo-cloud);
    padding: clamp(4rem, 9vw, 7rem) 0 clamp(3rem, 6vw, 5rem);
    padding-top: calc(var(--navbar-height, 96px) + clamp(4rem, 9vw, 7rem));
}

.natgeo-article__hero--with-image {
    background-image: linear-gradient(to bottom, rgba(16, 24, 32, 0.4) 0%, rgba(16, 24, 32, 0.55) 35%, rgba(16, 24, 32, 0.85) 100%), var(--article-hero, none);
    background-size: cover;
    background-position: center;
}

.natgeo-article__overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 15% 30%, rgba(136, 168, 40, 0.16), transparent 55%);
    pointer-events: none;
}

.natgeo-article__header {
    position: relative;
    max-width: var(--natgeo-article-main-width, 54rem);
    margin: 0 auto;
    padding: 0 clamp(1.5rem, 4vw, 3rem);
    display: grid;
    gap: 1.25rem;
    text-align: left;
}

.natgeo-article__kicker {
    font-size: 0.7rem;
    letter-spacing: 0.45em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--natgeo-gold);
}

.natgeo-article__header h1 {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(2.6rem, 6vw, 3.8rem);
    line-height: 1.1;
}

.natgeo-article__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    font-size: 0.85rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
}

.natgeo-article__meta > * + *::before {
    content: "•";
    margin: 0 0.6rem;
    color: rgba(255, 255, 255, 0.35);
}

.natgeo-article__dek {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.88);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.natgeo-article__meta-bar {
    max-width: var(--natgeo-article-main-width, 54rem);
    margin: clamp(1.5rem, 4vw, 2.75rem) auto 0;
    padding: 0 clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 3vw, 1.75rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    border-bottom: 1px solid var(--natgeo-border);
    color: var(--natgeo-ink);
}

.natgeo-article__meta-info {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-family: var(--natgeo-sans);
    line-height: 1.4;
}

.natgeo-article__meta-author {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.natgeo-article__meta-author .natgeo-article__meta-label {
    margin-right: 0.65rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: var(--natgeo-muted);
}

.natgeo-article__meta-date {
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--natgeo-muted);
}

/* Author Avatar */
.natgeo-article__author-avatar {
    position: relative;
    flex-shrink: 0;
}

.natgeo-article__author-avatar-link {
    display: inline-flex;
    border-radius: 50%;
}

.natgeo-article__author-avatar-img {
    width: 3.5rem;
    height: 3.5rem;
    object-fit: cover;
    border-radius: 50%;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.natgeo-article__author-avatar:hover .natgeo-article__author-avatar-img,
.natgeo-article__author-avatar:focus-within .natgeo-article__author-avatar-img {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.natgeo-article__author-info-box {
    position: absolute;
    top: calc(100% + 0.75rem);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    min-width: 18rem;
    max-width: 24rem;
    padding: 1rem 1.25rem;
    background: rgba(15, 23, 42, 0.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 0.75rem;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 100;
}

.natgeo-article__author-info-box::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid rgba(15, 23, 42, 0.97);
}

.natgeo-article__author-avatar:hover .natgeo-article__author-info-box,
.natgeo-article__author-avatar:focus-within .natgeo-article__author-info-box {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}

.natgeo-article__author-info-name {
    margin: 0 0 0.25rem 0;
    font-family: var(--natgeo-sans);
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
}

.natgeo-article__author-info-role {
    margin: 0 0 0.75rem 0;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--natgeo-gold);
}

.natgeo-article__author-info-map {
    margin: 0.75rem 0;
    padding: 0.5rem;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 0.5rem;
}

.natgeo-article__author-info-map svg {
    width: 100%;
    height: auto;
    display: block;
}

.natgeo-article__author-info-map svg .author-world-map__outline {
    stroke: rgba(255, 255, 255, 0.6);
    stroke-width: 0.4;
}

.natgeo-article__author-info-map svg .author-world-map__visited {
    fill: var(--natgeo-gold);
    stroke: none;
}

.natgeo-article__author-info-bio {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 0.875rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.8);
}

.natgeo-article__author-info-link {
    display: inline-flex;
    margin-top: 0.75rem;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--natgeo-gold);
    text-decoration: none;
}

.natgeo-article__author-info-link:hover,
.natgeo-article__author-info-link:focus-visible {
    color: #fff;
    text-decoration: underline;
}

.natgeo-article__listen {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-family: var(--natgeo-sans);
    min-width: 0;
    flex: 1 1 18rem;
}

.natgeo-article__listen-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    border: 1px solid var(--natgeo-border);
    background-color: #fff;
    color: var(--natgeo-ink);
    cursor: pointer;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.natgeo-article__listen-toggle:hover,
.natgeo-article__listen-toggle:focus {
    border-color: var(--natgeo-border-strong);
    transform: scale(1.03);
}

.natgeo-article__listen-toggle:focus-visible {
    outline: 2px solid var(--natgeo-gold);
    outline-offset: 3px;
}

.natgeo-article__listen.is-playing .natgeo-article__listen-toggle {
    border-color: var(--natgeo-ink);
}

.natgeo-article__listen-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
}

.natgeo-article__listen-icon {
    display: none;
    width: 100%;
    height: 100%;
}

.natgeo-article__listen-icon--play {
    display: block;
}

.natgeo-article__listen.is-playing .natgeo-article__listen-icon--play {
    display: none;
}

.natgeo-article__listen.is-playing .natgeo-article__listen-icon--pause {
    display: block;
}

.natgeo-article__listen-body {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    flex: 1;
    min-width: 0;
}

.natgeo-article__listen-timeline {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.natgeo-article__listen-time {
    font-size: 0.9rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: var(--natgeo-ink);
}

.natgeo-article__listen-time--remaining {
    color: var(--natgeo-muted);
}

.natgeo-article__listen-track {
    position: relative;
    flex: 1;
    height: 0.25rem;
    background: var(--natgeo-border);
    border-radius: 999px;
    min-width: 8rem;
}

.natgeo-article__listen-track-fill {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 0%;
    background: var(--natgeo-ink);
    border-radius: 999px;
    pointer-events: none;
}

.natgeo-article__listen-thumb {
    position: absolute;
    top: 50%;
    left: 0%;
    width: 0.65rem;
    height: 0.65rem;
    background: var(--natgeo-ink);
    border-radius: 999px;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.natgeo-article__listen-status {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: 0;
}

.natgeo-article__listen--disabled {
    opacity: 0.5;
}

.natgeo-article__listen--disabled .natgeo-article__listen-toggle {
    cursor: not-allowed;
    transform: none;
}

@media (max-width: 720px) {
    .natgeo-article__listen {
        flex: 1 1 100%;
    }

    .natgeo-article__listen-body {
        width: 100%;
    }

    .natgeo-article__listen-timeline {
        gap: 0.5rem;
    }
}

/* ================================================================
   META ACTIONS (Share Dropdown & Currency Selector)
   ================================================================ */
.natgeo-article__meta-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Unified action button style for share and currency */
.natgeo-article__meta-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    color: var(--natgeo-ink);
    border: 1px solid var(--natgeo-border);
    background: transparent;
    cursor: pointer;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, transform 0.15s ease;
}

.natgeo-article__meta-action-btn svg {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
}

.natgeo-article__meta-action-btn:focus,
.natgeo-article__meta-action-btn:hover {
    color: var(--natgeo-gold);
    border-color: var(--natgeo-gold);
    transform: scale(1.08);
}

.natgeo-article__meta-action-btn:focus-visible {
    outline: 2px solid var(--natgeo-gold);
    outline-offset: 2px;
}

.natgeo-article__meta-action-btn[aria-expanded="true"] {
    color: var(--natgeo-gold);
    border-color: var(--natgeo-gold);
    background: rgba(136, 168, 40, 0.08);
}

/* Always-visible action buttons (copy link, WhatsApp) */
.natgeo-article__meta-action-btn--copy,
.natgeo-article__meta-action-btn--whatsapp {
    text-decoration: none;
}

.natgeo-article__meta-action-btn--whatsapp:hover,
.natgeo-article__meta-action-btn--whatsapp:focus {
    color: #25d366;
    border-color: #25d366;
}

/* Copy button icon states */
.natgeo-article__action-icon--check {
    display: none;
}

.natgeo-article__meta-action-btn--copy.is-copied .natgeo-article__action-icon--link {
    display: none;
}

.natgeo-article__meta-action-btn--copy.is-copied .natgeo-article__action-icon--check {
    display: block;
    color: var(--natgeo-green, #22c55e);
}

.natgeo-article__meta-action-btn--copy.is-copied {
    color: var(--natgeo-green, #22c55e);
    border-color: var(--natgeo-green, #22c55e);
}

/* Share Dropdown Container */
.natgeo-article__share-dropdown {
    position: relative;
}

/* Share Dropdown Panel */
.natgeo-article__share-panel {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    z-index: 100;
    background: var(--natgeo-cloud, #faf8f2);
    border: 1px solid var(--natgeo-border, #e8e5de);
    border-radius: 0.75rem;
    width: 200px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
}

.natgeo-article__share-dropdown.is-open .natgeo-article__share-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.natgeo-article__share-panel-list {
    list-style: none;
    margin: 0;
    padding: 0.375rem 0;
}

.natgeo-article__share-panel-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.625rem 1rem;
    border: none;
    background: transparent;
    font-family: var(--natgeo-sans, system-ui, sans-serif);
    font-size: 0.875rem;
    color: var(--natgeo-ink, #1f2326);
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.natgeo-article__share-panel-link:hover,
.natgeo-article__share-panel-link:focus {
    background: rgba(136, 168, 40, 0.08);
    color: var(--natgeo-gold-dark, #6d8520);
    outline: none;
}

.natgeo-article__share-panel-link svg {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
    color: var(--natgeo-muted, #6f7376);
    transition: color 0.15s ease;
}

.natgeo-article__share-panel-link:hover svg,
.natgeo-article__share-panel-link:focus svg {
    color: var(--natgeo-gold, #88a828);
}

.natgeo-article__share-panel-separator {
    height: 1px;
    margin: 0.375rem 0.75rem;
    background: var(--natgeo-border, #e8e5de);
}

/* RSS link in panel */
.natgeo-article__share-panel-link--rss {
    color: var(--natgeo-muted, #6f7376);
}

.natgeo-article__share-panel-link--rss:hover,
.natgeo-article__share-panel-link--rss:focus {
    color: var(--natgeo-gold-dark, #6d8520);
}

/* Copy link button states */
.natgeo-article__share-panel-link--copy {
    font: inherit;
    text-align: left;
}

.natgeo-article__share-icon--check {
    display: none;
}

.natgeo-article__share-panel-link--copy.is-copied .natgeo-article__share-icon--link {
    display: none;
}

.natgeo-article__share-panel-link--copy.is-copied .natgeo-article__share-icon--check {
    display: block;
    color: var(--natgeo-green, #22c55e);
}

.natgeo-article__share-panel-link--copy.is-copied .natgeo-article__share-copy-text {
    color: var(--natgeo-green, #22c55e);
}

@media (max-width: 720px) {
    .natgeo-article__meta-bar {
        flex-direction: column;
        align-items: center;
        gap: 1.25rem;
    }

    .natgeo-article__meta-actions {
        width: 100%;
        justify-content: center;
    }

    .natgeo-article__share-panel {
        right: 50%;
        left: auto;
        transform: translateX(50%) translateY(-8px);
    }

    .natgeo-article__share-dropdown.is-open .natgeo-article__share-panel {
        transform: translateX(50%) translateY(0);
    }
}

/* Currency Dropdown (matches share dropdown design) */
.natgeo-article__currency-dropdown {
    position: relative;
}

.natgeo-article__meta-action-btn--currency {
    gap: 0.375rem;
    width: auto;
    padding: 0 0.625rem;
    border-radius: 1.125rem;
}

.natgeo-article__currency-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
}

.natgeo-article__currency-icon svg {
    width: 20px;
    height: 20px;
    color: var(--natgeo-gold, #88a828);
}

.natgeo-article__currency-symbol-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 0.5rem;
    font-weight: 700;
    color: var(--natgeo-ink, #1f2326);
    line-height: 1;
    pointer-events: none;
}

.natgeo-article__currency-label {
    font-family: var(--natgeo-sans, system-ui, sans-serif);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.03em;
}

.natgeo-article__currency-panel {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    z-index: 100;
    background: var(--natgeo-cloud, #faf8f2);
    border: 1px solid var(--natgeo-border, #e8e5de);
    border-radius: 0.75rem;
    width: 240px;
    max-height: 320px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    overflow: hidden;
}

.natgeo-article__currency-dropdown.is-open .natgeo-article__currency-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.natgeo-article__currency-search-wrap {
    padding: 0.625rem 0.75rem;
    border-bottom: 1px solid var(--natgeo-border, #e8e5de);
}

.natgeo-article__currency-search {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--natgeo-border, #e8e5de);
    border-radius: 0.5rem;
    font-family: var(--natgeo-sans, system-ui, sans-serif);
    font-size: 0.875rem;
    background: var(--natgeo-paper, #fff);
    color: var(--natgeo-ink, #1f2326);
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.natgeo-article__currency-search:focus {
    border-color: var(--natgeo-gold, #88a828);
    box-shadow: 0 0 0 2px rgba(136, 168, 40, 0.15);
}

.natgeo-article__currency-search::placeholder {
    color: var(--natgeo-muted, #6f7376);
}

.natgeo-article__currency-list {
    list-style: none;
    margin: 0;
    padding: 0.375rem 0;
    overflow-y: auto;
    flex: 1;
}

.natgeo-article__currency-item {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    transition: background-color 0.1s ease;
}

.natgeo-article__currency-item:hover {
    background-color: rgba(136, 168, 40, 0.08);
}

.natgeo-article__currency-item--active {
    background-color: rgba(136, 168, 40, 0.12);
}

.natgeo-article__currency-item--active .natgeo-article__currency-name {
    font-weight: 600;
}

.natgeo-article__currency-symbol {
    width: 24px;
    text-align: center;
    font-weight: 600;
    color: var(--natgeo-gold, #88a828);
}

.natgeo-article__currency-name {
    flex: 1;
    font-family: var(--natgeo-sans, system-ui, sans-serif);
    font-size: 0.875rem;
    color: var(--natgeo-ink, #1f2326);
}

.natgeo-article__currency-code {
    font-family: var(--natgeo-sans, system-ui, sans-serif);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--natgeo-muted, #6f7376);
    text-transform: uppercase;
}

@media (max-width: 720px) {
    .natgeo-article__currency-panel {
        right: auto;
        left: 0;
    }
}


.natgeo-article__body {
    --natgeo-article-toc-width: clamp(11rem, 16vw, 15rem);
    --natgeo-article-main-width: clamp(44rem, 58vw, 54rem);
    --natgeo-article-sidebar-width: clamp(220px, 24vw, 320px);
    --natgeo-article-sidenote-width: clamp(13rem, 20vw, 17rem);
    --natgeo-article-sidenote-gap: clamp(1.75rem, 3vw, 2.75rem);
    --natgeo-article-layout-gap: clamp(1.5rem, 3vw, 2.25rem);
    width: min(100%, 1680px);
    margin: clamp(2.5rem, 5vw, 3.5rem) auto clamp(3.5rem, 6vw, 5rem);
    padding: 0 clamp(2rem, 6vw, 4rem);
    display: grid;
    gap: var(--natgeo-article-layout-gap);
    justify-content: center;
}

.natgeo-article__layout {
    display: grid;
    gap: var(--natgeo-article-layout-gap);
    justify-content: center;
}

@media (min-width: 62rem) {
    .natgeo-article__layout {
        grid-template-columns: minmax(0, var(--natgeo-article-toc-width))
            minmax(0, calc(var(--natgeo-article-main-width) + var(--natgeo-article-sidebar-width) + var(--natgeo-article-layout-gap)));
        align-items: start;
        justify-content: center;
        column-gap: clamp(1.75rem, 3vw, 2.75rem);
    }
}

.natgeo-article__layout-grid {
    display: grid;
    gap: var(--natgeo-article-layout-gap);
    align-items: start;
    width: 100%;
}

@media (min-width: 62rem) {
    .natgeo-article__layout-grid {
        grid-template-columns: minmax(0, var(--natgeo-article-main-width)) minmax(0, var(--natgeo-article-sidebar-width));
        max-width: calc(var(--natgeo-article-main-width) + var(--natgeo-article-sidebar-width) + var(--natgeo-article-layout-gap));
        justify-self: center;
    }

    .natgeo-article__layout-grid--single {
        grid-template-columns: minmax(0, var(--natgeo-article-main-width));
        max-width: var(--natgeo-article-main-width);
    }
}

@media (max-width: 62rem) {
    .natgeo-article__layout-grid {
        grid-template-columns: 1fr;
    }
}

/* Medium-width screens: ensure text wraps properly during layout transition */
@media (min-width: 62rem) and (max-width: 75rem) {
    .natgeo-article__body {
        --natgeo-article-main-width: clamp(36rem, 52vw, 48rem);
        --natgeo-article-sidebar-width: clamp(200px, 22vw, 280px);
    }

    .natgeo-article__content {
        word-break: break-word;
        overflow-wrap: anywhere;
        hyphens: auto;
        -webkit-hyphens: auto;
    }

    /* Reduce wide/full image margins on medium screens to prevent overflow */
    .natgeo-article__figure--wide,
    .natgeo-article__figure--full {
        margin-left: calc(-1 * clamp(0.5rem, 2vw, 1.5rem));
        margin-right: calc(-1 * clamp(0.5rem, 2vw, 1.5rem));
    }

    .natgeo-article__image-grid--wide {
        margin-left: calc(-1 * clamp(0.5rem, 2vw, 1rem));
        margin-right: calc(-1 * clamp(0.5rem, 2vw, 1rem));
    }

    .natgeo-article__image-grid--full {
        margin-left: calc(-1 * clamp(0.5rem, 2vw, 1.5rem));
        margin-right: calc(-1 * clamp(0.5rem, 2vw, 1.5rem));
        width: auto;
    }

    .natgeo-image-pair--wide,
    .natgeo-image-pair--full {
        margin-left: calc(-1 * clamp(0.5rem, 2vw, 1rem));
        margin-right: calc(-1 * clamp(0.5rem, 2vw, 1rem));
    }

    /* Ensure images don't overflow their containers */
    .natgeo-article__content img,
    .natgeo-article__figure-image,
    .natgeo-article__image-grid-img {
        max-width: 100%;
        height: auto;
    }

    /* Constrain carousel and image grid to prevent overflow into sidebar */
    .carousel,
    .natgeo-article__image-grid {
        max-width: 100%;
        overflow: hidden;
    }
}

/* Prevent grid children from overflowing their grid cells - fixes sidebar overlap on medium-width screens */
.natgeo-article__layout-grid > * {
    min-width: 0;
    max-width: 100%;
}

/* Reset wide/full figures and image grids below desktop breakpoint to prevent overflow */
@media (max-width: 62rem) {
    .natgeo-article__figure--wide,
    .natgeo-article__figure--full {
        margin-left: 0;
        margin-right: 0;
    }

    .natgeo-article__image-grid--wide,
    .natgeo-article__image-grid--full {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    .natgeo-image-pair--wide,
    .natgeo-image-pair--full {
        margin-left: 0;
        margin-right: 0;
    }

    /* Ensure content and images scale properly */
    .natgeo-article__content,
    .natgeo-article__copy {
        max-width: 100%;
        overflow: hidden;
    }

    .natgeo-article__content img,
    .natgeo-article__figure-image,
    .natgeo-article__image-grid-img {
        max-width: 100%;
        height: auto;
    }

    /* Constrain carousel and image grid to prevent overflow */
    .carousel,
    .natgeo-article__image-grid {
        max-width: 100%;
        overflow: hidden;
    }
}

.natgeo-article__toc-container {
    width: min(100%, var(--natgeo-article-toc-width));
}

@media (min-width: 62rem) {
    .natgeo-article__toc-container {
        margin-inline: 0;
        justify-self: end;
        align-self: stretch;
    }
}

.natgeo-article__toc {
    position: sticky;
    top: calc(var(--navbar-height, 96px) + clamp(1rem, 4vh, 3rem));
    align-self: start;
    width: 100%;
    display: grid;
    gap: 1rem;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    /* Prevent TOC from exceeding viewport height */
    max-height: calc(100vh - var(--navbar-height, 96px) - clamp(2rem, 8vh, 6rem));
    overflow-y: auto;
}

.natgeo-article__toc-title {
    margin: 0;
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--natgeo-muted);
}

.natgeo-article__toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.65rem;
}

.natgeo-article__toc-item {
    position: relative;
}

.natgeo-article__toc-item--sub {
    padding-left: 1rem;
    border-left: 1px solid rgba(16, 24, 32, 0.12);
    margin-left: 0.35rem;
}

.natgeo-article__toc-item--widget .natgeo-article__toc-link {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.natgeo-article__toc-item--widget .natgeo-article__toc-link::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #5a7016;
    flex-shrink: 0;
}

.natgeo-article__toc-link {
    color: var(--natgeo-muted);
    text-decoration: none;
    font-weight: 500;
    line-height: 1.5;
    transition: color 160ms ease, font-weight 160ms ease;
}

.natgeo-article__toc-link:focus,
.natgeo-article__toc-link:hover {
    color: var(--natgeo-ink);
}

.natgeo-article__toc-item.is-active .natgeo-article__toc-link {
    color: var(--natgeo-ink);
    font-weight: 700;
}

@media (max-width: 62rem) {
    .natgeo-article__toc-container {
        display: none;
    }
}

.natgeo-article__sidebar {
    display: grid;
    gap: clamp(1.5rem, 3vw, 2.25rem);
    overflow: hidden; /* Prevent content from overlapping with main content */
}

@media (min-width: 62rem) {
    .natgeo-article__sidebar {
        position: sticky;
        top: calc(var(--navbar-height, 96px) + clamp(1rem, 4vh, 3rem));
    }
}

.natgeo-article__sidebar-section {
    display: grid;
    gap: 0.75rem;
}

.natgeo-article__sidebar-section--related {
    border-top: 1px solid var(--natgeo-border);
    padding-top: 1.25rem;
}

.natgeo-article__sidebar-title {
    margin: 0;
    font-size: 0.9rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--natgeo-muted);
}

.natgeo-article__tag-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.natgeo-article__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem 1rem;
    border-radius: 999px;
    border: 1px solid var(--natgeo-border-strong);
    background: rgba(255, 255, 255, 0.78);
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--natgeo-ink);
    text-decoration: none;
    transition: color 160ms ease, border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.natgeo-article__tag:hover,
.natgeo-article__tag:focus {
    border-color: var(--natgeo-black);
    background: #fff;
    color: var(--natgeo-black);
    box-shadow: 0 14px 32px -24px rgba(16, 24, 32, 0.6);
}

.natgeo-article__tag:focus-visible {
    outline: 2px solid var(--natgeo-gold);
    outline-offset: 3px;
}

.natgeo-article__related-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: clamp(1rem, 3vw, 1.75rem);
}

.natgeo-article__related-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
    padding: 0.9rem;
    border-radius: 1rem;
    border: 1px solid var(--natgeo-border);
    background: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    color: inherit;
    box-shadow: 0 18px 38px -30px rgba(16, 24, 32, 0.55);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.natgeo-article__related-card:hover,
.natgeo-article__related-card:focus {
    border-color: var(--natgeo-border-strong);
    box-shadow: 0 22px 46px -30px rgba(16, 24, 32, 0.6);
    transform: translateY(-2px);
}

.natgeo-article__related-card:focus-visible {
    outline: 2px solid var(--natgeo-gold);
    outline-offset: 4px;
}

@media (min-width: 62rem) {
    .natgeo-article__related-card {
        grid-template-columns: 96px minmax(0, 1fr);
    }
}

.natgeo-article__related-image {
    border-radius: 0.9rem;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--natgeo-sand);
}

.natgeo-article__related-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.natgeo-article__related-content {
    display: grid;
    gap: 0.35rem;
}

.natgeo-article__related-kicker {
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--natgeo-muted);
}

.natgeo-article__related-title {
    font-family: var(--natgeo-serif);
    font-weight: 600;
    font-size: 1.05rem;
    line-height: 1.35;
}

/* Sidebar Map (Subregion Map) */
.natgeo-article__sidebar-map {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.natgeo-article__sidebar-map .subregion-map {
    width: 100%;
    max-width: none;
    height: auto;
}

.subregion-map__fallback {
    margin: 0;
    font-size: 0.85rem;
    color: #4a4a4a;
    text-align: center;
}

.natgeo-article__video-frame {
    position: relative;
    padding-bottom: 56.25%;
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 28px 60px -35px rgba(16, 24, 32, 0.4);
}

.natgeo-article__video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


.natgeo-article__content {
    font-size: 1.05rem;
    line-height: 1.85;
    color: var(--natgeo-ink);
    overflow: hidden; /* Prevent content from overlapping with sidebar */
    word-break: break-word;
    overflow-wrap: anywhere;
    max-width: 100%; /* Ensure content respects container width on all screen sizes */
    min-width: 0; /* Allow content to shrink in grid/flex containers */
}

.natgeo-article__content p {
    margin: 0 0 1.6rem 0;
    max-width: 100%;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.natgeo-article__content .natgeo-article__stream > *:first-child > p:first-of-type::first-letter,
.natgeo-article__content > p:first-of-type::first-letter {
    font-family: var(--natgeo-serif);
    font-size: clamp(5rem, calc(1em * 1.85 * 3), 6.5rem);
    line-height: 0.78;
    font-weight: 600;
    float: left;
    margin: 0.45rem 0.65rem 0.3rem 0;
    color: var(--natgeo-ink);
}

.natgeo-article__content h2,
.natgeo-article__content h3,
.natgeo-article__content h4 {
    font-family: var(--natgeo-serif);
    margin: clamp(2.5rem, 5vw, 3.5rem) 0 clamp(0.75rem, 1.5vw, 1rem);
    line-height: 1.3;
    color: var(--natgeo-ink);
    max-width: 100%;
    word-break: break-word;
    overflow-wrap: anywhere;
}

/* Visual accent for section headings */
.natgeo-article__content h2 {
    position: relative;
    padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
    border-top: 1px solid var(--natgeo-border);
}

.natgeo-article__content h2::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: clamp(3rem, 8vw, 5rem);
    height: 3px;
    background: var(--natgeo-gold);
}

/* First h2 after lead paragraph doesn't need as much top margin */
.natgeo-article__content > h2:first-child,
.natgeo-article__stream > *:first-child h2 {
    margin-top: clamp(1rem, 2vw, 1.5rem);
}

.natgeo-article__content h3 {
    position: relative;
    padding-left: clamp(0.85rem, 1.5vw, 1rem);
    border-left: 3px solid var(--natgeo-gold);
}

.natgeo-article__content h4 {
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--natgeo-muted);
    text-transform: uppercase;
    font-size: 0.85rem;
}

.natgeo-article__content blockquote {
    border-left: 4px solid var(--natgeo-gold);
    margin: var(--article-block-gap, clamp(1.6rem, 3vw, 2.2rem)) 0;
    padding: 0.5rem 0 0.5rem 1.5rem;
    font-family: var(--natgeo-serif);
    font-size: 1.3rem;
    line-height: 1.6;
    color: var(--natgeo-ink);
}

.natgeo-article__content table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    margin: var(--article-block-gap, clamp(1.6rem, 3vw, 2.2rem)) 0;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.natgeo-article__content table th,
.natgeo-article__content table td {
    padding: 0.75rem 0.9rem;
    text-align: left;
    border-bottom: 1px solid var(--natgeo-border);
    word-break: break-word;
}

.natgeo-article__content table th {
    font-weight: 700;
    color: var(--natgeo-ink);
}

.natgeo-article__content table tr:last-child th,
.natgeo-article__content table tr:last-child td {
    border-bottom: none;
}

.natgeo-article__content img {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 0;
    margin: 0;
    box-shadow: 0 30px 60px -35px rgba(16, 24, 32, 0.28);
}

.natgeo-article__stream {
    display: grid;
    gap: var(--article-block-gap, clamp(1rem, 2vw, 1.4rem));
}

.natgeo-article__columns {
    display: grid;
    gap: clamp(1rem, 2vw, 1.5rem);
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}

.natgeo-article__column {
    display: grid;
    gap: clamp(0.8rem, 1.8vw, 1.3rem);
}

.natgeo-article__column--main {
    gap: var(--article-block-gap, clamp(1rem, 2vw, 1.4rem));
}

.natgeo-article__column--aside {
    padding: clamp(1.2rem, 2.8vw, 1.8rem);
    border-radius: 1.35rem;
    border: 1px solid rgba(16, 24, 32, 0.08);
    background: rgba(16, 24, 32, 0.03);
    box-shadow: 0 18px 45px -32px rgba(16, 24, 32, 0.22);
}

.natgeo-article__column--aside .natgeo-article__heading {
    font-size: clamp(1.15rem, 2.2vw, 1.55rem);
    margin: 0 0 0.75rem 0;
}

.natgeo-article__column--aside .natgeo-article__block-kicker {
    margin-bottom: 0.4rem;
}

.natgeo-article__column--aside .natgeo-article__copy {
    font-size: 0.98rem;
    line-height: 1.7;
}

.natgeo-article__column--aside .natgeo-article__copy p {
    margin-bottom: 1.2rem;
}

.natgeo-article__column--aside .natgeo-article__copy p:last-child {
    margin-bottom: 0;
}

.natgeo-article__column--aside .natgeo-article__figure,
.natgeo-article__column--aside .natgeo-article__embed {
    margin: 0;
}

.natgeo-article__column--aside .natgeo-article__figure,
.natgeo-article__column--aside .natgeo-article__embed-frame {
    box-shadow: 0 18px 45px -32px rgba(16, 24, 32, 0.2);
}

@media (min-width: 960px) {
    .natgeo-article__columns--with-left {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.8fr);
    }

    .natgeo-article__columns--with-right {
        grid-template-columns: minmax(0, 1.8fr) minmax(0, 0.95fr);
    }

    .natgeo-article__columns--three {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.7fr) minmax(0, 0.9fr);
    }
}

@media (max-width: 959px) {
    .natgeo-article__column--main {
        order: 1;
    }

    .natgeo-article__column--left {
        order: 2;
    }

    .natgeo-article__column--right {
        order: 3;
    }
}

.natgeo-article__heading-block {
    display: block;
}

.natgeo-article__block-kicker {
    margin: 0;
    font-size: 0.75rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--natgeo-muted);
}

.natgeo-article__heading {
    font-family: var(--natgeo-serif);
    font-weight: 600;
    margin: clamp(2.5rem, 5vw, 3.5rem) 0 clamp(0.75rem, 1.5vw, 1rem);
    line-height: 1.25;
}

.natgeo-article__heading--h2 {
    position: relative;
    padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
    border-top: 1px solid var(--natgeo-border);
}

.natgeo-article__heading--h2::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: clamp(3rem, 8vw, 5rem);
    height: 3px;
    background: var(--natgeo-gold);
}

.natgeo-article__heading--h3 {
    position: relative;
    padding-left: clamp(0.85rem, 1.5vw, 1rem);
    border-left: 3px solid var(--natgeo-gold);
}

.natgeo-article__heading--h4 {
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--natgeo-muted);
    text-transform: uppercase;
    font-size: 0.85rem;
    margin: clamp(1.5rem, 3vw, 2rem) 0 clamp(0.5rem, 1vw, 0.75rem);
}

.natgeo-article__block-kicker + .natgeo-article__heading {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.natgeo-article__block-kicker + .natgeo-article__heading::before {
    display: none;
}

.natgeo-article__copy {
    font-size: 1.05rem;
    line-height: 1.9;
    color: var(--natgeo-ink);
    word-break: break-word;
    overflow-wrap: anywhere;
    min-width: 0; /* Allow copy to shrink in grid/flex containers */
    max-width: 100%;
}

.natgeo-article__copy p {
    margin: 0 0 1.6rem 0;
}

.natgeo-article__copy ul,
.natgeo-article__copy ol {
    margin: 0 0 1.6rem 1.4rem;
    padding-left: 1.2rem;
}

.natgeo-article__copy ul {
    list-style: disc;
}

.natgeo-article__copy ol {
    list-style: decimal;
}

.natgeo-article__copy li + li {
    margin-top: 0.4rem;
}

.natgeo-article__copy blockquote {
    margin: 0 0 1.6rem 0;
    padding-left: 1.2rem;
    border-left: 4px solid var(--natgeo-gold);
    color: var(--natgeo-ink-soft, #4a4a4a);
}
/* Affiliate link wrapper - prevents line break between link and indicator */
.natgeo-article__copy .aff-wrap {
    white-space: nowrap;
}

/* New affiliate link styles - dotted underline */
.natgeo-article__copy a.aff {
    color: inherit;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-decoration-color: var(--natgeo-gold, #88a828);
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.natgeo-article__copy a.aff:hover,
.natgeo-article__copy a.aff:focus {
    color: var(--coral-600, #FF694D);
    text-decoration-color: var(--coral-600, #FF694D);
}

/* Superscript info indicator */
.natgeo-article__copy .aff-i {
    display: inline;
    font-size: 0.6em;
    font-weight: 600;
    font-style: italic;
    color: var(--natgeo-gold, #88a828);
    margin-left: 1px;
    vertical-align: super;
    line-height: 1;
    user-select: none;
}

/* Legacy affiliate link support */
.natgeo-article__copy a.affiliate-link,
.natgeo-article__copy a[data-affiliate-link] {
    color: inherit;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-decoration-color: var(--natgeo-gold, #88a828);
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.natgeo-article__copy a.affiliate-link:hover,
.natgeo-article__copy a.affiliate-link:focus,
.natgeo-article__copy a[data-affiliate-link]:hover,
.natgeo-article__copy a[data-affiliate-link]:focus {
    color: var(--coral-600, #FF694D);
    text-decoration-color: var(--coral-600, #FF694D);
}

.natgeo-article__copy .tufte-sidenote {
    position: relative;
    display: inline-flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0 0.15rem;
    padding: 0.05rem 0;
    white-space: normal;
}

.natgeo-article__copy .tufte-sidenote__label {
    border-bottom: 1px dotted rgba(136, 168, 40, 0.65);
    cursor: text;
    padding-bottom: 0.08rem;
    transition: color 160ms ease;
}

.natgeo-article__copy .tufte-sidenote__content {
    display: inline-block;
    font-size: 0.85em;
    line-height: 1.65;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(16, 24, 32, 0.12);
    border-radius: 1.1rem;
    padding: 1rem 1.15rem;
    box-shadow: 0 22px 48px -34px rgba(16, 24, 32, 0.42);
    color: var(--natgeo-ink);
    z-index: 4;
}

.natgeo-article__copy .tufte-sidenote__title {
    display: block;
    margin-bottom: 0.5rem;
    font-family: var(--natgeo-serif);
    font-weight: 600;
    letter-spacing: 0.01em;
}

.natgeo-article__copy .tufte-sidenote__body {
    display: block;
}

.natgeo-article__copy .tufte-sidenote__content > * + * {
    margin-top: 0.7rem;
}

.natgeo-article__copy .tufte-sidenote__content img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0.9rem;
    box-shadow: 0 18px 38px -30px rgba(16, 24, 32, 0.35);
}

.natgeo-article__copy .tufte-sidenote[data-note-id]::after {
    content: "";
    position: absolute;
    inset: auto;
    pointer-events: none;
}

@media (max-width: 640px) {
    .natgeo-article__body {
        padding-left: clamp(1.25rem, 5vw, 1.75rem);
        padding-right: clamp(1.25rem, 5vw, 1.75rem);
    }

    .natgeo-article__content,
    .natgeo-article__copy {
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .natgeo-article__content table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 0.35rem;
    }

    .natgeo-article__content .natgeo-article__stream > *:first-child p:first-of-type::first-letter,
    .natgeo-article__content > p:first-of-type::first-letter {
        float: none;
        display: block;
        margin: 0 0 0.4rem 0;
        font-size: clamp(2.4rem, 10vw, 3.1rem);
        line-height: 1;
    }
}

@media (min-width: 992px) {
    .natgeo-article__copy .tufte-sidenote {
        padding-right: calc(var(--natgeo-article-sidenote-gap) + var(--natgeo-article-sidenote-width));
    }

    .natgeo-article__copy .tufte-sidenote__content {
        position: absolute;
        top: -0.4em;
        left: calc(100% - var(--natgeo-article-sidenote-width));
        right: auto;
        width: var(--natgeo-article-sidenote-width);
        max-width: var(--natgeo-article-sidenote-width);
    }

    .natgeo-article__copy .tufte-sidenote__label {
        color: inherit;
    }

    .natgeo-article__copy .tufte-sidenote__label:hover {
        color: var(--natgeo-gold);
    }
}

@media (max-width: 991px) {
    .natgeo-article__copy .tufte-sidenote {
        display: block;
        margin: 1.75rem 0;
        padding: 0;
    }

    .natgeo-article__copy .tufte-sidenote__label {
        display: inline-block;
        margin-bottom: 0.45rem;
        border-bottom: none;
        font-weight: 600;
        color: var(--natgeo-muted);
    }

    .natgeo-article__copy .tufte-sidenote__content {
        position: relative;
        left: 0;
        top: 0;
        max-width: none;
        width: 100%;
        background: rgba(136, 168, 40, 0.08);
        border: 1px solid rgba(136, 168, 40, 0.24);
        box-shadow: none;
        padding: 1rem 1.15rem;
    }
}

/* Scientific Footnotes - inline citations with hover tooltip */
.natgeo-article__copy .scientific-footnote {
    position: relative;
    display: inline;
    cursor: help;
}

.natgeo-article__copy .scientific-footnote__number {
    font-size: 0.7em;
    font-weight: 600;
    color: var(--natgeo-gold, #88a828);
    vertical-align: super;
    line-height: 0;
    margin: 0 0.1em;
    transition: color 160ms ease;
}

.natgeo-article__copy .scientific-footnote:hover .scientific-footnote__number {
    color: var(--natgeo-ink, #101820);
}

.natgeo-article__copy .scientific-footnote__tooltip {
    position: absolute;
    bottom: calc(100% + 0.5rem);
    left: 50%;
    transform: translateX(-50%);
    min-width: 280px;
    max-width: 380px;
    padding: 0.85rem 1rem;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(16, 24, 32, 0.12);
    border-radius: 0.75rem;
    box-shadow: 0 12px 32px -12px rgba(16, 24, 32, 0.35);
    font-size: 0.82em;
    line-height: 1.55;
    color: var(--natgeo-ink, #101820);
    text-align: left;
    white-space: normal;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease;
    transform: translateX(-50%) translateY(4px);
}

.natgeo-article__copy .scientific-footnote__tooltip em {
    font-style: italic;
}

.natgeo-article__copy .scientific-footnote:hover .scientific-footnote__tooltip,
.natgeo-article__copy .scientific-footnote:focus .scientific-footnote__tooltip {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

/* Tooltip arrow */
.natgeo-article__copy .scientific-footnote__tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: rgba(255, 255, 255, 0.98);
}

.natgeo-article__copy .scientific-footnote__tooltip::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 7px solid transparent;
    border-top-color: rgba(16, 24, 32, 0.12);
}

/* Responsive adjustments for footnote tooltips */
@media (max-width: 640px) {
    .natgeo-article__copy .scientific-footnote__tooltip {
        min-width: 220px;
        max-width: calc(100vw - 3rem);
        left: 0;
        transform: translateX(-10%);
        font-size: 0.78em;
    }

    .natgeo-article__copy .scientific-footnote:hover .scientific-footnote__tooltip,
    .natgeo-article__copy .scientific-footnote:focus .scientific-footnote__tooltip {
        transform: translateX(-10%) translateY(0);
    }

    .natgeo-article__copy .scientific-footnote__tooltip::after,
    .natgeo-article__copy .scientific-footnote__tooltip::before {
        left: 15%;
    }
}

.natgeo-article__figure {
    margin: 0;
    min-width: 0; /* Allow figure to shrink in grid/flex containers */
    max-width: 100%;
    /* Ensure vertical scrolling works on touch devices */
    touch-action: pan-y pinch-zoom;
}

.natgeo-article__figure-image {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 0;
    box-shadow: none;
    filter: none;
    /* Allow vertical scrolling on touch devices - touch-action is not inherited */
    touch-action: pan-y pinch-zoom;
}

/* Override the general content img shadow for figure images */
.natgeo-article__content .natgeo-article__figure-image {
    box-shadow: none;
}

/* Hover caption variant - position relative for overlay */
.natgeo-article__figure--caption-hover {
    position: relative;
    overflow: hidden;
}

.natgeo-article__figure-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(16, 24, 32, 0.85) 0%,
        rgba(16, 24, 32, 0.5) 35%,
        rgba(16, 24, 32, 0.15) 60%,
        transparent 100%
    );
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(1rem, 2vw, 1.5rem);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.natgeo-article__figure--caption-hover:hover .natgeo-article__figure-overlay,
.natgeo-article__figure--caption-hover:focus-within .natgeo-article__figure-overlay {
    opacity: 1;
}

.natgeo-article__figure-overlay-caption {
    font-family: var(--natgeo-serif);
    font-size: clamp(0.9rem, 1.8vw, 1.05rem);
    font-weight: 500;
    color: var(--natgeo-cloud, #faf8f2);
    line-height: 1.5;
    display: block;
    margin-bottom: 0.3rem;
}

.natgeo-article__figure-overlay-credit {
    font-family: var(--natgeo-sans);
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-size: 0.65rem;
    color: rgba(250, 248, 242, 0.7);
    display: block;
}

/* Touch device support - show overlay on tap */
@media (hover: none) and (pointer: coarse) {
    .natgeo-article__figure-overlay {
        opacity: 1;
        background: linear-gradient(
            to top,
            rgba(16, 24, 32, 0.75) 0%,
            rgba(16, 24, 32, 0.35) 25%,
            transparent 50%
        );
    }
}

.natgeo-article__figure--wide {
    margin-left: calc(-1 * clamp(1.5rem, 4vw, 3rem));
    margin-right: calc(-1 * clamp(1.5rem, 4vw, 3rem));
}

.natgeo-article__figure--full {
    border-radius: 0;
    margin-left: calc(-1 * clamp(2.5rem, 5vw, 4rem));
    margin-right: calc(-1 * clamp(2.5rem, 5vw, 4rem));
}

.natgeo-article__figure-caption {
    margin-top: clamp(0.35rem, 0.8vw, 0.6rem);
    padding-left: clamp(1rem, 1.5vw, 1.5rem);
    border-left: 4px solid var(--natgeo-gold);
    color: var(--natgeo-ink);
    font-size: clamp(0.95rem, 1.1vw, 1.05rem);
    line-height: 1.6;
    display: grid;
    gap: 0.4rem;
}

.natgeo-article__figure-caption-text {
    font-family: var(--natgeo-serif);
    font-weight: 500;
}

.natgeo-article__figure-credit {
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-size: 0.7rem;
    color: rgba(16, 24, 32, 0.55);
}

/* ================================================================
   IMAGE PAIR BLOCK - Two images side by side
   ================================================================ */
.natgeo-image-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 0;
    /* Ensure vertical scrolling works on touch devices */
    touch-action: pan-y pinch-zoom;
}

.natgeo-image-pair--gap-none {
    gap: 0;
}

.natgeo-image-pair--gap-small {
    gap: clamp(0.5rem, 1vw, 0.75rem);
}

.natgeo-image-pair--gap-medium {
    gap: clamp(0.75rem, 1.5vw, 1.25rem);
}

.natgeo-image-pair--gap-large {
    gap: clamp(1rem, 2vw, 2rem);
}

.natgeo-image-pair--layout-equal {
    grid-template-columns: 1fr 1fr;
}

.natgeo-image-pair--layout-left-large {
    grid-template-columns: 3fr 2fr;
}

.natgeo-image-pair--layout-right-large {
    grid-template-columns: 2fr 3fr;
}

.natgeo-image-pair--wide {
    margin-left: calc(-1 * clamp(1.5rem, 4vw, 3rem));
    margin-right: calc(-1 * clamp(1.5rem, 4vw, 3rem));
}

.natgeo-image-pair--full {
    margin-left: calc(-1 * clamp(2.5rem, 5vw, 4rem));
    margin-right: calc(-1 * clamp(2.5rem, 5vw, 4rem));
}

.natgeo-image-pair__figure {
    margin: 0;
    display: flex;
    flex-direction: column;
}

.natgeo-image-pair__image {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0;
    object-fit: cover;
    /* Allow vertical scrolling on touch devices - touch-action is not inherited */
    touch-action: pan-y pinch-zoom;
}

/* Height alignment - none: each image keeps its original height */
.natgeo-image-pair--height-none {
    align-items: start;
}

/* Height alignment - first/second: align images to reference height */
.natgeo-image-pair--height-first,
.natgeo-image-pair--height-second {
    align-items: start;
}

.natgeo-image-pair--height-first .natgeo-image-pair__figure--right,
.natgeo-image-pair--height-second .natgeo-image-pair__figure--left {
    overflow: hidden;
}

.natgeo-image-pair--height-first .natgeo-image-pair__figure--right .natgeo-image-pair__image,
.natgeo-image-pair--height-second .natgeo-image-pair__figure--left .natgeo-image-pair__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.natgeo-image-pair__caption {
    margin-top: clamp(0.35rem, 0.8vw, 0.5rem);
    padding-left: clamp(0.75rem, 1.2vw, 1rem);
    border-left: 3px solid var(--natgeo-gold);
    color: var(--natgeo-ink);
    font-size: clamp(0.85rem, 1vw, 0.95rem);
    line-height: 1.5;
    display: grid;
    gap: 0.25rem;
}

.natgeo-image-pair__caption-text {
    font-family: var(--natgeo-serif);
    font-weight: 500;
}

.natgeo-image-pair__credit {
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-size: 0.65rem;
    color: rgba(16, 24, 32, 0.55);
}

@media (max-width: 640px) {
    .natgeo-image-pair {
        grid-template-columns: 1fr;
        gap: clamp(1rem, 3vw, 1.5rem);
    }

    .natgeo-image-pair--layout-left-large,
    .natgeo-image-pair--layout-right-large {
        grid-template-columns: 1fr;
    }

    .natgeo-image-pair--wide,
    .natgeo-image-pair--full {
        margin-left: calc(-1 * clamp(1rem, 4vw, 1.5rem));
        margin-right: calc(-1 * clamp(1rem, 4vw, 1.5rem));
    }
}

/* ================================================================
   BLOG IMAGE CAROUSEL - CSS-only carousel with thumbnails
   ================================================================ */

.carousel {
    display: block;
    text-align: left;
    position: relative;
    margin-bottom: 22px;
    min-width: 0; /* Allow carousel to shrink in flex/grid containers */
    max-width: 100%;
}

.carousel > input {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
}

/* Radio-based slide navigation - supports up to 6 slides */
.carousel > input:nth-of-type(6):checked ~ .carousel__slides .carousel__slide:first-of-type { margin-left: -500%; }
.carousel > input:nth-of-type(5):checked ~ .carousel__slides .carousel__slide:first-of-type { margin-left: -400%; }
.carousel > input:nth-of-type(4):checked ~ .carousel__slides .carousel__slide:first-of-type { margin-left: -300%; }
.carousel > input:nth-of-type(3):checked ~ .carousel__slides .carousel__slide:first-of-type { margin-left: -200%; }
.carousel > input:nth-of-type(2):checked ~ .carousel__slides .carousel__slide:first-of-type { margin-left: -100%; }
.carousel > input:nth-of-type(1):checked ~ .carousel__slides .carousel__slide:first-of-type { margin-left: 0%; }

/* Thumbnail active states - Light green brand color */
.carousel > input:nth-of-type(1):checked ~ .carousel__thumbnails li:nth-of-type(1) { box-shadow: 0px 0px 0px 4px rgba(136, 168, 40, 0.6); }
.carousel > input:nth-of-type(2):checked ~ .carousel__thumbnails li:nth-of-type(2) { box-shadow: 0px 0px 0px 4px rgba(136, 168, 40, 0.6); }
.carousel > input:nth-of-type(3):checked ~ .carousel__thumbnails li:nth-of-type(3) { box-shadow: 0px 0px 0px 4px rgba(136, 168, 40, 0.6); }
.carousel > input:nth-of-type(4):checked ~ .carousel__thumbnails li:nth-of-type(4) { box-shadow: 0px 0px 0px 4px rgba(136, 168, 40, 0.6); }
.carousel > input:nth-of-type(5):checked ~ .carousel__thumbnails li:nth-of-type(5) { box-shadow: 0px 0px 0px 4px rgba(136, 168, 40, 0.6); }
.carousel > input:nth-of-type(6):checked ~ .carousel__thumbnails li:nth-of-type(6) { box-shadow: 0px 0px 0px 4px rgba(136, 168, 40, 0.6); }

.carousel__slides {
    position: relative;
    z-index: 1;
    padding: 0;
    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
    display: flex;
    list-style: none;
    /* Allow vertical scrolling while JS handles horizontal swipes */
    touch-action: pan-y pinch-zoom;
}

.carousel__slide {
    position: relative;
    display: block;
    flex: 1 0 100%;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transition: all 300ms ease-out;
    vertical-align: top;
    box-sizing: border-box;
    white-space: normal;
}

.carousel__slide figure {
    display: flex;
    margin: 0;
}

.carousel__slide div {
    position: relative;
    width: 100%;
}

.carousel__slide div:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 66.6667%; /* 3:2 aspect ratio */
}

.carousel__slide div > img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.carousel__slide img {
    display: block;
    flex: 1 1 auto;
    object-fit: cover;
    /* Allow vertical scrolling on touch devices - touch-action is not inherited */
    touch-action: pan-y pinch-zoom;
}

.carousel__slide figcaption {
    align-self: flex-end;
    padding: 20px 20px 0 20px;
    flex: 0 0 auto;
    width: 25%;
    min-width: 150px;
}

.carousel__slide figcaption p {
    margin: 0;
    font-family: var(--natgeo-serif, Georgia, serif);
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--natgeo-ink, #101820);
}

.carousel__slide .credit {
    margin-top: 1rem;
    color: rgba(0, 0, 0, 0.5);
    display: block;
    font-family: var(--natgeo-sans, system-ui, sans-serif);
    font-size: 0.75rem;
}

.carousel__slide.scrollable {
    overflow-y: scroll;
}

.carousel__thumbnails {
    list-style: none;
    padding: 0;
    margin: 0 -10px;
    display: flex;
}

.carousel__slides + .carousel__thumbnails {
    margin-top: 20px;
}

.carousel__thumbnails li {
    flex: 1 1 auto;
    max-width: calc((100% / 6) - 20px);
    margin: 0 10px;
    transition: all 300ms ease-in-out;
}

.carousel__thumbnails label {
    display: block;
    position: relative;
}

.carousel__thumbnails label:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 100%; /* 1:1 aspect ratio */
}

.carousel__thumbnails label > img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

.carousel__thumbnails label:hover,
.carousel__thumbnails label:focus {
    cursor: pointer;
}

.carousel__thumbnails label:hover img,
.carousel__thumbnails label:focus img {
    box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.25);
    transition: all 300ms ease-in-out;
}

.carousel__thumbnails img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Mobile styles */
@media (max-width: 640px) {
    .carousel__slide figure {
        flex-direction: column;
    }

    .carousel__slide figcaption {
        width: 100%;
        min-width: auto;
        padding: 15px 0 0 0;
    }

    .carousel__thumbnails li {
        max-width: calc((100% / 4) - 20px);
    }
}

/* Pull Quote / Zitatkasten */
.pull-quote {
    position: relative;
    margin: 2.5rem 0;
    padding: 60px 40px 40px;
    background: #ffffff;
    text-align: center;
}

.pull-quote::before {
    content: "\201C";
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-family: Georgia, serif;
    font-size: clamp(8rem, 15vw, 12rem);
    line-height: 1;
    color: rgba(136, 168, 40, 0.12);
    pointer-events: none;
    z-index: 0;
}

.pull-quote::after {
    content: "";
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 3px;
    background: var(--natgeo-gold, #88A828);
    border-radius: 2px;
}

.pull-quote__content {
    position: relative;
    margin: 0;
    z-index: 1;
}

.pull-quote__content p {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-style: italic;
    font-size: clamp(1.4rem, 3.5vw, 1.85rem);
    font-weight: 500;
    line-height: 1.5;
    color: var(--natgeo-ink, #1f2326);
}

.pull-quote__attribution {
    position: relative;
    margin-top: 1.5rem;
    z-index: 1;
}

.pull-quote__attribution span {
    display: inline-block;
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--natgeo-gold, #88A828);
}

@media (min-width: 768px) {
    .pull-quote {
        padding: 70px 80px 50px;
        margin: 3rem 0;
    }
}

/* Legacy class support */
.natgeo-article__quote {
    position: relative;
    margin: 2.5rem 0;
    padding: 60px 40px 40px;
    background: #ffffff;
    text-align: center;
}

.natgeo-article__quote::before {
    content: "\201C";
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-family: Georgia, serif;
    font-size: clamp(8rem, 15vw, 12rem);
    line-height: 1;
    color: rgba(136, 168, 40, 0.12);
    pointer-events: none;
    z-index: 0;
}

.natgeo-article__quote::after {
    content: "";
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 3px;
    background: var(--natgeo-gold, #88A828);
    border-radius: 2px;
}

.natgeo-article__quote blockquote {
    position: relative;
    margin: 0;
    z-index: 1;
}

.natgeo-article__quote blockquote p {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-style: italic;
    font-size: clamp(1.4rem, 3.5vw, 1.85rem);
    font-weight: 500;
    line-height: 1.5;
    color: var(--natgeo-ink, #1f2326);
}

.natgeo-article__quote-mark {
    display: none;
}

.natgeo-article__quote-attribution {
    position: relative;
    margin-top: 1.5rem;
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--natgeo-gold, #88A828);
    z-index: 1;
}

@media (min-width: 768px) {
    .natgeo-article__quote {
        padding: 70px 80px 50px;
        margin: 3rem 0;
    }
}

.natgeo-article__callout {
    padding: clamp(1.6rem, 3vw, 2.2rem);
    border-radius: 1.5rem;
    border: 1px solid rgba(16, 24, 32, 0.08);
    background: rgba(16, 24, 32, 0.02);
    box-shadow: 0 18px 45px -30px rgba(16, 24, 32, 0.2);
}

.natgeo-article__callout-body {
    display: grid;
    gap: 0.75rem;
}

.natgeo-article__callout-body > * {
    margin: 0;
}

.natgeo-article__callout--warning {
    border-color: rgba(136, 168, 40, 0.45);
    background: rgba(136, 168, 40, 0.08);
}

.natgeo-article__callout--success {
    border-color: rgba(46, 204, 113, 0.4);
    background: rgba(46, 204, 113, 0.08);
}

.natgeo-article__callout-title {
    margin: 0 0 0.75rem 0;
    font-family: var(--natgeo-serif);
    font-size: 1.3rem;
}

.natgeo-article__callout-body p:last-child {
    margin-bottom: 0;
}

/* TL;DR Box */
.tldr-box {
    position: relative;
    padding: clamp(1.5rem, 3vw, 2rem);
    border-radius: 1rem;
    margin: 1.5rem 0;
}

.tldr-box--highlight {
    background: linear-gradient(135deg, rgba(136, 168, 40, 0.08) 0%, rgba(136, 168, 40, 0.04) 100%);
    border: 1px solid rgba(136, 168, 40, 0.25);
}

.tldr-box--minimal {
    background: rgba(16, 24, 32, 0.02);
    border: 1px solid rgba(16, 24, 32, 0.08);
}

.tldr-box--branded {
    background: linear-gradient(135deg, rgba(206, 17, 38, 0.06) 0%, rgba(206, 17, 38, 0.02) 100%);
    border-left: 4px solid var(--natgeo-accent, #ce1126);
    border-radius: 0 1rem 1rem 0;
}

.tldr-box__header {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.tldr-box__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 0.5rem;
    background: rgba(136, 168, 40, 0.15);
    color: #5a7016;
}

.tldr-box--branded .tldr-box__icon {
    background: rgba(206, 17, 38, 0.1);
    color: var(--natgeo-accent, #ce1126);
}

.tldr-box--minimal .tldr-box__icon {
    background: rgba(16, 24, 32, 0.06);
    color: var(--natgeo-ink);
}

.tldr-box__titles {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.tldr-box__title {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--natgeo-ink);
    line-height: 1.3;
}

.tldr-box__subtitle {
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    color: var(--natgeo-muted);
}

.tldr-box__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.tldr-box__item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-family: var(--natgeo-sans);
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--natgeo-ink);
}

.tldr-box__bullet {
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    margin-top: 0.5rem;
    border-radius: 50%;
    background: #5a7016;
}

.tldr-box--branded .tldr-box__bullet {
    background: var(--natgeo-accent, #ce1126);
}

.tldr-box--minimal .tldr-box__bullet {
    background: var(--natgeo-muted);
}

.tldr-box__text {
    flex: 1;
}

.tldr-box__link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-left: 0.5rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #5a7016;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease;
}

.tldr-box__link:hover {
    border-bottom-color: currentColor;
}

.tldr-box--branded .tldr-box__link {
    color: var(--natgeo-accent, #ce1126);
}

.tldr-box__link--affiliate {
    color: var(--avocado-700, #88A828);
    transition: color 0.2s ease, border-color 0.2s ease;
}

.tldr-box__link--affiliate:hover {
    color: var(--coral-600, #FF694D);
    border-bottom-color: var(--coral-600, #FF694D);
}

.tldr-box__affiliate-badge {
    font-size: 0.7rem;
    opacity: 0.7;
}

@media (max-width: 480px) {
    .tldr-box {
        padding: 1.25rem;
    }

    .tldr-box__header {
        flex-direction: column;
        gap: 0.5rem;
    }

    .tldr-box__icon {
        width: 32px;
        height: 32px;
    }

    .tldr-box__icon svg {
        width: 16px;
        height: 16px;
    }

    .tldr-box__item {
        font-size: 0.9rem;
    }

    .tldr-box__link {
        display: block;
        margin-left: 0;
        margin-top: 0.25rem;
    }
}

.natgeo-article__embed {
    display: grid;
    gap: 0.75rem;
}

.natgeo-article__embed-frame {
    position: relative;
    padding-bottom: 56.25%;
    border-radius: 1.2rem;
    overflow: hidden;
    box-shadow: 0 28px 60px -35px rgba(16, 24, 32, 0.4);
}

.natgeo-article__embed-frame iframe,
.natgeo-article__embed-frame .responsive-object {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.natgeo-article__embed-caption {
    font-size: 0.9rem;
    color: var(--natgeo-muted);
}

/* ================================================================
   INSTAGRAM EMBED BLOCK
   ================================================================ */
.natgeo-instagram-embed {
    display: grid;
    gap: 0.75rem;
    margin: 0 auto;
    max-width: 540px;
}

/* Centered layout (default) - full width, no text flow */
.natgeo-instagram-embed--centered {
    clear: both;
}

/* Float layouts for text wrap */
.natgeo-instagram-embed--float_left {
    float: left;
    margin: 0 1.5rem 1rem 0;
    max-width: 320px;
}

.natgeo-instagram-embed--float_right {
    float: right;
    margin: 0 0 1rem 1.5rem;
    max-width: 320px;
}

/* Clearfix for float layouts */
.natgeo-instagram-embed__clearfix {
    clear: both;
    display: none;
}

/* Grid for multiple posts */
.natgeo-instagram-embed__grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

/* Two posts side by side */
.natgeo-instagram-embed--count-2 .natgeo-instagram-embed__grid {
    grid-template-columns: repeat(2, 1fr);
}

.natgeo-instagram-embed--count-2 {
    max-width: 720px;
}

.natgeo-instagram-embed--count-2.natgeo-instagram-embed--float_left,
.natgeo-instagram-embed--count-2.natgeo-instagram-embed--float_right {
    max-width: 480px;
}

/* Three posts side by side */
.natgeo-instagram-embed--count-3 .natgeo-instagram-embed__grid {
    grid-template-columns: repeat(3, 1fr);
}

.natgeo-instagram-embed--count-3 {
    max-width: 100%;
}

.natgeo-instagram-embed--count-3.natgeo-instagram-embed--float_left,
.natgeo-instagram-embed--count-3.natgeo-instagram-embed--float_right {
    max-width: 600px;
}

.natgeo-instagram-embed__frame {
    position: relative;
    border-radius: var(--natgeo-radius);
    overflow: hidden;
}

/* Override Instagram's default inline styles for better integration */
.natgeo-instagram-embed__frame .instagram-media {
    margin: 0 auto !important;
    border-radius: var(--natgeo-radius) !important;
    box-shadow: 0 20px 50px -25px rgba(16, 24, 32, 0.35) !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.natgeo-instagram-embed__caption {
    margin-top: clamp(0.35rem, 0.8vw, 0.6rem);
    padding-left: clamp(1rem, 1.5vw, 1.5rem);
    border-left: 4px solid var(--natgeo-gold);
    font-family: var(--natgeo-serif);
    font-weight: 500;
    color: var(--natgeo-ink);
    font-size: clamp(0.95rem, 1.1vw, 1.05rem);
    line-height: 1.6;
}

/* ================================================================
   GETYOURGUIDE WIDGET BLOCK
   ================================================================ */
.natgeo-getyourguide-widget {
    display: grid;
    gap: 0.75rem;
    margin: 0 auto;
    max-width: 100%;
}

.natgeo-getyourguide-widget__title {
    font-family: var(--natgeo-serif);
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    font-weight: 600;
    color: var(--natgeo-ink);
    margin: 0 0 0.5rem 0;
}

.natgeo-getyourguide-widget__container {
    position: relative;
    border-radius: var(--natgeo-radius);
    overflow: hidden;
}

/* Override GetYourGuide's default styles for better integration */
.natgeo-getyourguide-widget__container [data-gyg-widget] {
    margin: 0 auto;
}

/* Horizontal layout: Display widget cards side-by-side */
.natgeo-getyourguide-widget__container [data-gyg-widget] > div {
    display: flex !important;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: center;
}

/* Individual activity cards */
.natgeo-getyourguide-widget__container [data-gyg-widget] > div > div {
    flex: 1 1 280px;
    max-width: 320px;
    min-width: 250px;
}

/* Override GetYourGuide fonts to match website */
.natgeo-getyourguide-widget__container [data-gyg-widget],
.natgeo-getyourguide-widget__container [data-gyg-widget] * {
    font-family: var(--natgeo-sans, 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif) !important;
}

/* Override GetYourGuide link colors to match website accent */
.natgeo-getyourguide-widget__container [data-gyg-widget] a {
    color: var(--natgeo-gold, #88a828) !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

.natgeo-getyourguide-widget__container [data-gyg-widget] a:hover {
    color: var(--natgeo-gold-dark, #6b8620) !important;
    text-decoration: underline;
}

/* Style rating stars to match website */
.natgeo-getyourguide-widget__container [data-gyg-widget] [class*="star"],
.natgeo-getyourguide-widget__container [data-gyg-widget] svg[class*="star"] {
    color: var(--natgeo-gold, #88a828) !important;
    fill: var(--natgeo-gold, #88a828) !important;
}

/* Responsive: Stack on smaller screens */
@media (max-width: 600px) {
    .natgeo-getyourguide-widget__container [data-gyg-widget] > div {
        flex-direction: column;
        align-items: center;
    }

    .natgeo-getyourguide-widget__container [data-gyg-widget] > div > div {
        max-width: 100%;
        width: 100%;
    }
}

.natgeo-getyourguide-widget__caption {
    margin-top: clamp(0.35rem, 0.8vw, 0.6rem);
    padding-left: clamp(1rem, 1.5vw, 1.5rem);
    border-left: 4px solid var(--natgeo-gold);
    font-family: var(--natgeo-serif);
    font-weight: 500;
    color: var(--natgeo-ink);
    font-size: clamp(0.95rem, 1.1vw, 1.05rem);
    line-height: 1.6;
}

.natgeo-article__supplement {
    max-width: 840px;
    margin: 0 auto clamp(3rem, 6vw, 4rem);
    padding: clamp(1.8rem, 3.5vw, 2.4rem);
    background: rgba(136, 168, 40, 0.1);
    border: 1px solid rgba(136, 168, 40, 0.45);
    border-radius: 1.2rem;
}

.natgeo-article__supplement h2,
.natgeo-article__tags h2,
.natgeo-article__comments h2 {
    font-family: var(--natgeo-serif);
    font-size: 1.6rem;
    margin: 0 0 1rem 0;
}

.natgeo-article__tags {
    max-width: 840px;
    margin: 0 auto clamp(3rem, 6vw, 4rem);
    padding: 0 clamp(1.5rem, 4vw, 3rem);
}

.natgeo-article__tags ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.natgeo-article__tags li {
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    background: rgba(16, 24, 32, 0.08);
    font-size: 0.82rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.natgeo-article__comments {
    max-width: var(--natgeo-article-main-width, 54rem);
    margin: clamp(3rem, 6vw, 4.5rem) auto clamp(4rem, 7vw, 5rem);
    padding: clamp(2.5rem, 5vw, 3.5rem) clamp(1.5rem, 4vw, 3rem) clamp(3rem, 5vw, 4rem);
    border-top: 1px solid var(--natgeo-border);
}

.natgeo-article__comments::before {
    content: "";
    display: block;
    width: clamp(4rem, 10vw, 6rem);
    height: 3px;
    background: var(--natgeo-gold);
    margin-bottom: clamp(2rem, 4vw, 3rem);
}

.natgeo-comment-area {
    display: grid;
    gap: clamp(2rem, 4vw, 3rem);
}

.natgeo-comment-area__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
}

.natgeo-comment-area__title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.6rem, 4vw, 2rem);
}

.natgeo-comment-area__count {
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-left: 0.35rem;
    color: var(--natgeo-muted);
}

.natgeo-comment-area__intro {
    margin: 0.65rem 0 0;
    color: var(--natgeo-muted);
    line-height: 1.6;
    font-family: var(--natgeo-sans);
}

.natgeo-comment-form {
    display: grid;
    gap: 1.75rem;
}

.natgeo-comment-form__trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    padding: 1.05rem 1.75rem;
    border-radius: 999px;
    border: 1px solid rgba(16, 24, 32, 0.12);
    background: rgba(16, 24, 32, 0.04);
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.24em;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.natgeo-comment-form__trigger:hover,
.natgeo-comment-form__trigger:focus {
    transform: translateY(-2px);
    background: rgba(16, 24, 32, 0.08);
    box-shadow: 0 18px 38px -28px rgba(16, 24, 32, 0.4);
}

.natgeo-comment-form__body {
    display: grid;
    gap: clamp(1.5rem, 4vw, 2.5rem);
    padding: clamp(1.5rem, 3vw, 2rem) 0;
}

.natgeo-comment-form__reply-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1.2rem;
    border-radius: calc(var(--natgeo-radius) * 0.6);
    background: rgba(136, 168, 40, 0.08);
    border: 1px solid rgba(136, 168, 40, 0.14);
    font-family: var(--natgeo-sans);
}

.natgeo-comment-form__reply-label {
    font-size: 0.9rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.natgeo-comment-form__reply-target {
    font-family: var(--natgeo-serif);
    margin-left: 0.35rem;
}

.natgeo-comment-form__reply-cancel {
    border: none;
    background: none;
    font-size: 0.88rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    cursor: pointer;
    color: var(--natgeo-black);
    transition: color 0.3s ease;
}

.natgeo-comment-form__reply-cancel:hover,
.natgeo-comment-form__reply-cancel:focus {
    color: var(--natgeo-gold);
}

.natgeo-comment-form__meta {
    display: grid;
    grid-template-columns: minmax(0, 168px) 1fr;
    gap: clamp(1.5rem, 4vw, 2.25rem);
    align-items: start;
}

.natgeo-comment-form__avatar {
    display: grid;
    justify-items: center;
    gap: 0.85rem;
}

.natgeo-comment-form__avatar-input {
    display: none;
}

.natgeo-comment-form__avatar-label {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    border: 2px dashed rgba(16, 24, 32, 0.24);
    display: grid;
    place-items: center;
    background: rgba(16, 24, 32, 0.04);
    cursor: pointer;
    transition: border-color 0.3s ease, background 0.3s ease;
}

.natgeo-comment-form__avatar-label:hover {
    border-color: rgba(16, 24, 32, 0.46);
    background: rgba(16, 24, 32, 0.07);
}

.natgeo-comment-form__avatar-placeholder {
    font-size: 1.6rem;
    color: rgba(16, 24, 32, 0.35);
    font-weight: 700;
}

.natgeo-comment-form__avatar-preview {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.natgeo-comment-form__avatar-edit {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.26em;
    color: var(--natgeo-muted);
}

.natgeo-comment-form__fields {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.natgeo-comment-form__row {
    display: grid;
    gap: 0.4rem;
}

.natgeo-comment-form__control {
    width: 100%;
    border-radius: 1rem;
    border: 1px solid rgba(16, 24, 32, 0.14);
    padding: 0.95rem 1.15rem;
    font-size: 1rem;
    font-family: var(--natgeo-sans);
    background: rgba(255, 255, 255, 0.96);
    transition: border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

.natgeo-comment-form__control:focus {
    border-color: rgba(136, 168, 40, 0.65);
    box-shadow: 0 0 0 3px rgba(136, 168, 40, 0.2);
    outline: none;
    background: #fff;
}

.natgeo-comment-form__control--textarea {
    min-height: 180px;
    resize: vertical;
}

.natgeo-comment-form__message {
    display: grid;
    gap: 0.5rem;
}

.natgeo-comment-form__footer {
    display: flex;
    justify-content: flex-end;
}

.natgeo-comment-form__submit {
    border: none;
    border-radius: 999px;
    padding: 0.95rem 2.6rem;
    background: linear-gradient(135deg, #88A828, #6d8620);
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    font-family: var(--natgeo-sans);
}

.natgeo-comment-form__submit:hover,
.natgeo-comment-form__submit:focus {
    transform: translateY(-2px);
    box-shadow: 0 22px 42px -28px rgba(136, 168, 40, 0.45);
}

.natgeo-comment-form__errors {
    font-size: 0.85rem;
    color: #b01717;
    background: rgba(176, 23, 23, 0.08);
    padding: 0.6rem 0.85rem;
    border-radius: 0.75rem;
}

.natgeo-comment-thread {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.6rem;
}

.natgeo-comment-thread__item {
    display: block;
}

.natgeo-comment-card {
    padding: 0 0 1.65rem 0;
    display: grid;
    gap: 1.1rem;
    border-bottom: 1px solid var(--natgeo-border);
}

.natgeo-comment-thread__item:last-child > .natgeo-comment-card {
    border-bottom: none;
    padding-bottom: 0;
}

.natgeo-comment-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}

.natgeo-comment-card__profile {
    display: flex;
    align-items: center;
    gap: 1.05rem;
}

.natgeo-comment-card__avatar {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 50%;
    overflow: hidden;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: linear-gradient(160deg, rgba(136, 168, 40, 0.12), rgba(136, 168, 40, 0.25));
    color: var(--natgeo-black);
}

.natgeo-comment-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.natgeo-comment-card__meta {
    display: grid;
    gap: 0.15rem;
}

.natgeo-comment-card__author {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 1rem;
    font-weight: 700;
    color: var(--natgeo-black);
}

.natgeo-comment-card__location {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    color: var(--natgeo-muted);
}

.natgeo-comment-card__timestamp {
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    color: var(--natgeo-muted);
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.natgeo-comment-card__body {
    line-height: 1.7;
    color: var(--natgeo-ink);
    font-family: var(--natgeo-sans);
}

.natgeo-comment-card__body p {
    margin: 0 0 0.9rem 0;
}

.natgeo-comment-card__body p:last-child {
    margin-bottom: 0;
}

.natgeo-comment-card__footer {
    display: flex;
    justify-content: flex-start;
}

.natgeo-comment-card__reply {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: none;
    background: none;
    color: var(--natgeo-gold);
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
    position: relative;
    transition: color 0.3s ease;
}

.natgeo-comment-card__reply::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.25rem;
    width: 100%;
    height: 0.12rem;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.natgeo-comment-card__reply:hover,
.natgeo-comment-card__reply:focus {
    color: #6d8620;
}

.natgeo-comment-card__reply:hover::after,
.natgeo-comment-card__reply:focus::after {
    transform: scaleX(1);
}

.natgeo-comment-thread__children {
    list-style: none;
    margin: 1.6rem 0 0 0;
    padding: 0 0 0 1.75rem;
    border-left: 1px solid rgba(136, 168, 40, 0.15);
    display: grid;
    gap: 1.4rem;
}

.natgeo-comment-thread__empty {
    font-size: 0.95rem;
    color: var(--natgeo-muted);
    padding: 1.8rem;
    text-align: center;
    border-radius: calc(var(--natgeo-radius) * 0.8);
    background: rgba(16, 24, 32, 0.04);
    border: 1px dashed rgba(16, 24, 32, 0.12);
}

[data-comment-form-collapsed] .natgeo-comment-form__body {
    display: none;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

@media (max-width: 900px) {
    .natgeo-comment-form__meta {
        grid-template-columns: 1fr;
        justify-items: stretch;
        text-align: left;
    }

    .natgeo-comment-form__avatar {
        justify-items: center;
    }
}

@media (max-width: 720px) {
    .natgeo-comment-area__header {
        flex-direction: column;
        align-items: flex-start;
    }

    .natgeo-comment-card__header {
        flex-direction: column;
        align-items: flex-start;
    }

    .natgeo-comment-card__timestamp {
        order: -1;
    }

    .natgeo-comment-form__footer {
        justify-content: center;
    }

    .natgeo-comment-thread__children {
        padding-left: 1.25rem;
    }
}

.blog-form-page {
    background: var(--natgeo-cloud);
    font-family: var(--natgeo-sans);
    padding: clamp(3rem, 6vw, 4.5rem) 0;
}
.blog-form-hero {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 clamp(1.5rem, 4vw, 3rem);
}

.blog-form-hero__inner {
    background: #fff;
    border-radius: var(--natgeo-radius);
    border: 1px solid var(--natgeo-border);
    box-shadow: 0 28px 60px -40px rgba(16, 24, 32, 0.35);
    padding: clamp(2rem, 4vw, 3rem);
    display: grid;
    gap: 1.5rem;
}

.blog-form-hero__eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.45em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--natgeo-muted);
}

.blog-form-hero__title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(2rem, 4vw, 2.8rem);
}

.blog-form-hero__lead {
    margin: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: var(--natgeo-muted);
}

.blog-form__messages {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.75rem;
}

.blog-form__message {
    padding: 0.75rem 1rem;
    border-radius: 0.75rem;
    background: rgba(136, 168, 40, 0.12);
    border: 1px solid rgba(136, 168, 40, 0.35);
    color: var(--natgeo-ink);
}

.blog-form__message--error {
    background: rgba(208, 44, 44, 0.08);
    border-color: rgba(208, 44, 44, 0.3);
    color: #732121;
}

.blog-form__non-field-errors {
    border-left: 4px solid rgba(208, 44, 44, 0.6);
    padding: 0.5rem 1rem;
    color: #732121;
    border-radius: 0.75rem;
    background: rgba(208, 44, 44, 0.08);
}

.blog-form {
    display: grid;
    gap: 1.5rem;
}

.blog-form__field {
    display: grid;
    gap: 0.5rem;
}

.blog-form__label {
    font-weight: 700;
    color: var(--natgeo-ink);
}

.blog-form__field input,
.blog-form__field textarea,
.blog-form__field select {
    width: 100%;
    border-radius: 0.85rem;
    border: 1px solid var(--natgeo-border);
    padding: 0.85rem 1rem;
    font-size: 1rem;
    font-family: var(--natgeo-sans);
    background: #fff;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.blog-form__field input:focus,
.blog-form__field textarea:focus,
.blog-form__field select:focus {
    border-color: var(--natgeo-black);
    outline: none;
    box-shadow: 0 0 0 3px rgba(136, 168, 40, 0.35);
}

.blog-form__help {
    font-size: 0.85rem;
    color: var(--natgeo-muted);
}

.blog-form__errors {
    margin: 0;
    padding: 0;
    list-style: none;
    color: #732121;
    font-size: 0.85rem;
}

.blog-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.blog-form__submit {
    border: none;
    border-radius: 999px;
    padding: 0.85rem 1.9rem;
    background: var(--natgeo-black);
    color: var(--natgeo-gold);
    font-weight: 700;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.blog-form__submit:hover {
    transform: translateY(-2px);
    background: var(--natgeo-gold);
    color: var(--natgeo-black);
    box-shadow: 0 18px 40px -24px rgba(16, 24, 32, 0.35);
}

.blog-form__cancel {
    display: inline-flex;
    align-items: center;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.75rem;
    color: var(--natgeo-muted);
    text-decoration: none;
}

.blog-form__cancel:hover {
    color: var(--natgeo-black);
}

.author-profile {
    max-width: 720px;
    margin: 0 auto clamp(3rem, 6vw, 4rem);
    padding: clamp(3rem, 6vw, 4.5rem) clamp(1.5rem, 4vw, 3rem);
    text-align: center;
    background: #fff;
    border-radius: var(--natgeo-radius);
    border: 1px solid var(--natgeo-border);
    box-shadow: 0 24px 60px -40px rgba(16, 24, 32, 0.3);
    font-family: var(--natgeo-sans);
    color: var(--natgeo-ink);
}

.author-profile__image {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--natgeo-gold);
    margin-bottom: 1.5rem;
    box-shadow: 0 28px 50px -32px rgba(16, 24, 32, 0.35);
}

.author-profile h1 {
    font-family: var(--natgeo-serif);
    font-size: clamp(2.1rem, 4vw, 2.8rem);
    margin: 0 0 1rem 0;
}

.author-profile p {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--natgeo-muted);
}

@media (max-width: 1023px) {
    .natgeo-main {
        grid-template-columns: minmax(0, 1fr);
    }

    .natgeo-sidebar {
        position: static;
    }
}

@media (max-width: 767px) {
    .natgeo-hero__inner {
        text-align: left;
    }

    .natgeo-hero__feature {
        max-width: 100%;
    }

    .natgeo-card-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .natgeo-pagination {
        justify-content: flex-start;
    }

    .natgeo-favorites {
        padding: clamp(1.4rem, 6vw, 1.85rem);
    }

    .natgeo-favorites__link {
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-areas:
            "media body"
            "media arrow";
        gap: 0.75rem;
        align-items: center;
    }

    .natgeo-favorites__media {
        grid-area: media;
        width: clamp(3.8rem, 24vw, 5rem);
        border-radius: 20px;
    }

    .natgeo-favorites__body {
        grid-area: body;
    }

    .natgeo-favorites__meta {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .natgeo-favorites__date {
        margin-inline-start: 0;
    }

    .natgeo-favorites__arrow {
        grid-area: arrow;
        width: 2.1rem;
        height: 2.1rem;
        justify-self: end;
        align-self: center;
    }

    .natgeo-favorites__arrow svg {
        width: 1rem;
        height: 1rem;
    }

    .natgeo-article__figure--wide,
    .natgeo-article__figure--full {
        margin-left: 0;
        margin-right: 0;
    }

    /* Reset image grid wide/full to prevent overlap with sidebar on mobile */
    .natgeo-article__image-grid--wide,
    .natgeo-article__image-grid--full {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    /* Reset image pair wide/full to prevent overlap on mobile */
    .natgeo-image-pair--wide,
    .natgeo-image-pair--full {
        margin-left: 0;
        margin-right: 0;
    }
}

/* ------------------------------------------------------------------
   Leaflet map block
------------------------------------------------------------------ */
/* ---------------------------------------------------------------------
   Map Block - Enhanced Design with Sharp Corners
   --------------------------------------------------------------------- */
.natgeo-map-block {
    --map-block-height: 420px;
    --map-accent: var(--coral, #ff694d);
    --map-accent-dark: #c73b25;
    --map-text: var(--forest, #002200);
    --map-text-muted: rgba(16, 24, 32, 0.65);
    --map-bg: #f8f6f2;
    --map-border: rgba(16, 24, 32, 0.1);
    margin: clamp(2rem, 4vw, 3rem) 0;
}

.natgeo-map-block--compact {
    --map-block-height: 320px;
}

.natgeo-map-block--tall {
    --map-block-height: 520px;
}

/* Paragraph Layout Mode - Full section with h2 title */
.natgeo-map-block--paragraph {
    padding: clamp(1.5rem, 3vw, 2.5rem) 0;
}

.natgeo-map-block--paragraph .natgeo-map-block__header {
    margin-bottom: clamp(1rem, 2vw, 1.5rem);
    padding-bottom: clamp(0.75rem, 1.5vw, 1rem);
    border-bottom: 2px solid var(--map-border);
}

.natgeo-map-block--paragraph .natgeo-map-block__title {
    font-family: var(--natgeo-serif);
    font-weight: 700;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    margin: 0 0 0.5rem;
    color: var(--map-text);
    letter-spacing: -0.02em;
}

/* Inline Layout Mode - Minimal, flows with text */
.natgeo-map-block--inline {
    margin: clamp(1rem, 2vw, 1.5rem) 0;
}

.natgeo-map-block--inline .natgeo-map-block__header {
    margin-bottom: clamp(0.5rem, 1vw, 0.75rem);
}

.natgeo-map-block--inline .natgeo-map-block__title {
    font-family: var(--natgeo-sans);
    font-weight: 600;
    font-size: clamp(0.9rem, 1.2vw, 1rem);
    margin: 0;
    color: var(--map-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.natgeo-map-block__intro {
    font-size: clamp(0.95rem, 1.4vw, 1.1rem);
    line-height: 1.7;
    color: var(--map-text-muted);
    margin: 0;
    max-width: 72ch;
}

/* Map Container - Sharp Corners */
.natgeo-map-block__body {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    border: 1px solid var(--map-border);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.natgeo-map-block__map {
    min-height: var(--map-block-height);
}

.natgeo-map-block__fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.75rem;
    height: 100%;
    min-height: var(--map-block-height);
    color: var(--map-text-muted);
    font-size: 0.9rem;
    background: var(--map-bg);
}

.natgeo-map-block__fallback::before {
    content: "";
    width: 32px;
    height: 32px;
    border: 2px solid var(--map-border);
    border-top-color: var(--map-accent);
    border-radius: 50%;
    animation: map-spin 0.8s linear infinite;
}

@keyframes map-spin {
    to { transform: rotate(360deg); }
}

/* Caption */
.natgeo-map-block__caption {
    margin-top: clamp(0.5rem, 1vw, 0.75rem);
    padding: clamp(0.75rem, 1.2vw, 1rem);
    padding-left: clamp(1rem, 1.5vw, 1.25rem);
    border-left: 3px solid var(--natgeo-gold, #e8c547);
    font-size: clamp(0.8rem, 1vw, 0.88rem);
    line-height: 1.6;
    color: var(--map-text-muted);
    background: rgba(232, 197, 71, 0.06);
}

/* Leaflet Container Overrides */
.natgeo-map-block .leaflet-container {
    font-family: var(--natgeo-sans);
    background: var(--map-bg);
    color: var(--map-text);
}

/* Style-specific map backgrounds */
.natgeo-map-block__map--escaping2earth .leaflet-container {
    background: #f0f0f0;
}

.natgeo-map-block__map--toner .leaflet-container {
    background: #fff;
}

.natgeo-map-block__map--transport .leaflet-container {
    background: #f0f5fa;
}

.natgeo-map-block__map--osm_bright .leaflet-container {
    background: #f8f8f8;
}

/* Zoom Controls - Sharp Design */
.natgeo-map-block .leaflet-control-container .leaflet-control-zoom {
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    border-radius: 0;
    overflow: hidden;
    margin: 12px;
}

.natgeo-map-block .leaflet-control-zoom a {
    background: rgba(255, 255, 255, 0.95);
    color: var(--map-text);
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    width: 32px;
    height: 32px;
    line-height: 32px;
    font-size: 1.1rem;
    font-weight: 300;
    transition: all 0.15s ease;
}

.natgeo-map-block .leaflet-control-zoom a:last-child {
    border-bottom: none;
}

.natgeo-map-block .leaflet-control-zoom a:hover,
.natgeo-map-block .leaflet-control-zoom a:focus {
    background: var(--map-accent);
    color: #fff;
}

/* Attribution */
.natgeo-map-block .leaflet-control-attribution {
    background: rgba(255, 255, 255, 0.85);
    padding: 4px 8px;
    font-size: 0.65rem;
    color: var(--map-text-muted);
    border-radius: 0;
}

.natgeo-map-block .leaflet-control-attribution a {
    color: var(--map-accent);
}

/* Popup - Refined Design */
.natgeo-map-block .leaflet-popup-content-wrapper,
.natgeo-map-popup .leaflet-popup-content-wrapper {
    border-radius: 0;
    background: #fff;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.08);
    border: none;
    padding: 0;
}

.natgeo-map-block .leaflet-popup-content,
.natgeo-map-popup .leaflet-popup-content {
    margin: 0;
    padding: clamp(1rem, 1.5vw, 1.25rem);
    color: var(--map-text);
    font-size: 14px;
    line-height: 1.55;
    min-width: 200px;
    max-width: 300px;
}

.natgeo-map-block .leaflet-popup-tip,
.natgeo-map-popup .leaflet-popup-tip {
    background: #fff;
    border: none;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.natgeo-map-block .leaflet-popup-close-button,
.natgeo-map-popup .leaflet-popup-close-button {
    color: var(--map-text-muted);
    font-size: 20px;
    padding: 8px 10px 0 0;
    transition: color 0.15s ease;
}

.natgeo-map-block .leaflet-popup-close-button:hover,
.natgeo-map-popup .leaflet-popup-close-button:hover {
    color: var(--map-accent);
}

/* Popup Content */
.natgeo-map-popup__title {
    font-family: var(--natgeo-serif);
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
    color: var(--map-text);
    line-height: 1.3;
    padding-right: 1rem;
}

.natgeo-map-popup__body {
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 0 0 0.75rem;
    color: var(--map-text-muted);
}

.natgeo-map-popup__body:last-child {
    margin-bottom: 0;
}

.natgeo-map-popup__link {
    margin: 0;
    padding-top: 0.5rem;
    border-top: 1px solid var(--map-border);
}

.natgeo-map-popup__link a {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--map-accent);
    transition: all 0.15s ease;
}

.natgeo-map-popup__link a:hover,
.natgeo-map-popup__link a:focus {
    color: var(--map-accent-dark);
    gap: 0.6rem;
}

.natgeo-map-popup__link a svg {
    flex-shrink: 0;
    transition: transform 0.15s ease;
}

.natgeo-map-popup__link a:hover svg {
    transform: translate(2px, -2px);
}

/* Marker - Clean Minimal Design */
.natgeo-map-marker {
    position: relative;
    width: 28px;
    height: 36px;
}

.natgeo-map-marker:hover {
    z-index: 1000 !important;
}

.natgeo-map-marker__pin {
    position: absolute;
    top: 0;
    left: 50%;
    width: 12px;
    height: 12px;
    background: var(--marker-color, var(--coral, #ff694d));
    border-radius: 50%;
    transform: translateX(-50%);
    border: 2.5px solid #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    transition: all 0.15s ease;
}

.natgeo-map-marker:hover .natgeo-map-marker__pin {
    transform: translateX(-50%) scale(1.2);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);
}

/* Marker Label - Positioned to the right */
.natgeo-map-marker__label {
    position: absolute;
    top: 50%;
    left: calc(50% + 10px);
    transform: translateY(-50%);
    white-space: nowrap;
    background: #fff;
    color: var(--forest, #002200);
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 3px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    pointer-events: none;
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0.01em;
    transition: all 0.15s ease;
}

.natgeo-map-marker:hover .natgeo-map-marker__label {
    background: var(--marker-color, var(--coral, #ff694d));
    color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Tooltip - Hover Info */
.natgeo-map-tooltip {
    background: rgba(0, 0, 0, 0.92);
    color: #fff;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.2);
    font-family: var(--natgeo-sans);
}

.natgeo-map-tooltip .leaflet-tooltip-content {
    padding: clamp(0.75rem, 1.2vw, 1rem);
    max-width: 260px;
}

.natgeo-map-tooltip::before {
    border-top-color: rgba(0, 0, 0, 0.92);
}

.natgeo-map-tooltip__title {
    display: block;
    font-family: var(--natgeo-serif);
    font-size: 0.95rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
    color: #fff;
}

.natgeo-map-tooltip__desc {
    display: block;
    font-size: 0.8rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.8);
}

/* escaping2earth Style Accents */
.natgeo-map-block__map--escaping2earth .natgeo-map-marker__pin {
    background: var(--coral, #ff694d);
}

/* Toner Style - More Contrast */
.natgeo-map-block__map--toner .natgeo-map-marker__pin {
    border-color: #333;
}

/* Mobile Adjustments */
@media (max-width: 767px) {
    .natgeo-map-block__map {
        min-height: 280px;
    }

    .natgeo-map-block__caption {
        padding: 0.75rem;
        padding-left: 1rem;
    }

    .natgeo-map-marker__label {
        font-size: 0.65rem;
        padding: 2px 6px;
        max-width: 100px;
    }

    .natgeo-map-block .leaflet-popup-content {
        min-width: 180px;
        max-width: 260px;
        padding: 0.875rem;
    }

    .natgeo-map-popup__title {
        font-size: 0.95rem;
    }
}

/* ==========================================================================
   Map Panel Layout - Location Cards with Interactive Map
   ========================================================================== */

.natgeo-map-block--with-panel {
    --panel-width: 380px;
    --panel-bg: #fff;
    --card-bg: #fff;
    --card-hover-bg: #fafaf8;
    --card-active-bg: rgba(255, 105, 77, 0.06);
    --card-border: rgba(16, 24, 32, 0.08);
    --card-active-border: var(--coral, #ff694d);
}

.natgeo-map-block--with-panel .natgeo-map-block__body {
    border: none;
    box-shadow: none;
}

/* Panel Container - Flex layout */
.natgeo-map-panel {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--map-border);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    background: var(--panel-bg);
    overflow: hidden;
}

/* Sidebar with location cards */
.natgeo-map-panel__sidebar {
    flex-shrink: 0;
    background: var(--panel-bg);
    border-bottom: 1px solid var(--map-border);
    max-height: 280px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

.natgeo-map-panel__sidebar::-webkit-scrollbar {
    width: 6px;
}

.natgeo-map-panel__sidebar::-webkit-scrollbar-track {
    background: transparent;
}

.natgeo-map-panel__sidebar::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 3px;
}

.natgeo-map-panel__sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.35);
}

/* Card list */
.natgeo-map-panel__list {
    display: flex;
    flex-direction: column;
}

/* Map wrapper */
.natgeo-map-panel__map-wrap {
    flex: 1;
    min-height: 300px;
}

.natgeo-map-panel__map-wrap .natgeo-map-block__map {
    height: 100%;
    min-height: 300px;
}

/* ==========================================================================
   Location Card Styles
   ========================================================================== */

.natgeo-map-card {
    display: flex;
    align-items: stretch;
    gap: 0;
    padding: 0;
    margin: 0;
    background: var(--card-bg);
    border: none;
    border-bottom: 1px solid var(--card-border);
    cursor: pointer;
    text-align: left;
    transition: all 0.2s ease;
    position: relative;
    width: 100%;
    font-family: inherit;
}

.natgeo-map-card:last-child {
    border-bottom: none;
}

.natgeo-map-card:hover {
    background: var(--card-hover-bg);
}

.natgeo-map-card:focus {
    outline: none;
    background: var(--card-hover-bg);
}

.natgeo-map-card:focus-visible {
    outline: 2px solid var(--coral, #ff694d);
    outline-offset: -2px;
}

/* Active card state */
.natgeo-map-card--active {
    background: var(--card-active-bg);
    border-left: 3px solid var(--card-active-border);
}

.natgeo-map-card--active:hover {
    background: var(--card-active-bg);
}

/* Card image */
.natgeo-map-card__image {
    flex-shrink: 0;
    width: 100px;
    height: 80px;
    overflow: hidden;
    background: #f0f0f0;
}

.natgeo-map-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.natgeo-map-card:hover .natgeo-map-card__image img {
    transform: scale(1.05);
}

/* Card content */
.natgeo-map-card__content {
    flex: 1;
    min-width: 0;
    padding: clamp(0.75rem, 1.5vw, 1rem);
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    position: relative;
}

/* Number badge */
.natgeo-map-card__number {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: var(--coral, #ff694d);
    color: #fff;
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    font-weight: 700;
    border-radius: 50%;
    line-height: 1;
}

.natgeo-map-card--active .natgeo-map-card__number {
    background: var(--forest, #002200);
}

/* Card title */
.natgeo-map-card__title {
    font-family: var(--natgeo-serif);
    font-size: clamp(0.9rem, 1.2vw, 1rem);
    font-weight: 600;
    color: var(--forest, #002200);
    margin: 0;
    padding-right: 1.75rem;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Card description */
.natgeo-map-card__desc {
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    line-height: 1.5;
    color: var(--map-text-muted);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Link indicator */
.natgeo-map-card__link-indicator {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--coral, #ff694d);
    margin-top: 0.25rem;
    transition: gap 0.15s ease;
}

.natgeo-map-card:hover .natgeo-map-card__link-indicator {
    gap: 0.5rem;
}

.natgeo-map-card__link-indicator svg {
    flex-shrink: 0;
    transition: transform 0.15s ease;
}

.natgeo-map-card:hover .natgeo-map-card__link-indicator svg {
    transform: translate(2px, -2px);
}

/* ==========================================================================
   Marker Number Badge (on map)
   ========================================================================== */

.natgeo-map-marker__number {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--natgeo-sans);
    font-size: 0.6rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.natgeo-map-marker--active .natgeo-map-marker__pin {
    transform: translateX(-50%) scale(1.3);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
    background: var(--forest, #002200);
}

/* ==========================================================================
   Panel Mode Popup Styles
   ========================================================================== */

.natgeo-map-popup--panel .leaflet-popup-content {
    min-width: 240px;
    max-width: 320px;
}

.natgeo-map-popup__image {
    margin: -1rem -1rem 0.75rem -1rem;
    height: 140px;
    overflow: hidden;
    background: #f0f0f0;
}

.natgeo-map-popup__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ==========================================================================
   Desktop Panel Layout (Side by Side)
   ========================================================================== */

@media (min-width: 768px) {
    .natgeo-map-panel {
        flex-direction: row;
        min-height: var(--map-block-height);
    }

    .natgeo-map-panel__sidebar {
        width: var(--panel-width);
        max-height: none;
        height: auto;
        border-bottom: none;
        border-right: 1px solid var(--map-border);
    }

    .natgeo-map-panel__map-wrap {
        flex: 1;
        min-height: var(--map-block-height);
    }

    .natgeo-map-panel__map-wrap .natgeo-map-block__map {
        min-height: var(--map-block-height);
    }

    /* Larger card images on desktop */
    .natgeo-map-card__image {
        width: 120px;
        height: 90px;
    }

    .natgeo-map-card__content {
        padding: clamp(0.875rem, 1.5vw, 1.125rem);
    }
}

/* Compact panel for tall maps */
.natgeo-map-block--tall .natgeo-map-panel__sidebar {
    max-height: 520px;
}

/* Standard panel height */
.natgeo-map-block--standard .natgeo-map-panel__sidebar {
    max-height: 420px;
}

/* Compact panel height */
.natgeo-map-block--compact .natgeo-map-panel__sidebar {
    max-height: 320px;
}

@media (max-width: 767px) {
    .natgeo-map-block--with-panel {
        --panel-width: 100%;
    }

    .natgeo-map-panel__sidebar {
        max-height: 220px;
    }

    .natgeo-map-card__image {
        width: 80px;
        height: 70px;
    }

    .natgeo-map-card__title {
        font-size: 0.85rem;
    }

    .natgeo-map-card__desc {
        font-size: 0.75rem;
        -webkit-line-clamp: 1;
    }

    .natgeo-map-card__number {
        width: 20px;
        height: 20px;
        font-size: 0.65rem;
    }
}

@media (min-width: 90rem) {
    .natgeo-hero__inner,
    .natgeo-main {
        max-width: 1440px;
        padding-left: clamp(2.5rem, 4vw, 4rem);
        padding-right: clamp(2.5rem, 4vw, 4rem);
    }

    .natgeo-hero__layout {
        grid-template-columns: minmax(0, 1.25fr) minmax(360px, 420px);
        gap: clamp(3rem, 4vw, 4.25rem);
    }

    .natgeo-hero__title {
        font-size: clamp(3.4rem, 3.6vw, 4.3rem);
    }

    .natgeo-hero__dek {
        font-size: 1.3rem;
        max-width: 68ch;
    }

    .natgeo-hero__feature {
        padding: clamp(2.25rem, 3vw, 3rem);
    }

    .natgeo-hero__map {
        width: min(100%, clamp(320px, 28vw, 560px));
    }

    .natgeo-main {
        grid-template-columns: minmax(0, 2.6fr) minmax(0, 1.15fr);
        gap: clamp(3rem, 4vw, 4.5rem);
    }

    .natgeo-card-grid {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: clamp(2rem, 3.2vw, 3rem);
    }

    .natgeo-card__body {
        padding: clamp(1.75rem, 2.8vw, 2.4rem);
    }

    .natgeo-favorites__headline {
        font-size: clamp(1.6rem, 2.2vw, 1.9rem);
    }

    .natgeo-article__header,
    .natgeo-article__meta-bar {
        padding-left: clamp(2rem, 4vw, 3.25rem);
        padding-right: clamp(2rem, 4vw, 3.25rem);
    }

    .natgeo-article__header h1 {
        font-size: clamp(3.1rem, 3.6vw, 4.2rem);
    }

    .natgeo-article__dek {
        font-size: 1.28rem;
    }

    .natgeo-article {
        --natgeo-article-main-width: clamp(46rem, 56vw, 58rem);
    }

    .natgeo-article__body {
        --natgeo-article-main-width: clamp(46rem, 56vw, 58rem);
        --natgeo-article-sidebar-width: clamp(260px, 22vw, 340px);
        width: min(100%, 1780px);
        padding-left: clamp(2.5rem, 5vw, 4rem);
        padding-right: clamp(2.5rem, 5vw, 4rem);
    }

    .natgeo-article__layout {
        column-gap: clamp(2.5rem, 4vw, 3.75rem);
    }
}

@media (min-width: 110rem) {
    .natgeo-hero__inner,
    .natgeo-main {
        max-width: 1600px;
    }

    .natgeo-hero__layout {
        grid-template-columns: minmax(0, 1.3fr) minmax(420px, 560px);
        gap: clamp(3.5rem, 4vw, 5.25rem);
    }

    .natgeo-hero__title {
        font-size: clamp(3.6rem, 3.8vw, 4.6rem);
    }

    .natgeo-hero__dek {
        font-size: 1.35rem;
    }

    .natgeo-main {
        grid-template-columns: minmax(0, 2.8fr) minmax(0, 1.25fr);
    }

    .natgeo-card-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: clamp(2.2rem, 3.4vw, 3.4rem);
    }


    .natgeo-article__body {
        width: min(100%, 1880px);
        --natgeo-article-main-width: clamp(48rem, 54vw, 62rem);
        --natgeo-article-sidebar-width: clamp(300px, 20vw, 380px);
    }

    .natgeo-article {
        --natgeo-article-main-width: clamp(48rem, 54vw, 62rem);
    }

    .natgeo-article__layout {
        column-gap: clamp(3rem, 4.5vw, 4.5rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ===== Climate Diagram ===== */
.blog-climate {
    margin: clamp(2rem, 4vw, 3rem) 0;
    padding: 0;
}

.blog-climate__chart {
    position: relative;
    width: 100%;
    background: #fff;
    border: 1px solid var(--natgeo-border);
    padding: 0;
    min-height: 200px;
    overflow: hidden;
}

.blog-climate__chart--loaded .blog-climate__loading {
    display: none;
}

.blog-climate__loading {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    background: #fff;
    color: var(--natgeo-muted);
    font-size: 0.9rem;
    font-weight: 500;
    z-index: 5;
}

.blog-climate__spinner {
    width: 24px;
    height: 24px;
    border: 2px solid var(--natgeo-border);
    border-top-color: var(--natgeo-gold);
    border-radius: 50%;
    animation: natgeo-spin 0.8s linear infinite;
}

.blog-climate__caption {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 0.75rem;
    margin-top: 1rem;
    padding: 0;
    font-size: 0.85rem;
    color: var(--natgeo-muted);
    line-height: 1.5;
}

.blog-climate__caption strong {
    color: var(--natgeo-ink);
    font-weight: 600;
}

.blog-climate__location-hint {
    color: var(--natgeo-muted);
}

.blog-climate__location-hint::before {
    content: "–";
    margin-right: 0.5rem;
}

.blog-climate__intro {
    flex-basis: 100%;
    margin-top: 0.25rem;
}

.blog-climate__coords {
    font-size: 0.75rem;
    color: var(--natgeo-muted);
    opacity: 0.6;
}

.blog-climate__error {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 3rem 1rem;
    color: #a85454;
    font-weight: 500;
    text-align: center;
    background: #fff;
}

.blog-climate__error i {
    font-size: 1rem;
}

/* Container */
.blog-climate__container {
    opacity: 1;
}

/* Header */
.blog-climate__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    background: #fff;
    border-bottom: 1px solid var(--natgeo-border);
}

.blog-climate__location {
    font-family: var(--natgeo-serif);
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--natgeo-ink);
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

/* Legend */
.blog-climate__legend {
    display: flex;
    gap: 1.5rem;
}

.blog-climate__legend-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--natgeo-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.blog-climate__legend-line {
    width: 20px;
    height: 2px;
}

.blog-climate__legend-line--max {
    background: #c44d34;
}

.blog-climate__legend-line--min {
    background: #3a7ca5;
}

.blog-climate__legend-line--rain {
    background: #6b9ac4;
    opacity: 0.6;
}

/* Graph */
.blog-climate__graph {
    position: relative;
    padding: 1.5rem 0 0;
    background: #fff;
}

.blog-climate__svg {
    width: 100%;
    height: auto;
    display: block;
    min-height: 220px;
}

/* SVG elements */
.blog-climate__grid-line {
    stroke: var(--natgeo-border);
    stroke-width: 1;
}

.blog-climate__zero-line {
    stroke: var(--natgeo-border-strong);
    stroke-width: 1;
    stroke-dasharray: 4 2;
}

.blog-climate__axis-label {
    font-family: var(--natgeo-sans);
    font-size: 10px;
    fill: var(--natgeo-muted);
}

.blog-climate__line {
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.blog-climate__line--max {
    stroke: #c44d34;
}

.blog-climate__line--min {
    stroke: #3a7ca5;
}

.blog-climate__area--temp {
    fill: url(#climateTempGradient);
    opacity: 0.15;
}

.blog-climate__bar {
    fill: #6b9ac4;
    opacity: 0.4;
}

.blog-climate__bar:hover {
    opacity: 0.6;
}

.blog-climate__point {
    stroke-width: 2;
    transition: r 0.15s ease;
}

.blog-climate__point--max {
    fill: #fff;
    stroke: #c44d34;
}

.blog-climate__point--min {
    fill: #fff;
    stroke: #3a7ca5;
}

.blog-climate__point:hover {
    r: 5;
}

.blog-climate__hover-zone {
    cursor: pointer;
    fill: transparent;
}

.blog-climate__hover-zone:hover + .blog-climate__point--max,
.blog-climate__hover-zone:hover ~ .blog-climate__point--min {
    r: 5;
}

/* Tooltip */
.blog-climate__tooltip {
    position: absolute;
    top: 0.75rem;
    left: 50%;
    transform: translateX(-50%);
    background: var(--natgeo-ink);
    padding: 0.75rem 1rem;
    color: #fff;
    font-size: 0.85rem;
    z-index: 10;
    pointer-events: none;
    white-space: nowrap;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    min-width: 160px;
}

.blog-climate__tooltip::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: var(--natgeo-ink);
    border-bottom: 0;
}

.blog-climate__tooltip-month {
    font-family: var(--natgeo-serif);
    font-weight: 500;
    font-size: 0.95rem;
    margin-bottom: 0.5rem;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.blog-climate__tooltip-temps {
    display: flex;
    justify-content: center;
    gap: 1.25rem;
    margin-bottom: 0.4rem;
}

.blog-climate__tooltip-max {
    color: #f0a090;
    font-weight: 600;
    font-size: 0.9rem;
}

.blog-climate__tooltip-min {
    color: #8ec4e8;
    font-weight: 600;
    font-size: 0.9rem;
}

.blog-climate__tooltip-rain {
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.8rem;
    padding-top: 0.35rem;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    margin-top: 0.35rem;
}

.blog-climate__tooltip-rain i {
    color: #8ec4e8;
    margin-right: 0.25rem;
}

/* Month row */
.blog-climate__months {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    background: #fff;
    border-top: 1px solid var(--natgeo-border);
    /* Align months beneath chart data points (50/800 = 6.25% padding on each side) */
    padding-left: 6.25%;
    padding-right: 6.25%;
}

.blog-climate__month {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 0.75rem 0.25rem;
    transition: background-color 0.15s ease;
    cursor: pointer;
    border-right: 1px solid var(--natgeo-border);
}

.blog-climate__month:last-child {
    border-right: none;
}

.blog-climate__month--active {
    background: rgba(136, 168, 40, 0.12);
}

.blog-climate__month-icon {
    font-size: 1rem;
    color: var(--natgeo-muted);
    opacity: 0.7;
}

.blog-climate__month--active .blog-climate__month-icon {
    color: var(--natgeo-gold);
    opacity: 1;
}

.blog-climate__month-name {
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--natgeo-ink);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* Responsive */
@media (max-width: 768px) {
    .blog-climate__header {
        flex-direction: column;
        gap: 0.75rem;
        align-items: flex-start;
        padding: 0.875rem 1rem;
    }

    .blog-climate__location {
        font-size: 1rem;
    }

    .blog-climate__legend {
        width: 100%;
        justify-content: flex-start;
        gap: 1rem;
    }

    .blog-climate__graph {
        padding: 1.25rem 0 0;
    }

    .blog-climate__month {
        padding: 0.6rem 0.15rem;
    }

    .blog-climate__month-icon {
        font-size: 0.9rem;
    }

    .blog-climate__month-name {
        font-size: 0.55rem;
    }
}

@media (max-width: 480px) {
    .blog-climate__header {
        padding: 0.75rem;
    }

    .blog-climate__location {
        font-size: 0.9rem;
    }

    .blog-climate__legend-item {
        font-size: 0.6rem;
    }

    .blog-climate__graph {
        padding: 1rem 0 0;
    }

    .blog-climate__month {
        padding: 0.5rem 0.1rem;
        gap: 0.15rem;
    }

    .blog-climate__month-icon {
        font-size: 0.8rem;
    }

    .blog-climate__month-name {
        font-size: 0.5rem;
    }

    .blog-climate__tooltip {
        min-width: 140px;
        padding: 0.6rem 0.8rem;
        font-size: 0.8rem;
    }
}

/* ===== Premium Currency Widget ===== */
.premium-currency {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    font-family: var(--natgeo-sans);
}

.premium-currency__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.premium-currency__title-group {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.premium-currency__eyebrow {
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--natgeo-gold);
    opacity: 0.8;
}

.premium-currency__title {
    font-family: var(--natgeo-serif);
    font-size: 0.9rem;
    font-style: italic;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.95);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.premium-currency__range-selector {
    display: flex;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 999px;
    padding: 0.15rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.premium-currency__range-btn {
    padding: 0.25rem 0.5rem;
    border: none;
    border-radius: 999px;
    background: transparent;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: all 0.2s ease;
}

.premium-currency__range-btn:hover {
    color: rgba(255, 255, 255, 0.8);
}

.premium-currency__range-btn--active {
    background: rgba(255, 255, 255, 0.95);
    color: #0f172a;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.premium-currency__display {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0.75rem, 3vw, 1.5rem);
    padding: 0.5rem 0;
}

.premium-currency__currency-group {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
}

.premium-currency__currency-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    font-family: var(--natgeo-serif);
    font-size: clamp(3rem, 8vw, 4.5rem);
    font-style: italic;
    color: rgba(255, 255, 255, 0.03);
    pointer-events: none;
    user-select: none;
    z-index: 0;
    transition: all 0.5s ease;
}

.premium-currency__currency-group:hover .premium-currency__currency-bg {
    color: rgba(255, 255, 255, 0.06);
    transform: translate(-50%, -55%) scale(1.08);
}

.premium-currency__currency-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
}

.premium-currency__currency-value {
    font-family: var(--natgeo-serif);
    font-size: clamp(1.4rem, 4vw, 2rem);
    font-style: normal;
    font-weight: 400;
    color: #ffffff;
    line-height: 1;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

.premium-currency__currency-name {
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

.premium-currency__middle {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
}

.premium-currency__swap-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.premium-currency__swap-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: var(--natgeo-gold);
    opacity: 0;
    filter: blur(8px);
    transition: opacity 0.3s ease;
}

.premium-currency__swap-btn:hover {
    background: var(--natgeo-gold);
    border-color: var(--natgeo-gold);
    color: #ffffff;
}

.premium-currency__swap-btn:hover::before {
    opacity: 0.3;
}

.premium-currency__swap-icon {
    width: 1rem;
    height: 1rem;
    transition: transform 0.5s ease;
    position: relative;
    z-index: 1;
}

.premium-currency__swap-btn:hover .premium-currency__swap-icon {
    transform: rotate(180deg);
}

.premium-currency__change {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.15rem 0.4rem;
    border-radius: 999px;
    font-size: 0.55rem;
    font-weight: 700;
}

.premium-currency__change--up {
    background: rgba(136, 168, 40, 0.15);
    border: 1px solid rgba(136, 168, 40, 0.25);
    color: var(--natgeo-gold);
}

.premium-currency__change--down {
    background: rgba(251, 113, 133, 0.15);
    border: 1px solid rgba(251, 113, 133, 0.25);
    color: #fb7185;
}

.premium-currency__chart {
    width: 100%;
    height: 100px;
    margin-top: 0.25rem;
}

.premium-currency__tooltip {
    background: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0.5rem;
    padding: 0.5rem 0.65rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.premium-currency__tooltip-date {
    margin: 0 0 0.25rem 0;
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

.premium-currency__tooltip-rate {
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
    font-size: 0.85rem;
}

.premium-currency__tooltip-base {
    font-size: 0.6rem;
    font-style: italic;
    color: rgba(255, 255, 255, 0.6);
}

.premium-currency__tooltip-value {
    font-weight: 600;
    color: var(--natgeo-gold);
}

.premium-currency__tooltip-symbol {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.7);
}

.premium-currency__footer {
    display: flex;
    justify-content: center;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.premium-currency__status {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.premium-currency__status-dot {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: var(--natgeo-gold);
    animation: premium-currency-pulse 2s ease-in-out infinite;
}

@keyframes premium-currency-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

.premium-currency__status-text {
    font-size: 0.55rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
}

.premium-currency__error {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1.5rem;
    text-align: center;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.85rem;
}

.premium-currency__error-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: rgba(251, 113, 133, 0.2);
    color: #fb7185;
    font-size: 0.75rem;
    font-weight: 700;
}

/* Mobile responsive adjustments */
@media (max-width: 600px) {
    .premium-currency__header {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
    }

    .premium-currency__title-group {
        align-items: center;
        text-align: center;
    }

    .premium-currency__display {
        flex-direction: row;
        gap: 0.5rem;
    }

    .premium-currency__currency-value {
        font-size: clamp(1.2rem, 5vw, 1.6rem);
    }

    .premium-currency__chart {
        height: 80px;
    }
}


/* ================================================================
   COMPREHENSIVE MOBILE TOUCH OPTIMIZATION FOR BLOG POSTS
   Targeting touch devices and small screens for improved UX
   ================================================================ */

/* Touch device detection - disable hover effects on touch */
@media (hover: none) and (pointer: coarse) {
    /* Remove hover transforms that cause issues on touch */
    .natgeo-article__share-link:hover,
    .natgeo-article__tag:hover,
    .natgeo-article__related-card:hover,
    .natgeo-comment-form__trigger:hover,
    .natgeo-comment-form__submit:hover,
    .natgeo-comment-card__reply:hover {
        transform: none;
    }

    /* Add active states for touch feedback */
    .natgeo-article__share-link:active {
        transform: scale(0.92);
        background: rgba(136, 168, 40, 0.15);
    }

    .natgeo-article__tag:active {
        transform: scale(0.95);
        background: var(--natgeo-gold);
        color: #fff;
        border-color: var(--natgeo-gold);
    }

    .natgeo-article__related-card:active {
        transform: scale(0.98);
        box-shadow: 0 8px 20px -10px rgba(16, 24, 32, 0.3);
    }

    .natgeo-comment-form__trigger:active,
    .natgeo-comment-form__submit:active {
        transform: scale(0.96);
    }

    .natgeo-comment-card__reply:active {
        color: var(--natgeo-gold);
    }

    /* Smoother scrolling on touch devices */
    .natgeo-article,
    .natgeo-article__body,
    .natgeo-article__comments {
        -webkit-overflow-scrolling: touch;
    }
}

/* ================================================================
   MOBILE ARTICLE HERO IMPROVEMENTS
   ================================================================ */
@media (max-width: 767px) {
    .natgeo-article__hero {
        padding: clamp(2.5rem, 8vw, 4rem) 0 clamp(2rem, 6vw, 3rem);
        padding-top: calc(var(--navbar-height, 72px) + clamp(2.5rem, 8vw, 4rem));
    }

    .natgeo-article__header {
        padding: 0 clamp(1.25rem, 5vw, 2rem);
        gap: 1rem;
    }

    .natgeo-article__header h1 {
        font-size: clamp(1.85rem, 8vw, 2.8rem);
        line-height: 1.15;
        letter-spacing: -0.01em;
    }

    .natgeo-article__kicker {
        font-size: 0.65rem;
        letter-spacing: 0.35em;
    }

    .natgeo-article__dek {
        font-size: clamp(0.95rem, 3.5vw, 1.1rem);
        line-height: 1.65;
    }
}

/* ================================================================
   MOBILE AUDIO PLAYER TOUCH OPTIMIZATION
   Enhanced touch targets and responsive layout
   ================================================================ */
@media (max-width: 767px) {
    .natgeo-article__listen {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
        padding: 1rem;
        background: rgba(16, 24, 32, 0.03);
        border-radius: 1rem;
        border: 1px solid var(--natgeo-border);
    }

    .natgeo-article__listen-toggle {
        width: 3.5rem;
        height: 3.5rem;
        min-width: 3.5rem;
        min-height: 3.5rem;
        align-self: center;
        border-width: 2px;
        transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
    }

    .natgeo-article__listen-toggle:active {
        transform: scale(0.92);
        background: var(--natgeo-sand);
    }

    .natgeo-article__listen-toggle-icon {
        width: 1.35rem;
        height: 1.35rem;
    }

    .natgeo-article__listen-body {
        width: 100%;
    }

    .natgeo-article__listen-timeline {
        gap: 0.75rem;
    }

    .natgeo-article__listen-track {
        height: 0.5rem;
        min-height: 44px;
        display: flex;
        align-items: center;
        cursor: pointer;
        position: relative;
    }

    .natgeo-article__listen-track::before {
        content: "";
        position: absolute;
        inset: -12px 0;
        background: transparent;
    }

    .natgeo-article__listen-thumb {
        width: 1.25rem;
        height: 1.25rem;
        box-shadow: 0 2px 8px rgba(16, 24, 32, 0.25);
    }

    .natgeo-article__listen-time {
        font-size: 0.85rem;
        min-width: 3rem;
        text-align: center;
    }
}

/* ================================================================
   MOBILE SHARE BUTTONS OPTIMIZATION
   Touch-friendly sizing and spacing
   ================================================================ */
@media (max-width: 767px) {
    .natgeo-article__share {
        width: 100%;
        padding: 0.75rem 0;
    }

    .natgeo-article__share-list {
        display: flex;
        justify-content: space-evenly;
        gap: 0.35rem;
        width: 100%;
    }

    .natgeo-article__share-link {
        width: 3rem;
        height: 3rem;
        min-width: 44px;
        min-height: 44px;
        border: 1px solid var(--natgeo-border);
        background: rgba(255, 255, 255, 0.9);
        border-radius: 50%;
        transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
    }

    .natgeo-article__share-link:active {
        background: var(--natgeo-gold);
        border-color: var(--natgeo-gold);
        color: #fff;
        transform: scale(0.9);
    }

    .natgeo-article__share-link svg {
        width: 1.25rem;
        height: 1.25rem;
    }
}

/* ================================================================
   MOBILE META BAR IMPROVEMENTS - Author info box positioning
   ================================================================ */
@media (max-width: 767px) {
    .natgeo-article__author-info-box {
        left: 50%;
        transform: translateX(-50%) translateY(4px);
        min-width: min(18rem, 85vw);
    }
}

/* ================================================================
   MOBILE ARTICLE BODY & CONTENT IMPROVEMENTS
   ================================================================ */
@media (max-width: 767px) {
    .natgeo-article__body {
        --natgeo-article-main-width: 100%;
        --natgeo-article-sidebar-width: 100%;
        --natgeo-article-layout-gap: clamp(1.25rem, 5vw, 2rem);
        padding: 0 clamp(1rem, 4vw, 1.5rem);
        margin: clamp(1.75rem, 6vw, 2.5rem) auto clamp(2.5rem, 7vw, 4rem);
    }

    .natgeo-article__content {
        font-size: clamp(1rem, 3.8vw, 1.1rem);
        line-height: 1.75;
    }

    .natgeo-article__content p {
        margin-bottom: 1.35rem;
    }

    /* Better drop cap on mobile */
    .natgeo-article__content .natgeo-article__stream > *:first-child > p:first-of-type::first-letter,
    .natgeo-article__content > p:first-of-type::first-letter {
        font-size: clamp(3rem, 15vw, 4.5rem);
        float: left;
        margin: 0.3rem 0.5rem 0.2rem 0;
        line-height: 0.8;
    }

    .natgeo-article__content h2,
    .natgeo-article__content h3 {
        margin-top: clamp(2rem, 6vw, 2.75rem);
        margin-bottom: clamp(0.6rem, 2vw, 0.85rem);
    }

    .natgeo-article__content h2 {
        font-size: clamp(1.4rem, 5.5vw, 1.75rem);
        padding-top: clamp(1rem, 3vw, 1.35rem);
    }

    .natgeo-article__content h2::before {
        width: clamp(2.5rem, 12vw, 4rem);
        height: 2.5px;
    }

    .natgeo-article__content h3 {
        font-size: clamp(1.2rem, 4.5vw, 1.4rem);
        padding-left: clamp(0.75rem, 2.5vw, 0.9rem);
        border-left-width: 2.5px;
    }

    .natgeo-article__content h4 {
        font-size: 0.8rem;
    }

    /* Better blockquotes on mobile */
    .natgeo-article__content blockquote {
        margin: clamp(1.25rem, 4vw, 1.75rem) 0;
        padding-left: 1rem;
        font-size: clamp(1.1rem, 4vw, 1.25rem);
    }

    /* Horizontal scroll indicator for tables */
    .natgeo-article__content table {
        position: relative;
        margin: clamp(1.25rem, 4vw, 1.75rem) -1rem;
        padding: 0 1rem;
        width: calc(100% + 2rem);
    }

    .natgeo-article__content table::after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 2rem;
        background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.9));
        pointer-events: none;
        opacity: 0;
        transition: opacity 0.2s ease;
    }

    .natgeo-article__content table.is-scrollable::after {
        opacity: 1;
    }
}

/* ================================================================
   MOBILE TABLE OF CONTENTS (Inline Collapsible)
   ================================================================ */
@media (max-width: 62rem) {
    /* Reset layout to single column on mobile */
    .natgeo-article__layout {
        display: block;
    }

    /* Reset full-viewport image tricks when layout becomes single-column
       to prevent horizontal overflow and sidebar overlap */
    .natgeo-article__image-grid--full {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    .natgeo-article__toc-container {
        display: block;
        position: relative;
        top: 0;
        z-index: 1;
        width: 100%;
        margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
        background: var(--natgeo-cloud, #faf8f2);
        border: 1px solid var(--natgeo-border);
        border-radius: var(--natgeo-radius, 1.25rem);
        overflow: hidden;
        align-self: stretch;
    }

    .natgeo-article__toc {
        position: relative;
        top: 0;
        max-height: 0;
        overflow: hidden;
        padding: 0 clamp(1rem, 4vw, 1.5rem);
        transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                    padding 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .natgeo-article__toc-container.is-expanded .natgeo-article__toc {
        max-height: 60vh;
        padding: 0 clamp(1rem, 4vw, 1.5rem) clamp(1rem, 3vw, 1.25rem);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .natgeo-article__toc-title {
        background: var(--natgeo-cloud, #faf8f2);
        padding: clamp(0.85rem, 3vw, 1.1rem) clamp(1rem, 4vw, 1.5rem);
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
        min-height: 44px;
        font-size: 0.8rem;
        font-weight: 600;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--natgeo-muted);
        transition: color 0.2s ease;
    }

    .natgeo-article__toc-title:hover {
        color: var(--natgeo-ink);
    }

    .natgeo-article__toc-title::after {
        content: "";
        width: 0.5rem;
        height: 0.5rem;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg);
        transition: transform 0.25s ease;
        flex-shrink: 0;
    }

    .natgeo-article__toc-container.is-expanded .natgeo-article__toc-title::after {
        transform: rotate(-135deg);
    }

    .natgeo-article__toc-list {
        gap: 0.35rem;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .natgeo-article__toc-link {
        display: flex;
        align-items: center;
        padding: 0.6rem 0.85rem;
        min-height: 40px;
        font-size: 0.9rem;
        color: var(--natgeo-ink);
        background: transparent;
        border-radius: 0.5rem;
        transition: background-color 0.15s ease, color 0.15s ease;
    }

    .natgeo-article__toc-link:hover {
        background: rgba(16, 24, 32, 0.05);
    }

    .natgeo-article__toc-link:active {
        background: rgba(136, 168, 40, 0.12);
    }

    .natgeo-article__toc-item.is-active .natgeo-article__toc-link {
        background: rgba(136, 168, 40, 0.1);
        color: var(--natgeo-ink);
        font-weight: 500;
    }

    .natgeo-article__toc-item--sub {
        margin-left: 0;
        padding-left: 0;
        border-left: none;
    }

    .natgeo-article__toc-item--sub .natgeo-article__toc-link {
        padding-left: 1.75rem;
        font-size: 0.85rem;
        color: var(--natgeo-muted);
    }

    .natgeo-article__toc-item--sub.is-active .natgeo-article__toc-link {
        color: var(--natgeo-ink);
    }
}

/* ================================================================
   MOBILE ARTICLE SIDEBAR IMPROVEMENTS
   ================================================================ */
@media (max-width: 62rem) {
    .natgeo-article__sidebar {
        margin-top: clamp(2rem, 5vw, 3rem);
        padding-top: clamp(1.5rem, 4vw, 2rem);
        border-top: 1px solid var(--natgeo-border);
    }

    .natgeo-article__sidebar-section {
        gap: 1rem;
    }

    .natgeo-article__sidebar-title {
        font-size: 0.85rem;
    }

    /* Tags as horizontal scrollable row */
    .natgeo-article__tag-list {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 0.65rem;
        padding: 0.5rem 0;
        margin: 0 -1rem;
        padding-left: 1rem;
        padding-right: 1rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .natgeo-article__tag-list::-webkit-scrollbar {
        display: none;
    }

    .natgeo-article__tag {
        flex-shrink: 0;
        padding: 0.6rem 1.25rem;
        min-height: 44px;
        font-size: 0.75rem;
    }

    /* Hide "You may also like" sidebar section on mobile (shown in carousel below instead) */
    .natgeo-article__sidebar-section:has(.natgeo-article__related-list) {
        display: none;
    }

    /* Related posts as horizontal carousel */
    .natgeo-article__related-list {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 1rem;
        padding: 0.5rem 0;
        margin: 0 -1rem;
        padding-left: 1rem;
        padding-right: 1rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        scroll-snap-type: x mandatory;
        /* Prevent scroll chaining to improve vertical scrolling on mobile */
        overscroll-behavior-x: contain;
    }

    .natgeo-article__related-list::-webkit-scrollbar {
        display: none;
    }

    .natgeo-article__related-item {
        flex-shrink: 0;
        width: clamp(260px, 75vw, 320px);
        scroll-snap-align: start;
    }

    .natgeo-article__related-card {
        height: 100%;
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .natgeo-article__related-image {
        aspect-ratio: 16 / 10;
    }

    .natgeo-article__related-title {
        font-size: 1rem;
        line-height: 1.4;
    }
}

/* ================================================================
   MOBILE BLOCK CONTENT OPTIMIZATION
   ================================================================ */
@media (max-width: 767px) {
    /* Figures & Images */
    .natgeo-article__figure {
        margin: clamp(1.25rem, 4vw, 1.75rem) 0;
    }

    .natgeo-article__figure--wide,
    .natgeo-article__figure--full {
        margin-left: calc(-1 * clamp(1rem, 4vw, 1.5rem));
        margin-right: calc(-1 * clamp(1rem, 4vw, 1.5rem));
    }

    .natgeo-article__figure-caption {
        padding: 0.75rem clamp(1rem, 4vw, 1.5rem);
        margin-top: 0;
        font-size: 0.9rem;
        background: rgba(16, 24, 32, 0.03);
        border-left: 3px solid var(--natgeo-gold);
        border-radius: 0;
    }

    /* Pull Quotes */
    .natgeo-article__quote {
        padding: clamp(1.25rem, 4vw, 1.75rem);
        margin: clamp(1.25rem, 4vw, 1.75rem) 0;
    }

    .natgeo-article__quote blockquote {
        font-size: clamp(1.15rem, 4.5vw, 1.45rem);
    }

    .natgeo-article__quote-mark {
        font-size: 2.5rem;
    }

    .natgeo-article__quote-attribution {
        margin-top: 1rem;
        font-size: 0.75rem;
    }

    /* Callouts */
    .natgeo-article__callout {
        padding: clamp(1.25rem, 4vw, 1.75rem);
        margin: clamp(1.25rem, 4vw, 1.75rem) 0;
        border-radius: 1rem;
    }

    .natgeo-article__callout-title {
        font-size: 1.15rem;
    }

    .natgeo-article__callout-body {
        font-size: 0.95rem;
    }

    /* Embeds */
    .natgeo-article__embed {
        margin: clamp(1.25rem, 4vw, 1.75rem) 0;
    }

    .natgeo-article__embed-frame {
        border-radius: 0.9rem;
        margin-left: calc(-1 * clamp(0.5rem, 2vw, 1rem));
        margin-right: calc(-1 * clamp(0.5rem, 2vw, 1rem));
    }

    .natgeo-article__embed-caption {
        padding: 0.5rem clamp(0.5rem, 2vw, 1rem);
        font-size: 0.85rem;
    }

    /* Instagram Embeds */
    .natgeo-instagram-embed {
        margin: clamp(1.25rem, 4vw, 1.75rem) 0;
    }

    /* Reset floats on mobile - stack vertically */
    .natgeo-instagram-embed--float_left,
    .natgeo-instagram-embed--float_right {
        float: none;
        margin: clamp(1.25rem, 4vw, 1.75rem) auto;
        max-width: 100%;
    }

    /* Stack multiple posts vertically on mobile */
    .natgeo-instagram-embed--count-2 .natgeo-instagram-embed__grid,
    .natgeo-instagram-embed--count-3 .natgeo-instagram-embed__grid {
        grid-template-columns: 1fr;
    }

    .natgeo-instagram-embed--count-2,
    .natgeo-instagram-embed--count-3 {
        max-width: 100%;
    }

    .natgeo-instagram-embed__caption {
        padding: 0.5rem clamp(0.5rem, 2vw, 1rem);
        font-size: 0.9rem;
        border-left-width: 3px;
    }

    /* Columns - Stack on mobile */
    .natgeo-article__columns {
        gap: clamp(1.25rem, 4vw, 1.75rem);
    }

    .natgeo-article__column--aside {
        padding: clamp(1rem, 4vw, 1.5rem);
        border-radius: 1rem;
    }

    /* Headings */
    .natgeo-article__heading--h2 {
        font-size: clamp(1.4rem, 5.5vw, 1.75rem);
        padding-top: clamp(1rem, 3vw, 1.35rem);
    }

    .natgeo-article__heading--h2::before {
        width: clamp(2.5rem, 12vw, 4rem);
        height: 2.5px;
    }

    .natgeo-article__heading--h3 {
        font-size: clamp(1.2rem, 4.5vw, 1.4rem);
        padding-left: clamp(0.75rem, 2.5vw, 0.9rem);
        border-left-width: 2.5px;
    }

    .natgeo-article__heading--h4 {
        font-size: 0.75rem;
    }

    .natgeo-article__block-kicker {
        font-size: 0.7rem;
        letter-spacing: 0.25em;
    }

    /* Sidenotes become inline boxes */
    .natgeo-article__copy .tufte-sidenote {
        margin: 1.25rem 0;
    }

    .natgeo-article__copy .tufte-sidenote__content {
        padding: 1rem;
        border-radius: 0.9rem;
    }
}

/* ================================================================
   MOBILE VISA WIDGET OPTIMIZATION
   ================================================================ */
@media (max-width: 767px) {
    .natgeo-article-visa {
        margin: clamp(1.5rem, 5vw, 2.25rem) 0;
        padding: clamp(1.25rem, 4vw, 1.75rem);
        border-radius: 1rem;
    }

    .natgeo-article-visa__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .natgeo-article-visa__title {
        font-size: clamp(1.25rem, 5vw, 1.5rem);
    }

    .natgeo-article-visa__badge {
        align-self: flex-start;
        padding: 0.5rem 1rem;
        font-size: 0.75rem;
    }

    .natgeo-visa {
        gap: 0.75rem;
    }

    .natgeo-visa__header {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .natgeo-visa__status {
        font-size: clamp(1.1rem, 4.5vw, 1.35rem);
    }

    .natgeo-visa__country-wrapper {
        min-height: 44px;
        padding: 0.5rem 0.75rem;
    }

    .natgeo-visa__info-button {
        width: 2rem;
        height: 2rem;
        min-width: 44px;
        min-height: 44px;
    }
}

/* ================================================================
   MOBILE COMMENT SECTION OPTIMIZATION
   ================================================================ */
@media (max-width: 767px) {
    .natgeo-article__comments {
        padding: clamp(1.75rem, 5vw, 2.5rem) clamp(1rem, 4vw, 1.5rem) clamp(2rem, 5vw, 3rem);
        margin-bottom: clamp(3rem, 7vw, 4.5rem);
    }

    .natgeo-article__comments::before {
        margin-bottom: clamp(1.5rem, 4vw, 2rem);
    }

    .natgeo-comment-area {
        gap: clamp(1.5rem, 5vw, 2.25rem);
    }

    .natgeo-comment-area__title {
        font-size: clamp(1.35rem, 5.5vw, 1.75rem);
    }

    .natgeo-comment-area__intro {
        font-size: 0.9rem;
    }

    /* Comment Form */
    .natgeo-comment-form__trigger {
        width: 100%;
        padding: 1.15rem 1.5rem;
        min-height: 52px;
        font-size: 0.85rem;
        justify-content: center;
    }

    .natgeo-comment-form__trigger:active {
        transform: scale(0.98);
        background: rgba(16, 24, 32, 0.1);
    }

    .natgeo-comment-form__body {
        padding: clamp(1rem, 4vw, 1.5rem) 0;
        gap: clamp(1.25rem, 5vw, 1.75rem);
    }

    .natgeo-comment-form__meta {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .natgeo-comment-form__avatar {
        justify-items: center;
        order: -1;
    }

    .natgeo-comment-form__avatar-label {
        width: 80px;
        height: 80px;
    }

    .natgeo-comment-form__fields {
        grid-template-columns: 1fr;
        gap: 0.85rem;
    }

    .natgeo-comment-form__control {
        padding: 1rem 1.15rem;
        min-height: 52px;
        font-size: 16px; /* Prevents iOS zoom on focus */
        border-radius: 0.9rem;
    }

    .natgeo-comment-form__control--textarea {
        min-height: 140px;
    }

    .natgeo-comment-form__footer {
        justify-content: stretch;
    }

    .natgeo-comment-form__submit {
        width: 100%;
        padding: 1.1rem 2rem;
        min-height: 52px;
        font-size: 0.85rem;
    }

    .natgeo-comment-form__reply-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
        padding: 1rem;
    }

    .natgeo-comment-form__reply-cancel {
        padding: 0.5rem 0;
        min-height: 44px;
    }

    .natgeo-comment-form__errors {
        font-size: 0.8rem;
        padding: 0.75rem 1rem;
    }

    /* Comment Thread */
    .natgeo-comment-thread {
        gap: 1.25rem;
    }

    .natgeo-comment-card {
        padding: 0 0 clamp(1.15rem, 4vw, 1.5rem) 0;
        gap: 0.9rem;
    }

    .natgeo-comment-card__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .natgeo-comment-card__profile {
        gap: 0.85rem;
    }

    .natgeo-comment-card__avatar {
        width: 2.75rem;
        height: 2.75rem;
        font-size: 1rem;
    }

    .natgeo-comment-card__author {
        font-size: 0.95rem;
    }

    .natgeo-comment-card__location {
        font-size: 0.8rem;
    }

    .natgeo-comment-card__timestamp {
        font-size: 0.75rem;
        order: 1;
    }

    .natgeo-comment-card__body {
        font-size: 0.95rem;
        line-height: 1.65;
    }

    .natgeo-comment-card__reply {
        padding: 0.5rem 0;
        min-height: 44px;
        font-size: 0.85rem;
    }

    .natgeo-comment-thread__children {
        margin-top: 1.25rem;
        padding-left: 1rem;
        gap: 1rem;
    }

    .natgeo-comment-thread__empty {
        padding: 1.5rem 1.25rem;
        font-size: 0.9rem;
    }
}

/* ================================================================
   MOBILE SUPPLEMENTARY CONTENT
   ================================================================ */
@media (max-width: 767px) {
    .natgeo-article__supplement {
        margin: 0 clamp(1rem, 4vw, 1.5rem) clamp(2rem, 5vw, 3rem);
        padding: clamp(1.25rem, 4vw, 1.75rem);
        border-radius: 1rem;
    }

    .natgeo-article__supplement h2 {
        font-size: 1.35rem;
    }

    .natgeo-article__tags {
        padding: 0 clamp(1rem, 4vw, 1.5rem);
        margin-bottom: clamp(2rem, 5vw, 3rem);
    }

    .natgeo-article__tags ul {
        gap: 0.5rem;
    }

    .natgeo-article__tags li {
        padding: 0.5rem 1rem;
        font-size: 0.75rem;
    }
}

/* ================================================================
   TOUCH-FRIENDLY INTERACTIVE ELEMENTS
   Minimum 44px touch targets per WCAG guidelines
   ================================================================ */
@media (max-width: 767px) {
    /* Ensure all interactive elements have adequate touch targets */
    a, button {
        position: relative;
    }

    /* Links in article content */
    .natgeo-article__content a,
    .natgeo-article__copy a {
        padding: 0.15rem 0;
        text-decoration-thickness: 2px;
        text-underline-offset: 0.25em;
    }

    /* Improved focus states for touch accessibility */
    .natgeo-article__share-link:focus-visible,
    .natgeo-article__tag:focus-visible,
    .natgeo-article__related-card:focus-visible,
    .natgeo-comment-form__trigger:focus-visible,
    .natgeo-comment-form__submit:focus-visible,
    .natgeo-comment-form__control:focus-visible,
    .natgeo-comment-card__reply:focus-visible,
    .natgeo-article__toc-link:focus-visible {
        outline: 3px solid var(--natgeo-gold);
        outline-offset: 3px;
    }
}

/* ================================================================
   SMOOTH SCROLLING & ANIMATION PREFERENCES
   ================================================================ */
@media (max-width: 767px) {
    /* Scroll behavior for anchor links */
    html {
        scroll-padding-top: calc(var(--navbar-height, 72px) + 1rem);
    }

    /* Respect reduced motion preferences */
    @media (prefers-reduced-motion: reduce) {
        .natgeo-article__toc-container,
        .natgeo-article__share-link,
        .natgeo-article__tag,
        .natgeo-article__related-card,
        .natgeo-comment-form__trigger,
        .natgeo-comment-form__submit,
        .natgeo-article__listen-toggle {
            transition: none;
        }
    }
}

/* ================================================================
   SAFE AREA INSETS FOR MODERN DEVICES
   Handle notches and home indicators
   ================================================================ */
@supports (padding: max(0px)) {
    @media (max-width: 767px) {
        .natgeo-article__body {
            padding-left: max(clamp(1rem, 4vw, 1.5rem), env(safe-area-inset-left));
            padding-right: max(clamp(1rem, 4vw, 1.5rem), env(safe-area-inset-right));
        }

        .natgeo-article__comments {
            padding-left: max(clamp(1rem, 4vw, 1.5rem), env(safe-area-inset-left));
            padding-right: max(clamp(1rem, 4vw, 1.5rem), env(safe-area-inset-right));
        }

    }
}

/* ================================================================
   LANDSCAPE MOBILE OPTIMIZATION
   ================================================================ */
@media (max-width: 767px) and (orientation: landscape) {
    .natgeo-article__hero {
        padding-top: calc(var(--navbar-height, 60px) + clamp(1.5rem, 5vh, 2.5rem));
        padding-bottom: clamp(1.5rem, 5vh, 2.5rem);
    }

    .natgeo-article__header h1 {
        font-size: clamp(1.5rem, 5vw, 2.2rem);
    }

    .natgeo-article__toc-container.is-expanded .natgeo-article__toc {
        max-height: 40vh;
    }
}

/* ================================================================
   HIGH CONTRAST MODE SUPPORT
   ================================================================ */
@media (prefers-contrast: high) {
    .natgeo-article__tag {
        border-width: 2px;
    }

    .natgeo-article__share-link {
        border-width: 2px;
    }

    .natgeo-comment-form__control {
        border-width: 2px;
    }

    .natgeo-article__toc-link {
        text-decoration: underline;
    }
}

/* ================================================================
   OVERFLOW PREVENTION
   Ensures no horizontal scrolling while preserving sticky positioning
   ================================================================ */
.natgeo-page,
.natgeo-article {
    max-width: 100vw;
    /* Use 'clip' instead of 'hidden' to prevent breaking position: sticky */
    overflow-x: clip;
}

@media (max-width: 767px) {
    /* Core page elements - prevent any overflow */
    html, body {
        overflow-x: hidden;
        max-width: 100vw;
    }

    .natgeo-page {
        overflow-x: hidden;
        max-width: 100vw;
        width: 100%;
    }

    .natgeo-article {
        overflow-x: hidden;
        max-width: 100vw;
        width: 100%;
    }

    /* Content sections that may cause overflow */
    .natgeo-article__hero,
    .natgeo-article__layout-grid,
    .natgeo-article__body,
    .natgeo-article__content,
    .natgeo-article__sidebar,
    .natgeo-hero,
    .natgeo-hero__inner {
        max-width: 100vw;
        overflow-x: hidden;
    }

    /* Ensure text content doesn't overflow */
    .natgeo-article__content p,
    .natgeo-article__content h1,
    .natgeo-article__content h2,
    .natgeo-article__content h3,
    .natgeo-article__content h4,
    .natgeo-article__content li {
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }

    /* Handle code blocks that may overflow */
    .natgeo-article__content pre,
    .natgeo-article__content code {
        max-width: 100%;
        overflow-x: auto;
        white-space: pre-wrap;
        word-wrap: break-word;
    }

    /* Handle images that may overflow */
    .natgeo-article__content img,
    .natgeo-article__figure img {
        max-width: 100%;
        height: auto;
    }

    /* Handle embedded content */
    .natgeo-article__content iframe,
    .natgeo-article__content video,
    .natgeo-article__content embed,
    .natgeo-article__content object {
        max-width: 100%;
    }

    /* Ensure visa widget and other inline elements don't overflow */
    .natgeo-inline-visa,
    .natgeo-inline-card {
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* ------------------------------------------------
   Budget Widget - Reworked with D3 World Map
   ------------------------------------------------ */
/* ==========================================================================
   Budget Widget - Interactive Price Level Comparison
   ========================================================================== */

.budget-widget {
    position: relative;
    margin: clamp(2rem, 4vw, 3rem) 0;
    padding: clamp(1.5rem, 3vw, 2rem);
    border: none;
    border-radius: 20px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    overflow: hidden;
}

.budget-widget--loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Header */
.budget-widget__header {
    margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.budget-widget__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-bottom: 1.25rem;
}

.budget-widget__title-accent {
    width: 4px;
    height: 2.5rem;
    background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%);
    border-radius: 2px;
}

.budget-widget__title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.budget-widget__destination-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.85rem;
    border-radius: 6px;
    background: #1e293b;
    color: #fff;
    font-family: var(--natgeo-sans);
    font-size: clamp(0.7rem, 1.4vw, 0.8rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    transform: rotate(-1deg);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Controls */
.budget-widget__controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 2rem;
    padding: 1rem 1.5rem;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 12px;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(226, 232, 240, 0.8);
}

.budget-widget__control-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.budget-widget__control-divider {
    display: none;
    width: 1px;
    height: 2rem;
    background: #e2e8f0;
}

.budget-widget__control-label {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    font-weight: 500;
    color: #64748b;
}

.budget-widget__control-label svg {
    opacity: 0.7;
}

.budget-widget__control-value {
    font-family: var(--natgeo-sans);
    font-size: 0.95rem;
    font-weight: 600;
    color: #0f172a;
}

.budget-widget__select-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.budget-widget__select {
    min-width: 160px;
    padding: 0.55rem 2.25rem 0.55rem 0.85rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    font-weight: 500;
    color: #0f172a;
    appearance: none;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.budget-widget__select:hover {
    border-color: #cbd5e1;
}

.budget-widget__select:focus {
    outline: none;
    border-color: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.15);
}

.budget-widget__select-arrow {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #64748b;
}

/* Content Grid */
.budget-widget__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}

/* Cards */
.budget-card {
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 8px 24px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(226, 232, 240, 0.6);
}

.budget-card--main {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.budget-card--histogram {
    display: flex;
    flex-direction: column;
}

.budget-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 1rem;
}

.budget-card__title {
    margin: 0 0 0.25rem;
    font-family: var(--natgeo-serif);
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 700;
    color: #0f172a;
}

.budget-card__subtitle {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    color: #64748b;
}

/* Status Badge */
.budget-card__status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.9rem;
    border-radius: 999px;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.budget-card__status[hidden] {
    display: none;
}

.budget-card__status::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.budget-card__status--cheap {
    background: #dcfce7;
    color: #166534;
}

.budget-card__status--cheap::before {
    background: #22c55e;
}

.budget-card__status--moderate {
    background: #fef3c7;
    color: #92400e;
}

.budget-card__status--moderate::before {
    background: #eab308;
}

.budget-card__status--expensive {
    background: #fee2e2;
    color: #991b1b;
}

.budget-card__status--expensive::before {
    background: #ef4444;
}

/* Info Button */
.budget-card__info-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    padding: 0;
    border: 1px solid #e2e8f0;
    border-radius: 50%;
    background: #fff;
    color: #94a3b8;
    cursor: pointer;
    transition: all 0.2s;
}

.budget-card__info-btn:hover {
    border-color: #cbd5e1;
    color: #64748b;
    background: #f8fafc;
}

.budget-card__info-btn:focus-visible {
    outline: 2px solid #22c55e;
    outline-offset: 2px;
}

/* Circular Progress */
.budget-card__circle-container {
    position: relative;
    width: 160px;
    height: 160px;
    margin: 1rem 0 1.5rem;
}

.budget-card__circle {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.budget-card__circle-bg {
    fill: none;
    stroke: #f1f5f9;
    stroke-width: 12;
}

.budget-card__circle-fill {
    fill: none;
    stroke: #22c55e;
    stroke-width: 12;
    stroke-linecap: round;
    stroke-dasharray: 0, 440;
    transition: stroke-dasharray 1s ease-out, stroke 0.3s ease;
}

.budget-card__circle-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.budget-card__percent {
    display: block;
    font-family: var(--natgeo-sans);
    font-size: 2rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1;
}

/* Country Name and Comparison */
.budget-card__country-name {
    margin: 0 0 0.5rem;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    font-weight: 700;
    color: #0f172a;
}

.budget-card__comparison {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    font-weight: 500;
    color: #64748b;
}

.budget-card__footer {
    margin-top: auto;
    padding-top: 1.25rem;
    border-top: 1px solid #f1f5f9;
}

.budget-card__source {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    font-weight: 500;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* Histogram */
.budget-histogram {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin-bottom: 0.75rem;
}

.budget-histogram__bars {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 6px;
    height: 120px;
    padding: 0.5rem 0;
}

.budget-histogram__bar {
    position: relative;
    flex: 1;
    min-width: 24px;
    border-radius: 6px 6px 0 0;
    transition: height 0.6s ease-out, transform 0.2s, opacity 0.3s;
    cursor: pointer;
}

.budget-histogram__bar:hover {
    transform: scaleY(1.02);
    filter: brightness(1.1);
}

.budget-histogram__bar--cheap {
    background: linear-gradient(to top, #16a34a, #22c55e, #4ade80);
}

.budget-histogram__bar--moderate {
    background: linear-gradient(to top, #ca8a04, #eab308, #facc15);
}

.budget-histogram__bar--expensive {
    background: linear-gradient(to top, #dc2626, #ef4444, #f87171);
}

.budget-histogram__bar--highlight {
    box-shadow: 0 0 0 3px #0f172a, 0 4px 12px rgba(0, 0, 0, 0.2);
    z-index: 1;
}

.budget-histogram__marker {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 12px;
    height: 12px;
    background: #0f172a;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.budget-histogram__axis {
    display: flex;
    justify-content: space-between;
    padding-top: 0.5rem;
    border-top: 1px solid #e2e8f0;
    font-family: var(--natgeo-sans);
    font-size: 0.65rem;
    color: #94a3b8;
}

/* Histogram Legend */
.budget-histogram__legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem 1.5rem;
    margin-top: 1rem;
}

.budget-histogram__legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    color: #64748b;
}

.budget-histogram__legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.budget-histogram__legend-item--cheap .budget-histogram__legend-dot {
    background: #22c55e;
}

.budget-histogram__legend-item--moderate .budget-histogram__legend-dot {
    background: #eab308;
}

.budget-histogram__legend-item--expensive .budget-histogram__legend-dot {
    background: #ef4444;
}

/* Histogram Summary */
.budget-histogram__summary {
    margin: 1rem 0 0;
    padding: 1rem;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid #f1f5f9;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    line-height: 1.6;
    color: #475569;
}

/* World Map Section */
.budget-map {
    margin-bottom: 1.5rem;
    padding: 1.25rem;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 8px 24px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(226, 232, 240, 0.6);
}

.budget-map--hidden .budget-map__container {
    display: none;
}

.budget-map__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.budget-map__title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 700;
    color: #0f172a;
}

.budget-map__toggle {
    padding: 0.4rem 0.8rem;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #fff;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    font-weight: 500;
    color: #64748b;
    cursor: pointer;
    transition: all 0.2s;
}

.budget-map__toggle:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.budget-map__container {
    position: relative;
    width: 100%;
    min-height: 300px;
    overflow: hidden;
    border-radius: 8px;
    background: #f8fafc;
}

.budget-map__svg {
    width: 100%;
    height: auto;
}

.budget-map__country {
    transition: fill 0.2s, stroke 0.2s, stroke-width 0.2s;
    cursor: pointer;
}

.budget-map__country:hover {
    filter: brightness(0.92);
}

.budget-map__country--destination {
    filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.3));
}

.budget-map__country--reference {
    stroke-dasharray: 3 2;
}

.budget-map__tooltip {
    position: fixed;
    z-index: 100;
    padding: 0.75rem 1rem;
    background: rgba(15, 23, 42, 0.95);
    color: #fff;
    border-radius: 8px;
    font-family: var(--natgeo-sans);
    pointer-events: none;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.15s, transform 0.15s;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.budget-map__tooltip.visible {
    opacity: 1;
    transform: translateY(0);
}

.budget-tooltip__name {
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.budget-tooltip__value {
    font-size: 0.75rem;
    color: #94a3b8;
    margin-bottom: 0.35rem;
}

.budget-tooltip__category {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.budget-tooltip__category--cheap {
    background: rgba(34, 197, 94, 0.2);
    color: #4ade80;
}

.budget-tooltip__category--moderate {
    background: rgba(234, 179, 8, 0.2);
    color: #facc15;
}

.budget-tooltip__category--expensive {
    background: rgba(239, 68, 68, 0.2);
    color: #f87171;
}

/* Info Cards */
.budget-info-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.budget-info-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(226, 232, 240, 0.6);
}

.budget-info-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #f1f5f9;
    border-radius: 10px;
    color: #16a34a;
    flex-shrink: 0;
}

.budget-info-card__content {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.budget-info-card__label {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    font-weight: 500;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.budget-info-card__value {
    font-family: var(--natgeo-sans);
    font-size: 0.95rem;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.3;
}

/* Note and Message */
.budget-widget__note {
    margin: 0 0 1rem;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    background: #f0fdf4;
    border-left: 3px solid #22c55e;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    line-height: 1.5;
    color: #166534;
}

.budget-widget__message {
    margin: 0;
    padding: 1rem;
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    color: #dc2626;
    text-align: center;
    background: #fef2f2;
    border-radius: 8px;
}

.budget-widget__message[hidden] {
    display: none;
}

/* Responsive Design */
@media (min-width: 768px) {
    .budget-widget__control-divider {
        display: block;
    }
}

@media (max-width: 768px) {
    .budget-widget__content {
        grid-template-columns: 1fr;
    }

    .budget-widget__controls {
        flex-direction: column;
        align-items: stretch;
    }

    .budget-widget__control-group {
        justify-content: space-between;
    }

    .budget-widget__select {
        flex: 1;
    }

    .budget-info-cards {
        grid-template-columns: 1fr;
    }

    .budget-widget__title-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .budget-map__container {
        min-height: 220px;
    }
}

@media (max-width: 500px) {
    .budget-widget {
        padding: 1rem;
        border-radius: 16px;
    }

    .budget-card__circle-container {
        width: 140px;
        height: 140px;
    }

    .budget-card__percent {
        font-size: 1.5rem;
    }

    .budget-histogram__bars {
        height: 100px;
    }

    .budget-histogram__legend {
        gap: 0.5rem 1rem;
    }

    .budget-map__container {
        min-height: 180px;
    }
}

/* ============================================================================
   AUTHOR PAGE
   Clean, frameless design with only posts in cards
   ============================================================================ */

.author-page {
    padding-top: calc(var(--navbar-height, 96px) + clamp(2rem, 4vw, 4rem));
    padding-bottom: clamp(3rem, 6vw, 5rem);
}

/* Header Section - Author Avatar and Info */
.author-page__header {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(1.5rem, 4vw, 3rem);
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.author-page__header-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1.5rem, 3vw, 2rem);
    text-align: center;
}

.author-page__avatar {
    width: clamp(140px, 20vw, 200px);
    height: clamp(140px, 20vw, 200px);
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.author-page__avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.author-page__info {
    max-width: 640px;
}

.author-page__name {
    font-family: var(--natgeo-serif);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 0.5rem;
    color: var(--natgeo-ink);
}

.author-page__role {
    font-size: 0.75rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--natgeo-gold);
    margin: 0 0 1rem;
}

.author-page__bio {
    font-size: clamp(1rem, 2vw, 1.15rem);
    line-height: 1.7;
    color: var(--natgeo-muted);
    margin: 0;
}

/* Upcoming Countries Section */
.author-page__upcoming {
    flex-shrink: 0;
    text-align: center;
    padding: clamp(1rem, 2vw, 1.5rem);
    border-left: 1px solid rgba(0, 0, 0, 0.1);
    margin-left: clamp(1rem, 2vw, 1.5rem);
}

.author-page__upcoming-title {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--natgeo-muted);
    margin: 0 0 1rem;
}

.author-page__upcoming-list {
    display: flex;
    gap: clamp(1rem, 2vw, 1.5rem);
    justify-content: center;
}

.author-page__upcoming-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.author-page__upcoming-silhouette {
    width: clamp(60px, 8vw, 80px);
    height: clamp(45px, 6vw, 60px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.author-page__upcoming-silhouette svg {
    width: 100%;
    height: 100%;
    display: block;
}

.author-page__upcoming-name {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--natgeo-ink);
    text-align: center;
}

/* Country Silhouette SVG */
.country-silhouette {
    width: 100%;
    height: auto;
    display: block;
}

/* Map Section */
.author-page__map-section {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(1.5rem, 4vw, 3rem);
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.author-page__map-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1rem, 2vw, 1.5rem);
}

.author-page__map-header {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.author-page__section-title {
    font-family: var(--natgeo-serif);
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    font-weight: 400;
    color: var(--natgeo-ink);
    margin: 0;
}

.author-page__country-count,
.author-page__posts-count {
    font-size: 0.75rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--natgeo-muted);
}

.author-page__map {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.author-page__map svg {
    width: 100%;
    height: auto;
    display: block;
}

.author-page__map svg path {
    transition: opacity 0.2s ease;
}

/* World map styling */
.author-world-map {
    width: 100%;
    height: auto;
    display: block;
}

/* Posts Section */
.author-page__posts-section {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(1.5rem, 4vw, 3rem);
}

.author-page__posts-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1.5rem, 3vw, 2rem);
}

.author-page__posts-header {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

/* Author Posts Grid - uses natgeo-post-card styling */
.author-page__posts-grid {
    display: grid;
    gap: 1.5rem;
    width: 100%;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

@media (min-width: 768px) {
    .author-page__posts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .author-page__posts-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.75rem;
    }
}

@media (min-width: 1280px) {
    .author-page__posts-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Ensure post cards fill their grid cells properly */
.author-page__posts-grid .natgeo-post-card {
    height: 100%;
}

.author-page__empty {
    text-align: center;
    padding: clamp(2rem, 4vw, 3rem) 0;
    color: var(--natgeo-muted);
}

.author-page__empty p {
    margin: 0;
    font-size: 1.1rem;
}

/* Responsive adjustments */
@media (max-width: 47.999rem) {
    .author-page__upcoming {
        border-left: none;
        border-top: 1px solid rgba(0, 0, 0, 0.1);
        margin-left: 0;
        margin-top: 1.5rem;
        padding-top: 1.5rem;
        width: 100%;
    }
}

@media (min-width: 48rem) {
    .author-page__header-inner {
        flex-direction: row;
        text-align: left;
        align-items: flex-start;
    }

    .author-page__info {
        flex: 1;
    }

    .author-page__upcoming {
        align-self: flex-start;
    }
}

@media (min-width: 75rem) {
    .author-page {
        padding-top: calc(var(--navbar-height, 96px) + clamp(3rem, 5vw, 5rem));
    }

    .author-page__header-inner {
        gap: clamp(2rem, 4vw, 3rem);
    }
}

/* ================================================================
   META BAR TOP SECTION (Avatar + Map)
   ================================================================ */
.natgeo-article__meta-top {
    display: contents;
}

.natgeo-article__author-section {
    display: contents;
}

.natgeo-article__meta-map {
    display: none;
}

.natgeo-article__meta-map .subregion-map {
    width: 100%;
    height: auto;
    max-width: 120px;
}

/* ================================================================
   MOBILE META BAR REDESIGN
   Centered layout with larger elements and better spacing
   ================================================================ */
@media (max-width: 767px) {
    .natgeo-article__meta-bar {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        padding: clamp(1.25rem, 4vw, 1.75rem);
        margin-top: clamp(1rem, 4vw, 2rem);
    }

    /* Meta top: horizontal layout with author section and map side by side */
    .natgeo-article__meta-top {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        width: 100%;
    }

    /* Author section: avatar + info side by side */
    .natgeo-article__author-section {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        flex: 0 1 auto;
    }

    .natgeo-article__author-avatar {
        flex-shrink: 0;
    }

    .natgeo-article__author-avatar-img {
        width: 3.5rem;
        height: 3.5rem;
    }

    /* Author info: left-aligned next to avatar */
    .natgeo-article__meta-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.125rem;
    }

    .natgeo-article__meta-author {
        font-size: 0.9rem;
        font-weight: 600;
    }

    .natgeo-article__meta-date {
        font-size: 0.8rem;
        color: var(--natgeo-ink-muted, #666);
    }

    /* Map: positioned to the right of author info */
    .natgeo-article__meta-map {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .natgeo-article__meta-map .subregion-map {
        max-width: 100px;
        width: 100px;
        opacity: 0.9;
    }

    /* Audio player: centered on mobile */
    .natgeo-article__listen {
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 0.75rem;
        padding: 0;
        background: transparent;
        border-radius: 0;
        border: none;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }

    .natgeo-article__listen-toggle {
        width: 2.5rem;
        height: 2.5rem;
        min-width: 2.5rem;
        min-height: 2.5rem;
        align-self: center;
        border-width: 1px;
    }

    .natgeo-article__listen-toggle:active {
        transform: scale(0.95);
        background: var(--natgeo-sand);
    }

    .natgeo-article__listen-toggle-icon {
        width: 1rem;
        height: 1rem;
    }

    .natgeo-article__listen-body {
        flex: 1;
        min-width: 0;
    }

    .natgeo-article__listen-timeline {
        gap: 0.5rem;
    }

    .natgeo-article__listen-track {
        height: 0.25rem;
        min-height: auto;
        display: block;
        cursor: pointer;
    }

    .natgeo-article__listen-track::before {
        content: none;
    }

    .natgeo-article__listen-thumb {
        width: 0.65rem;
        height: 0.65rem;
        box-shadow: none;
    }

    /* Meta actions: centered on mobile */
    .natgeo-article__meta-actions {
        justify-content: center;
    }

    .natgeo-article__listen-time {
        font-size: 0.85rem;
        min-width: auto;
        text-align: left;
    }

    .natgeo-article__listen-time--remaining {
        text-align: right;
    }

    /* Meta actions - centered on mobile */
    .natgeo-article__meta-actions {
        width: 100%;
        justify-content: center;
        gap: 0.75rem;
    }

    .natgeo-article__meta-action-btn {
        width: 2.75rem;
        height: 2.75rem;
        min-width: 44px;
        min-height: 44px;
    }

    .natgeo-article__meta-action-btn:active {
        background: var(--natgeo-gold);
        border-color: var(--natgeo-gold);
        color: #fff;
        transform: scale(0.95);
    }

    .natgeo-article__meta-action-btn--currency {
        padding: 0 0.75rem;
        height: 2.75rem;
        min-height: 44px;
    }

    .natgeo-article__share-panel,
    .natgeo-article__currency-panel {
        position: fixed;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100%;
        max-height: 70vh;
        border-radius: 1rem 1rem 0 0;
        transform: translateY(100%);
    }

    .natgeo-article__share-dropdown.is-open .natgeo-article__share-panel,
    .natgeo-article__currency-dropdown.is-open .natgeo-article__currency-panel {
        transform: translateY(0);
    }

    .natgeo-article__share-panel-link {
        padding: 0.875rem 1.25rem;
        font-size: 1rem;
    }

    .natgeo-article__currency-item {
        padding: 0.75rem 1rem;
    }
}

/* ================================================================
   BLOG INDEX MOBILE REDESIGN
   A complete mobile-first redesign for the blog index page
   Focuses on: compact layouts, horizontal scrolling, efficient space usage
   ================================================================ */

/* -----------------------------------------------------------------
   MOBILE HERO SECTION - Compact & Scannable
   ----------------------------------------------------------------- */
@media (max-width: 767px) {
    /* Reduce hero padding for mobile */
    .natgeo-hero {
        padding: clamp(1.5rem, 4vw, 2.5rem) 0 clamp(1.25rem, 3vw, 2rem);
        padding-top: calc(var(--navbar-height, 64px) + clamp(1.5rem, 4vw, 2.5rem));
        min-height: auto;
    }

    .natgeo-hero__inner {
        padding: 0 clamp(1rem, 4vw, 1.5rem);
    }

    /* Compact title and description */
    .natgeo-hero__title {
        font-size: clamp(1.75rem, 7vw, 2.25rem);
        margin-bottom: 0.5rem;
    }

    .natgeo-hero__dek {
        font-size: 0.95rem;
        line-height: 1.6;
        margin-bottom: 0.75rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* Don't truncate dek on country landing pages - show full intro text */
    .natgeo-hero--country .natgeo-hero__dek {
        display: block;
        -webkit-line-clamp: unset;
        -webkit-box-orient: unset;
        overflow: visible;
    }

    .natgeo-hero__meta {
        margin: 0.75rem 0;
    }

    .natgeo-hero__actions {
        margin: 1rem 0;
    }

    .natgeo-hero__actions .natgeo-button {
        width: 100%;
        justify-content: center;
    }
}

/* -----------------------------------------------------------------
   MOBILE FEATURED POST - Compact Card Style
   ----------------------------------------------------------------- */
@media (max-width: 767px) {
    .natgeo-hero__feature {
        padding: clamp(1rem, 3.5vw, 1.35rem);
        gap: 0.65rem;
        margin: 1rem 0;
        border-radius: 1rem;
    }

    .natgeo-hero__feature-kicker {
        font-size: 0.65rem;
        letter-spacing: 0.35em;
    }

    .natgeo-hero__feature h2 {
        font-size: clamp(1.25rem, 5vw, 1.5rem);
        line-height: 1.3;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .natgeo-hero__feature p {
        font-size: 0.9rem;
        line-height: 1.55;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .natgeo-hero__feature-meta {
        font-size: 0.75rem;
        gap: 0.5rem;
        letter-spacing: 0.15em;
    }

    .natgeo-hero__feature-cta {
        font-size: 0.7rem;
        letter-spacing: 0.3em;
    }
}

/* -----------------------------------------------------------------
   MOBILE CHIPS/FILTERS - Horizontal Scrolling
   ----------------------------------------------------------------- */
@media (max-width: 767px) {
    .natgeo-hero__filters {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
        padding-top: 0.75rem;
        margin: 0 calc(-1 * clamp(1rem, 4vw, 1.5rem));
        padding-left: clamp(1rem, 4vw, 1.5rem);
        padding-right: clamp(1rem, 4vw, 1.5rem);
    }

    .natgeo-hero__filters .natgeo-label {
        padding-left: 0;
    }

    .natgeo-hero__filters .natgeo-chip-row {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        padding-bottom: 0.5rem;
        margin: 0 calc(-1 * clamp(1rem, 4vw, 1.5rem));
        padding-left: clamp(1rem, 4vw, 1.5rem);
        padding-right: clamp(1rem, 4vw, 1.5rem);
        gap: 0.5rem;
        /* Prevent scroll chaining to improve vertical scrolling on mobile */
        overscroll-behavior-x: contain;
    }

    .natgeo-hero__filters .natgeo-chip-row::-webkit-scrollbar {
        display: none;
    }

    .natgeo-hero__filters .natgeo-chip {
        flex-shrink: 0;
        white-space: nowrap;
        padding: 0.5rem 0.9rem;
        font-size: 0.72rem;
    }
}

/* -----------------------------------------------------------------
   MOBILE TOP THREE - Horizontal Scrollable Carousel
   ----------------------------------------------------------------- */
@media (max-width: 767px) {
    .natgeo-hero__sidebar.natgeo-hero__favorites {
        margin-top: 1.25rem;
        margin-left: calc(-1 * clamp(1rem, 4vw, 1.5rem));
        margin-right: calc(-1 * clamp(1rem, 4vw, 1.5rem));
        width: calc(100% + 2 * clamp(1rem, 4vw, 1.5rem));
    }

    .natgeo-top-three.natgeo-hero__feature {
        padding: clamp(1rem, 3.5vw, 1.35rem);
        padding-bottom: 0.75rem;
        border-radius: 0;
        background: rgba(15, 20, 25, 0.6);
        border-left: none;
        border-right: none;
        box-shadow: none;
    }

    .natgeo-top-three__headline {
        font-size: clamp(1.1rem, 4vw, 1.35rem);
        margin-bottom: 0.25rem;
    }

    .natgeo-top-three__intro {
        font-size: 0.85rem;
        line-height: 1.5;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* Transform list into horizontal scroll */
    .natgeo-top-three__list {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        gap: 0.75rem;
        margin: 0.75rem calc(-1 * clamp(1rem, 3.5vw, 1.35rem));
        padding: 0.5rem clamp(1rem, 3.5vw, 1.35rem);
        scroll-snap-type: x mandatory;
        /* Prevent scroll chaining to improve vertical scrolling on mobile */
        overscroll-behavior-x: contain;
    }

    .natgeo-top-three__list::-webkit-scrollbar {
        display: none;
    }

    .natgeo-top-three__item {
        flex: 0 0 auto;
        width: clamp(240px, 70vw, 280px);
        scroll-snap-align: start;
    }

    .natgeo-top-three__link {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        gap: 0.6rem;
        padding: 0.75rem;
        height: 100%;
        min-height: 120px;
    }

    .natgeo-top-three__media {
        width: 100%;
        height: 90px;
        aspect-ratio: 16 / 9;
        border-radius: 10px;
        grid-row: 1;
    }

    .natgeo-top-three__thumb {
        object-position: center;
    }

    .natgeo-top-three__badge {
        top: 8px;
        left: 8px;
        right: auto;
        font-size: 0.7rem;
        padding: 0.15rem 0.4rem;
        min-width: 1.5rem;
    }

    .natgeo-top-three__copy {
        grid-row: 2;
        gap: 0.25rem;
    }

    .natgeo-top-three__kicker {
        font-size: 0.62rem;
        letter-spacing: 0.25em;
    }

    .natgeo-top-three__title {
        font-size: 0.95rem;
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .natgeo-top-three__meta {
        display: flex;
        gap: 0.5rem;
        font-size: 0.72rem;
        letter-spacing: 0.15em;
        margin-top: 0.25rem;
    }

    .natgeo-top-three__meta time {
        display: none;
    }

    .natgeo-top-three__meta > .natgeo-top-three__author + *::before {
        display: none;
    }

    .natgeo-top-three__author-avatar {
        width: 18px;
        height: 18px;
    }

    .natgeo-top-three__arrow {
        display: none;
    }
}

/* -----------------------------------------------------------------
   MOBILE CARD GRID - Compact Horizontal Cards
   ----------------------------------------------------------------- */
@media (max-width: 767px) {
    .natgeo-main {
        margin: clamp(1.5rem, 4vw, 2.5rem) auto clamp(2rem, 5vw, 3rem);
        padding: 0 clamp(1rem, 4vw, 1.5rem);
        gap: clamp(1.5rem, 4vw, 2rem);
    }

    .natgeo-main__primary {
        width: 100%;
    }

    .natgeo-section-heading {
        margin-bottom: 0.25rem;
    }

    .natgeo-section-heading__label {
        font-size: 0.68rem;
        letter-spacing: 0.4em;
    }

    .natgeo-card-grid {
        margin-top: clamp(1rem, 3vw, 1.5rem);
        gap: clamp(0.875rem, 2.5vw, 1.25rem);
    }

    /* Horizontal card layout for mobile */
    .natgeo-card {
        border-radius: 0.875rem;
    }

    .natgeo-card__link {
        flex-direction: row;
        align-items: stretch;
    }

    .natgeo-card__media {
        flex: 0 0 auto;
        width: clamp(100px, 28vw, 130px);
        aspect-ratio: 1;
        border-radius: 0.875rem 0 0 0.875rem;
        min-height: 100%;
    }

    .natgeo-card__media img {
        height: 100%;
        min-height: 100%;
    }

    .natgeo-card__body {
        flex: 1;
        min-width: 0;
        padding: clamp(0.75rem, 2.5vw, 1rem);
        gap: 0.4rem;
        justify-content: center;
    }

    .natgeo-card__kicker {
        font-size: 0.62rem;
        letter-spacing: 0.25em;
    }

    .natgeo-card__title {
        font-size: clamp(0.95rem, 3.5vw, 1.1rem);
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .natgeo-card__excerpt {
        display: none;
    }

    .natgeo-card__meta {
        font-size: 0.72rem;
        letter-spacing: 0.15em;
        gap: 0.4rem;
        margin-top: 0.25rem;
    }

    .natgeo-card__meta > * + *::before {
        margin: 0 0.35rem;
    }

    .natgeo-card__tags {
        display: none;
    }

    /* Disable hover transform on mobile */
    .natgeo-card:hover {
        transform: none;
    }

    .natgeo-card:active {
        transform: scale(0.98);
        transition: transform 0.1s ease;
    }

    .natgeo-card:hover .natgeo-card__media img {
        transform: none;
    }
}

/* -----------------------------------------------------------------
   MOBILE SIDEBAR - Collapsible Sections with Horizontal Chips
   ----------------------------------------------------------------- */
@media (max-width: 767px) {
    .natgeo-sidebar {
        margin-top: 1.5rem;
        padding-top: 1.5rem;
        border-top: 1px solid var(--natgeo-border, rgba(16, 24, 32, 0.1));
    }

    .natgeo-sidebar__block {
        padding-bottom: 1rem;
        margin-bottom: 1rem;
        border-bottom: 1px solid rgba(16, 24, 32, 0.06);
    }

    .natgeo-sidebar__block:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .natgeo-sidebar__block > h2 {
        font-size: 0.72rem;
        letter-spacing: 0.35em;
        text-transform: uppercase;
        color: var(--natgeo-muted);
        margin-bottom: 0.75rem;
    }

    .natgeo-sidebar__label {
        font-size: 0.85rem;
    }

    .natgeo-sidebar__intro {
        font-size: 0.85rem;
        line-height: 1.55;
        margin-bottom: 0.75rem;
    }

    /* Wrapping chips for sidebar - fits screen width */
    .natgeo-sidebar__chips {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        margin: 0;
        padding: 0.25rem 0;
    }

    .natgeo-sidebar__chips .natgeo-chip {
        flex-shrink: 1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: calc(50% - 0.2rem);
        background: var(--natgeo-cloud, #faf8f2);
        border-color: var(--natgeo-border, rgba(16, 24, 32, 0.12));
        color: var(--natgeo-ink, #1f2326);
        font-size: 0.7rem;
        padding: 0.4rem 0.65rem;
    }

    .natgeo-sidebar__chips .natgeo-chip:hover {
        background: var(--natgeo-sand, #f5f1e6);
        border-color: var(--natgeo-gold);
        color: var(--natgeo-ink);
    }

    .natgeo-sidebar__chips .natgeo-chip--active {
        background: var(--natgeo-gold);
        border-color: var(--natgeo-gold);
        color: var(--natgeo-black);
    }

    .natgeo-sidebar__chips .natgeo-chip--hidden {
        display: none;
    }

    .natgeo-chip-toggle {
        display: inline-flex;
        margin-top: 0.5rem;
        font-size: 0.68rem;
    }
}

/* -----------------------------------------------------------------
   MOBILE PAGINATION - Compact Touch-Friendly
   ----------------------------------------------------------------- */
@media (max-width: 767px) {
    .natgeo-pagination {
        display: flex;
        justify-content: center;
        gap: 0.35rem;
        padding: 1.5rem 0 0.5rem;
        flex-wrap: wrap;
    }

    .natgeo-pagination a,
    .natgeo-pagination span {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.5rem 0.75rem;
        font-size: 0.8rem;
        border-radius: 0.5rem;
    }

    .natgeo-pagination a {
        background: var(--natgeo-cloud, #faf8f2);
        color: var(--natgeo-ink);
        text-decoration: none;
    }

    .natgeo-pagination a:active {
        background: var(--natgeo-gold);
        color: var(--natgeo-black);
    }

    .natgeo-pagination span.current {
        background: var(--natgeo-gold);
        color: var(--natgeo-black);
        font-weight: 700;
    }

    .natgeo-pagination span:not(.current) {
        color: var(--natgeo-muted);
    }
}

/* -----------------------------------------------------------------
   MOBILE EMPTY STATE - Centered & Compact
   ----------------------------------------------------------------- */
@media (max-width: 767px) {
    .natgeo-empty {
        text-align: center;
        padding: clamp(2rem, 6vw, 3rem) clamp(1rem, 4vw, 1.5rem);
    }

    .natgeo-empty__icon {
        font-size: 2.5rem;
        margin-bottom: 1rem;
    }

    .natgeo-empty h2 {
        font-size: clamp(1.25rem, 5vw, 1.5rem);
        margin-bottom: 0.5rem;
    }

    .natgeo-empty p {
        font-size: 0.95rem;
        line-height: 1.6;
    }
}

/* -----------------------------------------------------------------
   EXTRA SMALL SCREENS (< 380px) - Tighter Spacing
   ----------------------------------------------------------------- */
@media (max-width: 380px) {
    .natgeo-hero__title {
        font-size: 1.6rem;
    }

    .natgeo-hero__feature h2 {
        font-size: 1.15rem;
    }

    .natgeo-top-three__item {
        width: 220px;
    }

    .natgeo-card__media {
        width: 90px;
    }

    .natgeo-card__title {
        font-size: 0.9rem;
    }

    .natgeo-card__body {
        padding: 0.65rem;
    }
}

/* -----------------------------------------------------------------
   LANDSCAPE MOBILE - Adjust for wider screens
   ----------------------------------------------------------------- */
@media (max-width: 767px) and (orientation: landscape) {
    .natgeo-hero {
        min-height: auto;
        padding-top: calc(var(--navbar-height, 56px) + 1rem);
        padding-bottom: 1rem;
    }

    .natgeo-card__media {
        width: clamp(120px, 20vw, 160px);
    }

    .natgeo-top-three__item {
        width: clamp(200px, 40vw, 260px);
    }

    .natgeo-top-three__media {
        height: 70px;
    }
}

/* -----------------------------------------------------------------
   SCROLL INDICATOR FOR HORIZONTAL SECTIONS
   Subtle fade effect to indicate scrollable content
   ----------------------------------------------------------------- */
@media (max-width: 767px) {
    .natgeo-hero__filters .natgeo-chip-row::after,
    .natgeo-top-three__list::after {
        content: '';
        flex-shrink: 0;
        width: 1rem;
    }

    /* No pseudo element needed for wrapped sidebar chips */
    .natgeo-sidebar__chips::after {
        display: none;
    }

    /* Gradient fade on right edge to indicate more content */
    .natgeo-hero__filters {
        position: relative;
    }

    .natgeo-hero__filters::after {
        content: '';
        position: absolute;
        right: 0;
        top: 2rem;
        bottom: 0.5rem;
        width: 2rem;
        background: linear-gradient(to right, transparent, rgba(15, 20, 25, 0.8));
        pointer-events: none;
    }
}

/* -----------------------------------------------------------------
   TOUCH FEEDBACK IMPROVEMENTS
   ----------------------------------------------------------------- */
@media (max-width: 767px) {
    .natgeo-chip:active {
        transform: scale(0.95);
        transition: transform 0.1s ease;
    }

    .natgeo-top-three__link:active {
        transform: scale(0.98);
        background: rgba(255, 255, 255, 0.12);
    }

    .natgeo-hero__feature:active {
        transform: scale(0.99);
    }
}

/* -----------------------------------------------------------------
   REDUCED MOTION PREFERENCES
   ----------------------------------------------------------------- */
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
    .natgeo-card,
    .natgeo-chip,
    .natgeo-top-three__link,
    .natgeo-hero__feature {
        transition: none;
    }

    .natgeo-card:active,
    .natgeo-chip:active,
    .natgeo-top-three__link:active,
    .natgeo-hero__feature:active {
        transform: none;
    }
}

/* =================================================================
   MOBILE DESIGN IMPROVEMENTS
   Fixes for: hero image coverage, tag overflow/cutoff issues
   ================================================================= */

/* -----------------------------------------------------------------
   FIX 1: Hero image should fill the entire hero section
   ----------------------------------------------------------------- */
@media (max-width: 767px) {
    /* Give hero a proper minimum height so the background image fills nicely */
    .natgeo-hero {
        min-height: 100svh;
        min-height: 100dvh;
        display: flex;
        flex-direction: column;
    }

    /* Ensure the hero media (background image) covers the full area */
    .natgeo-hero__media {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    /* Make background image fill entire hero with proper coverage */
    .natgeo-hero--with-image .natgeo-hero__media {
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }

    /* For hero images using <img> element, ensure full coverage */
    .natgeo-hero__bg-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }

    /* Inner content should fill available space */
    .natgeo-hero__inner {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
    }

    /* Layout should take full width */
    .natgeo-hero__layout {
        width: 100%;
    }

    /* Content should have proper spacing from bottom */
    .natgeo-hero__content {
        gap: clamp(1rem, 3vw, 1.5rem);
    }
}

/* -----------------------------------------------------------------
   FIX 2: Tags should not be cut off - improved chip/tag visibility
   ----------------------------------------------------------------- */
@media (max-width: 767px) {
    /* Remove the gradient fade that obscures chips on the right edge */
    .natgeo-hero__filters::after {
        display: none;
    }

    /* Increase padding on chip-row to prevent edge cutoff */
    .natgeo-hero__filters .natgeo-chip-row {
        padding-right: calc(clamp(1rem, 4vw, 1.5rem) + 1rem);
        scroll-padding-inline: clamp(1rem, 4vw, 1.5rem);
    }

    /* Ensure chips in hero filters don't get clipped */
    .natgeo-hero__filters .natgeo-chip {
        flex-shrink: 0;
        white-space: nowrap;
        overflow: visible;
        text-overflow: initial;
    }

    /* Sidebar chips use wrapping layout - ensure proper spacing */
    .natgeo-sidebar__chips {
        padding-right: 0;
    }

    /* Sidebar chips are wrapped, limit width to prevent overflow */
    .natgeo-sidebar__chips .natgeo-chip {
        flex-shrink: 1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: calc(50% - 0.2rem);
    }

    /* Show card tags on mobile (previously hidden) - compact style */
    .natgeo-card__tags {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        gap: 0.3rem;
        margin-top: 0.35rem;
        padding-bottom: 0.1rem;
    }

    .natgeo-card__tags::-webkit-scrollbar {
        display: none;
    }

    /* Compact tag styling for mobile cards */
    .natgeo-card__tags span {
        flex-shrink: 0;
        white-space: nowrap;
        padding: 0.2rem 0.5rem;
        font-size: 0.65rem;
        letter-spacing: 0.05em;
        border-radius: 4px;
        background: rgba(16, 24, 32, 0.06);
    }

    /* Limit visible tags to prevent clutter - show max 2 tags */
    .natgeo-card__tags span:nth-child(n+3) {
        display: none;
    }
}

/* =================================================================
   IMAGE GRID - MASONRY LAYOUT WITH HOVER OVERLAYS
   - CSS Grid-based masonry effect
   - Responsive column layout
   - Hover overlays for caption and credit
   ================================================================= */

.natgeo-article__image-grid {
    margin: 2rem 0;
    min-width: 0; /* Allow grid to shrink in containers */
    max-width: 100%;
    /* Ensure vertical scrolling works on touch devices */
    touch-action: pan-y pinch-zoom;
}

.natgeo-article__image-grid--wide {
    margin-left: calc(-1 * clamp(1rem, 4vw, 3rem));
    margin-right: calc(-1 * clamp(1rem, 4vw, 3rem));
    max-width: none; /* Allow wide variant to extend beyond container */
}

.natgeo-article__image-grid--full {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    width: 100vw;
    max-width: 100vw;
}

.natgeo-article__image-grid-title {
    font-family: var(--natgeo-serif);
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    font-weight: 500;
    color: var(--natgeo-ink);
    margin: 0 0 1rem 0;
    letter-spacing: -0.01em;
}

/* CSS Columns for true masonry layout */
.natgeo-article__image-grid-container {
    column-count: 2;
    column-fill: balance;
}

/* Column variants */
.natgeo-article__image-grid-container--cols-2 {
    column-count: 2;
}

.natgeo-article__image-grid-container--cols-3 {
    column-count: 2;
}

.natgeo-article__image-grid-container--cols-4 {
    column-count: 2;
}

/* Responsive columns for tablets and up */
@media (min-width: 48rem) {
    .natgeo-article__image-grid-container--cols-3 {
        column-count: 3;
    }

    .natgeo-article__image-grid-container--cols-4 {
        column-count: 3;
    }
}

/* Full columns on desktop */
@media (min-width: 62rem) {
    .natgeo-article__image-grid-container--cols-4 {
        column-count: 4;
    }
}

/* Gap variants */
.natgeo-article__image-grid-container--gap-none {
    column-gap: 0;
}

.natgeo-article__image-grid-container--gap-small {
    column-gap: 0.5rem;
}

.natgeo-article__image-grid-container--gap-medium {
    column-gap: 1rem;
}

.natgeo-article__image-grid-container--gap-large {
    column-gap: 1.5rem;
}

/* Grid item */
.natgeo-article__image-grid-item {
    position: relative;
    overflow: hidden;
    background: var(--natgeo-sand);
    line-height: 0;
    break-inside: avoid;
    margin-bottom: 1rem;
}

/* Vertical gap variants for grid items */
.natgeo-article__image-grid-container--gap-none .natgeo-article__image-grid-item {
    margin-bottom: 0;
}

.natgeo-article__image-grid-container--gap-small .natgeo-article__image-grid-item {
    margin-bottom: 0.5rem;
}

.natgeo-article__image-grid-container--gap-medium .natgeo-article__image-grid-item {
    margin-bottom: 1rem;
}

.natgeo-article__image-grid-container--gap-large .natgeo-article__image-grid-item {
    margin-bottom: 1.5rem;
}

.natgeo-article__image-grid-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.4s ease;
    /* Allow vertical scrolling on touch devices - touch-action is not inherited */
    touch-action: pan-y pinch-zoom;
}

/* Hover zoom effect */
.natgeo-article__image-grid-item:hover .natgeo-article__image-grid-img {
    transform: scale(1.05);
}

/* Overlay for caption and credit */
.natgeo-article__image-grid-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(16, 24, 32, 0.9) 0%,
        rgba(16, 24, 32, 0.6) 40%,
        rgba(16, 24, 32, 0.2) 70%,
        transparent 100%
    );
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1rem;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.natgeo-article__image-grid-item:hover .natgeo-article__image-grid-overlay,
.natgeo-article__image-grid-item:focus-within .natgeo-article__image-grid-overlay {
    opacity: 1;
}

/* Caption styling */
.natgeo-article__image-grid-caption {
    font-family: var(--natgeo-sans);
    font-size: clamp(0.8rem, 1.5vw, 0.9rem);
    font-weight: 500;
    color: var(--natgeo-cloud);
    line-height: 1.4;
    display: block;
    margin-bottom: 0.25rem;
}

/* Credit styling */
.natgeo-article__image-grid-credit {
    font-family: var(--natgeo-sans);
    font-size: clamp(0.65rem, 1.2vw, 0.75rem);
    font-weight: 400;
    color: rgba(250, 248, 242, 0.7);
    line-height: 1.3;
    display: block;
    font-style: italic;
}

/* Touch device support - show overlay on tap */
@media (hover: none) and (pointer: coarse) {
    .natgeo-article__image-grid-overlay {
        opacity: 1;
        background: linear-gradient(
            to top,
            rgba(16, 24, 32, 0.8) 0%,
            rgba(16, 24, 32, 0.4) 30%,
            transparent 60%
        );
    }
}

/* Remove bottom margin from last items in each column to prevent extra spacing */
.natgeo-article__image-grid-item:last-child {
    margin-bottom: 0;
}

/* =================================================================
   DISEASE WIDGETS - Diseases by Country & Disease Spread Map
   - WHO GHO API integration widgets
   - Styled to match the natgeo design system
   ================================================================= */

/* Shared Disease Widget Styles */
/* Disease Widget - Clean integrated style (no box) */
.disease-widget {
    position: relative;
    margin: clamp(1.5rem, 3vw, 2.5rem) 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    border: none;
    box-shadow: none;
}

/* Collapsible styles */
.disease-widget--collapsible .disease-widget__title-row {
    cursor: pointer;
}

.disease-widget__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-left: auto;
    padding: 0;
    background: var(--natgeo-sand);
    border: 1px solid var(--natgeo-border);
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

.disease-widget__toggle:hover {
    background: var(--natgeo-border);
}

.disease-widget__toggle-icon {
    transition: transform 0.3s ease;
    color: var(--natgeo-muted);
}

.disease-widget--collapsed .disease-widget__toggle-icon {
    transform: rotate(-90deg);
}

.disease-widget__body {
    overflow: hidden;
    transition: opacity 0.3s ease;
}

.disease-widget__body[hidden] {
    display: none;
}

.disease-widget__header {
    margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
}

.disease-widget__title-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

.disease-widget__title-accent {
    width: 4px;
    height: 1.75rem;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    border-radius: 2px;
}

.disease-widget__title {
    margin: 0;
    font-family: var(--natgeo-serif);
    font-size: clamp(1.35rem, 3vw, 1.65rem);
    font-weight: 600;
    color: var(--natgeo-ink);
    line-height: 1.2;
}

.disease-widget__country-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    background: var(--natgeo-sand);
    border-radius: 999px;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--natgeo-ink);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.disease-widget__country-badge svg {
    width: 14px;
    height: 14px;
    opacity: 0.7;
}

.disease-widget__intro {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--natgeo-muted);
}

/* Controls for Disease Spread Map */
.disease-widget__controls {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--natgeo-border);
}

.disease-widget__control-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.disease-widget__control-label {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--natgeo-muted);
    white-space: nowrap;
}

.disease-widget__control-label svg {
    width: 16px;
    height: 16px;
    opacity: 0.6;
}

.disease-widget__select-wrapper {
    position: relative;
    display: inline-flex;
}

.disease-widget__select {
    appearance: none;
    padding: 0.5rem 2rem 0.5rem 0.75rem;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--natgeo-ink);
    background: #fff;
    border: 1px solid var(--natgeo-border);
    border-radius: 0.5rem;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    min-width: 10rem;
}

.disease-widget__select:hover {
    border-color: var(--natgeo-border-strong);
}

.disease-widget__select:focus {
    outline: none;
    border-color: var(--natgeo-gold);
    box-shadow: 0 0 0 3px rgba(136, 168, 40, 0.15);
}

.disease-widget__select-arrow {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: var(--natgeo-muted);
}

.disease-widget__indicator-info {
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    color: var(--natgeo-muted);
}

/* Disease Cards Grid - Diseases by Country */
.disease-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    gap: clamp(0.75rem, 2vw, 1.25rem);
}

.disease-cards__loading {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 3rem 1rem;
    color: var(--natgeo-muted);
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
}

.disease-cards__spinner {
    width: 32px;
    height: 32px;
    border: 3px solid var(--natgeo-border);
    border-top-color: #ef4444;
    border-radius: 50%;
    animation: disease-spin 0.8s linear infinite;
}

@keyframes disease-spin {
    to { transform: rotate(360deg); }
}

/* Individual Disease Card */
.disease-card {
    position: relative;
    padding: clamp(1rem, 2vw, 1.25rem);
    background: #fff;
    border-radius: 0.75rem;
    border: 1px solid var(--natgeo-border);
    box-shadow: 0 2px 8px rgba(16, 24, 32, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    overflow: hidden;
    min-width: 0;
}

.disease-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(16, 24, 32, 0.08);
}

/* Severity indicators */
.disease-card--high {
    border-left: 4px solid #ef4444;
}

.disease-card--medium {
    border-left: 4px solid #f59e0b;
}

.disease-card--low {
    border-left: 4px solid #22c55e;
}

.disease-card--no-data {
    border-left: 4px solid var(--natgeo-border);
    opacity: 0.7;
}

.disease-card__header {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    min-width: 0;
}

.disease-card__name {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--natgeo-ink);
    line-height: 1.3;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

.disease-card__trend {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
    align-self: flex-start;
}

.disease-card__trend--increasing {
    background: rgba(239, 68, 68, 0.1);
    color: #dc2626;
}

.disease-card__trend--decreasing {
    background: rgba(34, 197, 94, 0.1);
    color: #16a34a;
}

.disease-card__trend--stable {
    background: rgba(107, 114, 128, 0.1);
    color: #6b7280;
}

.disease-card__trend svg {
    width: 12px;
    height: 12px;
}

.disease-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.disease-card__value {
    font-family: var(--natgeo-sans);
    font-size: clamp(1.5rem, 4vw, 2rem);
    font-weight: 700;
    color: var(--natgeo-ink);
    line-height: 1.1;
    word-break: break-word;
}

.disease-card__unit {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--natgeo-muted);
    text-transform: lowercase;
}

.disease-card__confidence {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    color: var(--natgeo-muted);
}

.disease-card__no-data {
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    color: var(--natgeo-muted);
    font-style: italic;
}

.disease-card__footer {
    margin-top: 0.75rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--natgeo-border);
}

.disease-card__year {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--natgeo-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Disease Spread Map */
.disease-map {
    position: relative;
    margin: clamp(1rem, 2vw, 1.5rem) 0;
}

.disease-map__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.disease-map__title {
    margin: 0;
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--natgeo-ink);
}

.disease-map__stats {
    display: flex;
    gap: 1.5rem;
}

.disease-map__stat {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
}

.disease-map__stat-label {
    color: var(--natgeo-muted);
}

.disease-map__stat-value {
    font-weight: 600;
    color: var(--natgeo-ink);
}

.disease-map__container {
    position: relative;
    width: 100%;
    aspect-ratio: 960 / 500;
    background: var(--natgeo-sand);
    border-radius: 0.75rem;
    overflow: hidden;
}

.disease-map__loading {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: var(--natgeo-muted);
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
}

.disease-map__spinner {
    width: 36px;
    height: 36px;
    border: 3px solid var(--natgeo-border);
    border-top-color: #ef4444;
    border-radius: 50%;
    animation: disease-spin 0.8s linear infinite;
}

.disease-map__svg {
    width: 100%;
    height: 100%;
}

.disease-map__country {
    cursor: pointer;
    transition: opacity 0.15s ease;
}

.disease-map__country:hover {
    opacity: 0.85;
}

.disease-map__country--highlight {
    stroke-width: 2.5px !important;
}

/* Map Legend */
.disease-map__legend {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1rem;
}

.disease-map__legend-label {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--natgeo-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.disease-map__legend-gradient {
    width: clamp(120px, 20vw, 200px);
    height: 10px;
    border-radius: 4px;
    background: linear-gradient(to right, #fee5d9, #fcbba1, #fc9272, #fb6a4a, #ef3b2c, #cb181d, #99000d);
}

/* Map Tooltip */
.disease-map__tooltip {
    position: fixed;
    z-index: 1000;
    padding: 0.75rem 1rem;
    background: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 0.5rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    pointer-events: none;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.disease-map__tooltip.visible {
    opacity: 1;
    transform: translateY(0);
}

.disease-tooltip__name {
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 0.25rem;
}

.disease-tooltip__indicator {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 0.35rem;
}

.disease-tooltip__value {
    font-family: var(--natgeo-sans);
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
}

.disease-tooltip__year {
    font-family: var(--natgeo-sans);
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 0.25rem;
}

.disease-tooltip__no-data {
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6);
    font-style: italic;
}

/* Rankings Lists */
.disease-widget__rankings {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
    margin-top: clamp(1.25rem, 3vw, 1.75rem);
    padding-top: clamp(1rem, 2vw, 1.5rem);
    border-top: 1px solid var(--natgeo-border);
}

.disease-ranking {
    padding: 1rem;
    background: var(--natgeo-sand);
    border-radius: 0.75rem;
}

.disease-ranking__title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.75rem 0;
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--natgeo-ink);
}

.disease-ranking__title svg {
    width: 16px;
    height: 16px;
    opacity: 0.7;
}

.disease-ranking--highest .disease-ranking__title svg {
    color: #ef4444;
}

.disease-ranking--lowest .disease-ranking__title svg {
    color: #22c55e;
}

.disease-ranking__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.disease-ranking__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(16, 24, 32, 0.08);
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
}

.disease-ranking__item:last-child {
    border-bottom: none;
}

.disease-ranking__rank {
    width: 1.5rem;
    font-weight: 700;
    color: var(--natgeo-muted);
    text-align: center;
}

.disease-ranking__country {
    flex: 1;
    color: var(--natgeo-ink);
    font-weight: 500;
}

.disease-ranking__value {
    font-weight: 600;
    color: var(--natgeo-ink);
}

/* Widget Footer */
.disease-widget__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: clamp(1rem, 2vw, 1.5rem);
    padding-top: clamp(0.75rem, 1.5vw, 1rem);
    border-top: 1px solid var(--natgeo-border);
}

.disease-widget__source {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    color: var(--natgeo-muted);
}

.disease-widget__source svg {
    width: 14px;
    height: 14px;
    opacity: 0.6;
}

.disease-widget__year {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--natgeo-muted);
}

.disease-widget__message {
    margin: 1rem 0 0;
    padding: 1rem;
    background: rgba(239, 68, 68, 0.05);
    border: 1px solid rgba(239, 68, 68, 0.15);
    border-radius: 0.5rem;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    color: #b91c1c;
    text-align: center;
}

.disease-widget__note {
    margin: 1rem 0 0;
    padding: 0.75rem 1rem;
    background: var(--natgeo-sand);
    border-radius: 0.5rem;
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    color: var(--natgeo-muted);
    line-height: 1.5;
}

/* Mobile Responsiveness */
@media (max-width: 40rem) {
    .disease-widget {
        padding: 1.25rem;
        border-radius: 1rem;
    }

    .disease-cards {
        grid-template-columns: 1fr;
    }

    .disease-widget__controls {
        flex-direction: column;
        align-items: flex-start;
    }

    .disease-widget__select {
        width: 100%;
    }

    .disease-map__stats {
        flex-direction: column;
        gap: 0.5rem;
    }

    .disease-widget__rankings {
        grid-template-columns: 1fr;
    }

    .disease-map__container {
        aspect-ratio: 4 / 3;
    }
}

/* Print styles */
@media print {
    .disease-widget {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ddd;
    }

    .disease-map__tooltip {
        display: none;
    }
}


/* =================================================================
   ESIM COMPARISON WIDGET
   - Interactive price vs. data volume comparison
   - Filter by data needs or budget
   - Shows best offer recommendation with affiliate link
   ================================================================= */

.esim-comparison-block {
    margin: 0;
    padding: 0;
}

.esim-comparison-block__caption {
    margin-bottom: 1rem;
}

.esim-comparison-block__title {
    display: block;
    font-family: var(--natgeo-sans);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--natgeo-ink);
    margin-bottom: 0.5rem;
}

.esim-comparison-block__intro {
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    color: var(--natgeo-muted);
    line-height: 1.5;
    margin: 0;
}

.esim-comparison-block__date {
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    color: var(--natgeo-muted);
    margin: 0.5rem 0 0 0;
    font-style: italic;
}

.esim-comparison {
    background: white;
    border: none;
    border-radius: 0;
    padding: clamp(0.5rem, 2vw, 1rem) 0;
    position: relative;
}

/* Legend */
.esim-comparison__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: none;
}

.esim-comparison__legend-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--natgeo-ink);
}

.esim-comparison__legend-color {
    width: 12px;
    height: 12px;
    border-radius: 2px;
    flex-shrink: 0;
}

/* Chart */
.esim-comparison__chart {
    width: 100%;
    aspect-ratio: 7 / 3;
    min-height: 200px;
    margin-bottom: 1.5rem;
}

.esim-comparison__svg {
    width: 100%;
    height: 100%;
    display: block;
}

.esim-comparison__grid-line {
    stroke: var(--natgeo-border);
    stroke-width: 1;
    stroke-dasharray: 3, 3;
}

.esim-comparison__axis-label {
    font-family: var(--natgeo-sans);
    font-size: 11px;
    fill: var(--natgeo-muted);
}

.esim-comparison__axis-title {
    font-family: var(--natgeo-sans);
    font-size: 12px;
    font-weight: 600;
    fill: var(--natgeo-ink);
}

.esim-comparison__line {
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke-width 0.15s ease;
}

.esim-comparison__point {
    cursor: pointer;
    transition: r 0.15s ease, opacity 0.2s ease;
    stroke: white;
    stroke-width: 2;
}

.esim-comparison__point:hover {
    r: 7;
}

.esim-comparison__point--dimmed {
    opacity: 0.25;
}

.esim-comparison__point--unlimited {
    stroke: white;
    stroke-width: 2;
    transition: transform 0.15s ease, opacity 0.2s ease;
}

.esim-comparison__point--hover {
    transform: scale(1.2);
}

.esim-comparison__line--dimmed {
    opacity: 0.25;
}

.esim-comparison__line--unlimited {
    opacity: 0.8;
}

.esim-comparison__unlimited-label {
    font-size: 14px;
    font-weight: 700;
}

.esim-comparison__grid-line--unlimited {
    stroke: var(--natgeo-gold);
    stroke-dasharray: 8, 4;
    stroke-width: 1.5;
}

.esim-comparison__axis-label--unlimited {
    fill: var(--natgeo-gold);
    font-weight: 700;
    font-size: 14px;
}

/* Reference lines */
.esim-comparison__ref-line {
    stroke: #ef4444;
    stroke-width: 2;
    stroke-dasharray: 6, 4;
    pointer-events: none;
}

.esim-comparison__ref-line--horizontal {
    stroke: #ef4444;
}

.esim-comparison__ref-line--vertical {
    stroke: #ef4444;
}

/* Controls */
.esim-comparison__controls {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
    background: var(--natgeo-cloud);
    border-radius: 0.5rem;
    margin-bottom: 1rem;
}

.esim-comparison__filter-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.5rem;
}

.esim-comparison__filter-row--days {
    padding-top: 0.75rem;
    border-top: 1px solid var(--natgeo-border);
    justify-content: space-between;
}

.esim-comparison__filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1;
    min-width: 180px;
}

.esim-comparison__filter-group--days {
    flex: 0 1 auto;
    min-width: 250px;
}

.esim-comparison__filter-label--days {
    font-size: 0.8rem;
}

.esim-comparison__filter-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--natgeo-ink);
}

.esim-comparison__filter-radio {
    width: 16px;
    height: 16px;
    accent-color: var(--natgeo-gold);
    cursor: pointer;
}

.esim-comparison__filter-divider {
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    color: var(--natgeo-muted);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.esim-comparison__slider-group {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    opacity: 0.5;
    transition: opacity 0.2s ease;
}

.esim-comparison__slider-group--active {
    opacity: 1;
}

.esim-comparison__slider {
    flex: 1;
    height: 6px;
    border-radius: 3px;
    background: var(--natgeo-border);
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

.esim-comparison__slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--natgeo-gold);
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: transform 0.15s ease;
}

.esim-comparison__slider::-webkit-slider-thumb:hover {
    transform: scale(1.1);
}

.esim-comparison__slider::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--natgeo-gold);
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.esim-comparison__slider:disabled {
    cursor: not-allowed;
}

.esim-comparison__slider:disabled::-webkit-slider-thumb {
    background: var(--natgeo-muted);
    cursor: not-allowed;
}

.esim-comparison__slider:disabled::-moz-range-thumb {
    background: var(--natgeo-muted);
    cursor: not-allowed;
}

.esim-comparison__slider-value {
    min-width: 60px;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--natgeo-ink);
    text-align: right;
}

.esim-comparison__clear-btn {
    padding: 0.5rem 1rem;
    background: transparent;
    border: 1px solid var(--natgeo-border-strong);
    border-radius: 0.5rem;
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--natgeo-muted);
    cursor: pointer;
    transition: all 0.15s ease;
}

.esim-comparison__clear-btn:hover {
    background: var(--natgeo-cloud);
    color: var(--natgeo-ink);
    border-color: var(--natgeo-ink);
}

/* Result box */
.esim-comparison__result {
    --result-color: var(--natgeo-gold);
    background: linear-gradient(135deg, rgba(136, 168, 40, 0.08) 0%, rgba(136, 168, 40, 0.03) 100%);
    border: 2px solid var(--result-color);
    border-radius: var(--natgeo-radius);
    overflow: hidden;
    animation: resultSlideIn 0.3s ease;
}

@keyframes resultSlideIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.esim-comparison__result-header {
    background: var(--result-color);
    padding: 0.5rem 1rem;
}

.esim-comparison__result-badge {
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.esim-comparison__result-content {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    flex-wrap: wrap;
}

.esim-comparison__result-logo {
    flex-shrink: 0;
}

.esim-comparison__result-logo-img {
    height: 48px;
    width: auto;
    object-fit: contain;
    display: block;
}

.esim-comparison__result-logo-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--natgeo-sans);
    font-size: 1.25rem;
    font-weight: 700;
    color: white;
}

.esim-comparison__result-details {
    flex: 1;
    min-width: 150px;
}

.esim-comparison__result-provider {
    font-family: var(--natgeo-sans);
    font-size: 1rem;
    font-weight: 700;
    color: var(--natgeo-ink);
    margin-bottom: 0.25rem;
}

.esim-comparison__result-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
}

.esim-comparison__result-data {
    font-weight: 700;
    color: var(--natgeo-gold);
}

.esim-comparison__result-price {
    font-weight: 600;
    color: var(--natgeo-ink);
}

.esim-comparison__result-pergb {
    color: var(--natgeo-muted);
    font-size: 0.8rem;
}

.esim-comparison__result-data--unlimited {
    background: linear-gradient(90deg, var(--natgeo-gold), #d4a00a);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.esim-comparison__result-meta {
    font-family: var(--natgeo-sans);
    font-size: 0.75rem;
    color: var(--natgeo-muted);
    margin-top: 0.25rem;
}

.esim-comparison__result-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: var(--result-color);
    color: white;
    font-family: var(--natgeo-sans);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 0.5rem;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.esim-comparison__result-cta:hover {
    filter: brightness(1.1);
    transform: translateX(3px);
}

.esim-comparison__result-cta svg {
    transition: transform 0.2s ease;
}

.esim-comparison__result-cta:hover svg {
    transform: translateX(3px);
}

/* Mobile Responsiveness */
@media (max-width: 40rem) {
    .esim-comparison {
        padding: 0.5rem 0;
    }

    .esim-comparison__legend {
        gap: 0.75rem;
    }

    .esim-comparison__legend-item {
        font-size: 0.8rem;
    }

    .esim-comparison__chart {
        aspect-ratio: 5 / 3;
        min-height: 180px;
    }

    .esim-comparison__controls {
        gap: 0.75rem;
        padding: 0.75rem;
    }

    .esim-comparison__filter-row {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }

    .esim-comparison__filter-row--days {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .esim-comparison__filter-group {
        min-width: unset;
    }

    .esim-comparison__filter-group--days {
        min-width: 180px;
        flex: 1;
    }

    .esim-comparison__filter-divider {
        text-align: center;
        padding: 0.25rem 0;
    }

    .esim-comparison__result-content {
        flex-direction: column;
        text-align: center;
        gap: 0.75rem;
    }

    .esim-comparison__result-stats {
        justify-content: center;
    }

    .esim-comparison__result-meta {
        text-align: center;
    }

    .esim-comparison__result-cta {
        width: 100%;
        justify-content: center;
    }
}

/* Header with legend and currency selector */
.esim-comparison__header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

/* Currency selector */
.esim-comparison__currency-selector {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.esim-comparison__currency-label {
    font-family: var(--natgeo-sans);
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--natgeo-muted);
}

.esim-comparison__currency-select {
    padding: 0.375rem 0.75rem;
    padding-right: 2rem;
    font-family: var(--natgeo-sans);
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--natgeo-ink);
    background: white;
    border: 1px solid var(--natgeo-border);
    border-radius: 0.375rem;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.5rem center;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.esim-comparison__currency-select:hover {
    border-color: var(--natgeo-gold);
}

.esim-comparison__currency-select:focus {
    outline: none;
    border-color: var(--natgeo-gold);
    box-shadow: 0 0 0 3px rgba(136, 168, 40, 0.15);
}

/* Chart wrapper for tooltip positioning */
.esim-comparison__chart-wrapper {
    position: relative;
}

/* Tooltip */
.esim-comparison__tooltip {
    position: absolute;
    z-index: 100;
    background: white;
    border: 1px solid var(--natgeo-border);
    border-radius: 0.5rem;
    padding: 0.75rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    pointer-events: none;
    min-width: 160px;
    font-family: var(--natgeo-sans);
    transition: opacity 0.15s ease;
}

.esim-comparison__tooltip[hidden] {
    display: block;
    opacity: 0;
    visibility: hidden;
}

.esim-comparison__tooltip-provider {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--natgeo-ink);
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--natgeo-border);
}

.esim-comparison__tooltip-color {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    flex-shrink: 0;
}

.esim-comparison__tooltip-data,
.esim-comparison__tooltip-price {
    font-size: 0.85rem;
    color: var(--natgeo-ink);
    margin-bottom: 0.25rem;
}

.esim-comparison__tooltip-pergb {
    font-size: 0.8rem;
    color: var(--natgeo-gold);
    font-weight: 600;
}

/* Footer with API note */
.esim-comparison__footer {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--natgeo-border);
}

.esim-comparison__api-note {
    font-family: var(--natgeo-sans);
    font-size: 0.7rem;
    color: var(--natgeo-muted);
    font-style: italic;
}

/* Mobile Responsiveness for new elements */
@media (max-width: 40rem) {
    .esim-comparison__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .esim-comparison__currency-selector {
        width: 100%;
    }

    .esim-comparison__currency-select {
        flex: 1;
    }

    .esim-comparison__tooltip {
        min-width: 140px;
        padding: 0.5rem;
    }

    .esim-comparison__tooltip-provider {
        font-size: 0.85rem;
    }

    .esim-comparison__tooltip-data,
    .esim-comparison__tooltip-price {
        font-size: 0.8rem;
    }

    .esim-comparison__tooltip-pergb {
        font-size: 0.75rem;
    }
}

/* Print styles for eSIM widget */
@media print {
    .esim-comparison {
        break-inside: avoid;
        background: white;
    }

    .esim-comparison__controls {
        display: none;
    }

    .esim-comparison__currency-selector {
        display: none;
    }

    .esim-comparison__result {
        border: 2px solid #333;
    }

    .esim-comparison-block__date {
        font-style: normal;
    }

    .esim-comparison__footer {
        display: none;
    }
}
