/* Quote tool — structure only. Each site themes it through the --qt-* variables. */
.qt{font-family:var(--qt-font,inherit);color:var(--qt-ink,#1E2540);background:var(--qt-bg,#fff);border:var(--qt-border,2px solid #D7DAE3);border-radius:var(--qt-radius,20px);padding:var(--qt-pad,22px);box-shadow:var(--qt-shadow,none);width:100%;max-width:var(--qt-max,440px);box-sizing:border-box}
.qt *{box-sizing:border-box}
.qt-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.qt-tab{appearance:none;border:2px solid var(--qt-line,#D7DAE3);background:var(--qt-tab-bg,#fff);color:var(--qt-tab-ink,#253468);border-radius:var(--qt-pill,35px);height:38px;padding:0 14px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.qt-tab[aria-selected="true"]{background:var(--qt-tab-on,#253468);border-color:var(--qt-tab-on,#253468);color:var(--qt-tab-on-ink,#fff)}
.qt-tab:focus-visible,.qt-btn:focus-visible,.qt-input:focus-visible,.qt-seg button:focus-visible{outline:3px solid var(--qt-accent,#F36414);outline-offset:2px}
.qt-pane{display:none;flex-direction:column;gap:9px}
.qt-pane[data-active="true"]{display:flex}
.qt h3{margin:0;font-size:22px;font-weight:700;color:var(--qt-head,#253468);line-height:1.1}
.qt .qt-sub{margin:-4px 0 2px;font-size:12.5px;line-height:1.35;color:var(--qt-muted,#666);max-width:none}
.qt p,.qt h3{font-family:inherit}
.qt-input{width:100%;height:46px;padding:0 12px;border:2px solid var(--qt-line,#D7DAE3);border-radius:var(--qt-field-radius,12px);font:inherit;font-size:15px;color:var(--qt-ink,#1E2540);background:var(--qt-field-bg,#fff)}
.qt-input::placeholder{color:var(--qt-ph,#8A90A3)}
.qt-ac{position:relative}
.qt-list{position:absolute;left:0;right:0;top:100%;z-index:50;background:#fff;color:#1E2540;border:2px solid var(--qt-line,#D7DAE3);border-radius:12px;max-height:190px;overflow:auto;display:none}
.qt-list div{padding:9px 12px;cursor:pointer;font-size:13px;line-height:1.3}
.qt-list div:hover{background:#F0F2F8}
.qt-group{display:flex;flex-direction:column;gap:8px}
.qt-rows{display:flex;flex-direction:column;gap:8px}
.qt-glabel{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--qt-muted,#666)}
.qt-stop{display:flex;gap:8px;align-items:center}
.qt-stop .qt-ac{flex:1;min-width:0}
.qt-badge{flex:none;width:24px;height:24px;border-radius:50%;background:var(--qt-tab-on,#253468);color:var(--qt-tab-on-ink,#fff);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.qt-routenote{font-size:12px;line-height:1.4;color:var(--qt-muted,#666);margin-top:-2px}
.qt-x{appearance:none;border:2px solid var(--qt-line,#D7DAE3);background:transparent;color:var(--qt-muted,#666);width:38px;height:38px;border-radius:50%;cursor:pointer;font:inherit;font-size:18px;line-height:1}
.qt-link{appearance:none;background:none;border:0;padding:2px;display:inline-flex;align-items:center;gap:6px;color:var(--qt-accent,#F36414);font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-align:left}
.qt-size{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--qt-muted,#666);line-height:1.35}
.qt-size b{color:var(--qt-head,#253468)}
.qt-size svg{flex:none;margin-top:1px}
.qt-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.qt-seg{display:flex;gap:6px;flex-wrap:wrap}
.qt-seg button{appearance:none;border:2px solid var(--qt-line,#D7DAE3);background:var(--qt-tab-bg,#fff);color:var(--qt-tab-ink,#253468);border-radius:var(--qt-pill,35px);height:32px;padding:0 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.qt-seg button[aria-pressed="true"]{background:var(--qt-tab-on,#253468);border-color:var(--qt-tab-on,#253468);color:var(--qt-tab-on-ink,#fff)}
.qt-checks{display:flex;gap:14px;flex-wrap:wrap}
.qt-check{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--qt-head,#253468);cursor:pointer}
.qt-check input{width:18px;height:18px;accent-color:var(--qt-tab-on,#253468);margin:0}
.qt-btn{appearance:none;border:0;width:100%;height:52px;border-radius:var(--qt-pill,35px);background:var(--qt-accent,#F36414);color:#fff;font:inherit;font-size:17px;font-weight:700;letter-spacing:.02em;cursor:pointer}
.qt-btn:hover{background:var(--qt-accent-h,#D9560E)}
.qt-btn:disabled{opacity:.7;cursor:wait}
.qt-btn.wa{background:#25D366}.qt-btn.wa:hover{background:#1DB954}
.qt-btn.ghost{background:transparent;color:var(--qt-head,#253468);border:2px solid var(--qt-line,#D7DAE3)}
.qt-note{font-size:12px;color:var(--qt-muted,#666);text-align:center;line-height:1.4}
.qt-result{display:flex;flex-direction:column;gap:9px}
.qt-price{font-size:44px;font-weight:700;color:var(--qt-accent,#F36414);text-align:center;line-height:1;padding-top:6px}
.qt-meta{font-size:13px;color:var(--qt-muted,#666);text-align:center}
.qt-timing{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;font-size:14px;font-weight:700;color:var(--qt-head,#253468)}
.qt-timing span{display:inline-flex;align-items:center;gap:6px}
.qt-err{color:#C0392B;font-size:13px;text-align:center}
.qt-chip{display:inline-flex;align-items:center;height:22px;padding:0 10px;border:2px dashed var(--qt-line,#D7DAE3);border-radius:35px;font-size:11px;font-weight:700;color:var(--qt-head,#253468);background:var(--qt-field-bg,#fff)}
.qt-panel{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--qt-panel,#F5F6FA);border-radius:12px;color:var(--qt-head,#253468);font-size:14px}
.qt-stepper{display:flex;align-items:center;justify-content:space-between;height:46px;padding:0 6px 0 12px;border:2px solid var(--qt-line,#D7DAE3);border-radius:var(--qt-field-radius,12px);font-size:15px;color:var(--qt-head,#253468);background:var(--qt-field-bg,#fff)}
.qt-stepper div{display:flex;align-items:center;gap:10px}
.qt-stepper button{appearance:none;width:32px;height:32px;border-radius:50%;border:2px solid var(--qt-line,#D7DAE3);background:transparent;color:var(--qt-head,#253468);font:inherit;font-size:18px;cursor:pointer;line-height:1}
.qt-stepper b{font-size:17px;min-width:20px;text-align:center}
.qt-steps{display:flex;flex-direction:column;gap:10px;padding:4px 2px}
.qt-step{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;color:var(--qt-ph,#8A90A3)}
.qt-step i{width:20px;height:20px;border-radius:50%;border:2px solid var(--qt-line,#D7DAE3);flex:none}
.qt-step.done{color:var(--qt-head,#253468)}.qt-step.done i{background:var(--qt-head,#253468);border-color:var(--qt-head,#253468)}
.qt-step.now{color:var(--qt-accent,#F36414)}.qt-step.now i{background:var(--qt-accent,#F36414);border-color:var(--qt-accent,#F36414);box-shadow:0 0 0 4px rgba(243,100,20,.2)}
.qt-hidden{display:none !important}
@media (max-width:480px){.qt{padding:18px}.qt-tab{height:36px;padding:0 12px;font-size:13px}}
.qt-optin{font-size:12px;color:var(--qt-muted,#666);text-align:center;line-height:1.4;margin-top:-4px}
a.qt-btn{display:flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}
/* Parcel limits card, can't-carry list, rider instructions, fits tick */
.qt-sizecard{display:flex;gap:12px;align-items:center;border:2px solid #FFD2B5;background:#FFF8F3;border-radius:var(--qt-field-radius,12px);padding:10px 12px}
.qt-cube{width:60px;height:auto;flex:none}
.qt-sizetxt{min-width:0}
.qt-sizehead{font-weight:700;font-size:14px;color:var(--qt-head,#253468)}
.qt-dim{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;line-height:1.1;margin:2px 0}
.qt-dim b{font-size:24px;font-weight:800;color:var(--qt-accent,#F36414)}
.qt-dim small{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--qt-muted,#666)}
.qt-sizerule{font-size:12.5px;line-height:1.35;color:var(--qt-muted,#666)}
.qt-sizemeta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}
.qt-kg{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:35px;background:var(--qt-panel,#F5F6FA);font-size:12px;font-weight:700;color:var(--qt-head,#253468)}
.qt-cantbtn{appearance:none;background:none;border:0;padding:0;font:inherit;font-size:12.5px;font-weight:700;color:var(--qt-head,#253468);text-decoration:underline;cursor:pointer}
.qt-cant{margin-top:8px;border:2px solid var(--qt-line,#D7DAE3);border-radius:var(--qt-field-radius,12px);padding:10px 14px;font-size:13px;line-height:1.4;background:var(--qt-field-bg,#fff);animation:qtIn .25s ease}
.qt-cant b{color:#B42318}
.qt-cant ul{margin:6px 0 0;padding-left:18px;color:var(--qt-muted,#666)}
.qt-cant li{margin:2px 0}
.qt-cant p{margin:8px 0 0;color:var(--qt-muted,#666);font-size:13px}
.qt-notebox{display:flex;flex-direction:column;gap:4px;margin-top:-4px}
.qt-addnote{font-size:13px;padding:0;color:var(--qt-muted,#5D6478);font-weight:600}
.qt-stop:has(.qt-badge:not(.qt-hidden)) + .qt-notebox{padding-left:32px}
.qt-addnote svg{width:14px;height:14px}
.qt-notein{display:block;width:100%;min-height:58px;padding:9px 12px;border:2px solid var(--qt-line,#D7DAE3);border-radius:var(--qt-field-radius,12px);font:inherit;font-size:14px;line-height:1.4;color:var(--qt-ink,#1E2540);background:#FFFBF5;resize:vertical}
.qt-notein:focus-visible{outline:3px solid var(--qt-accent,#F36414);outline-offset:2px}
.qt-noteinwrap{animation:qtIn .25s ease}
.qt-noteinwrap small{display:block;font-size:11.5px;line-height:1.35;color:var(--qt-muted,#666);margin-top:3px}
.qt-tick{display:flex;gap:10px;align-items:flex-start;background:#FFF4DC;border-radius:var(--qt-field-radius,12px);padding:10px 12px;font-size:13px;line-height:1.4;color:#5B3A00;cursor:pointer;text-align:left}
.qt-tick input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--qt-accent,#F36414)}
.qt-tick b{color:#5B3A00}
.qt-btn[data-book]:disabled{opacity:.45;cursor:not-allowed}
.qt-hint{font-size:12px;color:var(--qt-muted,#666);text-align:center;margin-top:-4px}
@keyframes qtIn{from{opacity:0;transform:translateY(-4px)}}
@media (prefers-reduced-motion:reduce){.qt-cant,.qt-noteinwrap{animation:none}}

/* ---- responsive pass (12 Oct): finger-sized controls on touch screens ---- */
@media (pointer:coarse){
  .qt .qt-link,.qt .qt-cantbtn{min-height:40px;padding-top:8px;padding-bottom:8px}
  .qt .qt-seg button{min-height:40px}
}
/* Google address search attribution (15 Oct 2026) */
.qt-list .qt-gattr{margin:0;padding:5px 12px 7px;font-size:11px;line-height:1.2;color:#8A90A3;text-align:right;cursor:default;background:none}
