/* ═══════════════════════════════════════════════════════════════
   WHY SRI LANKA — STYLESHEET (FONT SIZES UPDATED)
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
    --gold:         #c9a84c;
    --gold-light:   #e8c97a;
    --dark:         #0e0e0e;
    --dark-mid:     #1a1a1a;
    --off-white:    #f5f0e8;
    --stone:        #8b8070;
    --safari:       #8b6914;
    --earth:        #5c4a2f;
    --teal:         #2d9596;
    --teal-dark:    #1e6a6b;
    --ruby:         #9b2335;
    --indigo:       #2c3e7a;
    --tea-green:    #4a7c59;
    --cream:        #faf7f2;
    --font-display: 'Playfair Display', serif;
    --font-serif:   'Cormorant Garamond', serif;
    --font-body:    'DM Sans', sans-serif;
}

.wsl-page *, .wsl-page *::before, .wsl-page *::after { box-sizing: border-box; }

/* ─── HERO ──────────────────────────────────────────────── */
.wsl-page .wsl-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.wsl-page .wsl-hero__bg {
    position: absolute;
    inset: 0;
    background: url("{{ asset('web-images/safari-section/elephant2.webp') }}") center/cover no-repeat;
    transform: scale(1.05);
    animation: heroZoom 20s ease-in-out infinite alternate;
}
@keyframes heroZoom {
    from { transform: scale(1.05); }
    to   { transform: scale(1.12); }
}
.wsl-page .wsl-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(10,10,10,0.92) 0%, rgba(10,10,10,0.65) 40%, rgba(10,10,10,0.25) 100%);
}
.wsl-page .wsl-hero__content {
    position: relative;
    z-index: 2;
    padding: 0 80px;
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
}
.wsl-page .wsl-hero__eyebrow {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;         /* was 0.85rem — increased */
    font-weight: 600 !important;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.wsl-page .wsl-hero__eyebrow::before {
    content: '';
    display: block;
    width: 40px;
    height: 1px;
    background: var(--gold);
}
.wsl-page .wsl-hero__title {
    font-family: var(--font-display) !important;
    font-size: clamp(3.5rem, 7vw, 6.5rem) !important;
    font-weight: 500 !important;
    line-height: 1.05;
    color: #fff !important;
    margin-bottom: 32px;
    max-width: 900px;
}
.wsl-page .wsl-hero__title em {
    font-style: italic;
    color: var(--gold-light) !important;
}
.wsl-page .wsl-hero__sub {
    font-family: var(--font-serif) !important;
    font-size: 1.6rem !important;       /* was 1.35rem — increased */
    font-weight: 300 !important;
    color: rgba(255,255,255,0.85) !important;
    line-height: 1.75;
    margin-bottom: 48px;
    max-width: 620px;
}
.wsl-page .wsl-hero__ctas { display: flex; gap: 16px; flex-wrap: wrap; }

/* ─── BUTTONS ───────────────────────────────────────────── */
.wsl-page .btn-gold {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--gold);
    color: var(--dark) !important;
    font-family: var(--font-body) !important;
    font-size: 1.05rem !important;      /* was 0.88rem — increased */
    font-weight: 600 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 20px 48px;                 /* slightly more padding too */
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}
.wsl-page .btn-gold::after { content: ''; position: absolute; inset: 0; background: #fff; opacity: 0; transition: opacity 0.3s; }
.wsl-page .btn-gold:hover { color: var(--dark) !important; transform: translateY(-2px); }
.wsl-page .btn-gold:hover::after { opacity: 0.12; }
.wsl-page .btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255,255,255,0.4);
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-size: 1.05rem !important;      /* was 0.88rem — increased */
    font-weight: 500 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 19px 48px;
    transition: all 0.3s;
}
.wsl-page .btn-ghost:hover { border-color: var(--gold); color: var(--gold) !important; }

/* ─── ISLAND OVERVIEW STATS ─────────────────────────────── */
.wsl-page .wsl-overview { background: var(--dark); padding: 0; border-top: 1px solid #222; }
.wsl-page .wsl-overview__inner { display: grid; grid-template-columns: repeat(5, 1fr); }
.wsl-page .wsl-stat { padding: 44px 32px; border-right: 1px solid #2a2a2a; text-align: center; }
.wsl-page .wsl-stat:last-child { border-right: none; }
.wsl-page .wsl-stat__icon { font-size: 2.2rem !important; margin-bottom: 14px; display: block; }
.wsl-page .wsl-stat__num {
    font-family: var(--font-display) !important;
    font-size: 3.2rem !important;
    font-weight: 400 !important;
    color: var(--gold) !important;
    line-height: 1;
    display: block;
    margin-bottom: 10px;
}
.wsl-page .wsl-stat__label {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;         /* was 0.88rem — increased */
    font-weight: 500 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.65) !important;
}

/* ─── CONTAINER ─────────────────────────────────────────── */
.wsl-page .container-xl { max-width: 1400px; margin: 0 auto; padding: 0 80px; }

/* ─── SECTION LABELS & TITLES ───────────────────────────── */
.wsl-page .section-label {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;         /* was 0.85rem — increased */
    font-weight: 600 !important;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: var(--safari) !important;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 14px;
}
.wsl-page .section-label::before { content: ''; display: block; width: 30px; height: 1px; background: var(--safari); }

.wsl-page .wsl-section-title {
    font-family: var(--font-display) !important;
    font-size: clamp(2.6rem, 4.5vw, 4.2rem) !important;
    font-weight: 500 !important;
    line-height: 1.1;
    color: var(--dark) !important;
    margin-bottom: 28px;
}
.wsl-page .wsl-section-title em { font-style: italic; color: var(--safari) !important; }

.wsl-page .wsl-section-body {
    font-family: var(--font-serif) !important;
    font-size: 1.4rem !important;
    font-weight: 300 !important;
    line-height: 1.85;
    color: #555 !important;
    margin-bottom: 24px;
}

/* Sub-intro descriptor lines like "26 national parks, the highest leopard density..." */
.wsl-page .wsl-section-sub,
.wsl-page .wsl-wildlife-sub,
.wsl-page .wsl-section-desc {
    font-family: var(--font-serif) !important;
    font-size: 1.35rem !important;      /* was very small — now clearly readable */
    font-weight: 300 !important;
    color: #666 !important;
    line-height: 1.8;
    margin-bottom: 28px;
    text-align: center;
}

/* Generic small sub-text paragraphs directly under section headers (centered layout) */
.wsl-page .wsl-wildlife .wsl-section-header p,
.wsl-page .wsl-wildlife > .container-xl > p,
.wsl-page [class*="wsl-"] > .container-xl > p:not(.wsl-section-body) {
    font-family: var(--font-serif) !important;
    font-size: 1.35rem !important;
    font-weight: 300 !important;
    color: #666 !important;
    line-height: 1.8;
}

/* Override inline style on the wildlife intro paragraph
   "26 national parks, the highest leopard density..." */
.wsl-page .wsl-wildlife .container-xl [class*="fadeIn"] p[style],
.wsl-page .wsl-wildlife .container-xl div p[style*="font-size"] {
    font-size: 1.5rem !important;
    font-family: var(--font-serif) !important;
    font-weight: 300 !important;
    color: #666 !important;
    line-height: 1.8 !important;
}

/* ─── NAV TABS ──────────────────────────────────────────── */
.wsl-page .discover-nav {
    background: var(--cream);
    border-bottom: 1px solid #e8e0d0;
    position: sticky;
    top: 0;
    z-index: 100;
}
.wsl-page .discover-nav__inner {
    display: flex;
    align-items: center;
    overflow-x: auto;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 80px;
}
.wsl-page .discover-nav__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 22px 28px;
    font-family: var(--font-body) !important;
    font-size: 1rem !important;         /* was 0.82rem — increased */
    font-weight: 600 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #888 !important;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: all 0.3s;
    white-space: nowrap;
    flex-shrink: 0;
}
.wsl-page .discover-nav__item:hover,
.wsl-page .discover-nav__item.active { color: var(--gold) !important; border-bottom-color: var(--gold); }

/* ─── WILDLIFE SECTION ──────────────────────────────────── */
.wsl-page .wsl-wildlife {
    padding: 140px 0 120px;
    background: linear-gradient(180deg, #fff 0%, var(--off-white) 100%);
    position: relative;
}
.wsl-page .wsl-safari-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: center; margin-top: 80px; }
.wsl-page .wsl-safari-image { position: relative; height: 620px; overflow: hidden; box-shadow: 0 40px 80px rgba(0,0,0,0.15); }
.wsl-page .wsl-safari-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s ease; }
.wsl-page .wsl-safari-image:hover img { transform: scale(1.05); }
.wsl-page .wsl-safari-badge {
    position: absolute;
    top: 32px; right: 32px;
    background: rgba(0,0,0,0.8);
    backdrop-filter: blur(10px);
    color: var(--gold) !important;
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;      /* was 0.8rem — increased */
    font-weight: 700 !important;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 14px 26px;
    border: 1px solid var(--gold);
}
.wsl-page .wsl-parks-mini { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 80px; }
.wsl-page .wsl-park-mini { position: relative; height: 280px; overflow: hidden; cursor: pointer; }
.wsl-page .wsl-park-mini img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s; }
.wsl-page .wsl-park-mini:hover img { transform: scale(1.08); }
.wsl-page .wsl-park-mini__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, transparent 60%); }
.wsl-page .wsl-park-mini__content { position: absolute; bottom: 24px; left: 24px; color: #fff; }
.wsl-page .wsl-park-mini__badge {
    display: inline-block;
    background: var(--safari);
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-size: 0.92rem !important;      /* was 0.78rem — increased */
    font-weight: 700 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 6px 14px;
    margin-bottom: 10px;
}
.wsl-page .wsl-park-mini__title {
    font-family: var(--font-display) !important;
    font-size: 1.65rem !important;      /* was 1.5rem — increased */
    font-weight: 500 !important;
    margin-bottom: 6px;
    color: #fff !important;
}
.wsl-page .wsl-park-mini__wildlife {
    font-family: var(--font-body) !important;
    font-size: 1.05rem !important;      /* was 0.95rem — increased */
    color: var(--gold-light) !important;
}

/* ─── ELEPHANT GATHERING ─────────────────────────────────── */
.wsl-page .wsl-elephant-hero { background: var(--dark); padding: 140px 0; position: relative; overflow: hidden; }
.wsl-page .wsl-elephant-content { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.wsl-page .wsl-elephant-text .section-label { color: var(--gold) !important; }
.wsl-page .wsl-elephant-text .section-label::before { background: var(--gold); }
.wsl-page .wsl-elephant-text .wsl-section-title { color: #fff !important; }
.wsl-page .wsl-elephant-text .wsl-section-body { color: rgba(255,255,255,0.78) !important; }
.wsl-page .wsl-elephant-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 32px; }
.wsl-page .wsl-elephant-stat-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 28px 24px; transition: all 0.3s; }
.wsl-page .wsl-elephant-stat-card:hover { background: rgba(201,168,76,0.1); border-color: var(--gold); transform: translateY(-4px); }
.wsl-page .wsl-elephant-stat-card__num {
    font-family: var(--font-display) !important;
    font-size: 2.8rem !important;       /* was 2.6rem — increased */
    font-weight: 500 !important;
    color: var(--gold) !important;
    line-height: 1;
    margin-bottom: 8px;
}
.wsl-page .wsl-elephant-stat-card__label {
    font-family: var(--font-body) !important;
    font-size: 1.15rem !important;      /* was 1rem — increased */
    font-weight: 400 !important;
    color: rgba(255,255,255,0.72) !important;
}
.wsl-page .wsl-elephant-images { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 260px 260px; gap: 10px; }
.wsl-page .wsl-elephant-img { overflow: hidden; }
.wsl-page .wsl-elephant-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.wsl-page .wsl-elephant-img:hover img { transform: scale(1.08); }
.wsl-page .wsl-elephant-img:first-child { grid-row: span 2; }

/* ─── WILDLIFE ENCOUNTERS ────────────────────────────────── */
.wsl-page .wsl-encounters { background: var(--dark-mid); padding: 120px 0; }
.wsl-page .wsl-encounters-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; margin-top: 60px; }
.wsl-page .wsl-encounter-card { position: relative; height: 340px; overflow: hidden; }
.wsl-page .wsl-encounter-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.wsl-page .wsl-encounter-card:hover img { transform: scale(1.1); }
.wsl-page .wsl-encounter-card__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, transparent 60%); }
.wsl-page .wsl-encounter-card__label { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px 20px; color: #fff; }
.wsl-page .wsl-encounter-card__icon { font-size: 2rem !important; margin-bottom: 10px; display: block; color: var(--gold) !important; }
.wsl-page .wsl-encounter-card__title {
    font-family: var(--font-display) !important;
    font-size: 1.65rem !important;      /* was 1.5rem — increased */
    font-weight: 500 !important;
    color: #fff !important;
    margin-bottom: 6px;
}
.wsl-page .wsl-encounter-card__subtitle {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;         /* was 0.88rem — increased */
    font-weight: 500 !important;
    color: var(--gold-light) !important;
}

/* ─── BEST TIME TO VISIT ─────────────────────────────────── */
.wsl-page .wsl-timing { padding: 140px 0; background: #fff; }
.wsl-page .wsl-timing-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: center; margin-top: 60px; }
.wsl-page .wsl-timing-map { position: relative; }
.wsl-page .wsl-timing-map img { width: 100%; border-radius: 4px; box-shadow: 0 30px 80px rgba(0,0,0,0.15); }
.wsl-page .wsl-timing-seasons { display: flex; flex-direction: column; gap: 28px; }
.wsl-page .wsl-season-block { padding: 40px 44px; position: relative; overflow: hidden; }
.wsl-page .wsl-season-block--south { background: linear-gradient(135deg, #f5f0e8, #ede6d6); border-left: 4px solid var(--gold); }
.wsl-page .wsl-season-block--north { background: linear-gradient(135deg, #e8f4f5, #d6eaed); border-left: 4px solid var(--teal); }

.wsl-page .wsl-season-block__tag {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;         /* was 0.85rem — increased */
    font-weight: 700 !important;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 14px;
    display: block;
}
.wsl-page .wsl-season-block--south .wsl-season-block__tag { color: var(--safari) !important; }
.wsl-page .wsl-season-block--north .wsl-season-block__tag { color: var(--teal-dark) !important; }

.wsl-page .wsl-season-block__title {
    font-family: var(--font-display) !important;
    font-size: 2.4rem !important;       /* was 2rem — increased */
    font-weight: 500 !important;
    color: var(--dark) !important;
    margin-bottom: 8px;
}
.wsl-page .wsl-season-block__period {
    font-family: var(--font-serif) !important;
    font-style: italic;
    font-size: 1.4rem !important;       /* was 1.2rem — increased */
    font-weight: 300 !important;
    color: #666 !important;
    margin-bottom: 20px;
    display: block;
}
.wsl-page .wsl-season-block__activities { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }

.wsl-page .wsl-season-tag {
    font-family: var(--font-body) !important;
    font-size: 1rem !important;         /* was 0.88rem — increased */
    font-weight: 600 !important;
    padding: 9px 18px;                  /* slightly bigger padding */
    border-radius: 20px;
}
.wsl-page .wsl-season-block--south .wsl-season-tag { background: rgba(139,105,20,0.12); color: var(--safari) !important; }
.wsl-page .wsl-season-block--north .wsl-season-tag { background: rgba(45,149,150,0.12); color: var(--teal-dark) !important; }

.wsl-page .wsl-season-block__note {
    font-family: var(--font-body) !important;
    font-size: 1.15rem !important;      /* was 1.05rem — increased */
    font-weight: 400 !important;
    color: #555 !important;
    line-height: 1.7;
}
.wsl-page .wsl-year-round { margin-top: 28px; padding: 30px 34px; background: var(--dark); color: #fff; display: flex; align-items: center; gap: 20px; }
.wsl-page .wsl-year-round__icon { font-size: 2.8rem !important; color: var(--gold) !important; flex-shrink: 0; }
.wsl-page .wsl-year-round__title {
    font-family: var(--font-display) !important;
    font-size: 1.75rem !important;      /* was 1.5rem — increased */
    font-weight: 500 !important;
    color: #fff !important;
    margin-bottom: 6px;
}
.wsl-page .wsl-year-round__desc {
    font-family: var(--font-body) !important;
    font-size: 1.15rem !important;      /* was 1.05rem — increased */
    color: rgba(255,255,255,0.75) !important;
    line-height: 1.65;
}

/* ─── CULTURE SECTION ───────────────────────────────────── */
.wsl-page .wsl-culture { padding: 140px 0; background: linear-gradient(180deg, var(--cream) 0%, #fff 100%); position: relative; }
.wsl-page .wsl-culture-header { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; margin-bottom: 80px; }
.wsl-page .wsl-culture-header .section-label { color: var(--indigo) !important; }
.wsl-page .wsl-culture-header .section-label::before { background: var(--indigo); }
.wsl-page .wsl-culture-header .wsl-section-title em { color: var(--indigo) !important; }
.wsl-page .wsl-culture-quote {
    font-family: var(--font-serif) !important;
    font-size: 1.55rem !important;      /* was 1.35rem — increased */
    font-style: italic;
    color: #555 !important;
    line-height: 1.75;
    padding-left: 32px;
    border-left: 3px solid var(--indigo);
}
.wsl-page .wsl-culture-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.wsl-page .wsl-culture-card { position: relative; overflow: hidden; }
.wsl-page .wsl-culture-card__image { height: 360px; overflow: hidden; }
.wsl-page .wsl-culture-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.wsl-page .wsl-culture-card:hover .wsl-culture-card__image img { transform: scale(1.08); }
.wsl-page .wsl-culture-card__content { padding: 24px; background: var(--dark); color: #fff; }
.wsl-page .wsl-culture-card__subtitle {
    font-family: var(--font-body) !important;
    font-size: 0.95rem !important;      /* was 0.8rem — increased */
    font-weight: 700 !important;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gold) !important;
    margin-bottom: 10px;
    display: block;
}
.wsl-page .wsl-culture-card__title {
    font-family: var(--font-display) !important;
    font-size: 1.65rem !important;      /* was 1.5rem — increased */
    font-weight: 500 !important;
    color: #fff !important;
    margin-bottom: 8px;
    line-height: 1.3;
}
.wsl-page .wsl-culture-card__desc {
    font-family: var(--font-body) !important;
    font-size: 1.1rem !important;       /* was 1rem — increased */
    font-weight: 400 !important;
    color: rgba(255,255,255,0.72) !important;
    line-height: 1.65;
}
.wsl-page .wsl-unesco-banner { margin-top: 40px; background: linear-gradient(135deg, var(--indigo), #1a2456); padding: 44px 64px; display: flex; align-items: center; justify-content: space-between; color: #fff; }
.wsl-page .wsl-unesco-banner__left { display: flex; align-items: center; gap: 28px; }
.wsl-page .wsl-unesco-banner__num {
    font-family: var(--font-display) !important;
    font-size: 5rem !important;
    font-weight: 400 !important;
    color: var(--gold) !important;
    line-height: 1;
}
.wsl-page .wsl-unesco-banner__title {
    font-family: var(--font-display) !important;
    font-size: 2rem !important;         /* was 1.7rem — increased */
    font-weight: 500 !important;
    color: #fff !important;
    margin-bottom: 8px;
}
.wsl-page .wsl-unesco-banner__desc {
    font-family: var(--font-body) !important;
    font-size: 1.2rem !important;       /* was 1.05rem — increased */
    color: rgba(255,255,255,0.8) !important;
}

/* ─── GEMS SECTION ──────────────────────────────────────── */
.wsl-page .wsl-gems { background: var(--dark); padding: 140px 0; position: relative; overflow: hidden; }
.wsl-page .wsl-gems::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 50%, rgba(155,35,53,0.08) 0%, transparent 60%),
                radial-gradient(ellipse at 70% 50%, rgba(44,62,122,0.1) 0%, transparent 60%);
}
.wsl-page .wsl-gems-content { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; position: relative; z-index: 1; }
.wsl-page .wsl-gems-text .section-label { color: var(--gold) !important; }
.wsl-page .wsl-gems-text .section-label::before { background: var(--gold); }
.wsl-page .wsl-gems-text .wsl-section-title { color: #fff !important; }
.wsl-page .wsl-gems-text .wsl-section-title em { color: var(--gold-light) !important; }
.wsl-page .wsl-gems-text .wsl-section-body { color: rgba(255,255,255,0.78) !important; }
.wsl-page .wsl-gems-quote {
    margin-top: 8px;
    padding: 24px 32px;
    border-left: 3px solid var(--gold);
    font-family: var(--font-serif) !important;
    font-style: italic;
    font-size: 1.4rem !important;       /* was 1.2rem — increased */
    font-weight: 300 !important;
    color: rgba(255,255,255,0.88) !important;
    line-height: 1.75;
    background: rgba(201,168,76,0.05);
}
.wsl-page .wsl-gems-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.wsl-page .wsl-gem-card { padding: 32px 24px; border: 1px solid rgba(255,255,255,0.1); text-align: center; transition: all 0.3s; cursor: default; }
.wsl-page .wsl-gem-card:hover { background: rgba(255,255,255,0.05); border-color: var(--gold); transform: translateY(-6px); }
.wsl-page .wsl-gem-card__icon { font-size: 2.8rem !important; margin-bottom: 16px; display: block; }
.wsl-page .wsl-gem-card__name {
    font-family: var(--font-display) !important;
    font-size: 1.5rem !important;       /* was 1.35rem — increased */
    font-weight: 500 !important;
    color: #fff !important;
    margin-bottom: 8px;
}
.wsl-page .wsl-gem-card__desc {
    font-family: var(--font-body) !important;
    font-size: 1.1rem !important;       /* was 0.98rem — increased */
    font-weight: 400 !important;
    color: rgba(255,255,255,0.65) !important;
    line-height: 1.6;
}
.wsl-page .wsl-gems-features { display: flex; flex-direction: column; gap: 14px; margin-top: 32px; }
.wsl-page .wsl-gem-feature {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: var(--font-body) !important;
    font-size: 1.15rem !important;      /* was 1.05rem — increased */
    font-weight: 500 !important;
    color: rgba(255,255,255,0.85) !important;
}
.wsl-page .wsl-gem-feature i { color: var(--gold) !important; width: 20px; }

/* ─── TEA COUNTRY ───────────────────────────────────────── */
.wsl-page .wsl-tea { padding: 140px 0; background: #fff; position: relative; }
.wsl-page .wsl-tea-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 0; margin-top: 60px; }
.wsl-page .wsl-tea-images { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 300px 260px; gap: 10px; }
.wsl-page .wsl-tea-img { overflow: hidden; }
.wsl-page .wsl-tea-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.wsl-page .wsl-tea-img:hover img { transform: scale(1.06); }
.wsl-page .wsl-tea-img:first-child { grid-column: span 2; }
.wsl-page .wsl-tea-content { padding: 80px; background: var(--tea-green); color: #fff; display: flex; flex-direction: column; justify-content: center; }
.wsl-page .wsl-tea-content .section-label { color: rgba(255,255,255,0.85) !important; }
.wsl-page .wsl-tea-content .section-label::before { background: rgba(255,255,255,0.5); }
.wsl-page .wsl-tea-content .wsl-section-title { color: #fff !important; }
.wsl-page .wsl-tea-content .wsl-section-title em { color: #c8f0c8 !important; font-style: italic; }
.wsl-page .wsl-tea-content .wsl-section-body { color: rgba(255,255,255,0.96) !important; }

/* Tea section body text — .section-body on green background must be fully white */
.wsl-page .wsl-tea-content .section-body,
.wsl-page .wsl-tea-content p.section-body {
    font-family: var(--font-serif) !important;
    font-size: 1.4rem !important;
    font-weight: 300 !important;
    color: #ffffff !important;
    line-height: 1.85;
    margin-bottom: 24px;
}
.wsl-page .wsl-tea-highlights { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 32px; }
.wsl-page .wsl-tea-highlight { padding: 24px 20px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.15); transition: all 0.3s; }
.wsl-page .wsl-tea-highlight:hover { background: rgba(255,255,255,0.18); transform: translateY(-4px); }
.wsl-page .wsl-tea-highlight__icon { font-size: 2rem !important; margin-bottom: 12px; display: block; }
.wsl-page .wsl-tea-highlight__title {
    font-family: var(--font-display) !important;
    font-size: 1.3rem !important;       /* was 1.15rem — increased */
    font-weight: 600 !important;
    color: #fff !important;
    margin-bottom: 6px;
}
.wsl-page .wsl-tea-highlight__stat {
    font-family: var(--font-display) !important;
    font-size: 2.1rem !important;       /* was 1.9rem — increased */
    font-weight: 500 !important;
    color: #c8f0c8 !important;
    margin-bottom: 6px;
    display: block;
}
.wsl-page .wsl-tea-highlight__desc {
    font-family: var(--font-body) !important;
    font-size: 1.1rem !important;       /* was 1rem — increased */
    font-weight: 400 !important;
    color: rgba(255,255,255,0.78) !important;
    line-height: 1.6;
}

/* ─── FOOD & FLAVORS ─────────────────────────────────────── */
.wsl-page .wsl-flavors { background: linear-gradient(135deg, #2a1a0e 0%, #1a0e06 100%); padding: 140px 0; position: relative; overflow: hidden; }
.wsl-page .wsl-flavors::before {
    content: 'FLAVORS';
    position: absolute;
    font-family: var(--font-display);
    font-size: 14vw;
    font-weight: 700;
    color: rgba(255,255,255,0.02);
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    white-space: nowrap;
    pointer-events: none;
}
.wsl-page .wsl-flavors-header { text-align: center; margin-bottom: 80px; position: relative; z-index: 1; }
.wsl-page .wsl-flavors-header .section-label { color: var(--gold) !important; justify-content: center; }
.wsl-page .wsl-flavors-header .section-label::before { background: var(--gold); }
.wsl-page .wsl-flavors-header .wsl-section-title { color: #fff !important; }
.wsl-page .wsl-flavors-header .wsl-section-title em { color: var(--gold-light) !important; }
/* ── FLAVORS GRID: image cards (3-col) ── */
.wsl-page .wsl-flavors-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    position: relative;
    z-index: 1;
}

/* Each card is a tall image tile */
.wsl-page .wsl-flavor-card {
    position: relative;
    height: 300px;
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    transform: none !important;
}

/* Background image — set per-card via nth-child */
.wsl-page .wsl-flavor-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
    z-index: 0;
}
.wsl-page .wsl-flavor-card:hover::before { transform: scale(1.1); }

/* Individual card images — set via --card-bg CSS variable in Blade using asset() */
.wsl-page .wsl-flavor-card::before { background-image: var(--card-bg); }

/* Dark gradient overlay */
.wsl-page .wsl-flavor-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.15) 60%, transparent 100%);
    transition: background 0.3s ease;
    z-index: 1;
}
.wsl-page .wsl-flavor-card:hover::after {
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.08) 60%, transparent 100%);
}

/* Hide icon — not needed in image style */
.wsl-page .wsl-flavor-card__icon { display: none !important; }

/* Title pinned to bottom-left */
.wsl-page .wsl-flavor-card__title {
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 2;
    font-family: var(--font-display) !important;
    font-size: 1.55rem !important;
    font-weight: 600 !important;
    color: #fff !important;
    margin: 0 !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

/* Desc hidden by default, fades in on hover */
.wsl-page .wsl-flavor-card__desc {
    position: absolute;
    bottom: 54px;
    left: 20px;
    right: 20px;
    z-index: 2;
    font-family: var(--font-body) !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: rgba(255,255,255,0.92) !important;
    line-height: 1.55;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.wsl-page .wsl-flavor-card:hover .wsl-flavor-card__desc {
    opacity: 1;
    transform: translateY(0);
}
.wsl-page .wsl-flavors-quote { text-align: center; margin-top: 60px; position: relative; z-index: 1; }
.wsl-page .wsl-flavors-quote p {
    font-family: var(--font-serif) !important;
    font-size: 2rem !important;         /* was 1.7rem — increased */
    font-style: italic;
    color: rgba(255,255,255,0.88) !important;
    line-height: 1.65;
}
.wsl-page .wsl-flavors-quote span { color: var(--gold-light) !important; }

/* ─── CONSERVATION ──────────────────────────────────────── */
.wsl-page .wsl-conservation { background: var(--dark); padding: 100px 0; position: relative; overflow: hidden; }
.wsl-page .wsl-conservation::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(139,105,20,0.12) 0%, transparent 70%); }
.wsl-page .wsl-conservation-content { position: relative; z-index: 2; display: grid; grid-template-columns: 1.2fr 1fr; gap: 80px; align-items: center; }
.wsl-page .wsl-conservation-text .section-label { color: var(--gold) !important; }
.wsl-page .wsl-conservation-text .section-label::before { background: var(--gold); }
.wsl-page .wsl-conservation-text .wsl-section-title { color: #fff !important; }
.wsl-page .wsl-conservation-text .wsl-section-body { color: rgba(255,255,255,0.78) !important; }
.wsl-page .wsl-conservation-cards { display: flex; flex-direction: column; gap: 14px; }
.wsl-page .wsl-conservation-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); padding: 26px 30px; display: flex; align-items: flex-start; gap: 18px; transition: all 0.3s; }
.wsl-page .wsl-conservation-card:hover { background: rgba(139,105,20,0.15); border-color: var(--safari); }
.wsl-page .wsl-conservation-card__icon { width: 44px; height: 44px; background: var(--safari); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #fff !important; font-size: 1.2rem !important; }
.wsl-page .wsl-conservation-card__title {
    font-family: var(--font-display) !important;
    font-size: 1.55rem !important;      /* was 1.4rem — increased */
    font-weight: 600 !important;
    color: #fff !important;
    margin-bottom: 6px;
}
.wsl-page .wsl-conservation-card__desc {
    font-family: var(--font-body) !important;
    font-size: 1.1rem !important;       /* was 1rem — increased */
    font-weight: 400 !important;
    color: rgba(255,255,255,0.72) !important;
    line-height: 1.65;
}

/* ─── FINAL CTA ─────────────────────────────────────────── */
.wsl-page .wsl-cta {
    padding: 140px 80px;
    background: linear-gradient(135deg, rgba(32,69,31,0.85) 0%, rgba(64,40,30,0.90) 100%),
                url("{{ asset('web-images/safari-section/yala2.webp') }}") center/cover no-repeat;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.wsl-page .wsl-cta__title {
    font-family: var(--font-display) !important;
    font-size: clamp(2.8rem, 5vw, 5rem) !important;
    font-weight: 500 !important;
    color: #fff !important;
    line-height: 1.1;
    margin-bottom: 20px;
}
.wsl-page .wsl-cta__title em { font-style: italic; color: var(--gold-light) !important; }
.wsl-page .wsl-cta__sub {
    font-family: var(--font-serif) !important;
    font-size: 1.6rem !important;       /* was 1.35rem — increased */
    font-weight: 300 !important;
    color: rgba(255,255,255,0.88) !important;
    margin-bottom: 56px;
}
.wsl-page .wsl-cta__btns { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }

/* ─── RESPONSIVE ────────────────────────────────────────── */
@media (max-width: 1100px) {
    .wsl-page .container-xl { padding: 0 50px; }
    .wsl-page .wsl-hero__content { padding: 0 50px; }
    .wsl-page .wsl-overview__inner { grid-template-columns: repeat(3, 1fr); }
    .wsl-page .wsl-culture-grid { grid-template-columns: repeat(2, 1fr); }
    .wsl-page .wsl-gems-grid { grid-template-columns: repeat(2, 1fr); }
    .wsl-page .wsl-flavors-grid { grid-template-columns: repeat(3, 1fr); } /* already 3-col */
}
@media (max-width: 900px) {
    .wsl-page .wsl-overview__inner { grid-template-columns: repeat(2, 1fr); }
    .wsl-page .wsl-safari-grid { grid-template-columns: 1fr; }
    .wsl-page .wsl-elephant-content { grid-template-columns: 1fr; }
    .wsl-page .wsl-encounters-grid { grid-template-columns: repeat(2, 1fr); }
    .wsl-page .wsl-timing-grid { grid-template-columns: 1fr; }
    .wsl-page .wsl-culture-header { grid-template-columns: 1fr; }
    .wsl-page .wsl-culture-grid { grid-template-columns: repeat(2, 1fr); }
    .wsl-page .wsl-gems-content { grid-template-columns: 1fr; }
    .wsl-page .wsl-tea-grid { grid-template-columns: 1fr; }
    .wsl-page .wsl-tea-content { padding: 60px 30px; }
    .wsl-page .wsl-conservation-content { grid-template-columns: 1fr; }
    .wsl-page .wsl-flavors-grid { grid-template-columns: repeat(2, 1fr); }
    .wsl-page .wsl-flavor-card { height: 260px; }
}
@media (max-width: 600px) {
    .wsl-page .wsl-hero__content { padding: 140px 24px 60px; }
    .wsl-page .container-xl { padding: 0 24px; }
    .wsl-page .wsl-overview__inner { grid-template-columns: 1fr; }
    .wsl-page .wsl-elephant-stats { grid-template-columns: 1fr; }
    .wsl-page .wsl-encounters-grid { grid-template-columns: 1fr; }
    .wsl-page .wsl-parks-mini { grid-template-columns: 1fr; }
    .wsl-page .wsl-culture-grid { grid-template-columns: 1fr; }
    .wsl-page .wsl-gems-grid { grid-template-columns: 1fr; }
    .wsl-page .wsl-tea-highlights { grid-template-columns: 1fr; }
    .wsl-page .wsl-flavors-grid { grid-template-columns: 1fr; }
    .wsl-page .wsl-flavor-card { height: 240px; }
    .wsl-page .wsl-cta { padding: 80px 24px; }
    .wsl-page .discover-nav__inner { padding: 0 24px; }
    .wsl-page .wsl-unesco-banner { flex-direction: column; padding: 32px; }
}