/* ==========================================================================
   editorial.css — shared "A+" editorial theme for content page types.
   Opt-in: a page type gets it by passing editorial:true to wrap(), which adds
   Newsreader + this file + class="ed-body" and drops the ad slots.
   Everything is scoped under body.ed-body so no non-editorial page is touched.
   (Compare pages use their own cmp.css — this mirrors that look for the rest.)
   ========================================================================== */

.ed-body{
  --ed-bg:#FBF8F1; --ed-ink:#2b2419; --ed-muted:#6f6656; --ed-faint:#a49a86;
  --ed-accent:#A8442A; --ed-hair:#E7E0D0; --ed-hair2:#EAE3D3; --ed-panel:#F1ECDF;
  --ed-warm:#B4532A; --ed-warm-l:#DDB39F; --ed-cool:#6E86A8; --ed-cool-l:#BFCBDB;
  --ed-serif:'Newsreader',Georgia,'Times New Roman',serif;
  background:var(--ed-bg) !important;
}

/* article shell + base type (beat the global !important Space-Grotesk theme) */
body.ed-body .tc-main{
  max-width:900px; margin:0 auto; padding:8px 24px 44px; color:var(--ed-ink);
  font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif !important;
}
body.ed-body .tc-main a{ color:var(--ed-accent); }
body.ed-body .tc-main a:hover{ color:#7f3016; }
body.ed-body .tc-main h1{
  font-family:var(--ed-serif) !important; font-weight:500 !important; font-size:52px !important;
  line-height:1.05; letter-spacing:-.015em; margin:14px 0 0;
  color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important; background:none !important;
}
body.ed-body .tc-main h1::after{ display:none !important; }
body.ed-body .tc-main .tc-section h2,
body.ed-body .tc-main h2{
  font-family:var(--ed-serif) !important; font-weight:500 !important; font-size:28px !important;
  color:var(--ed-ink) !important; border-left:0 !important; padding:0 !important; display:block !important; margin:0 0 14px !important;
}
body.ed-body .tc-main h3{ font-family:var(--ed-serif) !important; color:var(--ed-ink) !important; }
body.ed-body .tc-main .tc-lead{ font-family:var(--ed-serif) !important; font-size:22px !important; line-height:1.5; color:#3a3225 !important; font-weight:400 !important; }
body.ed-body .tc-main p{ color:#4a4234; }

/* flatten the white section cards → editorial flow on cream */
body.ed-body .tc-main .tc-section{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  padding:0 !important; margin:44px 0 0 !important;
}
body.ed-body .tc-main .tc-section:first-of-type{ margin-top:28px !important; }

/* internal-link modules (fill the removed ad space) */
.cmp-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.cmp-chip{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600;
  color:var(--ed-accent); background:#F6EADF; border:1px solid #E9D6C3; border-radius:999px; padding:7px 14px; }
.cmp-chip svg{ display:block; }
.cmp-rail{ margin-top:26px; border-top:1px solid var(--ed-hair); border-bottom:1px solid var(--ed-hair);
  padding:16px 0; display:flex; align-items:center; gap:20px; }
.cmp-rail-lbl{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ed-faint); white-space:nowrap; }
.cmp-rail-links{ display:flex; flex-wrap:wrap; gap:9px; }
.cmp-pill{ font-size:13px; padding:6px 13px; border:1px solid #E0D8C6; border-radius:999px; color:#3a3225 !important; }
.cmp-pill:hover{ border-color:var(--ed-accent); color:var(--ed-accent) !important; }
body.ed-body .tc-main .cmp-panel{ background:var(--ed-panel) !important; padding:28px 30px !important; margin-top:44px !important; }
.cmp-panel-lbl{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--ed-accent); font-weight:600; }
.cmp-panel-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:16px; }
.cmp-panel-grid a{ display:flex; flex-direction:column; gap:4px; }
.cmp-panel-t{ font-family:var(--ed-serif); font-size:18px; font-weight:600; color:var(--ed-accent); }
.cmp-panel-s{ font-size:13px; color:var(--ed-muted); }

/* generic related-link lists / grids → editorial */
body.ed-body .tc-main .tc-rel-link{ color:var(--ed-accent) !important; background:transparent !important; }
body.ed-body .tc-main .tc-related-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }

/* AVOID-specific ------------------------------------------------------------ */
/* stat strip (Country / Region / Hottest / Coldest / Wettest / Driest) */
body.ed-body .tc-avoid-stats{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:20px;
  border-top:1px solid var(--ed-hair); border-left:1px solid var(--ed-hair);
}
body.ed-body .tc-avoid-stat{ padding:14px 16px; border-right:1px solid var(--ed-hair); border-bottom:1px solid var(--ed-hair); background:transparent !important; }
body.ed-body .tc-avoid-stat-label{ font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ed-faint); }
body.ed-body .tc-avoid-stat-val{ font-family:var(--ed-serif); font-size:19px; color:var(--ed-ink); margin-top:3px; }
body.ed-body .tc-avoid-stat-sub{ font-family:ui-sans-serif,system-ui,sans-serif; font-size:12.5px; color:var(--ed-muted); }
/* months-to-avoid table */
body.ed-body .tc-astro-table{ width:100%; border-collapse:collapse; margin-top:8px; background:transparent; }
body.ed-body .tc-astro-table thead th{ text-align:left; padding:10px 6px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ed-faint); border-bottom:2px solid var(--ed-ink); font-family:inherit; background:transparent; }
body.ed-body .tc-astro-table td{ padding:13px 6px; font-size:15px; color:#3a3225; border-bottom:1px solid var(--ed-hair2); vertical-align:top; background:transparent; }
body.ed-body .tc-astro-table td:first-child{ font-family:var(--ed-serif); font-weight:600; white-space:nowrap; }
/* severity reason chips */
body.ed-body .tc-avoid-reason{ display:inline-block; font-size:12px; padding:3px 9px; border-radius:999px; margin:2px 4px 2px 0; border:1px solid; }
body.ed-body .tc-avoid-hot,.tc-avoid-warm{ color:#a23a1c; border-color:#e6c3b3; background:#f8ece6; }
body.ed-body .tc-avoid-cold{ color:#345a86; border-color:#c3d1e2; background:#eef2f8; }
body.ed-body .tc-avoid-wet{ color:#3a6a86; border-color:#bfd2db; background:#ecf3f6; }
body.ed-body .tc-avoid-storm{ color:#7a3a86; border-color:#d8c3e2; background:#f5eef8; }
body.ed-body .tc-avoid-tips li{ margin-bottom:10px; line-height:1.55; }
body.ed-body .tc-avoid-alt-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }

/* nav "you-are-here" active tab — restore readable white label (theme bug) */
body.ed-body .tc-nav-link.tc-nav-active,
body.ed-body .tc-nav-link.tc-nav-active .tc-nav-label{ color:#fff !important; }
body.ed-body .tc-nav-link.tc-nav-active svg{ color:#fff !important; stroke:#fff !important; }

/* mobile */
@media (max-width:640px){
  body.ed-body .tc-main{ padding:6px 18px 32px; }
  body.ed-body .tc-main h1{ font-size:34px !important; }
  body.ed-body .tc-main .tc-lead{ font-size:19px !important; }
  body.ed-body .tc-avoid-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cmp-rail{ flex-direction:column; align-items:flex-start; gap:10px; }
  .cmp-panel-grid{ grid-template-columns:1fr; gap:16px; }
  body.ed-body .tc-main .tc-related-grid,
  body.ed-body .tc-avoid-alt-grid{ grid-template-columns:1fr; }
  body.ed-body .tc-main .tc-section{ margin-top:36px !important; }
  body.ed-body .tc-main .cmp-panel{ padding:22px !important; }
}

/* BEST-TIME-specific — month-rank cards as clean editorial cards on cream.
   Must beat the nv/Voux theme (~landing.css 7868+): it makes these glassy dark
   cards with DIM text + an ::after gradient overlay, so we force each with !important. */
body.ed-body .tc-bt-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:12px; }
body.ed-body .tc-bt-card::after,
body.ed-body .tc-bt-card::before{ display:none !important; }
body.ed-body .tc-bt-card,
body.ed-body .tc-bt-tier-green,
body.ed-body .tc-bt-tier-yellow,
body.ed-body .tc-bt-tier-red{
  background:#fff !important; border:1px solid var(--ed-hair) !important; border-top:3px solid var(--ed-hair) !important;
  border-radius:12px !important; padding:16px !important; box-shadow:none !important; backdrop-filter:none !important; color:#3a3225 !important;
}
body.ed-body .tc-bt-tier-green{ border-top-color:#6a944b !important; }
body.ed-body .tc-bt-tier-yellow{ border-top-color:#c99a3a !important; }
body.ed-body .tc-bt-tier-red{ border-top-color:#b5533a !important; }
body.ed-body .tc-bt-card-head{ display:flex; align-items:center; justify-content:space-between; }
body.ed-body .tc-bt-card-head h3,
body.ed-body .tc-bt-card h3{ margin:0 !important; font-size:19px !important; color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important; }
body.ed-body .tc-bt-tier-badge{ background:transparent !important; color:var(--ed-muted) !important; box-shadow:none !important; border:1px solid var(--ed-hair) !important; padding:2px 9px !important; font-size:11px !important; letter-spacing:.04em; text-transform:uppercase; }
body.ed-body .tc-bt-stats{ display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; font-size:13px; color:var(--ed-muted) !important; font-family:ui-sans-serif,system-ui,sans-serif; }
body.ed-body .tc-bt-stats strong{ color:var(--ed-ink) !important; }
body.ed-body .tc-bt-summary{ font-size:14px; color:#3a3225 !important; margin:10px 0 0; line-height:1.5; }
body.ed-body .tc-bt-reasons{ margin:8px 0 0; padding-left:18px; font-size:13.5px; }
body.ed-body .tc-bt-reasons li{ margin-bottom:3px; color:#3a3225 !important; }
body.ed-body .tc-bt-links{ display:flex; gap:14px; margin-top:12px; font-size:13px; }
body.ed-body .tc-bt-links a{ color:var(--ed-accent) !important; }
body.ed-body .tc-bt-section-h{ display:flex !important; align-items:center; gap:8px; }
body.ed-body .tc-wiki-attr{ font-size:12.5px; color:var(--ed-faint); }
@media (max-width:640px){
  body.ed-body .tc-bt-grid{ grid-template-columns:1fr; }
}

/* PACK-specific — packing lists as flat editorial content (beat nv dark-card theme) */
body.ed-body .tc-pack-summary{ background:transparent !important; box-shadow:none !important; border:1px solid var(--ed-hair) !important; border-radius:12px !important; padding:16px 18px !important; }
body.ed-body .tc-pack-summary::after,body.ed-body .tc-pack-summary::before{ display:none !important; }
body.ed-body .tc-pack-summary-place{ font-family:var(--ed-serif) !important; font-size:18px !important; color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important; }
body.ed-body .tc-pack-summary-meta{ font-size:13px !important; color:var(--ed-muted) !important; }
body.ed-body .tc-pack-context{ color:var(--ed-muted) !important; font-size:14px !important; border-left:3px solid var(--ed-hair) !important; padding-left:14px !important; background:transparent !important; }
body.ed-body .tc-pack-sec{ background:transparent !important; border:0 !important; border-radius:0 !important; padding:0 !important; margin-top:34px !important; box-shadow:none !important; }
body.ed-body .tc-pack-sec::after,body.ed-body .tc-pack-sec::before{ display:none !important; }
body.ed-body .tc-pack-sec h2{ font-size:22px !important; }
body.ed-body .tc-pack-list{ list-style:none !important; padding:0 !important; margin:12px 0 0 !important; background:transparent !important; }
body.ed-body .tc-pack-item{ background:transparent !important; border:0 !important; border-bottom:1px solid var(--ed-hair2) !important; border-radius:0 !important; padding:12px 0 !important; box-shadow:none !important; color:#3a3225 !important; }
body.ed-body .tc-pack-item::after,body.ed-body .tc-pack-item::before{ display:none !important; }
body.ed-body .tc-pack-text{ color:#3a3225 !important; }
body.ed-body .tc-pack-item strong,
body.ed-body .tc-pack-text strong{ color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important; font-weight:600 !important; }
body.ed-body .tc-pack-reason{ color:var(--ed-muted) !important; -webkit-text-fill-color:var(--ed-muted) !important; }
body.ed-body .tc-pack-tick{ color:var(--ed-accent) !important; }
body.ed-body .tc-pack-carryon,body.ed-body .tc-pack-leave-sec{ background:transparent !important; border:0 !important; padding:0 !important; box-shadow:none !important; }
body.ed-body .tc-pack-carryon p,body.ed-body .tc-pack-leave-sec p,body.ed-body .tc-pack-leave li{ color:#3a3225 !important; }
body.ed-body .tc-pack-pill{ background:#F1ECDF !important; color:#8a4a1c !important; border:0 !important; }
body.ed-body .tc-aff-disclosure{ color:var(--ed-muted) !important; }

/* WEATHER-specific — climate tables, quick facts, tier badges, similar-city cards */
body.ed-body .tc-climate-table{ width:100%; border-collapse:collapse; margin-top:12px; background:transparent !important; }
body.ed-body .tc-climate-table th,
body.ed-body .tc-climate-table td{ padding:9px 8px !important; font-size:13.5px !important; border:0 !important; border-bottom:1px solid var(--ed-hair2) !important; text-align:left; color:#3a3225 !important; background:transparent !important; }
body.ed-body .tc-climate-table thead th{ font-size:11px !important; letter-spacing:.06em; text-transform:uppercase; color:var(--ed-faint) !important; border-bottom:2px solid var(--ed-ink) !important; font-family:ui-sans-serif,system-ui,sans-serif !important; font-weight:600; }
body.ed-body .tc-climate-table td:first-child,
body.ed-body .tc-climate-table th[scope=row]{ font-family:var(--ed-serif) !important; color:var(--ed-ink) !important; }
body.ed-body .tc-quickfacts dl{ display:grid; grid-template-columns:auto 1fr; gap:8px 20px; margin:8px 0 0; }
body.ed-body .tc-quickfacts dt{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ed-faint) !important; }
body.ed-body .tc-quickfacts dd{ margin:0; color:var(--ed-ink) !important; font-family:var(--ed-serif); }
body.ed-body .tc-lead-row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
body.ed-body .tc-tier{ font-size:11px !important; letter-spacing:.06em; text-transform:uppercase; padding:4px 10px !important; border-radius:999px !important; border:1px solid var(--ed-hair) !important; background:#F6EADF !important; color:var(--ed-accent) !important; box-shadow:none !important; }
body.ed-body .tc-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:12px; }
body.ed-body .tc-card{ background:#fff !important; border:1px solid var(--ed-hair) !important; border-radius:12px !important; box-shadow:none !important; padding:14px !important; display:flex; gap:10px; align-items:center; color:#3a3225 !important; }
body.ed-body .tc-card::after,body.ed-body .tc-card::before{ display:none !important; }
body.ed-body .tc-card-name{ font-family:var(--ed-serif) !important; color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important; font-weight:600; }
body.ed-body .tc-card-meta,body.ed-body .tc-card-extra{ font-size:12.5px; color:var(--ed-muted) !important; }
body.ed-body .tc-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
body.ed-body .tc-chip{ font-size:13px; padding:6px 13px; border:1px solid var(--ed-hair) !important; border-radius:999px; color:var(--ed-accent) !important; background:transparent !important; box-shadow:none !important; }
body.ed-body .tc-chip.tc-chip-current,body.ed-body .tc-chip[aria-current]{ background:var(--ed-accent) !important; color:#fff !important; }
/* weather-month stat widgets → unify their accent numbers to editorial terracotta
   (the nv theme colors them blue/green/orange, which clashes with the cream/serif look) */
body.ed-body .tc-month-rank-num,
body.ed-body .tc-book-num,
body.ed-body .tc-month-sun-val,
body.ed-body .tc-month-sun-label{ color:var(--ed-accent) !important; }
body.ed-body .tc-month-rank,
body.ed-body .tc-month-sun,
body.ed-body .tc-book-card,
body.ed-body .tc-photo-card{ background:#fff !important; border:1px solid var(--ed-hair) !important; box-shadow:none !important; border-radius:12px !important; }
body.ed-body .tc-month-rank::after,body.ed-body .tc-month-rank::before,
body.ed-body .tc-month-sun::after,body.ed-body .tc-month-sun::before{ display:none !important; }

@media (max-width:640px){
  body.ed-body .tc-grid{ grid-template-columns:1fr; }
  body.ed-body .tc-climate-table th,body.ed-body .tc-climate-table td{ padding:7px 5px !important; font-size:12px !important; }
}

/* photography-light widget (golden/blue hour, milky way) — was near-white text on faint cards */
body.ed-body .tc-photo-cell{ background:#fff !important; border:1px solid var(--ed-hair) !important; border-radius:12px !important; box-shadow:none !important; }
body.ed-body .tc-photo-cell::after,body.ed-body .tc-photo-cell::before{ display:none !important; }
body.ed-body .tc-photo-label{ color:var(--ed-faint) !important; -webkit-text-fill-color:var(--ed-faint) !important; }
body.ed-body .tc-photo-val{ color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important; }
body.ed-body .tc-photo-sub{ color:var(--ed-muted) !important; -webkit-text-fill-color:var(--ed-muted) !important; }

/* HUB city-grid / search-result cards → light editorial cards (nv makes them dark navy gradient) */
body.ed-body .tc-pack-city-link{ background:#fff !important; background-image:none !important; border:1px solid var(--ed-hair) !important; border-radius:12px !important; box-shadow:none !important; color:var(--ed-ink) !important; }
body.ed-body .tc-pack-city-link::after,body.ed-body .tc-pack-city-link::before{ display:none !important; }
body.ed-body .tc-pack-city-link *{ color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important; }
body.ed-body .tc-pack-city-link:hover{ border-color:var(--ed-accent) !important; }


/* ============================================================
   FULL-SITE UNIFORMITY PASS — fix nv-theme dark cards / invisible
   text on the remaining editorial page types. Semantic colored
   badges (tc-2050-badge severity, tc-dst-pill on/off) are left
   intact — they are readable and their color carries meaning.
   ============================================================ */

/* dark navy link/pill cards → light editorial cards
   (country currency-pairs, event location pairs, events-hub month cards) */
body.ed-body .tc-cur-pair-link,
body.ed-body .tc-event-pair,
body.ed-body .tc-events-month-card{
  background:#fff !important; background-image:none !important;
  border:1px solid var(--ed-hair) !important; box-shadow:none !important;
  color:var(--ed-ink) !important;
}
body.ed-body .tc-cur-pair-link *,
body.ed-body .tc-event-pair *,
body.ed-body .tc-events-month-card *{
  color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important;
}
body.ed-body .tc-cur-pair-link::before,body.ed-body .tc-cur-pair-link::after,
body.ed-body .tc-event-pair::before,body.ed-body .tc-event-pair::after,
body.ed-body .tc-events-month-card::before,body.ed-body .tc-events-month-card::after{ display:none !important; }
body.ed-body .tc-cur-pair-link:hover,
body.ed-body .tc-event-pair:hover,
body.ed-body .tc-events-month-card:hover{ border-color:var(--ed-accent) !important; }

/* step-number circle → editorial accent fill (purely ordinal, no meaning lost) */
body.ed-body .tc-prep-num{
  background:var(--ed-accent) !important; background-image:none !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  border:none !important; box-shadow:none !important;
}

/* match-% pill → pale accent tint (readable, on-brand) */
body.ed-body .tc-alt-card-match{
  background:#F6EADF !important; background-image:none !important;
  color:var(--ed-accent) !important; -webkit-text-fill-color:var(--ed-accent) !important;
  border:1px solid #E9D6C3 !important; box-shadow:none !important;
}

/* bento stat value → ink text, drop nv gradient highlight box */
body.ed-body .tc-bento-value{
  background:none !important; background-image:none !important;
  color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important;
}

/* coolcation big temperature number → accent text, drop gradient box */
body.ed-body .tc-cool-card-num{
  background:none !important; background-image:none !important;
  color:var(--ed-accent) !important; -webkit-text-fill-color:var(--ed-accent) !important;
}

/* --- invisible-text fixes (light text left over from dark theme) --- */
/* event popularity tag: was light text on near-transparent → neutral readable tag */
body.ed-body .tc-event-pop{
  background:var(--ed-panel) !important; background-image:none !important;
  color:var(--ed-muted) !important; -webkit-text-fill-color:var(--ed-muted) !important;
  border:1px solid var(--ed-hair) !important;
}
/* event climate-section label: was white on cream */
body.ed-body .tc-event-climate-title{
  color:var(--ed-muted) !important; -webkit-text-fill-color:var(--ed-muted) !important;
}
/* vertical empty (unfilled) stars: were near-white → faint but visible */
body.ed-body .tc-vert-stars-dim{
  color:var(--ed-faint) !important; -webkit-text-fill-color:var(--ed-faint) !important;
}

/* calendar-index popular-country cards → light editorial cards */
body.ed-body .tc-pop-card{
  background:#fff !important; background-image:none !important;
  border:1px solid var(--ed-hair) !important; box-shadow:none !important;
  color:var(--ed-ink) !important;
}
body.ed-body .tc-pop-card *{ color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important; }
body.ed-body .tc-pop-card::before,body.ed-body .tc-pop-card::after{ display:none !important; }
body.ed-body .tc-pop-card:hover{ border-color:var(--ed-accent) !important; }

/* ============================================================
   Dark CONTAINER cards (nv navy/purple gradient) → light editorial
   cards, across the remaining page types. Semantic day/night bars
   (tc-tz-seg-bar), print button (tc-cal-print) and the world-map
   svg are intentionally left dark.
   ============================================================ */
body.ed-body .tc-pack-month-link,
body.ed-body .tc-bento-fact,
body.ed-body .tc-country-city-card,
body.ed-body .tc-event-feat-card,
body.ed-body .tc-event-card,
body.ed-body .tc-cool-card,
body.ed-body .tc-cool-month-card,
body.ed-body .tc-tz-card{
  background:#fff !important; background-image:none !important;
  border:1px solid var(--ed-hair) !important; box-shadow:none !important;
  color:var(--ed-ink) !important;
}
body.ed-body .tc-pack-month-link *,
body.ed-body .tc-bento-fact *,
body.ed-body .tc-country-city-card *,
body.ed-body .tc-event-feat-card *,
body.ed-body .tc-event-card *,
body.ed-body .tc-cool-card *,
body.ed-body .tc-cool-month-card *,
body.ed-body .tc-tz-card *{
  color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important;
}
body.ed-body .tc-pack-month-link::before,body.ed-body .tc-pack-month-link::after,
body.ed-body .tc-bento-fact::before,body.ed-body .tc-bento-fact::after,
body.ed-body .tc-country-city-card::before,body.ed-body .tc-country-city-card::after,
body.ed-body .tc-event-feat-card::before,body.ed-body .tc-event-feat-card::after,
body.ed-body .tc-event-card::before,body.ed-body .tc-event-card::after,
body.ed-body .tc-cool-card::before,body.ed-body .tc-cool-card::after,
body.ed-body .tc-cool-month-card::before,body.ed-body .tc-cool-month-card::after,
body.ed-body .tc-tz-card::before,body.ed-body .tc-tz-card::after{ display:none !important; }
body.ed-body .tc-pack-month-link:hover,
body.ed-body .tc-bento-fact:hover,
body.ed-body .tc-country-city-card:hover,
body.ed-body .tc-event-feat-card:hover,
body.ed-body .tc-event-card:hover,
body.ed-body .tc-cool-card:hover,
body.ed-body .tc-cool-month-card:hover,
body.ed-body .tc-tz-card:hover{ border-color:var(--ed-accent) !important; }
/* re-assert accent inner elements that blanket-ink would flatten (higher specificity) */
body.ed-body .tc-cool-card .tc-cool-card-num{ color:var(--ed-accent) !important; -webkit-text-fill-color:var(--ed-accent) !important; }

/* ============================================================
   INTERACTIVE TOOL pages — leftover dark-theme widgets on cream.
   (The /quiz/ dark game console is intentionally left as-is — a
   self-contained interactive widget, readable + polished.)
   ============================================================ */
/* trip-finder (/find/) result cards → light editorial cards */
body.ed-body .tc-find-card{ background:#fff !important; background-image:none !important; border:1px solid var(--ed-hair) !important; box-shadow:none !important; color:var(--ed-ink) !important; }
body.ed-body .tc-find-card *{ color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important; }
body.ed-body .tc-find-card::before,body.ed-body .tc-find-card::after{ display:none !important; }
body.ed-body .tc-find-card:hover{ border-color:var(--ed-accent) !important; }

/* time-zone converter (/converter/) live clock display → light panel */
body.ed-body .tc-conv-clock{ background:#fff !important; background-image:none !important; border:1px solid var(--ed-hair) !important; box-shadow:none !important; color:var(--ed-ink) !important; }
body.ed-body .tc-conv-clock *{ color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important; }
body.ed-body .tc-conv-clock::before,body.ed-body .tc-conv-clock::after{ display:none !important; }

/* aurora (/aurora/) KP-widget text was light lavender (dark theme) → readable on cream */
body.ed-body .tc-aur-kp-label{ color:var(--ed-muted) !important; -webkit-text-fill-color:var(--ed-muted) !important; }
body.ed-body .tc-aur-forecast{ color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important; }
body.ed-body .tc-aur-explainer{ color:var(--ed-muted) !important; -webkit-text-fill-color:var(--ed-muted) !important; }

/* ============================================================
   Packing handoff CTA — funnels best-time / avoid readers to the
   month-specific /pack/ page (shopping intent) at the moment they
   pick a travel month. Whole card is the link.
   ============================================================ */
body.ed-body .tc-pack-cta{
  display:flex; align-items:center; gap:16px;
  margin:24px 0; padding:18px 20px;
  background:#F8EFE2 !important; background-image:none !important;
  border:1px solid #E4D2BC !important; border-radius:14px !important;
  text-decoration:none !important; box-shadow:none !important;
}
body.ed-body .tc-pack-cta:hover{ border-color:var(--ed-accent) !important; }
body.ed-body .tc-pack-cta-icon{ font-size:30px; line-height:1; flex:0 0 auto; }
body.ed-body .tc-pack-cta-body{ flex:1 1 auto; min-width:0; }
body.ed-body .tc-pack-cta-title{
  display:block; font-family:var(--ed-serif); font-size:19px; font-weight:600;
  color:var(--ed-ink) !important; -webkit-text-fill-color:var(--ed-ink) !important; margin:0 0 3px;
}
body.ed-body .tc-pack-cta-desc{
  display:block; font-size:14px; line-height:1.45;
  color:var(--ed-muted) !important; -webkit-text-fill-color:var(--ed-muted) !important; margin:0;
}
body.ed-body .tc-pack-cta-btn{
  flex:0 0 auto; display:inline-block; white-space:nowrap;
  background:var(--ed-accent) !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
  padding:11px 18px; border-radius:10px; font-weight:600; font-size:14px;
}
body.ed-body .tc-pack-cta:hover .tc-pack-cta-btn{ background:#8f3924 !important; }
@media (max-width:560px){
  body.ed-body .tc-pack-cta{ flex-wrap:wrap; gap:12px; }
  body.ed-body .tc-pack-cta-btn{ width:100%; text-align:center; }
}

/* slim contextual eSIM nudge — placed at the decision moment on trip-planning
   pages (best-time / avoid). A light editorial callout, not an ad block. */
body.ed-body .tc-esim-nudge{
  display:flex; align-items:center; gap:11px; flex-wrap:wrap;
  margin:22px 0; padding:13px 16px;
  background:var(--ed-panel) !important; border:1px solid var(--ed-hair); border-radius:12px;
  font-size:15px; line-height:1.45; color:var(--ed-muted);
}
body.ed-body .tc-esim-nudge-ico{ font-size:20px; line-height:1; }
body.ed-body .tc-esim-nudge-txt{ flex:1 1 260px; }
body.ed-body .tc-esim-nudge-txt strong{ color:var(--ed-ink); font-weight:600; }
body.ed-body .tc-esim-nudge-link{ white-space:nowrap; font-weight:600; color:var(--ed-accent) !important; text-decoration:none; }
body.ed-body .tc-esim-nudge-link:hover{ text-decoration:underline; }
