@charset "UTF-8";
/* ==========================================================================
   TRAVELNEST — Last minute
   Loaded after style.css and destination.css: tokens, top bar, breadcrumb,
   page hero, the "Four answers" enquiry block and the footer come from those
   two. Routes that are already built and paid for and leave within eight
   weeks. The page's whole argument is that this is NOT a sale — so nothing
   here discounts, counts down in seconds, or strikes a price through, and
   every figure is derived from one departure record: the stat strip, the
   eight-week bars, the seat dots and all four band gauges.
   --------------------------------------------------------------------------
   01. Page tokens and shared section furniture
   02. Five routes, already paid for — the departure rows
   03. Before you ask — the warning band
   04. Already done / not possible in time
   05. Responsive — 1500 / 1200 / 1100 / 1000 / 760 / 430
   --------------------------------------------------------------------------
   Authored in fixed pixels at any width (only the nav and footer scale).
   ========================================================================== */

/* ==========================================================================
   01. Page tokens and shared section furniture
   ========================================================================== */

.page-lastmin {
  --lm-panel: #17435A;
  --lm-block: #17435A;
  --lm-block-ink: #FBF6EC;
  /* the countdown block inverts between themes rather than following the
     panel: ink with cream figures on white paper, cream with near-black
     figures on dark — so it stays the heaviest thing in the row either way */
  --lm-on-accent-rgb: 255, 255, 255;
  --lm-rule-strong: rgba(255, 255, 255, 0.4);
  --lm-rule-box: rgba(255, 255, 255, 0.6);
  --lm-rule-soft: rgba(255, 255, 255, 0.28);
  --lm-photo-ink: #FFFFFF;
  --lm-week-trough: rgba(23, 67, 90, 0.14);
  --lm-on-accent-bar: 0.35;
  --lm-on-accent-rule: 0.55;
  /* the urgent-row tint is the same terracotta wash in both themes */
  --lm-hot-tint: rgba(192, 82, 27, 0.05);
}

[data-theme="dark"] .page-lastmin {
  --lm-panel: rgba(16, 16, 16, 0.72);
  --lm-block: #EDE3D3;
  --lm-block-ink: #1A1A1A;
  --lm-on-accent-rgb: 26, 26, 26;
  --lm-rule-strong: rgba(26, 26, 26, 0.35);
  --lm-rule-box: rgba(26, 26, 26, 0.45);
  --lm-rule-soft: rgba(26, 26, 26, 0.25);
  /* near-black ink on terracotta needs lighter troughs and rules than white did */
  --lm-week-trough: rgba(237, 227, 211, 0.16);
  --lm-on-accent-bar: 0.3;
  --lm-on-accent-rule: 0.45;
}

/* on dark paper the structural ink rules soften to 45% — only the side that
   softens, never the shorthand, or the 0.22 bottom rule goes with it */
[data-theme="dark"] .pstrip,
[data-theme="dark"] .railnote--top { border-top-color: rgba(var(--ink-rgb), 0.45); }

[data-theme="dark"] .lmrow { border-color: var(--ab-card-border); }
[data-theme="dark"] .lmrow--hot { border-color: var(--accent); }

/* the enquiry block is the Europe planner frozen at the 1920 reference */
.page-lastmin .planner { --u: 19.2px; }

@media (max-width: 1500px) {
  .page-lastmin .planner { --u: 1.28vw; }
}

.pstrip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 var(--gutter) 22px;
  padding: 0;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.22);
  list-style: none;
}

.pcell2 {
  flex: 1 1 180px;
  display: flex;
  align-items: baseline;
  gap: 11px;
  padding: 13px 20px;
  border-left: 1px solid rgba(var(--ink-rgb), 0.22);
}

.pcell2:first-child { padding-left: 0; border-left: 0; }
.pcell2:last-child { padding-right: 0; }

.pcell2__value {
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 28px;
  font-weight: 600;
  color: var(--accent);
}

.pcell2__label {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.55;
}

.railnote {
  display: flex;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
  margin: 30px var(--gutter) 0;
}

.railnote--top {
  padding-top: 18px;
  border-top: 2px solid var(--ink);
}

.railnote__text {
  max-width: 680px;
  font-size: 21px;
  font-weight: 500;
  opacity: 0.78;
  text-wrap: pretty;
}

.railnote__cta {
  margin-left: auto;
  background: var(--accent);
  padding: 15px 34px;
  color: var(--ab-on-accent-deep);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color 0.16s ease-out, color 0.16s ease-out;
}

.railnote__cta:hover,
.railnote__cta:focus-visible {
  background: var(--ink);
  color: var(--ab-on-accent);
}


/* ==========================================================================
   02. Five routes, already paid for — the departure rows
   ========================================================================== */

.lmdep-sec { padding: 0 0 60px; }

.lmrows {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: 0 var(--gutter);
  padding: 0;
  list-style: none;
}

.lmrow {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  border: 2px solid var(--ab-card-border);
  color: inherit;
}

.lmrow--hot {
  border: 3px solid var(--accent);
  background: var(--lm-hot-tint);
}

.lmrow:hover,
.lmrow:focus-visible { color: inherit; }

/* --- the photograph and its departure date --- */

.lmrow__fig {
  position: relative;
  flex: none;
  width: 260px;
  min-height: 190px;
  overflow: hidden;
}

.lmrow__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lmrow__scrim {
  position: absolute;
  inset: 0;
  /* measured on the real photographs: the handoff's 0.82/54% left DEPARTS at
     3.0:1 over the lit water of the Greek harbour. This holds every date and
     label at 4.6:1 or better across all five */
  background: linear-gradient(to top, rgba(10, 10, 10, 0.92) 0%, rgba(10, 10, 10, 0.5) 34%, transparent 66%);
  pointer-events: none;
}

.lmrow__when {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;
  display: flex;
  flex-direction: column;
  color: var(--lm-photo-ink);
  pointer-events: none;
}

.lmrow__departs {
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 15px;
  letter-spacing: 0.2em;
  opacity: 0.85;
}

.lmrow__date {
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.02;
}

/* --- the countdown block, the page's signature element --- */

.lmclock {
  flex: none;
  width: 190px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 20px 22px;
  background: var(--lm-block);
  color: var(--lm-block-ink);
}

.lmrow--hot .lmclock {
  background: var(--accent);
  color: var(--ab-on-accent-deep);
}

.lmclock__line {
  display: flex;
  align-items: baseline;
  gap: 7px;
}

.lmclock__days {
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 54px;
  font-weight: 600;
  line-height: 0.9;
}

.lmclock__unit {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.8;
}

.lmclock__note {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.7;
}

/* --- the middle column --- */

.lmrow__mid {
  flex: 1 1 380px;
  min-width: min(340px, 100%);
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 20px 24px;
}

.lmrow__head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

.lmrow__country {
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
}

.lmrow__route {
  font-size: 19px;
  font-weight: 500;
  opacity: 0.72;
}

.lmrow__meta {
  margin-left: auto;
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 19px;
  font-weight: 500;
  opacity: 0.55;
}

/* the eight-week bar: one segment per week, filled to the week it falls in */
.wbar {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.wbar__track {
  display: flex;
  gap: 3px;
}

.wbar__seg {
  flex: 1;
  height: 7px;
  background: var(--lm-week-trough);
}

.wbar__seg--on { background: rgba(var(--ink-rgb), 0.45); }
.lmrow--hot .wbar__seg--on { background: var(--accent); }

.wbar__label {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.45;
}

.lmwhy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 9px;
  /* the rules inside a row firm up when the row is urgent */
  border-top: 1px dashed rgba(var(--ink-rgb), 0.3);
}

.lmrow--hot .lmwhy { border-top-color: rgba(var(--ink-rgb), 0.4); }

.lmwhy__label {
  color: var(--accent);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.lmwhy__text {
  font-size: 19px;
  font-weight: 500;
  line-height: 1.35;
  opacity: 0.78;
  text-wrap: pretty;
}

/* --- seats and price --- */

.lmrow__side {
  flex: none;
  width: 250px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 9px;
  padding: 20px 24px;
  border-left: 1px solid rgba(var(--ink-rgb), 0.22);
}

.lmrow--hot .lmrow__side { border-left-color: rgba(var(--ink-rgb), 0.35); }

.seats {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dots {
  display: flex;
  gap: 4px;
}

.dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(var(--ink-rgb), 0.5);
}

.dot--free {
  background: none;
  border: 1px solid rgba(var(--ink-rgb), 0.4);
}

.lmrow--hot .dot { background: var(--accent); }
.lmrow--hot .dot--free { background: none; }

.seats__label {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.5;
}

.lmrow--hot .seats__label {
  color: var(--accent);
  opacity: 1;
}

.lmprice {
  display: flex;
  flex-direction: column;
  padding-top: 9px;
  border-top: 2px dotted rgba(var(--ink-rgb), 0.4);
}

.lmprice__value {
  color: var(--accent);
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
}

.lmprice__note {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.5;
}


/* ==========================================================================
   03. Before you ask — the warning band
   ========================================================================== */

.lmband-sec { padding: 34px var(--gutter) 46px; }

.lmband {
  background: var(--lm-panel);
  color: var(--ab-panel-ink);
}

.lmband__head {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  padding: 14px 30px;
  border-top: 4px solid var(--ab-panel-accent);
  border-bottom: 1px solid rgba(var(--ab-panel-rgb), 0.25);
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 16px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.lmband__what {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ab-panel-accent);
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
}

.lmband__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ab-panel-accent);
}

.lmband__sub { opacity: 0.6; }

.lmband__tag {
  margin-left: auto;
  border: 1px solid rgba(var(--ab-panel-rgb), 0.5);
  padding: 5px 13px;
  letter-spacing: 0.16em;
}

.lmcells {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lmcell {
  flex: 1 1 260px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 26px 28px;
  border-left: 1px solid rgba(var(--ab-panel-rgb), 0.3);
}

.lmcell:first-child { border-left: 0; }

.lmcell--hot {
  flex: 1 1 300px;
  border-left: 0;
  background: var(--accent);
  color: var(--ab-on-accent-deep);
}

.lmcell__num {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.5;
}

.lmcell__fig {
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 60px;
  font-weight: 600;
  line-height: 0.9;
  color: var(--ab-panel-accent);
}

.lmcell__label {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.lmcell__note {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.35;
  opacity: 0.72;
  text-wrap: pretty;
}

.lmcell__foot {
  margin-top: auto;
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px dashed rgba(var(--ab-panel-rgb), 0.4);
}

.lmcell__key {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.5;
}

.lmcell__val {
  margin-left: auto;
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 20px;
  font-weight: 500;
}

/* the terracotta cell carries the same furniture on its own ground */
.lmcell--hot .lmcell__num,
.lmcell--hot .lmcell__key { opacity: 0.8; }
.lmcell--hot .lmcell__fig { color: inherit; }
.lmcell--hot .lmcell__foot { border-top-color: rgba(var(--lm-on-accent-rgb), var(--lm-on-accent-rule)); }

/* three gauge shapes, one per cell, each drawn from that cell's own figure */
.gseg {
  display: flex;
  gap: 3px;
}

.gseg__seg {
  flex: 1;
  height: 8px;
  background: var(--ab-panel-accent);
}

.gseg__seg--off { background: rgba(var(--ab-panel-rgb), 0.16); }

.gsplit {
  display: flex;
  height: 8px;
}

.gsplit__now {
  width: 20%;
  background: var(--ab-panel-accent);
}

.gsplit__rest {
  width: 80%;
  background: rgba(var(--ab-panel-rgb), 0.16);
}

/* nothing is cut, so the bar stays an empty trough */
.gempty {
  display: block;
  height: 8px;
  background: rgba(var(--lm-on-accent-rgb), var(--lm-on-accent-bar));
}

.lmband__rail {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  padding: 18px 30px;
  border-top: 1px solid rgba(var(--ab-panel-rgb), 0.3);
}

.lmband__railtext {
  max-width: 700px;
  font-size: 20px;
  font-weight: 500;
  opacity: 0.85;
  text-wrap: pretty;
}

.lmband__railscript {
  color: var(--ab-panel-accent);
  font-family: "Caramel", "Segoe Script", cursive;
  font-size: 48px;
  line-height: 0.5;
  white-space: nowrap;
}

.lmband__railcta {
  margin-left: auto;
  border: 2px solid var(--ab-panel-cta);
  padding: 13px 28px;
  color: var(--ab-panel-cta);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color 0.16s ease-out, color 0.16s ease-out;
}

.lmband__railcta:hover,
.lmband__railcta:focus-visible {
  background: var(--ab-panel-cta);
  color: var(--ab-panel-cta-ink);
}


/* ==========================================================================
   04. Already done / not possible in time
   ========================================================================== */

.lmpans-sec { padding: 34px var(--gutter) 46px; }

.lmpans {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}

/* --- left: what is already paid for --- */

.donepan {
  flex: 1 1 52%;
  min-width: min(600px, 100%);
  display: flex;
  flex-direction: column;
  padding: 0 0 24px;
  background: var(--accent);
  color: var(--ab-on-accent-deep);
}

.donepan__head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 15px 30px 13px;
  border-bottom: 1px solid var(--lm-rule-strong);
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 16px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.donepan__what {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
}

.donepan__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ab-on-accent-deep);
}

.donepan__sub { opacity: 0.8; }

.donepan__tag {
  margin-left: auto;
  border: 1px solid var(--lm-rule-box);
  padding: 4px 11px;
  letter-spacing: 0.16em;
}

.donepan__big {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
  padding: 24px 30px 0;
}

.donepan__fig {
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 80px;
  font-weight: 600;
  line-height: 0.88;
}

.donepan__lead {
  max-width: 330px;
  font-size: 20px;
  font-weight: 500;
  opacity: 0.92;
  text-wrap: pretty;
}

.notice {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 18px 30px 0;
  border-top: 1px solid var(--lm-rule-strong);
  border-bottom: 1px solid var(--lm-rule-strong);
}

.notice__cell {
  flex: 1 1 130px;
  display: flex;
  flex-direction: column;
  padding: 11px 16px;
  border-left: 1px solid var(--lm-rule-strong);
}

.notice__cell:first-child { padding-left: 0; border-left: 0; }
.notice__cell:last-child { padding-right: 0; }

.notice__value {
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 26px;
  font-weight: 600;
}

.notice__label {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.8;
}

.donerows {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 0 30px;
  margin: 6px 30px 0;
  padding: 0;
  list-style: none;
}

.donerow {
  display: flex;
  align-items: baseline;
  gap: 11px;
  padding: 11px 0;
  border-bottom: 1px solid var(--lm-rule-soft);
}

.donerow:last-child { border-bottom: 0; }

.donerow__mark {
  flex: none;
  font-size: 18px;
  font-weight: 700;
}

.donerow__body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.donerow__line {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.15;
}

.donerow__sub {
  font-size: 17px;
  font-weight: 500;
  opacity: 0.78;
}

.donerow__state {
  margin-left: auto;
  flex: none;
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.85;
}

.donepan__foot {
  margin: auto 30px 0;
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 16px;
}

.donepan__why {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.85;
}

.donepan__because {
  font-size: 20px;
  font-weight: 500;
  opacity: 0.95;
}

/* --- right: what cannot be done in time --- */

.nopan {
  flex: 1 1 44%;
  min-width: min(520px, 100%);
  display: flex;
  flex-direction: column;
  padding: 0 0 24px;
  background: var(--lm-panel);
  color: var(--ab-panel-ink);
}

.nopan__head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 15px 30px 13px;
  border-bottom: 1px solid rgba(var(--ab-panel-rgb), 0.3);
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 16px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.nopan__what {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ab-panel-accent);
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
}

.nopan__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--ab-panel-accent);
}

.nopan__sub {
  margin-left: auto;
  opacity: 0.6;
}

.nopan__display {
  display: flex;
  align-items: flex-end;
  gap: 18px;
  flex-wrap: wrap;
  padding: 24px 30px 0;
}

.nopan__title {
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 62px;
  font-weight: 600;
  line-height: 0.92;
  -webkit-text-stroke: 2px var(--ab-panel-ink);
}

.nopan__script {
  padding-bottom: 12px;
  color: var(--ab-panel-accent);
  font-family: "Caramel", "Segoe Script", cursive;
  font-size: 50px;
  line-height: 0.5;
  white-space: nowrap;
  transform: rotate(-6deg);
  transform-origin: left bottom;
}

.nolist {
  display: flex;
  flex-direction: column;
  margin: 16px 30px 0;
  padding: 0;
  list-style: none;
}

.noitem {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(var(--ab-panel-rgb), 0.28);
}

.noitem:last-child { border-bottom: 0; }

.noitem__head {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.noitem__dash {
  flex: none;
  font-size: 18px;
  opacity: 0.4;
}

.noitem__name {
  font-size: 21px;
  font-weight: 600;
}

.noitem__dur {
  margin-left: auto;
  color: var(--ab-panel-accent);
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 21px;
  font-weight: 500;
  white-space: nowrap;
}

/* six segments showing how long the blocked item really needs */
.dbar {
  display: flex;
  gap: 3px;
  padding-left: 30px;
}

.dbar__seg {
  flex: 1;
  height: 6px;
  background: var(--ab-panel-accent);
}

.dbar__seg--off { background: rgba(var(--ab-panel-rgb), 0.16); }

.noitem__why {
  padding-left: 30px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.3;
  opacity: 0.7;
  text-wrap: pretty;
}

.nopan__foot {
  margin: auto 30px 0;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding-top: 16px;
  border-top: 2px dashed rgba(var(--ab-panel-rgb), 0.45);
}

.nopan__claim {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.nopan__pct {
  color: var(--ab-panel-accent);
  font-family: "Oswald", "Helvetica Neue", sans-serif;
  font-size: 34px;
  font-weight: 600;
}

.nopan__back {
  max-width: 300px;
  font-size: 19px;
  font-weight: 500;
  opacity: 0.85;
  text-wrap: pretty;
}

.nopan__cta {
  margin-left: auto;
  border: 2px solid var(--ab-panel-cta);
  padding: 12px 24px;
  color: var(--ab-panel-cta);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color 0.16s ease-out, color 0.16s ease-out;
}

.nopan__cta:hover,
.nopan__cta:focus-visible {
  background: var(--ab-panel-cta);
  color: var(--ab-panel-cta-ink);
}


/* ==========================================================================
   05. Responsive — 1500 / 1200 / 1100 / 1000 / 760 / 430
   ========================================================================== */

@media (max-width: 1500px) {
  .lmrow__side { width: 220px; }
  .donepan,
  .nopan { flex: 1 1 100%; min-width: 0; }
}

@media (max-width: 1200px) {
  .lmcell { flex: 1 1 240px; padding: 20px 22px; }
  .lmcell--hot { flex: 1 1 280px; }
  .lmrow__mid { flex: 1 1 100%; min-width: 0; }
  .lmrow__side {
    width: auto;
    flex: 1 1 100%;
    border-left: 0;
    border-top: 1px solid rgba(var(--ink-rgb), 0.35);
  }
}

@media (max-width: 1000px) {
  .lmdep-sec { padding-bottom: 40px; }
  .lmband-sec,
  .lmpans-sec { padding: 24px var(--gutter) 32px; }

  .pcell2 { flex: 1 1 150px; padding: 10px 14px; }
  .pcell2__label { font-size: 14px; }

  .lmband__head,
  .donepan__head,
  .nopan__head { gap: 12px; padding: 12px 20px; font-size: 14px; }

  .lmband__tag { margin-left: 0; }
  .lmband__rail { gap: 14px; padding: 14px 20px; }
  .lmband__railtext { font-size: 18px; max-width: none; }
  .lmband__railcta { margin-left: 0; padding: 12px 22px; font-size: 15px; }

  .railnote { gap: 14px; }
  .railnote__text { font-size: 18px; max-width: none; }
  .railnote__cta { margin-left: 0; padding: 13px 24px; font-size: 16px; }

  .donepan__big,
  .nopan__display { padding: 18px 20px 0; }

  .donepan__fig { font-size: 62px; }
  .donepan__lead { max-width: none; }
  .notice { margin: 14px 20px 0; }
  .donerows { margin: 6px 20px 0; }
  .donepan__foot,
  .nopan__foot { margin-left: 20px; margin-right: 20px; }
  .nolist { margin: 12px 20px 0; }
  .nopan__title { font-size: 48px; }
  .nopan__script { font-size: 42px; }
  .nopan__back { max-width: none; }
  .nopan__cta { margin-left: 0; }
}

@media (max-width: 760px) {
  /* stacked cells are divided top to bottom, never by a stray left rule */
  .pstrip { display: block; }

  .pcell2 {
    padding: 10px 0;
    border-left: 0;
    border-top: 1px solid rgba(var(--ink-rgb), 0.22);
  }

  .pcell2:first-child { border-top: 0; }

  .lmcell,
  .lmcell--hot {
    flex: 1 1 100%;
    border-left: 0;
    border-top: 1px solid rgba(var(--ab-panel-rgb), 0.3);
  }

  .lmcell:first-child,
  .lmcell--hot { border-top: 0; }

  /* the row becomes a stack: photograph, countdown, the rest */
  .lmrow__fig { flex: 1 1 100%; width: auto; }
  .lmclock { flex: 1 1 100%; width: auto; }

  .notice__cell {
    flex: 1 1 100%;
    padding: 10px 0;
    border-left: 0;
    border-top: 1px solid var(--lm-rule-strong);
  }

  .notice__cell:first-child { border-top: 0; }

  .donerows { grid-template-columns: minmax(0, 1fr); }
  .donerow:last-child { border-bottom: 1px solid var(--lm-rule-soft); }
}

@media (max-width: 430px) {
  .lmband__railscript { font-size: 38px; }
  .lmcell__fig { font-size: 46px; }
  .lmcell__label { font-size: 17px; }
  .lmclock__days { font-size: 44px; }
  .lmrow__country { font-size: 26px; }
  .lmrow__meta { margin-left: 0; }
  .lmprice__value { font-size: 28px; }
  .donepan__fig { font-size: 48px; }
  .nopan__title { font-size: clamp(30px, 9vw, 40px); }
  .nopan__script { font-size: clamp(30px, 9vw, 38px); }
  .noitem__dur { margin-left: 0; }
  .noitem__head { flex-wrap: wrap; gap: 4px 12px; }
  .donerow__state { margin-left: 0; }
  .donerow { flex-wrap: wrap; gap: 4px 11px; }
}
