/* /travel — scoped; load with job.css */
body.travel {
  --trv-nominal: #0f766e;
  --trv-real: #2563eb;
  --trv-contrib: #94a3b8;
}

body.travel .trv-meters { display: grid; gap: .65rem; margin: 1rem 0 1.5rem; }
body.travel .trv-meter { display: grid; grid-template-columns: minmax(8rem, 11rem) 1fr 2.5rem; gap: .5rem; align-items: center; font-size: .92rem; }
body.travel .trv-meter .bar { height: .55rem; background: color-mix(in srgb, var(--accent, #0f766e) 12%, transparent); border-radius: 999px; overflow: hidden; }
body.travel .trv-meter .bar i { display: block; height: 100%; background: var(--accent, #0f766e); border-radius: inherit; }
body.travel .trv-meter b { text-align: right; font-variant-numeric: tabular-nums; }

body.travel .trv-list { margin: 0 0 1.5rem; padding-left: 1.15rem; }
body.travel .trv-list li { margin: .45rem 0; }
body.travel .trv-steps { margin: 0 0 1.5rem; padding-left: 1.2rem; }
body.travel .trv-steps .hint { color: var(--muted, #64748b); font-size: .9rem; }

body.travel .trv-calc-grid {
  display: grid;
  grid-template-columns: minmax(16rem, 22rem) 1fr;
  gap: 1.5rem;
  align-items: start;
}
@media (max-width: 860px) {
  body.travel .trv-calc-grid { grid-template-columns: 1fr; }
}

body.travel .trv-form {
  display: grid;
  gap: .75rem;
  padding: 1rem;
  background: color-mix(in srgb, var(--accent, #0f766e) 6%, transparent);
  border-radius: 12px;
}
body.travel .trv-form label { display: grid; gap: .3rem; font-size: .9rem; font-weight: 600; }
body.travel .trv-form input {
  font: inherit;
  padding: .55rem .7rem;
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
  border-radius: 8px;
  background: #fff;
}
body.travel .trv-form button { margin-top: .25rem; justify-self: start; }

body.travel .trv-chart { width: 100%; height: auto; display: block; background: #fff; border-radius: 12px; }
body.travel .trv-grid { stroke: #e2e8f0; stroke-width: 1; }
body.travel .trv-line { stroke-width: 2.5; fill: none; }
body.travel .trv-line.nominal { stroke: var(--trv-nominal); }
body.travel .trv-line.real { stroke: var(--trv-real); }
body.travel .trv-line.contrib { stroke: var(--trv-contrib); stroke-dasharray: 4 3; }
body.travel .trv-axis { fill: #64748b; font-size: 11px; font-family: inherit; }

body.travel .trv-kpis {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
body.travel .trv-kpis li {
  padding: .75rem .9rem;
  border-radius: 10px;
  background: color-mix(in srgb, var(--accent, #0f766e) 8%, transparent);
}
body.travel .trv-kpis span { display: block; font-size: .8rem; color: var(--muted, #64748b); }
body.travel .trv-kpis strong { font-size: 1.2rem; font-variant-numeric: tabular-nums; }

body.travel .trv-legend { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: .85rem; font-size: .85rem; }
body.travel .trv-legend span::before {
  content: '';
  display: inline-block;
  width: .75rem;
  height: .2rem;
  margin-right: .4rem;
  vertical-align: middle;
  border-radius: 2px;
}
body.travel .trv-legend .nominal::before { background: var(--trv-nominal); }
body.travel .trv-legend .real::before { background: var(--trv-real); }
body.travel .trv-legend .contrib::before { background: var(--trv-contrib); }

body.travel .timeline { list-style: none; padding: 0; margin: 0 0 1.5rem; }
body.travel .timeline li { padding: .65rem 0 .65rem 1rem; border-left: 2px solid color-mix(in srgb, var(--accent, #0f766e) 40%, transparent); margin-left: .25rem; }
body.travel .timeline time { display: block; font-size: .8rem; color: var(--muted, #64748b); font-weight: 600; }

body.travel .trv-scenarios { margin: 0 0 1.75rem; }
body.travel .trv-scenarios h2 { margin-bottom: .35rem; }
body.travel .trv-scenarios .sub { color: var(--muted, #64748b); margin: 0 0 1rem; max-width: 42rem; }
body.travel .trv-scenario-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: .75rem;
}
body.travel .trv-scenario {
  display: grid;
  gap: .35rem;
  text-align: left;
  font: inherit;
  padding: .85rem 1rem;
  border: 1px solid color-mix(in srgb, var(--accent, #0f766e) 22%, transparent);
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  color: inherit;
}
body.travel .trv-scenario:hover,
body.travel .trv-scenario:focus-visible {
  border-color: var(--accent, #0f766e);
  outline: none;
}
body.travel .trv-scenario strong { font-size: .98rem; }
body.travel .trv-scenario span { font-size: .85rem; color: var(--muted, #64748b); line-height: 1.35; }
body.travel .trv-scenario em { font-style: normal; font-size: .8rem; font-weight: 700; color: var(--accent, #0f766e); }


body.travel .trv-cal { width: 100%; height: auto; display: block; margin: .5rem 0 1rem; }
body.travel .trv-cal-wrap { overflow-x: auto; }
body.travel .trv-cell-m, body.travel .trv-cell-n { fill: #fff; font-size: 11px; font-family: inherit; font-weight: 700; }
body.travel .trv-cell-m.trv-on-light, body.travel .trv-cell-n.trv-on-light { fill: #0f172a; }
body.travel .trv-list { margin: 0 0 1.5rem; padding-left: 1.15rem; }
body.travel .trv-list li { margin: .45rem 0; }
body.travel .trv-steps { margin: 0 0 1.5rem; padding-left: 1.2rem; }
body.travel .trv-steps .hint { color: var(--muted, #64748b); font-size: .9rem; }
body.travel .trv-meters { display: grid; gap: .65rem; margin: 1rem 0 1.5rem; }
body.travel .trv-meter { display: grid; grid-template-columns: minmax(8rem, 11rem) 1fr 2.5rem; gap: .5rem; align-items: center; font-size: .92rem; }
body.travel .trv-meter .bar { height: .55rem; background: color-mix(in srgb, var(--accent, #0284c7) 12%, transparent); border-radius: 999px; overflow: hidden; }
body.travel .trv-meter .bar i { display: block; height: 100%; background: var(--accent, #0284c7); border-radius: inherit; }
/* UX/OSS browse + compare order (PE) */
body.travel .trv-browse { margin: 0 0 1.25rem; display: grid; gap: .65rem; }
body.travel .trv-tools { display: grid; gap: .65rem; position: sticky; top: 0; z-index: 4; padding: .5rem 0; background: color-mix(in srgb, var(--bg, #fff) 92%, transparent); backdrop-filter: blur(8px); }
body.travel .trv-search { display: flex; gap: .5rem; align-items: center; }
body.travel .trv-search input[type="search"] { flex: 1; font: inherit; padding: .6rem .8rem; border-radius: 10px; border: 1px solid color-mix(in srgb, currentColor 16%, transparent); }
body.travel .trv-clear { font: inherit; padding: .45rem .7rem; border-radius: 8px; border: 1px solid color-mix(in srgb, currentColor 16%, transparent); background: transparent; cursor: pointer; }
body.travel .trv-filters { display: flex; flex-wrap: wrap; gap: .4rem; }
body.travel .trv-chip { font: inherit; padding: .35rem .7rem; border-radius: 999px; border: 1px solid color-mix(in srgb, currentColor 16%, transparent); background: transparent; cursor: pointer; }
body.travel .trv-chip.on, body.travel .trv-chip[aria-pressed="true"] { background: var(--accent, #0f766e); color: #fff; border-color: transparent; }
body.travel .trv-chip .n { margin-left: .35rem; opacity: .8; font-variant-numeric: tabular-nums; }
body.travel .trv-browse-count, body.travel .trv-browse-empty { color: var(--muted, #64748b); font-size: .92rem; margin: 0; }
body.travel .trv-order { list-style: none; margin: .5rem 0 1rem; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
body.travel .trv-order-item { padding: .35rem .7rem; border-radius: 8px; background: color-mix(in srgb, var(--accent, #0f766e) 12%, transparent); cursor: grab; }
body.travel .trv-month-now { outline: 2px solid var(--accent, #0284c7); outline-offset: 2px; }
body.travel .trv-month-last { outline: 2px dashed color-mix(in srgb, var(--accent, #0284c7) 55%, #64748b); outline-offset: 2px; }
body.travel .trv-when-desk { margin: 1rem 0 1.4rem; padding: 1rem 1.1rem; border-left: 3px solid #0284c7; border-radius: 0 12px 12px 0; background: color-mix(in srgb, #0284c7 7%, #fff); max-width: 62ch; }
body.travel .trv-when-desk-picks { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: .75rem 0; }
@media (max-width: 560px) { body.travel .trv-when-desk-picks { grid-template-columns: 1fr; } }
body.travel .trv-when-desk-picks label { display: grid; gap: .3rem; font-size: .9rem; font-weight: 600; }
body.travel .trv-when-desk-picks select { font: inherit; padding: .45rem .6rem; border-radius: 8px; border: 1px solid color-mix(in srgb, currentColor 16%, transparent); }
body.travel .trv-when-desk-cols { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
@media (max-width: 560px) { body.travel .trv-when-desk-cols { grid-template-columns: 1fr; } }
body.travel .trv-when-desk-cols article { padding: .75rem .85rem; border-radius: 10px; background: #fff; border: 1px solid color-mix(in srgb, currentColor 12%, transparent); }
body.travel .trv-when-desk-cols h3 { margin: 0 0 .35rem; }
body.travel .trv-when-session, body.travel .trv-when-index-session { margin: .75rem 0; padding: .75rem .9rem; border-radius: 12px; border: 1px solid color-mix(in srgb, #0284c7 22%, #e2e8f0); background: #fff; }
body.travel .trv-when-session[hidden], body.travel .trv-when-index-session[hidden] { display: none !important; }
body.travel .trv-when-session-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
body.travel .trv-dest-pair { margin: 1rem 0 1.4rem; padding: 1rem 1.1rem; border-left: 3px solid #0f766e; border-radius: 0 12px 12px 0; background: color-mix(in srgb, #0f766e 7%, #fff); max-width: 72ch; }
body.travel .trv-dest-pair-picks { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: .75rem 0; }
@media (max-width: 560px) { body.travel .trv-dest-pair-picks { grid-template-columns: 1fr; } }
body.travel .trv-dest-pair-picks label { display: grid; gap: .3rem; font-size: .9rem; font-weight: 600; }
body.travel .trv-dest-pair-picks select { font: inherit; padding: .45rem .6rem; border-radius: 8px; border: 1px solid color-mix(in srgb, currentColor 16%, transparent); }
body.travel .trv-dest-pair-cols { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
@media (max-width: 560px) { body.travel .trv-dest-pair-cols { grid-template-columns: 1fr; } }
body.travel .trv-dest-pair-cols article { padding: .75rem .85rem; border-radius: 10px; background: #fff; border: 1px solid color-mix(in srgb, currentColor 12%, transparent); }
body.travel .trv-dest-pair-session { margin: .75rem 0; padding: .75rem .9rem; border-radius: 12px; border: 1px solid color-mix(in srgb, #0f766e 22%, #e2e8f0); background: #fff; }
body.travel .trv-dest-pair-session[hidden] { display: none !important; }
body.travel .trv-dest-pair-session-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
body.travel mark { background: color-mix(in srgb, #fbbf24 55%, transparent); padding: 0 .1em; }

/* P1 roadmap */
body.travel .trv-honeymoon-note{margin:1rem 0 1.25rem;padding:.85rem 1rem;border-left:3px solid #0f766e;background:#ecfdf5;border-radius:0 10px 10px 0}\nbody.travel .p1-faq{margin:1.5rem 0}\n

/* ---- visual-diff (2026-09-16) ---- */
.vd-photo-strip,.vd-climate-bars,.vd-taste-street,.vd-letterform,.vd-dossier-rail,
.vd-anatomy-overlay,.vd-ashby-weight,.vd-scent-drama,.vd-planner-cal,.vd-chooser-cards{margin:1.25rem 0 1.75rem}
.vd-strip-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(9.5rem,14rem);gap:.65rem;overflow-x:auto;padding-bottom:.35rem;scroll-snap-type:x mandatory}
.vd-strip-tile{position:relative;display:block;min-height:9.5rem;border-radius:14px;background-size:cover;background-position:center;scroll-snap-align:start;overflow:hidden;color:#fff;text-decoration:none;box-shadow:0 2px 10px rgba(15,23,42,.12)}
.vd-strip-veil{position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(15,23,42,.78) 88%)}
.vd-strip-meta{position:absolute;left:.7rem;right:.7rem;bottom:.65rem;display:grid;gap:.15rem}
.vd-strip-meta b{font-size:.95rem}.vd-strip-meta i{font-style:normal;font-size:.78rem;opacity:.85}
.vd-clim-row{display:grid;grid-template-columns:minmax(5rem,8rem) 1fr;gap:.5rem;align-items:center;margin:.45rem 0}
.vd-clim-lab{font-size:.86rem;font-weight:650}
.vd-clim-track{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.25rem}
.vd-clim-cell{display:grid;place-items:center;min-height:2rem;border-radius:8px;color:#fff;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums}
.vd-taste-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.75rem}
.vd-taste-card{display:grid;gap:.35rem;padding:.85rem;border-radius:14px;text-decoration:none;color:inherit;background:color-mix(in srgb,var(--vd-accent,#c2410c) 10%,#fff);border:1px solid color-mix(in srgb,var(--vd-accent,#c2410c) 22%,transparent)}
.vd-taste-radar{width:100%;max-width:7.5rem;margin:0 auto;color:var(--vd-accent,#c2410c)}
.vd-street-bar{display:block;height:.45rem;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--vd-accent,#c2410c) 14%,transparent)}
.vd-street-bar i{display:block;height:100%;border-radius:inherit}
.vd-taste-card em{font-style:normal;font-size:.8rem;color:var(--muted,#64748b)}
.vd-letter-rail{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 .75rem;font-family:"Pretendard Variable",Pretendard,"Apple SD Gothic Neo","Noto Sans KR",Georgia,serif}
.vd-letter{display:grid;place-items:center;min-width:2.6rem;min-height:2.8rem;padding:.2rem .55rem;border-radius:12px;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:800;letter-spacing:-.04em;color:#312e81;background:linear-gradient(160deg,#eef2ff,#c7d2fe 70%,#a5b4fc);transform:rotate(calc((var(--vd-i,0) - 4)*1.2deg));box-shadow:0 1px 0 rgba(49,46,129,.12)}
.vd-name-samples{display:flex;flex-wrap:wrap;gap:.4rem}
.vd-name-chip{padding:.3rem .65rem;border-radius:999px;font-size:.86rem;font-weight:650;background:#eef2ff;color:#3730a3}
.vd-dossier-frame{padding:1rem;border-radius:6px 14px 14px 6px;background:#f4efe6;border:1px solid #d6d3d1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.vd-dossier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.65rem}
.vd-dossier-card{position:relative;display:grid;gap:.3rem;align-content:end;min-height:8.5rem;padding:.85rem;border-radius:10px;text-decoration:none;color:#1c1917;background:#fffdf8;border:1px dashed color-mix(in srgb,var(--vd-accent,#475569) 35%,transparent)}
.vd-dossier-card.has-photo{color:#fff;background-image:linear-gradient(180deg,transparent 15%,#0f172ad9 78%),var(--vd-photo);background-size:cover;background-position:center;border-style:solid}
.vd-dossier-stamp{position:absolute;top:.45rem;right:.45rem;width:2.6rem;height:2.6rem;border:2px solid #b91c1c;border-radius:50%;color:#b91c1c;display:grid;place-content:center;font-size:.62rem;font-weight:800;transform:rotate(-14deg);background:rgba(255,255,255,.7)}
.vd-dossier-card.has-photo .vd-dossier-stamp{background:rgba(255,255,255,.15);color:#fecaca;border-color:#fecaca}
.vd-anat-fig{margin:0}.vd-anat-stage{position:relative;border-radius:16px;overflow:hidden}.vd-anat-stage img{display:block;width:100%;height:auto}
.vd-anat-marks{position:absolute;inset:0;pointer-events:none}
.vd-anat-mark{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:.2rem;color:#fff;text-align:center}
.vd-anat-mark b{width:1.55rem;height:1.55rem;border-radius:50%;display:grid;place-items:center;background:#0f766e;font-size:.78rem;box-shadow:0 0 0 3px rgba(15,118,110,.35)}
.vd-anat-mark i{font-style:normal;font-size:.72rem;max-width:6.5rem;padding:.15rem .35rem;border-radius:6px;background:rgba(15,23,42,.72)}
.vd-anat-list{margin:.75rem 0 0;padding-left:1.15rem}
.vd-ashby{width:100%;height:auto;display:block;color:#1e3a8a}.vd-ashby-bg{fill:#eff6ff}
.vd-scent-drama{margin:1rem 0 1.5rem}
.vd-scent-kicker{margin:0 0 .35rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;color:#f4d6c8}
.vd-scent-stage{position:relative;padding:1rem;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(196,92,122,.42),transparent 55%),radial-gradient(circle at 20% 80%,rgba(244,214,200,.18),transparent 45%);filter:drop-shadow(0 12px 28px rgba(196,92,122,.28))}
.vd-scent-stage .frg-wheel{transform:scale(1.04)}
.vd-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;max-width:36rem}
.vd-cal-day{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:650;background:color-mix(in srgb,#4f46e5 calc(var(--vd-i)*100%),#e2e8f0);color:color-mix(in srgb,#312e81 calc(var(--vd-i)*120%),#64748b)}
.vd-cal-day.on{color:#fff;box-shadow:inset 0 0 0 2px rgba(49,46,129,.25)}
.vd-chooser-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:.75rem;margin:0 0 1.25rem}
.vd-chooser-card{display:grid;gap:.4rem;padding:.9rem;border-radius:16px;text-decoration:none;color:inherit;background:#fff;border:1px solid color-mix(in srgb,var(--vd-accent,#0e7490) 22%,#c5ceda);box-shadow:0 2px 8px rgba(7,17,31,.05);transition:transform .15s ease,box-shadow .15s ease}
.vd-chooser-card:hover,.vd-chooser-card:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px rgba(14,116,144,.12)}
.vd-chooser-swatch,.vd-chooser-mini{display:block;height:4.2rem;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--vd-accent,#0e7490) 55%,#fff),transparent),repeating-linear-gradient(-45deg,color-mix(in srgb,var(--vd-accent) 18%,transparent) 0 8px,transparent 8px 16px)}
.vd-chooser-use{font-size:.82rem;color:var(--muted,#475569)}.vd-chooser-avoid{font-size:.78rem;color:#be123c}
@media (prefers-reduced-motion:reduce){.vd-letter,.vd-chooser-card,.vd-scent-stage .frg-wheel{transition:none!important;transform:none!important}}


/* ---- hub polish (2026-09-17): Explore packs + destination photo cards ---- */
body.travel .tl-viz-packs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
  gap: 8px;
}
body.travel .tl-viz-pack {
  display: flex; align-items: center; gap: 8px;
  min-height: 48px; min-width: 0; padding: 10px 12px; border-radius: 12px;
  border: 1px solid #cbd5e1; background: #fff; color: #0f172a;
  font-size: .86rem; font-weight: 700; line-height: 1.3; text-decoration: none;
  text-wrap: balance; overflow-wrap: normal; word-break: keep-all;
  hyphens: none; -webkit-hyphens: none;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .05);
}
body.travel .tl-viz-pack > span:not(.tl-preview-pop):not(.tl-dot) {
  flex: 1 1 auto; min-width: 0; text-wrap: balance; overflow-wrap: break-word; word-break: normal;
}
body.travel .tl-viz-pack:hover, body.travel .tl-viz-pack.is-on {
  border-color: color-mix(in srgb, var(--accent, #0284c7) 55%, #94a3b8);
  background: #f0f9ff; text-decoration: none;
}
body.travel .trv-chip {
  display: inline-flex; align-items: center; gap: 6px; min-height: 38px;
  padding: 8px 14px; border: 1px solid #cbd5e1; background: #fff; color: #1f2937;
  font-weight: 700; overflow-wrap: normal; word-break: keep-all; hyphens: none;
  text-wrap: balance; white-space: nowrap;
}
body.travel .trv-chip.on, body.travel .trv-chip[aria-pressed="true"] {
  background: color-mix(in srgb, var(--accent, #0f766e) 12%, #fff);
  color: #0f172a; border-color: color-mix(in srgb, var(--accent, #0f766e) 55%, #cbd5e1);
  box-shadow: inset 0 -2px 0 var(--accent, #0f766e);
}
body.travel .trv-browse-count, body.travel .trv-browse-empty, body.travel .hint,
body.travel .tl-viz-hint, body.travel .tl-viz-cap { color: #334155 !important; }
body.travel .trv-card {
  display: grid; gap: 0; padding: 0; overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .1);
  border-top: 3px solid var(--card-accent, var(--accent, #0284c7));
  box-shadow: 0 2px 10px rgba(15, 23, 42, .07); background: #fff;
}
body.travel .trv-card-media {
  display: block; height: 7.6rem;
  background:
    linear-gradient(180deg, transparent 35%, rgba(15, 23, 42, .22) 100%),
    center / cover no-repeat var(--trv-photo),
    linear-gradient(135deg, color-mix(in srgb, var(--card-accent, #0284c7) 45%, #0f172a), #0c4a6e);
}
body.travel .trv-card-inner { display: grid; gap: 6px; padding: 14px 16px 16px; }
body.travel .trv-card .icon { font-size: 1.65rem; line-height: 1; }
body.travel .trv-card h3 {
  margin: 0; font-size: 1.08rem; font-weight: 780; color: #0f172a;
  text-wrap: balance; overflow-wrap: break-word; word-break: keep-all;
}
body.travel .trv-card .sub { color: #334155; }
body.travel .vd-strip-tile { min-height: 10.5rem; box-shadow: 0 4px 16px rgba(2, 132, 199, .16); }
@media (max-width: 720px) {
  body.travel .tl-viz-packs { grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); }
  body.travel .trv-chip { white-space: normal; max-width: 100%; }
  body.travel .trv-card-media { height: 6.5rem; }
}

/* P4-POLISH-2026-09-18 */
body.travel .vd-clim-cell{color:#fff;font-weight:800;text-shadow:0 1px 2px #0f172a,0 0 3px #0f172a}
body.travel .vd-strip-tile{color:#fff;text-shadow:0 1px 2px rgba(15,23,42,.85)}
body.travel .vd-climate-bars svg,body.travel .vd-photo-strip{overflow:visible}
body.travel #p3-trv-pack,body.travel #p3-trv-win,body.travel .p3-out{color:#0f172a}
body.travel .tl-viz-pack{white-space:normal!important;height:auto!important;align-items:center}
body.travel .tl-viz-pack>span:not(.tl-dot):not(.tl-preview-pop){display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal!important;line-height:1.25;text-overflow:unset!important}
body.travel .p3-tool,body.travel .p3-card,body.travel .p3-out{color:#111827}
body.travel .p3-card{background:#fff}
body.travel .p3-form label,body.travel .p3-checks label{color:#1f2937}

/* P5-POLISH-2026-09-19 */
body.travel .trv-crowd{fill:rgba(255,255,255,.9)}
body.travel .trv-crowd.is-on-light{fill:#0f172a;fill-opacity:.75}
body.travel .trv-scenario span{color:#1f2937}
body.travel .trv-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* P6-POLISH-2026-09-19 */
body.travel .trv-cell-m{font-size:8px}

/* MOBILE-390 — climate bars and calendar stay inside the viewport */
@media (max-width: 480px) {
  html:has(body.travel),
  body.travel { overflow-x: clip; }
  html body.travel .wrap,
  html body.travel main { max-width: 100%; min-width: 0; overflow-wrap: break-word; }
  html body.travel svg,
  html body.travel img { max-width: 100%; height: auto; }
  html body.travel .vd-climate-bars,
  html body.travel .trv-cal-wrap,
  html body.travel .trv-cal,
  html body.travel .trv-chart,
  html body.travel .vd-climate-bars svg {
    width: 100%; max-width: 100%; height: auto; overflow: hidden;
  }
  html body.travel .vd-clim-row { grid-template-columns: minmax(0, 1fr); }
  html body.travel .vd-clim-lab,
  html body.travel .vd-clim-track,
  html body.travel .vd-clim-cell { min-width: 0; }
  html body.travel .vd-clim-cell { font-size: .62rem; padding: 0; }
  html body.travel .grid,
  html body.travel .grid.wide,
  html body.travel .tl-explore-grid,
  html body.travel .tl-popular-row,
  html body.travel .tl-start-row,
  html body.travel .tl-related-in-row,
  html body.travel .facts,
  html body.travel .stats,
  html body.travel .tl-glance,
  html body.travel .related,
  html body.travel .trv-kpis,
  html body.travel .trv-calc-grid,
  html body.travel .vd-chooser-grid { grid-template-columns: 1fr; }
  html body.travel .trv-meter { grid-template-columns: minmax(0, 1fr) auto; }
  html body.travel .trv-meter .bar { grid-column: 1 / -1; }
  html body.travel .pills,
  html body.travel .trv-filters,
  html body.travel .tl-sec-jump-row,
  html body.travel .tl-sec-scroller ol,
  html body.travel .tl-x3-skip-row,
  html body.travel .spills,
  html body.travel .jtoc { flex-wrap: wrap; max-width: 100%; min-width: 0; }
  html body.travel .tl-sec-scroller {
    overflow: visible; mask-image: none; -webkit-mask-image: none; max-width: 100%; min-width: 0;
  }
  html body.travel .pill,
  html body.travel .trv-chip,
  html body.travel .tl-sec-jump-chip,
  html body.travel .tl-explore-chip,
  html body.travel .jtoc a,
  html body.travel [class$="-chip"] {
    white-space: normal; overflow: visible; text-overflow: unset; max-width: 100%; height: auto;
    -webkit-line-clamp: unset;
  }
  html body.travel .tl-heat-score,
  html body.travel .tl-viz-hbar { grid-template-columns: minmax(0, 1fr) minmax(4rem, 1.2fr) auto; max-width: 100%; }
  html body.travel .tl-heat-score-lab,
  html body.travel .tl-viz-hbar-lab { white-space: normal; min-width: 0; overflow-wrap: anywhere; }
}
