/* ============================================================================
   One More Day — itinerary styles
   Used by the on-screen render, the print/PDF output and the plan page.
   Namespaced under .omd-plan so it can drop into any page without collisions.
   ========================================================================= */

.omd-plan{
  --ink:#08222C; --ink-soft:#123544; --sea:#2E6A7C; --mint:#B8DBA2;
  --mint-deep:#4F7F3C; --clay:#A8503A; --sand:#F3EADC; --chalk:#FCFBF8;
  --line:rgba(8,34,44,.13); --line-soft:rgba(8,34,44,.07);
  --display:"Fraunces",Georgia,serif;
  --sans:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  background:var(--chalk); color:var(--ink); font-family:var(--sans);
  font-size:16px; line-height:1.6; max-width:760px; margin:0 auto; padding:0 22px 60px;
  -webkit-font-smoothing:antialiased;
}
.omd-plan *{box-sizing:border-box}

/* ---------- head ---------- */
.omd-plan__top{padding:44px 0 30px; border-bottom:2px solid var(--ink)}
.omd-kicker{font-size:11px; font-weight:700; letter-spacing:.17em; text-transform:uppercase;
  color:var(--sea); margin:0 0 14px}
.omd-plan h1{font-family:var(--display); font-weight:500; font-size:clamp(2rem,6vw,2.9rem);
  line-height:1.04; letter-spacing:-.02em; margin:0; text-wrap:balance}
.omd-sub{font-size:14.5px; color:var(--ink-soft); margin:12px 0 0; letter-spacing:.01em}
.omd-intro{font-family:var(--display); font-size:1.06rem; line-height:1.5; color:var(--ink-soft);
  margin:20px 0 0; max-width:60ch}

/* ---------- a day ---------- */
.omd-day{border-bottom:1px solid var(--line); padding:0 0 6px}
.omd-day__head{display:flex; flex-wrap:wrap; gap:6px 16px; align-items:baseline;
  padding:26px 0 14px}
.omd-day__n{font-family:var(--display); font-size:1.42rem; letter-spacing:-.01em}
.omd-day__d{font-size:14px; color:var(--ink-soft)}
.omd-day__sun{margin-left:auto; font-size:11.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--sea); font-variant-numeric:tabular-nums}

.omd-slot{display:grid; grid-template-columns:92px 1fr; gap:18px; padding:0 0 20px}
.omd-slot__t{font-size:10.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
  color:#6B818B; padding-top:4px}

.omd-item{margin:0 0 18px}
.omd-item:last-child{margin-bottom:0}
.omd-item__h{display:flex; flex-wrap:wrap; gap:6px 9px; align-items:baseline; margin-bottom:5px}
.omd-item__n{font-weight:600; font-size:16px; letter-spacing:-.005em}

.omd-pill{font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  padding:3px 8px; border-radius:2px; white-space:nowrap; line-height:1.4}
.omd-pill--free {background:rgba(184,219,162,.42); color:var(--mint-deep)}
.omd-pill--from {background:rgba(46,106,124,.15); color:var(--sea)}
.omd-pill--quote{background:var(--sand); color:#6B818B; border:1px solid var(--line)}
.omd-pill--book {background:rgba(168,80,58,.15); color:var(--clay)}

.omd-why{font-family:var(--display); font-size:15.5px; line-height:1.5; color:var(--ink);
  margin:0 0 6px; max-width:58ch}
.omd-note{font-size:14px; line-height:1.55; color:var(--ink-soft); margin:0 0 5px; max-width:60ch}
.omd-budget{font-size:13.5px; line-height:1.5; color:var(--sea); margin:6px 0 0; max-width:60ch;
  padding-left:13px; border-left:2px solid rgba(46,106,124,.4)}
.omd-warn{font-size:13.5px; line-height:1.5; color:var(--clay); margin:0; max-width:60ch;
  padding-left:13px; border-left:2px solid rgba(168,80,58,.35)}

/* ---------- blocks ---------- */
.omd-block{padding:30px 0 4px; border-bottom:1px solid var(--line)}
.omd-block h2{font-family:var(--display); font-weight:500; font-size:1.34rem; margin:0 0 14px;
  letter-spacing:-.01em}
.omd-block ul{margin:0 0 12px; padding-left:20px}
.omd-block li{margin:0 0 5px; font-weight:600; font-size:15.5px}
.omd-block p{font-size:14.5px; color:var(--ink-soft); margin:0; max-width:62ch}
.omd-block--book{background:rgba(168,80,58,.05); padding:26px 24px; border:1px solid rgba(168,80,58,.22);
  border-radius:2px; margin:26px 0 0}
.omd-know{margin:0 0 18px}
.omd-know h3{font-size:14.5px; font-weight:700; margin:0 0 4px}
.omd-know p{font-size:14px; line-height:1.55}

/* ---------- foot ---------- */
.omd-plan__foot{padding:30px 0 0}
.omd-plan__foot p{font-size:15px; line-height:1.6; margin:0 0 12px; max-width:62ch; color:var(--ink-soft)}
.omd-plan__foot b{color:var(--ink)}
.omd-contact{font-weight:600; color:var(--ink) !important; font-size:15.5px !important}
.omd-small{font-size:12.5px !important; color:#6B818B !important; line-height:1.5 !important}

@media (max-width:620px){
  .omd-slot{grid-template-columns:1fr; gap:6px}
  .omd-slot__t{padding-top:0}
  .omd-day__sun{margin-left:0; flex-basis:100%}
}

/* ---------- print / PDF ---------- */
@media print{
  @page{margin:16mm 14mm}
  .omd-plan{max-width:none; padding:0; background:#fff; font-size:11.5pt; line-height:1.5}
  .omd-plan h1{font-size:26pt}
  .omd-day{break-inside:avoid; page-break-inside:avoid}
  .omd-item{break-inside:avoid; page-break-inside:avoid}
  .omd-block--book{break-inside:avoid; background:#fff; border:1pt solid #A8503A}
  .omd-pill{border:.5pt solid rgba(8,34,44,.3); background:#fff !important; color:#08222C !important}
  .omd-budget{color:#08222C; border-left-color:#999}
  .omd-warn{color:#08222C; border-left-color:#999}
  .omd-plan__foot{break-inside:avoid}
  .omd-noprint{display:none !important}
}

/* ---------- route map ---------- */
.omd-plan .omd-map{
  --omd-map-sea:#EAF1F2; --omd-map-land:#F6F1E6; --omd-map-edge:#2E6A7C;
  --omd-map-hill:#B8DBA2; --omd-map-town:#08222C; --omd-map-ink:#08222C;
  --omd-map-r1:#A8503A;  --omd-map-r2:#2E6A7C;
}
.omd-map__frame{border:1px solid var(--line); border-radius:2px; overflow:hidden;
  background:var(--omd-map-sea); margin:0 0 20px}
.omd-map__svg{display:block; width:100%; height:auto}
.omd-map__lab text{font-family:var(--sans); font-size:21px; font-weight:600;
  paint-order:stroke; stroke:var(--omd-map-land); stroke-width:5px; stroke-linejoin:round}
.omd-map__lab .omd-map__mini{font-size:16px; font-weight:500; opacity:.72}
.omd-map__key p{font-size:14.5px; line-height:1.55; margin:0 0 12px; max-width:62ch;
  color:var(--ink-soft)}
.omd-map__key b{color:var(--ink)}
.omd-map__sw{display:inline-block; width:22px; height:4px; border-radius:2px;
  margin-right:9px; vertical-align:middle; transform:translateY(-2px)}
.omd-map__sw--r1{background:#A8503A}
.omd-map__sw--r2{background:#2E6A7C}
.omd-map__note{font-size:13.5px !important; color:#6B818B !important}

@media print{
  .omd-plan .omd-map{--omd-map-sea:#fff; --omd-map-land:#fff; --omd-map-edge:#333;
    --omd-map-hill:#ddd; --omd-map-town:#000; --omd-map-ink:#000;
    --omd-map-r1:#000; --omd-map-r2:#666}
  .omd-map{break-inside:avoid; page-break-inside:avoid}
  .omd-map__frame{border:1pt solid #999}
}

/* ---------- currency switcher ---------- */
.omd-cur{display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; margin:18px 0 0}
.omd-cur label{font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:#6B818B}
.omd-cur select{font:inherit; font-size:13.5px; padding:5px 8px; border-radius:2px;
  border:1px solid var(--line); background:var(--chalk); color:var(--ink)}
.omd-cur__note{flex-basis:100%; font-size:12px; line-height:1.5; color:#6B818B; max-width:60ch}
.omd-pill--approx{background:transparent; color:#6B818B; border:1px dashed var(--line);
  font-weight:600; text-transform:none; letter-spacing:0}
@media print{ .omd-pill--approx{border:.5pt dashed #999} }

/* why a thing sits on the day it sits on — the bit a first-timer could not
   have known, so it is worth saying out loud */
.omd-daynote{font-size:12.5px; line-height:1.5; margin:2px 0 0; font-weight:600;
  color:#2E6A7C}
@media print{ .omd-daynote{color:#000} }
