/* The listing and information pages, staff template layout + style (2026-11):
 * Packages, Destinations, About, Contact, Privacy, Terms, Travel Guides (list, tag pages, articles).
 * Tokens, the site header + footer and the shared .th-wrap / .th-eyebrow / .th-btn live in
 * includes/site-header.css. The cards' script hooks (article[id^=pkg-], .dest-card, #contact-form,
 * [data-post] …) keep their names; only how they look is set here. */

main h1, main h2 { font-family: var(--em-serif) !important; font-weight: 400 !important; letter-spacing: 0; }
main h2 { font-size: clamp(38px, 5.5vw, 64px); line-height: .92; margin: 8px 0 0; color: var(--em-ink); }

/* ── intro band: copy on the left, two tilted photos on the right ───────── */
.th-intro { padding: 56px 0 40px; background: radial-gradient(640px 280px at 100% 0%, rgba(14,154,167,.1), transparent 55%), var(--em-fog); }
.th-intro-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 36px; align-items: center; }
.th-intro h1 { margin: 12px 0 0; font-size: clamp(36px, 5vw, 56px); line-height: 1; max-width: 14ch; color: var(--em-ink); }
.th-sub { margin: 8px 0 0; color: var(--em-lagoon-deep); font-weight: 700; font-size: 15px; }
.th-lead { margin: 16px 0 0; color: var(--em-soft); font-size: 16.5px; max-width: 48ch; }
.th-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.th-pills a { padding: 9px 14px; border-radius: 999px; background: #fff; border: 1px solid rgba(20,32,28,.08); font-size: 13px; font-weight: 700; color: var(--em-ink); text-decoration: none; }
.th-pills a:hover { color: var(--em-coral); border-color: rgba(200,66,28,.35); }
.th-intro-visual { position: relative; min-height: 320px; }
.th-intro-visual > div { position: absolute; overflow: hidden; }
.th-intro-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.th-intro-visual .main { inset: 12px 24px 44px 0; border-radius: 24px 12px 28px 14px; background: #cfd8d4; box-shadow: 0 22px 48px rgba(20,32,28,.12); transform: rotate(-1.3deg); }
.th-intro-visual .side { width: 44%; height: 40%; right: 0; bottom: 0; border-radius: 16px; border: 6px solid #fff; background: #bcc8c2; box-shadow: 0 16px 36px rgba(20,32,28,.12); transform: rotate(4deg); }

/* ── sections ───────────────────────────────────────────────────────────── */
.th-sec { padding: 52px 0 28px; background: #fff; scroll-margin-top: 90px; }
.th-sec--fog { background: var(--em-fog); padding-bottom: 56px; }
.th-sec-head { margin-bottom: 24px; max-width: 52ch; }
.th-sec-head p:not(.th-eyebrow) { margin: 10px 0 0; color: var(--em-soft); }

/* ── closing band ───────────────────────────────────────────────────────── */
.th-cta { padding: 64px 0 72px; text-align: center; background: #fff; }
.th-cta h2 { font-size: clamp(32px, 4.4vw, 52px); line-height: 1; }
.th-cta p { margin: 12px auto 22px; color: var(--em-soft); max-width: 48ch; }
.th-cta-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.th-btn--ghost { background: var(--em-fog); border: 1.5px solid rgba(20,32,28,.1); color: var(--em-ink); }
.th-btn--ghost:hover { border-color: rgba(200,66,28,.35); color: var(--em-coral); }

/* ── Packages ───────────────────────────────────────────────────────────── */
.th-filterbar { background: #fff; border-bottom: 1px solid var(--em-line); padding: 18px 0; }
.th-filter-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 18px; }
.th-filter-title { margin: 0 8px 8px 0 !important; font-family: var(--em-serif) !important; font-size: 26px !important; line-height: 1 !important; color: var(--em-ink); }
.th-filter-field { flex: 1 1 220px; max-width: 320px; }
.pkg-filter-label { color: var(--em-soft); font-weight: 600; font-size: 13px; }
.pkg-filter-select { border-radius: 999px; border-color: var(--em-line); padding: .6rem 1rem; color: var(--em-ink); }
.pkg-filter-select:focus { border-color: var(--em-lagoon); box-shadow: 0 0 0 3px rgba(14,154,167,.16); }
.th-filter-actions { display: flex; gap: 8px; }
.th-filter-actions .pkg-btn-apply { background: var(--em-coral); border-radius: 999px; }
.th-filter-actions .pkg-btn-apply:hover { background: var(--em-coral-dark); }
.th-filter-actions .pkg-btn-reset { background: var(--em-mist); color: var(--em-lagoon-deep); border-radius: 999px; }
.th-filter-actions .pkg-btn-reset:hover { background: #d5f0ec; }
#no-packages-message { margin: 32px auto; max-width: 720px; border-radius: 22px; border: 0; box-shadow: 0 14px 34px rgba(20,32,28,.08); }
#no-packages-message h3 { font-family: var(--em-serif) !important; font-weight: 400 !important; color: var(--em-ink) !important; }
#no-packages-message a { background: var(--em-coral); border-color: var(--em-coral); color: #fff; }
#no-packages-message a:hover { background: var(--em-coral-dark); border-color: var(--em-coral-dark); color: #fff; }
.th-group-pills { padding: 20px 0 0; background: #fff; }
.th-group-pills .th-pills { margin-top: 0; }
#pkg-groups .th-sec:nth-of-type(even) { background: var(--em-fog); padding-bottom: 56px; }

.th-trip-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.th-trip {
  background: #fff; border-radius: 20px; overflow: hidden; display: flex; flex-direction: column;
  box-shadow: 0 14px 34px rgba(20,32,28,.08); transition: transform .3s ease, box-shadow .3s ease;
  scroll-margin-top: 90px;
}
.th-trip:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(20,32,28,.12); }
.th-trip.filter-hidden { display: none; }
.th-trip-shot { display: block; height: 190px; background: #d5ddd8; overflow: hidden; }
.th-trip-shot img { display: block; width: 100%; height: 100%; object-fit: cover; }
.th-trip-body { padding: 16px 16px 18px; display: flex; flex-direction: column; flex: 1; }
.th-trip-days { display: inline-block; width: fit-content; margin: 0 0 10px; padding: 5px 10px; border-radius: 999px; background: var(--em-mist); color: var(--em-lagoon-deep); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
main h2.th-trip-title { margin: 0 0 6px; font-size: 24px; line-height: 1.15; color: var(--em-ink); }
.th-trip-blurb { margin: 0; color: var(--em-soft); font-size: 13.5px; }
.th-trip-points { margin: 10px 0 0; padding: 0 0 0 18px; list-style: disc; color: var(--em-soft); font-size: 13px; }
.th-trip-points li { margin-bottom: 4px; }
.th-trip-foot { margin-top: auto; padding-top: 14px; }
.th-trip-price { margin: 0 0 12px; padding-top: 12px; border-top: 1px dashed rgba(20,32,28,.14); }
.th-trip-price b { display: block; color: var(--em-green); font-size: 15px; }
.th-trip-price small { display: block; font-size: 11px; color: var(--em-muted); margin-top: 2px; }
.th-trip-go { display: inline-flex; align-items: center; padding: .625rem 1.25rem; border-radius: 999px; border: 2px solid var(--em-lagoon-deep); color: var(--em-lagoon-deep); font-size: 14px; font-weight: 600; text-decoration: none; transition: background .2s ease, color .2s ease; }
.th-trip-go:hover { background: var(--em-lagoon-deep); color: #fff; }

/* one tour in a group = the spotlight */
.th-trip-grid--feature { grid-template-columns: minmax(0, 1fr); }
.th-trip-grid--feature .th-trip { display: grid; grid-template-columns: 1.35fr 1fr; min-height: 360px; border-radius: 28px; background: var(--em-forest); box-shadow: 0 28px 60px rgba(20,32,28,.14); color: #fff; }
.th-trip-grid--feature .th-trip:hover { transform: none; }
.th-trip-grid--feature .th-trip-shot { height: auto; min-height: 360px; }
.th-trip-grid--feature .th-trip-body { padding: 36px 32px; justify-content: center; background: linear-gradient(160deg, #164a3f, #0f3f3a 60%, #0c2f35); }
.th-trip-grid--feature .th-trip-days { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); color: #fff; }
main .th-trip-grid--feature h2.th-trip-title { color: #fff; font-size: clamp(28px, 3.4vw, 40px); line-height: 1.08; margin-bottom: 10px; }
.th-trip-grid--feature .th-trip-blurb, .th-trip-grid--feature .th-trip-points { color: rgba(255,255,255,.86); font-size: 15px; max-width: 44ch; }
.th-trip-grid--feature .th-trip-foot { margin-top: 18px; }
.th-trip-grid--feature .th-trip-price { border-top: 0; padding-top: 0; }
.th-trip-grid--feature .th-trip-price b { color: #fff; font-size: 28px; line-height: 1; }
.th-trip-grid--feature .th-trip-price small { color: rgba(255,255,255,.8); font-size: 12px; margin-top: 4px; }
.th-trip-grid--feature .th-trip-go { border-color: #fff; color: #fff; }
.th-trip-grid--feature .th-trip-go:hover { background: #fff; color: var(--em-ink); }

/* the full list */
.pkg-all { background: #fff; border-top: 1px solid var(--em-line); padding: 64px 0; }
.pkg-all-kicker { color: var(--em-coral); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
main h2.pkg-all-title { color: var(--em-ink); font-size: clamp(36px, 4.6vw, 56px); line-height: 1; }
.pkg-all-kicker { color: var(--em-coral-dark) !important; }
.pkg-all-head { font-family: var(--em-serif) !important; font-weight: 400 !important; color: var(--em-lagoon-deep) !important; font-size: 28px !important; }
.pkg-all-intro { color: var(--em-soft); }
.pkg-all-list a { color: var(--em-ink); }
.pkg-all-list a:hover, .pkg-all-list a:focus-visible { color: var(--em-coral); }
.pkg-all-days { color: var(--em-muted); }
.pkg-more { border-color: var(--em-lagoon-deep); color: var(--em-lagoon-deep); }
.pkg-more:hover, .pkg-more:focus-visible { background: var(--em-lagoon-deep); color: #fff; }

/* ── Destinations ───────────────────────────────────────────────────────── */
.dest-filters input, .dest-filters select { border-color: var(--em-line); color: var(--em-ink); }
.dest-filters input:focus, .dest-filters select:focus { border-color: var(--em-lagoon); box-shadow: 0 0 0 3px rgba(14,154,167,.16); }
.dest-clear { background: var(--em-mist); color: var(--em-lagoon-deep); }
.dest-clear:hover { background: var(--em-lagoon-deep); color: #fff; }
.dest-count { color: var(--em-muted); }
.th-dest-filters { background: #fff; padding: 22px 0 0; }
#dest-grid { display: block; }
.th-region { padding: 44px 0 20px; }
.th-region:nth-of-type(even) { background: var(--em-fog); padding-bottom: 44px; }
.th-region-head { margin-bottom: 24px; max-width: 52ch; }
.th-region-head p:not(.th-eyebrow) { margin: 10px 0 0; color: var(--em-soft); }
.th-place-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.dest-card {
  position: relative; height: auto; display: flex; flex-direction: column; background: #fff; border: 0; border-radius: 20px; overflow: hidden;
  box-shadow: 0 14px 34px rgba(20,32,28,.07); transition: transform .3s ease, box-shadow .3s ease; color: var(--em-ink); text-decoration: none;
}
a.dest-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(20,32,28,.12); border-color: transparent; }
.dest-card[hidden] { display: none; }
.dest-card-media { position: relative; inset: auto; height: 170px; background: #d5ddd8; }
.dest-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dest-card-media::after { display: none; }
.dest-card-body { position: relative; flex: 1; display: flex; flex-direction: column; margin: 0; padding: 16px 16px 18px; text-align: left; justify-content: flex-start; }
.dest-card-tag { display: inline-block; width: fit-content; margin: 0 0 8px; padding: 4px 9px; border-radius: 999px; background: var(--em-mist); color: var(--em-lagoon-deep); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.th-region--north .dest-card-tag { background: #eef4ef; color: var(--em-green); }
.th-region--south .dest-card-tag { background: #fff3e8; color: #8f4a12; }
h3.dest-card-name { margin: 0 0 6px; font-family: var(--em-serif) !important; font-weight: 400 !important; color: var(--em-ink); font-size: 24px; line-height: 1.1; }
.dest-card-sub { margin: 0; color: var(--em-soft); font-size: 13.5px; }
.dest-card-go { margin-top: auto; padding-top: 14px; color: var(--em-coral); font-size: 13px; font-weight: 700; }
.dest-card-soon { margin-top: auto; padding-top: 14px; color: var(--em-muted); font-size: 13px; font-weight: 700; }
.th-tip-band { margin: 40px 0 0; background: radial-gradient(700px 320px at 10% 0%, rgba(14,154,167,.22), transparent 55%), linear-gradient(160deg, #0f3f3a, #164a3f 55%, #0c2f35); color: #fff; border-radius: 24px; padding: 32px 28px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 20px; align-items: center; }
main .th-tip-band h2 { color: #fff; margin: 8px 0 10px; font-size: clamp(26px, 3vw, 36px); line-height: 1.05; }
.th-tip-band p { margin: 0; color: rgba(255,255,255,.88); max-width: 44ch; }
.th-tip-band .th-eyebrow { color: var(--em-sun); }
.th-tip-btns { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.th-tip-btns .th-btn--line { border: 1.5px solid rgba(255,255,255,.55); color: #fff; }
.th-tip-btns .th-btn--line:hover { background: rgba(255,255,255,.12); }

/* ── About ──────────────────────────────────────────────────────────────── */
.th-stats { padding: 24px 0 8px; background: var(--em-fog); }
.th-stats-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.th-stat { background: #fff; border-radius: 18px; padding: 20px 18px; text-align: center; box-shadow: 0 12px 28px rgba(20,32,28,.05); }
.th-stat b { display: block; font-family: var(--em-serif); font-weight: 400; font-size: 34px; line-height: 1; color: var(--em-lagoon-deep); }
.th-stat span { display: block; margin-top: 6px; color: var(--em-soft); font-size: 13px; font-weight: 600; }
.th-seamless { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.th-seamless article { background: var(--em-fog); border-top: 3px solid var(--em-lagoon); border-radius: 14px; padding: 18px 16px 20px; }
.th-seamless article:nth-child(3n+2) { border-top-color: var(--em-saffron); }
.th-seamless article:nth-child(3n) { border-top-color: var(--em-hibiscus); }
.th-seamless h3 { margin: 0 0 6px; font-size: 16px; font-weight: 700; color: var(--em-ink); }
.th-seamless p { margin: 0; color: var(--em-soft); font-size: 14px; }
.th-promise-wrap { padding: 60px 0; background: radial-gradient(700px 380px at 10% 0%, rgba(14,154,167,.22), transparent 55%), linear-gradient(160deg, #0f3f3a 0%, #164a3f 48%, #0c2f35 100%); color: #fff; }
.th-promise-wrap .th-eyebrow { color: var(--em-sun); }
main .th-promise-wrap h2 { color: #fff; }
.th-promise-intro { margin: 12px 0 24px; color: rgba(255,255,255,.86); max-width: 52ch; }
.th-promise-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.th-promise-grid article { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; padding: 20px 20px 22px; }
.th-role { color: var(--em-sun); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.th-promise-grid h3 { margin: 8px 0 6px; font-family: var(--em-serif); font-weight: 400; font-size: 24px; line-height: 1.1; }
.th-promise-grid p { margin: 0; color: rgba(255,255,255,.84); font-size: 14px; }
.th-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.th-team-card { background: #fff; border-radius: 18px; padding: 22px 20px; box-shadow: 0 14px 34px rgba(20,32,28,.07); }
.th-team-card h3 { margin: 0; font-family: var(--em-serif); font-weight: 400; font-size: 26px; line-height: 1.1; color: var(--em-ink); }
.th-team-title { margin: 4px 0 10px; color: var(--em-lagoon-deep); font-size: 13px; font-weight: 700; }
.th-team-card p { margin: 0; color: var(--em-soft); font-size: 14px; }
.th-ground { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.th-ground article { background: #fff; border: 1px solid rgba(20,32,28,.07); border-radius: 20px; padding: 22px 22px 24px; box-shadow: 0 12px 28px rgba(20,32,28,.05); }
.th-ground h3 { margin: 0 0 12px; font-size: 17px; font-weight: 700; color: var(--em-ink); }
.th-ground ul { margin: 0; padding: 0 0 0 18px; list-style: disc; color: var(--em-soft); font-size: 14px; }
.th-ground li { margin-bottom: 6px; }
.th-regions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.th-region-box { background: #fff; border-radius: 18px; padding: 20px 18px; box-shadow: 0 12px 28px rgba(20,32,28,.05); }
.th-region-box h3 { margin: 0 0 4px; font-family: var(--em-serif); font-weight: 400; font-size: 28px; line-height: 1.05; color: var(--em-ink); }
.th-region-box p { margin: 0 0 12px; color: var(--em-soft); font-size: 14px; }
.th-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.th-chips a, .th-chips span { padding: 6px 11px; border-radius: 999px; background: var(--em-mist); color: var(--em-lagoon-deep); font-size: 12.5px; font-weight: 600; text-decoration: none; }
.th-chips a:hover { background: var(--em-lagoon-deep); color: #fff; }
.th-gov-box { background: #fff; border: 1px solid rgba(20,32,28,.07); border-radius: 24px; padding: 30px 28px; box-shadow: 0 14px 34px rgba(20,32,28,.06); }
.th-gov-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 28px; margin-top: 8px; }
.th-meta { margin: 0 0 4px; color: var(--em-lagoon-deep); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.th-gov-grid p:not(.th-meta) { margin: 0; color: var(--em-ink); font-size: 15px; font-weight: 500; }
.th-gov-grid a { color: var(--em-coral); font-weight: 700; }
.th-prose { max-width: 70ch; color: var(--em-soft); font-size: 15.5px; line-height: 1.7; }
.th-prose p { margin: 0 0 14px; }
.th-trusted { padding: 60px 0; background: var(--em-fog); text-align: center; }
.th-trusted .th-eyebrow { color: var(--em-bronze); }
main .th-trusted h2 { color: #1f4a3b; font-size: clamp(32px, 4vw, 46px); line-height: 1; }
.th-asta-card { width: min(280px, 100%); margin: 28px auto 0; background: #fff; border-radius: 16px; box-shadow: 0 12px 36px rgba(20,32,28,.08); padding: 28px 22px 24px; text-align: center; }
.th-asta-card img { width: 120px; height: auto; display: block; margin: 0 auto .9rem; }
.th-asta-card strong { display: block; font-size: 15px; color: var(--em-lagoon-deep); margin-bottom: .35rem; }
.th-asta-card p { margin: 0; color: var(--em-muted); font-size: 13px; line-height: 1.5; }

/* ── Contact ────────────────────────────────────────────────────────────── */
.th-channel-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.th-channel { display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(20,32,28,.07); border-radius: 18px; padding: 20px 18px; box-shadow: 0 12px 28px rgba(20,32,28,.05); color: var(--em-ink); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
a.th-channel:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(20,32,28,.1); }
.th-label { margin: 0 0 6px; color: var(--em-lagoon-deep); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.th-channel strong { font-family: var(--em-serif); font-weight: 400; font-size: 22px; line-height: 1.1; overflow-wrap: anywhere; }
.th-channel p:not(.th-label) { margin: 8px 0 0; color: var(--em-soft); font-size: 13.5px; }
.th-go { margin-top: auto; padding-top: 12px; color: var(--em-coral); font-size: 13px; font-weight: 700; }
.th-plan-box { display: grid; grid-template-columns: .9fr 1.1fr; border-radius: 26px; overflow: hidden; background: #fff; box-shadow: 0 22px 50px rgba(20,32,28,.1); }
.th-plan-copy { padding: 34px 30px; color: #fff; background: linear-gradient(160deg, rgba(15,63,58,.92), rgba(12,47,53,.86)), url("/photo/phiphiisland.jpg") center/cover no-repeat; }
.th-plan-copy .th-eyebrow { color: var(--em-sun); }
main .th-plan-copy h2 { color: #fff; margin-top: 8px; font-size: clamp(28px, 3.2vw, 38px); line-height: 1.04; }
.th-plan-copy p:not(.th-eyebrow) { margin: 12px 0 0; color: rgba(255,255,255,.88); font-size: 15px; }
.th-plan-copy ul { margin: 18px 0 0; padding: 0 0 0 18px; list-style: disc; color: rgba(255,255,255,.9); font-size: 14px; }
.th-plan-copy li { margin-bottom: 8px; }
.th-plan-form { padding: 30px 28px; }
#contact-form label { color: var(--em-ink); font-weight: 600; font-size: 14px; }
#contact-form input, #contact-form select, #contact-form textarea { border-radius: 14px !important; border-color: rgba(20,32,28,.14) !important; }
#contact-form button[type="submit"] { background: var(--em-coral) !important; border-radius: 999px !important; box-shadow: 0 12px 26px rgba(200,66,28,.22) !important; }
#contact-form button[type="submit"]:hover { background: var(--em-coral-dark) !important; }
#email-fallback-link { color: var(--em-coral); font-weight: 700; }
.th-company { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.th-company article { background: #fff; border: 1px solid rgba(20,32,28,.07); border-radius: 20px; padding: 22px 22px 24px; box-shadow: 0 12px 28px rgba(20,32,28,.05); }
.th-company h3 { margin: 0 0 8px; font-family: var(--em-serif); font-weight: 400; font-size: 28px; line-height: 1.05; color: var(--em-ink); }
.th-company p:not(.th-meta) { margin: 0; color: var(--em-soft); font-size: 14.5px; }
.th-company a { color: var(--em-coral); font-weight: 700; }

/* ── Privacy + Terms: the intro band, one reading column ───────────────── */
.th-legal { padding: 44px 0 72px; background: #fff; }
.th-legal .prose-wrap, .th-legal-body { max-width: 760px; margin: 0 auto; color: var(--em-soft); font-size: 15.5px; line-height: 1.7; }
main .th-legal h2 { font-size: clamp(26px, 3vw, 34px) !important; line-height: 1.1 !important; margin: 32px 0 10px; color: var(--em-ink) !important; }
.th-legal a { color: var(--em-coral); font-weight: 700; }

/* ── Travel Guides: list, tag pages, articles ───────────────────────────── */
.breadcrumbs { max-width: 1200px; padding: 18px 18px; color: var(--em-muted); }
.breadcrumbs a { color: var(--em-green); font-weight: 700; }
.section { padding: 56px 18px; }
.section--list { padding: 0 0 8px; }
.section--list > .th-wrap { padding-top: 8px; }
.blog-filters { margin: 0 0 24px; }
.blog-filters input, .blog-filters select { border-color: var(--em-line); color: var(--em-ink); }
.blog-filters input:focus, .blog-filters select:focus { border-color: var(--em-lagoon); box-shadow: 0 0 0 3px rgba(14,154,167,.16); }
.bf-clear { background: var(--em-mist); color: var(--em-lagoon-deep); }
.bf-clear:hover { background: var(--em-lagoon-deep); color: #fff; }
.bf-count, .bf-empty { color: var(--em-muted); }
#gt-themes .th-sec:nth-of-type(even) { background: var(--em-fog); padding-bottom: 56px; }
main h2.gt-title { text-align: left; font-size: clamp(38px, 5.5vw, 64px); line-height: .92; color: var(--em-ink); margin: 8px 0 0; }
.gt-sub { text-align: left; margin: 10px 0 0; color: var(--em-soft); font-size: 16px; }
.gt-sec { margin: 0; }
#gt-flat { margin: 0 0 56px; }
.em-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; row-gap: 34px; }
.em-card {
  display: flex; flex-direction: column; border: 0; border-radius: 16px; overflow: hidden; background: #fff;
  box-shadow: 0 14px 34px rgba(20,32,28,.08); transition: transform .35s ease, box-shadow .35s ease;
}
.em-card:hover { transform: translateY(-4px) rotate(0) !important; box-shadow: 0 22px 44px rgba(20,32,28,.12); }
.em-card-media { background: #ddd; }
.em-card-media--empty { background: linear-gradient(135deg, #164a3f, #0c2f35); }
.em-card-media--empty span { font-family: var(--em-serif); font-weight: 400; }
.em-card-body { padding: 18px 18px 16px; display: flex; flex-direction: column; flex: 1; }
.em-pill { background: #eef1ef; color: var(--em-muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; }
.em-pill--category { background: var(--em-mist); color: var(--em-lagoon-deep); }
.em-card h3 { margin: 0 0 8px; color: var(--em-green); font-size: 18px; line-height: 1.3; font-weight: 700; }
.em-card p { margin: 0; color: var(--em-soft); font-size: 14px; line-height: 1.5; flex: 1; }
.em-card-foot { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--em-line); color: var(--em-green); font-size: 13px; font-weight: 700; }
.em-card-foot a { color: var(--em-bronze); font-weight: 700; }
@media (min-width: 981px) {
  .em-card-grid .em-card:nth-child(3n+2) { transform: translateY(16px) rotate(.5deg); }
  .em-card-grid .em-card:nth-child(3n) { transform: translateY(-8px) rotate(-.6deg); }
}

/* article: photo band, one reading column */
.hero { min-height: 420px; background: var(--em-forest-2); }
.hero::before { background: linear-gradient(180deg, rgba(18,51,46,.34), rgba(12,30,28,.86)); }
.hero-content { max-width: 1200px; padding: 110px 18px 52px; }
.eyebrow { color: var(--em-sun); font-size: 12px; font-weight: 700; letter-spacing: .18em; }
main .hero h1 { color: #fff; font-size: clamp(36px, 5vw, 62px); line-height: 1.02; max-width: 22ch; margin: 12px 0 14px; }
.hero p { color: rgba(255,255,255,.92); font-size: 16px; }
.post-wrap { max-width: 760px; }
.post-body { color: var(--em-soft); font-size: 17px; line-height: 1.75; }
main .post-body h2 { color: var(--em-ink); font-size: clamp(30px, 3.6vw, 42px); line-height: 1.05; margin: 44px 0 14px; }
.post-body h3 { font-family: var(--em-serif); font-weight: 400; color: var(--em-ink); font-size: 26px; line-height: 1.15; margin: 32px 0 10px; }
.post-body a { color: var(--em-coral); font-weight: 600; }
.post-body img, .post-gallery--single img { border-radius: 14px; }
.pg-viewport, .pg-link { border-radius: 14px; }
.post-body blockquote { border-left: 3px solid var(--em-saffron); font-family: var(--em-serif); font-size: 26px; line-height: 1.2; color: var(--em-ink); font-style: normal; padding-left: 20px; }
.post-body table { border-collapse: collapse; width: 100%; font-size: 15px; margin: 0 0 18px; }
.post-body th, .post-body td { border-bottom: 1px solid var(--em-line); padding: 10px 8px; text-align: left; vertical-align: top; }
.post-body th { color: var(--em-ink); font-weight: 700; }
.pg-dot.is-active { background: var(--em-coral); }
.pg-prev, .pg-next, .plr-prev, .plr-next { background: rgba(18,51,46,.7); }
.pg-prev:hover, .pg-next:hover, .plr-prev:hover, .plr-next:hover { background: rgba(18,51,46,.9); }
.post-reco { border-top: 1px solid var(--em-line); }
main .post-reco h2 { color: var(--em-ink); font-size: 30px; line-height: 1.05; margin: 0 0 6px; }
.post-reco > p { color: var(--em-soft); }
.plr-viewport, .plr-card { border-radius: 16px; }
.plr-card { background: var(--em-forest); }
.plr-card::after { background: linear-gradient(180deg, rgba(18,51,46,0) 45%, rgba(18,51,46,.88)); }
.tag-row a { background: var(--em-mist); color: var(--em-lagoon-deep); }
.tag-row a:hover { background: var(--em-lagoon-deep); color: #fff; }
@media (max-width: 980px) {
  .em-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .em-card-grid .em-card { transform: none; }
}
@media (max-width: 640px) {
  .em-card-grid { grid-template-columns: minmax(0, 1fr); }
  .post-body blockquote { font-size: 22px; }
}
.th-intro--plain { padding-bottom: 36px; }

@media (max-width: 980px) {
  .th-intro-grid, .th-tip-band, .th-plan-box { grid-template-columns: 1fr; }
  .th-trip-grid, .th-place-grid, .th-seamless, .th-team-grid, .th-regions, .th-channel-grid, .th-stats-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .th-trip-grid--feature { grid-template-columns: minmax(0, 1fr); }
  .th-trip-grid--feature .th-trip { grid-template-columns: 1fr; }
  .th-trip-grid--feature .th-trip-shot { min-height: 0; height: 240px; }
  .th-tip-btns { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .th-trip-grid, .th-place-grid, .th-seamless, .th-team-grid, .th-regions, .th-channel-grid, .th-ground, .th-promise-grid, .th-gov-grid, .th-company { grid-template-columns: minmax(0, 1fr); }
  .th-stats-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .th-intro-visual { min-height: 240px; }
}
@media (prefers-reduced-motion: reduce) {
  .th-trip, .dest-card, .th-channel { transition: none; }
}
