/* TFFC Cold-Chain Quote Tool — scoped styles. All selectors under .tffc-qt to avoid theme clashes. */
.tffc-qt{
  --frost-navy:#0B2A4A;
  --ice:#1E6FB0;
  --ice-2:#2E8BC0;
  --frost:#EAF3FA;
  --frost-line:#D3E4F1;
  --slate:#33475B;
  --muted:#6B7C8F;
  --amber:#E8890C;
  --air:#2E8BC0;
  --road:#0E6E4E;
  --white:#fff;
  --r:14px;
  --shadow:0 6px 22px rgba(11,42,74,.10);
  color:var(--slate);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.45;
  max-width:820px;
  margin:0 auto;
}
.tffc-qt *{box-sizing:border-box;}
.tffc-qt-shell{
  background:linear-gradient(180deg,var(--frost) 0%,#fff 42%);
  border:1px solid var(--frost-line);
  border-radius:var(--r);
  padding:26px 26px 30px;
  box-shadow:var(--shadow);
}
.tffc-qt-heading{
  margin:0 0 4px;
  font-size:1.45rem;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--frost-navy);
}
.tffc-qt-lede{margin:0 0 20px;color:var(--muted);font-size:.92rem;}

/* form layout */
.tffc-qt-row{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap;}
.tffc-qt-field{flex:1 1 200px;display:flex;flex-direction:column;gap:6px;min-width:0;}
.tffc-qt-lab{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--frost-navy);}
.tffc-qt select,.tffc-qt input[type="number"]{
  width:100%;padding:11px 12px;border:1.5px solid var(--frost-line);border-radius:10px;
  background:#fff;font-size:1rem;color:var(--slate);appearance:none;-webkit-appearance:none;
}
.tffc-qt select:focus,.tffc-qt input:focus{outline:none;border-color:var(--ice);box-shadow:0 0 0 3px rgba(30,111,176,.16);}
.tffc-qt select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230B2A4A' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;}

/* segmented radio groups */
.tffc-qt-seg{display:flex;gap:8px;flex-wrap:wrap;}
.tffc-qt-seg-opt{position:relative;flex:1 1 auto;}
.tffc-qt-seg-opt input{position:absolute;opacity:0;pointer-events:none;}
.tffc-qt-seg-opt span{
  display:block;text-align:center;padding:10px 14px;border:1.5px solid var(--frost-line);
  border-radius:10px;background:#fff;font-size:.92rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .12s ease;
}
.tffc-qt-seg-opt input:checked + span{background:var(--frost-navy);border-color:var(--frost-navy);color:#fff;}
.tffc-qt-seg-opt input:focus-visible + span{box-shadow:0 0 0 3px rgba(30,111,176,.35);}

.tffc-qt-dims .tffc-qt-dimlab{display:block;margin-bottom:8px;}
.tffc-qt-dimline{display:flex;gap:10px;}
.tffc-qt-dimline .tffc-qt-field{flex:1 1 0;}
.tffc-qt-hint,.tffc-qt-dimlab{color:var(--muted);font-size:.8rem;font-weight:500;text-transform:none;letter-spacing:0;}
.tffc-qt-hint{margin:2px 0 0;}

/* CTA */
.tffc-qt-btn{display:inline-block;border:none;border-radius:11px;font-size:1rem;font-weight:700;cursor:pointer;text-decoration:none;text-align:center;}
.tffc-qt-btn-primary{
  width:100%;padding:14px;margin-top:6px;color:#fff;
  background:linear-gradient(135deg,var(--ice) 0%,var(--frost-navy) 100%);
  box-shadow:0 4px 14px rgba(30,111,176,.32);transition:transform .1s ease,box-shadow .1s ease;
}
.tffc-qt-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(30,111,176,.4);}
.tffc-qt-btn-primary:focus-visible{outline:3px solid var(--amber);outline-offset:2px;}
.tffc-qt-btn-ghost{padding:10px 16px;border:1.5px solid var(--frost-line);color:var(--frost-navy);background:#fff;margin-top:4px;}

/* results — the signature two-card comparison */
.tffc-qt-results{margin-top:8px;}
.tffc-qt-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px;}
.tffc-qt-card{
  border:1px solid var(--frost-line);border-radius:var(--r);padding:18px 18px 16px;background:#fff;
  box-shadow:var(--shadow);display:flex;flex-direction:column;position:relative;overflow:hidden;
}
.tffc-qt-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;}
.tffc-qt-road::before{background:linear-gradient(90deg,var(--road),#37A06F);}
.tffc-qt-air::before{background:linear-gradient(90deg,var(--air),#7FC3E6);}
.tffc-qt-card-head{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.tffc-qt-mode{font-size:1.05rem;font-weight:800;letter-spacing:-.01em;color:var(--frost-navy);}
.tffc-qt-road .tffc-qt-mode::before{content:"\1F69B\00A0";}
.tffc-qt-air .tffc-qt-mode::before{content:"\2708\FE0F\00A0";}

.tffc-qt-lines{display:flex;flex-direction:column;gap:2px;margin-bottom:8px;}
.tffc-qt-line{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:7px 0;border-bottom:1px dashed var(--frost-line);}
.tffc-qt-line-l{display:flex;flex-direction:column;gap:2px;min-width:0;}
.tffc-qt-line-label{font-weight:600;font-size:.92rem;color:var(--slate);}
.tffc-qt-line-sub{font-size:.74rem;color:var(--muted);}
.tffc-qt-line-v{font-weight:600;font-size:.95rem;color:var(--frost-navy);white-space:nowrap;}

.tffc-qt-total{display:flex;justify-content:space-between;align-items:baseline;gap:4px 12px;flex-wrap:wrap;margin-top:10px;padding-top:10px;}
.tffc-qt-total-label{font-weight:700;color:var(--frost-navy);white-space:nowrap;}
.tffc-qt-total-v{font-weight:800;font-size:1.35rem;color:var(--frost-navy);letter-spacing:-.01em;white-space:nowrap;}
.tffc-qt-vat{font-size:.78rem;color:var(--muted);text-align:right;margin-top:2px;}

.tffc-qt-notes{margin:12px 0 0;padding-left:16px;}
.tffc-qt-notes li{font-size:.76rem;color:var(--muted);margin-bottom:4px;}
.tffc-qt-unavail{font-size:.9rem;color:var(--muted);margin:6px 0 12px;}

.tffc-qt-foot{margin:18px 0 0;font-size:.8rem;color:var(--muted);text-align:center;}
.tffc-qt-foot a,.tffc-qt-notes a{color:var(--ice);font-weight:600;text-decoration:none;}
.tffc-qt-foot a:hover{text-decoration:underline;}
.tffc-qt-error{color:#B4232A;font-weight:600;font-size:.92rem;padding:10px 0;}

.tffc-qt-townrow{display:none;}
.tffc-qt-townrow .tffc-qt-gr,.tffc-qt-townrow .tffc-qt-ec{display:none;}
.tffc-qt-townrow.show-gr .tffc-qt-gr{display:flex;}
.tffc-qt-townrow.show-ec .tffc-qt-ec{display:flex;}

@media (max-width:560px){
  .tffc-qt-shell{padding:20px 16px 24px;}
  .tffc-qt-cards{grid-template-columns:1fr;}
  .tffc-qt-row{gap:12px;}
  .tffc-qt-field{flex-basis:100%;}
  .tffc-qt-heading{font-size:1.25rem;}
}
@media (prefers-reduced-motion:reduce){
  .tffc-qt-btn-primary,.tffc-qt-seg-opt span{transition:none;}
  .tffc-qt-btn-primary:hover{transform:none;}
}

/* ---- v2 additions: parcel profiler + option cards ---- */
.tffc-qt-parcelblock{margin-bottom:16px;}
.tffc-qt-prows{display:flex;flex-direction:column;gap:8px;margin:8px 0;}
.tffc-qt-prow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.tffc-qt-prow .pbox{flex:1 1 150px;padding:9px 10px;border:1.5px solid var(--frost-line);border-radius:9px;background:#fff;font-size:.92rem;}
.tffc-qt-prow .pw{width:80px;padding:9px 10px;border:1.5px solid var(--frost-line);border-radius:9px;font-size:.92rem;}
.tffc-qt-customdims{display:none;gap:6px;align-items:center;}
.tffc-qt-customdims input{width:56px;padding:9px 8px;border:1.5px solid var(--frost-line);border-radius:9px;font-size:.85rem;}
.tffc-qt-mm{font-size:.72rem;color:var(--muted);}
.tffc-qt-rowrm{width:30px;height:30px;border:1.5px solid var(--frost-line);border-radius:8px;background:#fff;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;flex:0 0 auto;}
.tffc-qt-rowrm:hover{border-color:#B4232A;color:#B4232A;}
.tffc-qt-addrow{margin-top:2px;padding:8px 14px;border:1.5px dashed var(--ice);border-radius:9px;background:#fff;color:var(--ice);font-weight:600;font-size:.88rem;cursor:pointer;}
.tffc-qt-addrow:hover{background:var(--frost);}

/* Options are a 2-column grid on desktop (2×2 for four options); a single column on mobile (below). */
.tffc-qt-cards{grid-template-columns:1fr 1fr;}
.tffc-qt-badge{margin-left:auto;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--road);padding:3px 8px;border-radius:20px;}
.tffc-qt-best{border-color:var(--road);box-shadow:0 8px 26px rgba(14,110,78,.16);}
.tffc-qt-best .tffc-qt-total-v{color:var(--road);}

/* ===== v2.1 ===== */
/* respond to the COLUMN it's embedded in, not the viewport */
.tffc-qt{container-type:inline-size;container-name:tqt;max-width:100%;}
.tffc-qt-shell{width:100%;}

/* parcel rows — align the clear (×) button cleanly */
.tffc-qt-prow{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;}
.tffc-qt-prow .pbox{flex:1 1 auto;min-width:0;height:40px;}
.tffc-qt-prow .pw{flex:0 0 74px;width:74px;height:40px;text-align:center;}
.tffc-qt-customdims{flex:0 0 auto;}
.tffc-qt-rowrm{flex:0 0 auto;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
  padding:0;border:1.5px solid var(--frost-line);border-radius:9px;background:#fff;color:var(--muted);
  font-size:.9rem;line-height:1;cursor:pointer;transition:all .12s ease;}
.tffc-qt-rowrm:hover{border-color:#B4232A;color:#B4232A;background:#fff5f5;}

/* extras */
.tffc-qt-extras{margin-bottom:16px;}
.tffc-qt-exrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
.tffc-qt-exitem{display:flex;align-items:center;gap:8px;border:1.5px solid var(--frost-line);border-radius:10px;padding:7px 10px;background:#fff;flex:1 1 200px;}
.tffc-qt-exlab{font-size:.86rem;color:var(--slate);flex:1 1 auto;}
.tffc-qt-exqty{width:56px;height:34px;text-align:center;border:1.5px solid var(--frost-line);border-radius:8px;font-size:.9rem;}

/* estimate disclaimer (#7) */
.tffc-qt-disclaimer{margin:18px 0 6px;padding:12px 14px;border-radius:10px;font-size:.8rem;line-height:1.5;
  background:#FFF7EC;border:1px solid #F3D9A8;color:#6B5326;}
.tffc-qt-disclaimer strong{color:#8A5A00;}
.tffc-qt-disclaimer a{color:var(--ice);font-weight:600;}

/* embedded Forminator quote panel (#5) */
#tffc-qt-quotepanel{display:none;margin-top:20px;padding:18px;border:1px solid var(--frost-line);border-radius:var(--r);background:#fff;box-shadow:var(--shadow);}

/* container-query responsiveness */
@container tqt (max-width:600px){
  .tffc-qt-cards{grid-template-columns:1fr;}
  .tffc-qt-row{flex-direction:column;gap:12px;}
  .tffc-qt-field{flex-basis:auto;width:100%;}
  .tffc-qt-exitem{flex-basis:100%;}
}
@container tqt (max-width:420px){
  .tffc-qt-prow{flex-wrap:wrap;}
  .tffc-qt-prow .pbox{flex:1 1 100%;}
  .tffc-qt-shell{padding:18px 14px 22px;}
  .tffc-qt-heading{font-size:1.2rem;}
}

/* ===== v2.2 ===== */
/* #1 centre the dropdown text vertically in the field */
.tffc-qt select{height:46px;line-height:1.4;padding-top:0;padding-bottom:0;display:flex;align-items:center;}
.tffc-qt-field .tffc-qt-lab{margin-bottom:2px;}

/* #3 wider weight capture, box select a touch narrower */
.tffc-qt-prow .pbox{flex:1 1 auto;min-width:120px;height:44px;}
.tffc-qt-prow .pw{flex:0 0 104px;width:104px;height:44px;text-align:center;font-weight:600;}
.tffc-qt-rowrm{height:36px;}

/* lead-time banner (not same-day) */
.tffc-qt-leadtime{margin:0 0 18px;padding:11px 14px;border-radius:10px;font-size:.82rem;line-height:1.5;
  background:#EAF3FA;border:1px solid var(--frost-line);color:var(--frost-navy);}
.tffc-qt-leadtime strong{color:var(--ice);}

/* #4 retail / distribution-centre disclaimer */
.tffc-qt-retailnote{margin:-4px 0 14px;padding:10px 13px;border-radius:9px;font-size:.8rem;line-height:1.45;
  background:#FDECEC;border:1px solid #F3B5B5;color:#8A2A2A;font-weight:500;}

/* v2.3.1 — force white label on primary buttons (Get estimate / Request a firm quote) */
.tffc-qt .tffc-qt-btn-primary,
.tffc-qt a.tffc-qt-btn-primary,
.tffc-qt button.tffc-qt-btn-primary{color:#fff;}
.tffc-qt .tffc-qt-btn-primary:hover,
.tffc-qt .tffc-qt-btn-primary:focus{color:#fff;}

/* v2.4 — reset buttons (top + bottom) */
.tffc-qt-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.tffc-qt-reset{flex:0 0 auto;margin-top:4px;padding:6px 12px;font-size:.78rem;font-weight:600;cursor:pointer;
  color:var(--ice);background:#fff;border:1.5px solid var(--frost-line);border-radius:8px;transition:all .12s ease;}
.tffc-qt-reset:hover{border-color:var(--ice);background:var(--frost);}
.tffc-qt-actions{display:flex;gap:10px;margin-top:6px;}
.tffc-qt-actions .tffc-qt-btn-primary{flex:1 1 auto;margin-top:0;}
.tffc-qt-btn-reset{flex:0 0 auto;padding:14px 18px;color:var(--frost-navy);background:#fff;border:1.5px solid var(--frost-line);}
.tffc-qt-btn-reset:hover{border-color:var(--ice);background:var(--frost);}

/* v5.4.4 — action buttons (Get estimate / Reset form). On narrow phones the flex row crushed the primary
   into a vertical, one-letter-per-line sliver (PhoneImageMisplacedButtons.jpeg): its base width:100% became
   the flex-basis in the row while the reset refused to shrink. Fix: content-basis + no letter-wrap in the
   row; STACK full-width on narrow widths. */
.tffc-qt-actions{flex-wrap:wrap;}
.tffc-qt-actions .tffc-qt-btn-primary{width:auto;}          /* override the base width:100% inside the row */
.tffc-qt-actions .tffc-qt-btn-primary,
.tffc-qt-actions .tffc-qt-btn-reset{min-width:0;white-space:nowrap;}
@container tqt (max-width:480px){
  .tffc-qt-actions{flex-direction:column;align-items:stretch;}
  .tffc-qt-actions .tffc-qt-btn-primary,
  .tffc-qt-actions .tffc-qt-btn-reset{flex:1 1 auto;width:100%;}
}

/* ===== Hybrid mode (mode="hybrid") — customer toggle between wizard + full form ===== */
.tffc-qt-modebar{display:inline-flex;gap:4px;margin:0 auto 16px;padding:4px;border:1.5px solid var(--frost-line);
  border-radius:12px;background:var(--frost);}
.tffc-qt .tffc-qt-modebar{display:flex;width:fit-content;}
.tffc-qt-modebtn{border:none;background:transparent;padding:8px 18px;border-radius:9px;font-size:.9rem;font-weight:700;
  color:var(--muted);cursor:pointer;transition:all .12s ease;}
.tffc-qt-modebtn:hover{color:var(--frost-navy);}
.tffc-qt-modebtn.is-on{background:#fff;color:var(--frost-navy);box-shadow:0 1px 4px rgba(11,42,74,.12);}
.tffc-qt-modebtn:focus-visible{outline:2px solid var(--amber);outline-offset:1px;}

/* ===== Wizard mode (opt-in via mode="wizard") ===== */
/* tighten the header: nudge the "Start over" button up so it aligns with the heading */
.tffc-qt-wiz-shell .tffc-qt-hdr{align-items:center;}
.tffc-qt-wiz-shell .tffc-qt-reset{margin-top:0;}
.tffc-qt-wiz-shell .tffc-qt-heading{margin-bottom:0;}
/* per-option note (wizard omits packaging inputs) */
.tffc-qt-cardnote{margin-top:8px;padding-top:8px;border-top:1px dashed var(--frost-line);
  font-size:.7rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;line-height:1.35;}

/* progress rail */
.tffc-qt-wiz-prog{display:flex;gap:6px;margin:2px 0 22px;overflow-x:auto;}
.tffc-qt-wiz-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1 1 0;min-width:56px;position:relative;}
.tffc-qt-wiz-step::before{content:"";position:absolute;top:14px;left:calc(-50% + 14px);right:calc(50% + 14px);height:2px;background:var(--frost-line);}
.tffc-qt-wiz-step:first-child::before{display:none;}
.tffc-qt-wiz-step.is-done::before{background:var(--road);}
.tffc-qt-wiz-dot{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font-size:.82rem;font-weight:800;background:#fff;border:2px solid var(--frost-line);color:var(--muted);z-index:1;transition:all .15s ease;}
.tffc-qt-wiz-step.is-active .tffc-qt-wiz-dot{border-color:var(--ice);background:var(--frost-navy);color:#fff;}
.tffc-qt-wiz-step.is-done .tffc-qt-wiz-dot{border-color:var(--road);background:var(--road);color:#fff;}
.tffc-qt-wiz-steplab{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);text-align:center;white-space:nowrap;}
.tffc-qt-wiz-step.is-active .tffc-qt-wiz-steplab{color:var(--frost-navy);}

/* step panels */
.tffc-qt-wiz-panel{animation:tffc-qt-fade .18s ease;}
@keyframes tffc-qt-fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.tffc-qt-wiz-q{margin:0 0 16px;font-size:1.12rem;font-weight:700;color:var(--frost-navy);letter-spacing:-.01em;}
.tffc-qt-wiz-sub{margin-bottom:6px;}
.tffc-qt-wiz .tffc-qt-field{margin-bottom:4px;}

/* big stacked choice buttons */
.tffc-qt-bigseg{display:flex;flex-direction:column;gap:10px;}
.tffc-qt-bigopt{position:relative;display:block;cursor:pointer;}
.tffc-qt-bigopt input{position:absolute;opacity:0;pointer-events:none;}
.tffc-qt-bigopt-body{display:block;padding:14px 16px;border:1.5px solid var(--frost-line);border-radius:12px;background:#fff;transition:all .12s ease;}
.tffc-qt-bigopt input:checked + .tffc-qt-bigopt-body{border-color:var(--ice);background:var(--frost);box-shadow:0 0 0 3px rgba(30,111,176,.14);}
.tffc-qt-bigopt input:focus-visible + .tffc-qt-bigopt-body{box-shadow:0 0 0 3px rgba(232,137,12,.4);}
.tffc-qt-bigopt-t{display:block;font-size:1rem;font-weight:700;color:var(--frost-navy);}
.tffc-qt-bigopt-d{display:block;font-size:.82rem;color:var(--muted);margin-top:2px;}

/* nav row */
.tffc-qt-wiz-nav{display:flex;align-items:center;gap:12px;margin-top:22px;}
.tffc-qt-wiz-nav .tffc-qt-btn-primary{flex:0 0 auto;width:auto;margin-top:0;padding:12px 26px;}
.tffc-qt-wiz-nav .tffc-qt-btn-reset{flex:0 0 auto;padding:12px 18px;}
.tffc-qt-wiz-err{flex:1 1 auto;text-align:center;color:#B4232A;font-size:.84rem;font-weight:600;}
.tffc-qt-wiz-again{width:100%;margin-top:16px;}

@container tqt (max-width:480px){
  .tffc-qt-wiz-steplab{display:none;}
  .tffc-qt-wiz-prog{gap:0;}
  .tffc-qt-wiz-nav{flex-wrap:wrap;}
  .tffc-qt-wiz-nav .tffc-qt-btn-primary{flex:1 1 auto;width:100%;order:3;}
  .tffc-qt-wiz-err{order:2;flex-basis:100%;}
}
