#btcalc-mount{position:relative;}

/* ============================================================
   BoatTalent delivery calculator — "Know the run" reskin
   Dark hero panel + white wizard card. Normal 16px root type.
   Backslash-free by policy (Brilliant Directories strips them).
   ============================================================ */

html, body { overflow-x: clip; }

.btcalc {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: #1a365d;
}

/* ---------------- page title ---------------- */
.btcalc .page-title {
  text-align: center; color: #1a365d; font-weight: 800;
  font-size: 3rem; letter-spacing: -0.01em; line-height: 1.08;
  padding: 1.75rem 1rem 0.75rem; margin: 0;
}
/* hide the theme's own H1 page title (top-left) — calculator has its own title */
h1:not([class]) { display: none; }

/* ---------------- top banner ---------------- */
.btcalc .hero-bleed {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background:
    radial-gradient(75rem 37.5rem at 50% 0%, rgba(45, 212, 191, 0.09), rgba(0, 0, 0, 0) 60%),
    linear-gradient(180deg, #0e2334 0%, #081421 100%);
}
.btcalc .hero-top {
  max-width: 70rem;
  margin: 0 auto;
  padding: 1.5rem 2.5rem;
  text-align: center;
}
.btcalc .eyebrow {
  display: flex; align-items: center; justify-content: center; gap: 0.94rem;
  color: #5eead4; font-size: 14px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  margin: 0 0 1.56rem;
}
.btcalc .erule { display: inline-block; width: 2.81rem; height: 2px; background: #5eead4; }
.btcalc .hero-h {
  font-family: Georgia, "Times New Roman", serif;
  color: #ffffff; font-weight: 700;
  font-size: 3rem; line-height: 1.08; letter-spacing: -0.01em;
  margin: 0 0 1.56rem;
}
.btcalc .hero-sub {
  color: rgba(255, 255, 255, 0.82);
  font-size: 1rem; line-height: 1.6;
  margin: 0 auto 2.19rem; max-width: 45rem;
}
.btcalc .hero-checks {
  list-style: none; margin: 0; padding: 0;
  display: flex; justify-content: center; gap: 2.5rem; flex-wrap: wrap;
}
.btcalc .hero-checks li {
  color: #fff; font-size: 1rem; font-weight: 600;
  margin: 0; padding-left: 2.19rem; position: relative; text-align: left;
}
.btcalc .hero-checks li::before {
  content: "✓"; position: absolute; left: 0; color: #5eead4; font-weight: 800;
}

/* ---------------- full-width calculator card ---------------- */
.btcalc .calc-wrap {
  max-width: 95rem;
  margin: 0 auto;
  padding: 0 2.5rem 5rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 2.5rem;
  align-items: start;
}

/* ---------------- ad rail: 4 square slots, right column ---------------- */
.btcalc .ad-rail {
  display: flex; flex-direction: column; gap: 1.5rem;
}
.btcalc .ad-slot {
  width: 300px; height: 250px; flex: none;
  border-radius: 0.75rem; overflow: hidden; background: #f1f5f9;
}
.btcalc .ad-slot > a { display: block; width: 300px; height: 250px; text-decoration: none; }
.btcalc .ad-slot img { width: 300px; height: 250px; display: block; border: 0; }
.btcalc .fake-ad {
  display: flex !important; flex-direction: column;
  align-items: center; justify-content: center; gap: 0.6rem;
  padding: 1.5rem; text-align: center; color: #fff;
}
.btcalc .fake-ad-1 { background: linear-gradient(135deg, #0c4a6e 0%, #0284c7 100%); }
.btcalc .fake-ad-2 { background: linear-gradient(135deg, #1a365d 0%, #0d9488 100%); }
.btcalc .fake-ad-3 { background: linear-gradient(135deg, #334155 0%, #64748b 100%); }
.btcalc .fake-brand {
  font-size: 14px; letter-spacing: 0.18em; text-transform: uppercase;
  font-weight: 700; opacity: 0.85;
}
.btcalc .fake-head { font-size: 1.5rem; font-weight: 800; line-height: 1.2; }
.btcalc .fake-sub { font-size: 14px; opacity: 0.9; line-height: 1.4; }
.btcalc .fake-cta {
  margin-top: 0.4rem; background: #fff; color: #0c4a6e;
  font-weight: 700; font-size: 1rem;
  padding: 0.5rem 1.4rem; border-radius: 999px;
}
.btcalc .fake-ad-2 .fake-cta { color: #1a365d; }
.btcalc .fake-ad-3 .fake-cta { color: #334155; }
.btcalc .fake-ad { box-sizing: border-box; }
.btcalc .fake-ad-ytw { background: linear-gradient(135deg, #1e3a5f 0%, #2b6cb0 100%); }
.btcalc .fake-ad-gmg { background: linear-gradient(135deg, #1e5b3a 0%, #2f855a 100%); }
.btcalc .fake-ad-ytw .fake-cta { color: #1e3a5f; }
.btcalc .fake-ad-gmg .fake-cta { color: #1e5b3a; }
.btcalc .fake-ad-ytw .fake-brand { letter-spacing: 0.08em; }
.btcalc .fake-ad-gmg .fake-brand { letter-spacing: 0.08em; }

/* YesTodayWeather live strip over the real 300×250 creative */
.btcalc .ad-slot-ytw { position: relative; }
.btcalc .ad-slot-ytw .ytw-live {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 2;
  margin: 0;
  padding: 0.45rem 0.65rem;
  background: rgba(15, 23, 42, 0.82);
  color: #f8fafc;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  letter-spacing: 0.01em;
  pointer-events: none;
  display: block;
}


/* ---------------- wizard card ---------------- */
.btcalc .hero-card {
  background: #ffffff; border-radius: 1.56rem;
  padding: 2.19rem; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}
.btcalc .btprogress { font-weight: 700; font-size: 1rem; color: #087a81; margin: 0 0 0.62rem; }
.btcalc .dots { margin: 0 0 1.56rem; }
.btcalc .dot {
  display: inline-block; width: 0.88rem; height: 0.88rem;
  border-radius: 50%; background: #cbd5e1; margin-right: 0.62rem;
}
.btcalc .dot.on { background: #087a81; }
.btcalc .bstep h2 { font-size: 1.5rem; color: #1a365d; font-weight: 800; margin: 0 0 1.38rem; }
.btcalc .bstep h3 { font-size: 1.25rem; color: #1a365d; font-weight: 800; margin: 1.56rem 0 0.94rem; }

/* inner bordered sections (results, live summary) */
.btcalc .card {
  border: 1.5px solid #e2e8f0; border-radius: 1.12rem;
  padding: 1.56rem; margin: 0 0 1.25rem; background: #fff;
}
.btcalc .total-card { text-align: center; background: #f0fdfa; border-color: #99f6e4; }
.btcalc .total-card .flabel { font-size: 1rem; }

/* ---------------- fields ---------------- */
.btcalc .field { margin: 0 0 1.31rem; position: relative; }
.btcalc .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.12rem; }
.btcalc .field-row .field { margin-bottom: 0; }
.btcalc .field label, .btcalc .flabel {
  display: block; font-weight: 700; font-size: 1rem;
  color: #1a365d; margin: 0 0 0.5rem;
}
.btcalc .field label small { font-weight: 400; color: #64748b; }
.btcalc .field input[type=text],
.btcalc .field input[type=number],
.btcalc .field input[type=date],
.btcalc .field input[type=email],
.btcalc .field input[type=tel],
.btcalc .field input:not([type]),
.btcalc .field select {
  width: 100%; box-sizing: border-box;
  font-size: 1rem; color: #1a365d;
  border: 1.5px solid #cbd5e1; border-radius: 0.75rem;
  padding: 1rem 1.19rem; background: #fff;
}
.btcalc .field input:focus, .btcalc .field select:focus {
  outline: 2px solid #087a81; border-color: #087a81;
}
.btcalc .hint { font-size: 14px; color: #64748b; margin: 0.44rem 0 0; line-height: 1.5; }
.btcalc .error { color: #b91c1c; font-size: 1rem; font-weight: 700; }

/* A/B location pins (outside the field box, left of the input) */
.btcalc .loc-row { display: flex; align-items: center; gap: 0.75rem; }
.btcalc .loc-row .loc-wrap { flex: 1; min-width: 0; position: relative; }
.btcalc .pin {
  position: static; transform: none; flex: none;
  width: 2.12rem; height: 2.12rem; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; font-weight: 800; pointer-events: none;
}
.btcalc .pin-a { background: #fff; border: 2px solid #087a81; color: #087a81; }
.btcalc .pin-b { background: #087a81; border: 2px solid #087a81; color: #fff; }
.btcalc .loc-connector { width: 2px; height: 1.12rem; background: #cbd5e1; margin: 0.19rem 0 0.19rem 1rem; }

/* autocomplete */
.btcalc .ac-list {
  list-style: none; margin: 0.31rem 0 0 0; padding: 0;
  border: 1px solid #cbd5e1; border-radius: 0.47rem; background: #fff;
  display: none; position: absolute; left: 0; right: 0; z-index: 50;
  max-height: 15rem; overflow-y: auto;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}
.btcalc .ac-item { padding: 0.62rem 0.94rem; font-size: 1rem; cursor: pointer; }
.btcalc .ac-item.ac-hi { background: #e6f4f4; }

/* route type cards + canal checkbox */
.btcalc .routegrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.88rem; }
.btcalc .radio, .btcalc .check {
  display: flex; gap: 0.69rem; align-items: flex-start;
  font-weight: 700; font-size: 1rem; color: #1a365d;
  border: 1.5px solid #e2e8f0; border-radius: 0.88rem;
  padding: 1rem; margin: 0; cursor: pointer; background: #fff;
}
.btcalc .check { margin: 0 0 1.25rem; }
.btcalc .radio input, .btcalc .check input {
  position: static; /* Bootstrap sets .radio input absolute; keep it in flow */
  flex: 0 0 auto;
  width: 1.38rem; height: 1.38rem; margin: 0.15em 0 0 0;
  accent-color: #087a81;
}
.btcalc .radio span, .btcalc .check span { display: block; }
.btcalc .radio small, .btcalc .check small {
  display: block; font-weight: 400; color: #64748b;
  font-size: 14px; margin-top: 0.25rem; line-height: 1.45;
}
.btcalc .radio:has(input:checked), .btcalc .check:has(input:checked) {
  border-color: #087a81; background: #f0fdfa;
}

/* money inputs */
.btcalc .money-wrap { position: relative; }
.btcalc .money-sign {
  position: absolute; left: 1.19rem; top: 50%; transform: translateY(-50%);
  color: #64748b; pointer-events: none; font-size: 1.25rem;
}
.btcalc .money-wrap input.money { padding-left: 2.5rem; }

/* ---------------- buttons / nav ---------------- */
.btcalc .nav { display: flex; gap: 0.94rem; margin-top: 1.56rem; }
.btcalc .nav .btn-primary { margin-left: auto; }
.btcalc .btn-primary {
  display: inline-block; border: none; cursor: pointer;
  background: #087a81; color: #fff; font-weight: 700; font-size: 1rem;
  padding: 1.06rem 2rem; border-radius: 0.81rem;
  text-decoration: none; text-align: center;
}
.btcalc .btn-primary:hover { background: #066b71; color: #fff; }
.btcalc .btn-secondary {
  display: inline-block; cursor: pointer;
  background: #fff; color: #1a365d; font-weight: 700; font-size: 1rem;
  border: 1.5px solid #cbd5e1; padding: 1.06rem 1.75rem; border-radius: 0.81rem;
  text-decoration: none; text-align: center;
}
.btcalc .btn-secondary:hover { border-color: #087a81; color: #087a81; }

/* ---------------- canal warning and tips (Step 2, summary, results) ---------------- */
.btcalc .canal-warn { margin: 0 0 1.25rem; }
.btcalc .cw-item {
  display: flex; gap: 0.75rem; align-items: flex-start;
  padding: 0.9rem 1rem; margin: 0 0 0.6rem;
  border: 1.5px solid #99f6e4; border-radius: 0.75rem; background: #f0fdfa;
}
.btcalc .cw-item.cw-must { border-color: #fdba74; background: #fff7ed; }
.btcalc .cw-icon {
  flex: none; width: 1.7rem; height: 1.7rem; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 1rem; color: #fff; background: #0d9488;
}
.btcalc .cw-must .cw-icon { background: #ea580c; }
.btcalc .cw-body { flex: 1; min-width: 0; }
.btcalc .cw-head { margin: 0 0 0.25rem; font-weight: 700; color: #1a365d; font-size: 1rem; }
.btcalc .cw-text { margin: 0 0 0.65rem; color: #334155; font-size: 0.95rem; line-height: 1.45; }
.btcalc .cw-add {
  display: inline-block; min-height: 44px; padding: 0.5rem 1.1rem;
  border: 1.5px solid #0d9488; border-radius: 999px; background: #fff;
  color: #0f766e; font-weight: 700; font-size: 0.95rem; cursor: pointer;
}
.btcalc .cw-add:hover { background: #ccfbf1; }
.btcalc .cw-must .cw-add { background: #ea580c; border-color: #ea580c; color: #fff; }
.btcalc .cw-must .cw-add:hover { background: #c2410c; border-color: #c2410c; }
.btcalc .cw-short {
  margin: 0 0 0.6rem; padding: 0.55rem 0.8rem; border-radius: 0.5rem;
  font-size: 0.95rem; line-height: 1.4;
  border-left: 4px solid #0d9488; background: #f0fdfa; color: #115e59;
}
.btcalc .cw-short.cw-short-must { border-left-color: #ea580c; background: #fff7ed; color: #9a3412; font-weight: 600; }
.btcalc .cw-res { margin: 0.6rem 0 0; }
@media (max-width: 600px) {
  .btcalc .cw-item { padding: 0.8rem; }
  .btcalc .cw-add { width: 100%; }
}

/* ---------------- editable dockage in the cost breakdown (NEW9) ---------------- */
.btcalc .cost-edit {
  width: 4.6rem; min-height: 36px; padding: 0.2rem 0.4rem; margin: 0 0.15rem;
  border: 1.5px solid #cbd5e1; border-radius: 0.4rem; font: inherit; font-weight: 700;
  color: #1a365d; background: #fff; text-align: right;
}
.btcalc .cost-edit:focus { outline: none; border-color: #0d9488; box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15); }
.btcalc .cost-note { margin: -0.15rem 0 0.6rem; font-size: 0.9rem; color: #64748b; line-height: 1.4; }
.btcalc .dock-note { margin-top: -0.4rem; }
@media (max-width: 600px) {
  .btcalc .cost-edit { width: 3.8rem; }
}

/* ---------------- delivery schedule + marine weather ---------------- */
.btcalc .sched-card { border-color: #99f6e4; background: #f8fefc; }
.btcalc .sched-grid { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 1.25rem; margin: 0 0 0.75rem; }
.btcalc .sched-grid .k {
  font-size: 14px; color: #64748b; text-transform: uppercase;
  letter-spacing: 0.06em; font-weight: 700; margin-bottom: 0.25rem;
}
.btcalc .sched-grid .v { font-size: 1.25rem; font-weight: 800; color: #1a365d; }
.btcalc .wx-box {
  background: #f0f9ff; border: 1.5px solid #bae6fd;
  border-radius: 0.9rem; padding: 1.1rem 1.4rem; margin-top: 1rem;
}
.btcalc .wx-title { font-weight: 800; font-size: 1.25rem; color: #1a365d; margin-bottom: 0.3rem; }
.btcalc .wx-line { font-size: 1rem; font-weight: 700; color: #0c4a6e; }
.btcalc .wx-alert { color: #b91c1c; font-weight: 700; font-size: 1rem; margin-top: 0.4rem; }

/* ---------------- results ---------------- */
.btcalc .route-line { font-size: 1.25rem; color: #1a365d; margin: 0 0 1.25rem; }
.btcalc .pill {
  display: inline-block; background: #e0f2f1; color: #0f766e;
  font-size: 1rem; font-weight: 700;
  padding: 0.31rem 0.94rem; border-radius: 999px;
}
.btcalc .pill.live { background: #fef3c7; color: #92400e; }
.btcalc .total-big {
  font-size: 3rem; font-weight: 800; color: #1a365d;
  line-height: 1.1; margin: 0.31rem 0;
}
.btcalc .conf { font-size: 14px; color: #64748b; }
.btcalc .ref-link { text-align: center; font-size: 14px; color: #64748b; margin: 1.5rem 0 0.5rem; }
.btcalc .ref-link a { color: #087a81; font-weight: 700; }
.btcalc .field-note { font-size: 14px; color: #64748b; margin-top: 0.25rem; }
.btcalc .cost-row {
  display: flex; justify-content: space-between; gap: 1.25rem;
  padding: 0.69rem 0; border-bottom: 1px solid #f1f5f9; font-size: 1rem;
}
.btcalc .cost-row .val { font-weight: 700; text-align: right; }
.btcalc .cost-row.grand {
  border-bottom: none; font-size: 1.25rem; font-weight: 800; color: #1a365d;
}
.btcalc .stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.94rem; }
.btcalc .stat { background: #f8fafc; border-radius: 0.75rem; padding: 0.88rem 1.12rem; }
.btcalc .stat .k {
  font-size: 14px; color: #64748b; text-transform: uppercase;
  letter-spacing: 0.06em; font-weight: 700;
}
.btcalc .stat .v { font-size: 1.25rem; font-weight: 700; color: #1a365d; }
.btcalc .dist-edit {
  width: 7rem; font-size: 1.25rem; font-weight: 700; color: #1a365d;
  border: 1.5px solid #cbd5e1; border-radius: 0.5rem;
  padding: 0.25rem 0.5rem; text-align: right; background: #fff;
}
.btcalc .dist-edit:focus { outline: 2px solid #087a81; border-color: #087a81; }
.btcalc .people-line { font-size: 1rem; color: #475569; }
.btcalc .cap-btns { display: flex; gap: 0.94rem; flex-wrap: wrap; }
.btcalc .nowrap { white-space: nowrap; }

/* ---------------- Step 4 identity card + PDF button ---------------- */
.btcalc .idgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.88rem; margin: 0 0 1.31rem; }
.btcalc .idgrid .radio { align-items: center; margin: 0; }
.btcalc .idgrid .radio input { margin: 0; }
.btcalc .id-ins { margin: 1.12rem 0 0; }
.btcalc .id-ins .check { margin: 0; font-weight: 600; align-items: flex-start; }
.btcalc #captain-box .field-row + .field-row,
.btcalc #owner-box .field-row + .field-row { margin-top: 1.12rem; }
.btcalc .field input::placeholder { color: #94a3b8; }
.btcalc .pdf-row { margin: 0 0 1.25rem; }
.btcalc .pdf-row .btn-primary { width: 100%; }
.btcalc .stat-note { font-size: 14px; color: #64748b; font-weight: 400; margin-top: 0.25rem; }
.btcalc .sr-only-bt {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.btcalc .stat { position: relative; }

/* ---------------- print ---------------- */
@media print {
  .btcalc .no-print { display: none !important; }
  .header, .footer { display: none !important; }
  .btcalc .hero-bleed { display: none !important; }
  .btcalc .calc-wrap { padding: 0; max-width: 100%; }
  .btcalc .hero-card { box-shadow: none; padding: 0; }
  a[href]:after, abbr[title]:after { content: none !important; }
  body { background: #ffffff; }
  .btcalc .card { break-inside: avoid; box-shadow: none; }
}

/* ---------------- phone ---------------- */
@media (max-width: 900px) {
  .btcalc .page-title { font-size: 2rem; }
  .btcalc .hero-top { padding: 1.5rem 1.56rem; }
  .btcalc .hero-h { font-size: 2rem; }
  .btcalc .hero-checks { flex-direction: column; gap: 0.75rem; align-items: center; }
  .btcalc .calc-wrap { padding: 0 1.25rem 3.12rem; }
  .btcalc .hero-card { padding: 1.56rem; }
  .btcalc .routegrid { grid-template-columns: 1fr; }
  .btcalc .field-row { grid-template-columns: 1fr; }
  .btcalc .stat-grid { grid-template-columns: 1fr; }
  .btcalc .idgrid { grid-template-columns: 1fr; }
  .btcalc .sched-grid { grid-template-columns: 1fr; gap: 0.94rem; }
  .btcalc .calc-wrap { grid-template-columns: 1fr; padding: 0 1.25rem 3.12rem; }
  .btcalc .ad-rail { align-items: center; }
  .btcalc .ad-slot, .btcalc .ad-slot > a { max-width: 100%; }
  .btcalc .nav { flex-direction: column; }
  .btcalc .nav .btn-primary { margin-left: 0; }
  .btcalc .total-big { font-size: 2.5rem; }
}




/* Fix date input overflowing on phones */
@media (max-width: 640px) {
  #depart-date { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; min-width: 0 !important; }
  .btcalc input { max-width: 100%; box-sizing: border-box; }
}
@media (max-width: 480px) { #depart-date { max-width: 100% !important; box-sizing: border-box !important; width: 100% !important; } }
/* ---------------- via stops (Step 2) and per-leg list (results) ---------------- */
.btcalc .via-add-row { margin: 0 0 0 2.87rem; }
.btcalc .btn-addvia {
  cursor: pointer; font-family: inherit; font-size: 0.94rem; font-weight: 700;
  color: #087a81; background: #fff; border: 1.5px dashed #94a3b8;
  border-radius: 0.75rem; padding: 0.62rem 1rem;
}
.btcalc .btn-addvia:hover { border-color: #087a81; background: #f0fafa; }
.btcalc .via-field { margin-bottom: 0; }
.btcalc .pin-v { background: #f8fafc; border: 2px solid #94a3b8; color: #475569; font-size: 0.88rem; }
.btcalc .via-btns { display: flex; gap: 0.31rem; flex: none; }
.btcalc .via-btn {
  width: 2.5rem; height: 2.5rem; padding: 0; cursor: pointer; font-family: inherit;
  font-size: 1.12rem; line-height: 1; color: #475569; background: #fff;
  border: 1.5px solid #cbd5e1; border-radius: 0.62rem;
}
.btcalc .via-btn:hover { border-color: #087a81; color: #087a81; }
.btcalc .via-btn:disabled { opacity: 0.35; cursor: default; border-color: #cbd5e1; color: #475569; }
.btcalc .via-x:hover { border-color: #b91c1c; color: #b91c1c; }
.btcalc .legs-list { margin-top: 0.94rem; }
.btcalc .legs-list .leg {
  display: flex; justify-content: space-between; gap: 0.75rem;
  padding: 0.5rem 0; border-top: 1px solid #e2e8f0; font-size: 0.94rem; color: #1a365d;
}
.btcalc .legs-list .leg b { white-space: nowrap; }
.btcalc .sum-route { margin: 0 0 0.62rem; }
@media (max-width: 480px) {
  .btcalc .loc-row { gap: 0.5rem; }
  .btcalc .via-btns { gap: 0.19rem; }
  .btcalc .via-btn { width: 2.12rem; height: 2.12rem; font-size: 1rem; }
  .btcalc .via-add-row { margin-left: 0; }
}

/* ---------------- trip strip: distance + hours underway, every step (NEW16) ---------------- */
.btcalc .trip-strip {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.75rem;
  background: #f0fdfa; border: 1.5px solid #99f6e4; border-radius: 0.75rem;
  padding: 0.62rem 0.94rem; margin: -0.62rem 0 1.25rem;
  color: #1a365d; font-size: 1rem; line-height: 1.4;
}
.btcalc .trip-strip b { font-weight: 800; color: #1a365d; }
.btcalc .trip-strip .ts-item { white-space: nowrap; }
.btcalc .trip-strip .ts-sub { color: #64748b; font-weight: 400; }
.btcalc .trip-strip .ts-sep { color: #087a81; font-weight: 800; }
.btcalc #motor-pct[readonly] { background: #f1f5f9; color: #475569; cursor: not-allowed; }
@media (max-width: 480px) {
  .btcalc .trip-strip { font-size: 0.94rem; padding: 0.56rem 0.75rem; }
  .btcalc .trip-strip .ts-sep { display: none; }
  .btcalc .trip-strip .ts-item { flex: 1 1 100%; }
}

/* ---------------- reference sheets with email gate (NEW17) ---------------- */
.btcalc .ref-sheets { max-width: 760px; margin: 1.5rem auto 0.5rem; box-sizing: border-box; }
.btcalc .ref-sheets .ref-h { font-size: 1.15rem; color: #1a365d; font-weight: 800; margin: 0 0 0.25rem; }
.btcalc .ref-sheets .ref-sub { margin: 0 0 0.9rem; }
.btcalc .ref-list { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.5rem; }
.btcalc .ref-list li { margin: 0; padding: 0; }
.btcalc .ref-item {
  display: flex; align-items: center; justify-content: space-between; gap: 0.75rem;
  width: 100%; box-sizing: border-box; padding: 0.75rem 0.94rem;
  border: 1.5px solid #e2e8f0; border-radius: 0.75rem; background: #f8fafc;
  color: #64748b; font: inherit; font-size: 1rem; font-weight: 700; text-align: left;
  text-decoration: none; cursor: pointer;
}
.btcalc a.ref-item { border-color: #99f6e4; background: #f0fdfa; color: #087a81; }
.btcalc a.ref-item:hover { border-color: #087a81; color: #087a81; }
.btcalc .ref-tag {
  flex: 0 0 auto; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase;
  padding: 0.2rem 0.6rem; border-radius: 999px; background: #e2e8f0; color: #475569; white-space: nowrap;
}
.btcalc a.ref-item .ref-tag { background: #087a81; color: #fff; }
.btcalc .ref-form { display: flex; gap: 0.62rem; align-items: stretch; flex-wrap: wrap; margin: 0; }
.btcalc .ref-form .ref-field { flex: 1 1 240px; margin: 0; min-width: 0; }
.btcalc .ref-form .ref-go { flex: 0 0 auto; }
.btcalc .ref-err { margin: 0.6rem 0 0; font-size: 0.95rem; }
@media (max-width: 480px) {
  .btcalc .ref-sheets { padding: 1.1rem; }
  .btcalc .ref-form .ref-go { width: 100%; }
}

/* NEW18: Step 1 "Boat & fuel" layout */
.btcalc #step-1 .field-row + .field-row,
.btcalc #step-1 .gph-note + .field-row { margin-top: 1.12rem; }
.btcalc #step-1 .gph-note { margin-top: 0.5rem; line-height: 1.5; }
.btcalc #step-1 .gph-note a { white-space: nowrap; }
.btcalc #step-1 .fuel-rule { margin-top: 1rem; }
.btcalc #step-1 select optgroup { font-style: normal; font-weight: 700; }
.btcalc .fuel-echo { margin-top: 0.4rem; color: #334155; }

/* NEW19: weather / travel days checkbox. The site theme's label rules squeezed the helper
   line onto the main text; keep both lines in normal flow, stacked, with their own height. */
.btcalc label.check { height: auto; min-height: 0; line-height: 1.4; white-space: normal; overflow: visible; }
.btcalc .check .check-text { display: block; flex: 1 1 auto; min-width: 0; position: static; }
.btcalc .check .check-main { display: block; position: static; line-height: 1.4; }
.btcalc .check .check-sub { display: block; position: static; margin-top: 0.35rem; font-weight: 400; color: #64748b; font-size: 14px; line-height: 1.45; }
.btcalc label.wx-check { margin-top: 1rem; }

/* NEW20: Steps 1-3 ask only for figures; the reasons live in "Our estimate, and why" on the results step. */
.btcalc .wx-check { margin-top: 0.25rem; }
.btcalc #step-1 .field-row:last-of-type { margin-bottom: 1.31rem; }
.btcalc #step-2 .field-row + .field-row, .btcalc #step-3 .field-row + .field-row { margin-top: 1.12rem; }
.btcalc #step-3 .field-row + .field, .btcalc #step-3 .field-row + .check, .btcalc #step-3 .field + .field-row, .btcalc #step-3 .check + .field-row { margin-top: 1.12rem; }
.btcalc #step-3 .field-row + .people-line { margin-top: 1rem; }
.btcalc .why-card { padding-top: 0.9rem; padding-bottom: 0.9rem; }
.btcalc .why-card > summary { list-style: none; cursor: pointer; display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; }
.btcalc .why-card > summary::-webkit-details-marker { display: none; }
.btcalc .why-card > summary h3 { margin: 0; }
.btcalc .why-toggle { font-size: 0.85rem; color: #0f766e; font-weight: 600; white-space: nowrap; }
.btcalc .why-toggle::after { content: " \25BE"; }
.btcalc .why-card:not([open]) .why-toggle::after { content: " \25B8"; }
.btcalc .why-intro { margin: 0.5rem 0 0.4rem; }
.btcalc .why-row { display: grid; grid-template-columns: 11rem 9.5rem 1fr; gap: 0.35rem 0.85rem; align-items: center; padding: 0.5rem 0; border-top: 1px solid #e2e8f0; }
.btcalc .why-k { font-weight: 600; color: #1e293b; font-size: 0.92rem; line-height: 1.3; }
.btcalc .why-c { display: flex; gap: 0.35rem; align-items: center; flex-wrap: wrap; }
.btcalc .why-c input.why-in, .btcalc .why-c select.why-in { width: 100%; min-width: 0; height: 2.2rem; padding: 0.2rem 0.5rem; font-size: 0.95rem; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; box-sizing: border-box; }
.btcalc .why-c select.why-in { padding-right: 1.4rem; }
.btcalc .why-c input.why-in[readonly] { background: #f1f5f9; color: #64748b; }
.btcalc .why-c #w-ftype { width: 100%; }
.btcalc .why-c #w-wx { width: 4.2rem; }
.btcalc .why-chk { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.85rem; color: #334155; white-space: nowrap; margin: 0; font-weight: 400; }
.btcalc .why-chk input { width: auto; height: auto; margin: 0; }
.btcalc .why-r { font-size: 0.84rem; color: #64748b; line-height: 1.4; }
.btcalc .why-r a { color: #0f766e; }
.btcalc .why-how { margin: 0.6rem 0 0; padding-top: 0.6rem; border-top: 1px solid #e2e8f0; font-size: 0.86rem; color: #475569; line-height: 1.45; }
@media (max-width: 640px) {
  .btcalc .why-row { grid-template-columns: 1fr 8.5rem; }
  .btcalc .why-r { grid-column: 1 / -1; }
}

/* NEW22: captain identity rows (business, phone, website, client) */
.btcalc #captain-box .field-row + .flabel.id-client { margin-top: 1.12rem; margin-bottom: 0.5rem; }

/* NEW26 - phone containment fixes (test page, 2026-10-15) */ @media (max-width: 900px) { .btcalc .calc-wrap { grid-template-columns: minmax(0, 1fr); } .btcalc .calc-wrap > * { min-width: 0; } .btcalc .card { min-width: 0; max-width: 100%; box-sizing: border-box; } .btcalc .cost-row > span:first-child { min-width: 0; } .btcalc .cost-row .val { flex: none; } .btcalc img, .btcalc iframe { max-width: 100%; } } @media (max-width: 640px) { .btcalc .field input, .btcalc .field select { min-width: 0; max-width: 100%; } .btcalc .loc-row { flex-wrap: wrap; } .btcalc .loc-row .loc-wrap { flex: 1 1 11rem; } .btcalc .via-btns { margin-left: auto; } }

/* NEW27 - route line wrap + date containment (test page, 2026-10-15) */
@media (max-width: 900px) {
  .btcalc #res-route-line { white-space: normal; }
  .btcalc .legs-list .leg b { white-space: normal; }
  .btcalc #step-3 .field { min-width: 0; max-width: 100%; }
  .btcalc #depart-date { display: block; width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; }
}

/* NEW29 - date input phone sizing (test page, 2026-10-16) */
@media (max-width: 900px) {
	.btcalc .bstep { min-width: 0; }
	.btcalc #depart-date { -webkit-appearance: none; appearance: none; text-align: left; }
}

/* NEW34 - phone fit 320-430 px (test page, 2026-10-19). Closes the NEW29 media block above.
   Results stat grid used 1fr (min-content floor), which pushed the stat tiles past the card at
   about 330 px and below. Everything here is inside max-width media queries, so desktop is unchanged. */
@media (max-width: 900px) {
  .btcalc .stat-grid { grid-template-columns: minmax(0, 1fr); }
  .btcalc .stat, .btcalc .stat .k, .btcalc .stat .v, .btcalc .stat-note { min-width: 0; overflow-wrap: anywhere; }
  .btcalc .card, .btcalc .hero-card, .btcalc .why-card, .btcalc .cost-row > span:first-child, .btcalc .legs-list .leg, .btcalc .canal-warn, .btcalc .trip-strip, .btcalc #trip-strip { overflow-wrap: anywhere; }
  .btcalc table { display: block; max-width: 100%; overflow-x: auto; }
  .btcalc .ac-list { max-width: 100%; box-sizing: border-box; }
  .btcalc .ad-rail, .btcalc .ad-rail > * { min-width: 0; max-width: 100%; }
}
@media (max-width: 640px) {
  .btcalc .stat .v.nowrap { white-space: normal; }
  .btcalc .dist-edit { max-width: 6.5rem; }
}
@media (max-width: 360px) {
  .btcalc .card, .btcalc .hero-card { padding-left: 0.9rem; padding-right: 0.9rem; }
  .btcalc .stat { padding: 0.75rem 0.85rem; }
}

/* NEW39: liability disclaimer */
#btcalc .bt-disclaimer{margin:18px 0 0;padding:12px 0 0;border-top:1px solid #e3e7ec;font-size:11.5px;line-height:1.5;color:#7a828c;text-align:left;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;word-break:normal;white-space:normal}
@media (max-width:480px){#btcalc .bt-disclaimer{font-size:11px;margin-top:14px}}
@media print{#btcalc .bt-disclaimer{color:#555}}


/* NEW44b: free-to-use notice (step 1 top + above ad rail) */
.btcalc .bt-free-note {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #eef9f4;
  border: 1px solid #b7e4d0;
  color: #0f3d2e;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  box-sizing: border-box;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
.btcalc .ad-rail .bt-free-note {
  width: 300px;
  max-width: 100%;
  margin: 0;
}
@media (max-width: 900px) {
  .btcalc .ad-rail .bt-free-note { width: 100%; max-width: 300px; }
}
@media (max-width: 480px) {
  .btcalc .bt-free-note { font-size: 13px; padding: 9px 10px; }
}

/* Phone only: free note at top of Step 4 results (ad rail stacks below the fold) */
.btcalc .bt-free-note-step4 { display: none; }
@media (max-width: 900px) {
  .btcalc .bt-free-note-step4 { display: block; }
}

/* Step 3: yes/no choicerow + weather delay block */
.btcalc .choicerow { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.btcalc .choicerow .radio { margin: 0; }
.btcalc .boat-other-wrap { margin-top: 0.25rem; }
.btcalc .wx-delay-block .check { margin: 0.75rem 0; }
.btcalc .wx-paygrid { margin-top: 0.5rem; }
.btcalc .wx-policy-note { margin: 0.35rem 0 0.6rem; font-size: 0.88rem; color: #64748b; }
.btcalc #step-3 .wx-delay-block { margin-top: 0.25rem; }
@media (max-width: 640px) {
  .btcalc .choicerow { grid-template-columns: 1fr; }
  .btcalc .wx-paygrid { grid-template-columns: 1fr; }
}


/* BoatTalent.com brand on tools calculator */
.bt-brand { display: inline-block; margin: 0 0 0.85rem; text-decoration: none; }
.bt-brand-logo {
  display: block;
  height: 72px;
  width: auto;
  max-width: min(400px, 90vw);
  border-radius: 8px;
}
@media (max-width: 640px) {
  .bt-brand-logo { height: 52px; }
}
