/* Package quote card: one plain card, never an inner scroll box. Sits under the sticky header (z-index 1). */
.ktp-page .ktp-dpk .qw{--r:#7A2E1E;--rd:#5E2216;--pine:#2F4B3F;--gold:#C8912F;--sand:#F3EBE0;--ink:#1F1E1D;--mut:#4A4744;--bd:#CFC3B4;container-type:inline-size;box-sizing:border-box;position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;padding:20px;background:#fff;border:1px solid #E6DDD1;border-radius:16px;box-shadow:0 8px 24px rgba(31,30,29,.08);font:400 15px/1.45 Inter,system-ui,sans-serif;color:var(--ink);max-height:none;overflow:visible}
.ktp-page .ktp-dpk .qw *,.ktp-page .ktp-dpk .qw *::before,.ktp-page .ktp-dpk .qw *::after{box-sizing:border-box}
.ktp-page .ktp-dpk .qw [hidden]{display:none!important}
.ktp-page .ktp-dpk .qw__h{margin:0;font:600 22px/1.25 Fraunces,Georgia,serif;color:var(--ink)}
.ktp-page .ktp-dpk .qw__f{display:flex;flex-direction:column;gap:6px;min-width:0}
.ktp-page .ktp-dpk .qw__l{font-size:14px;font-weight:600;color:var(--ink)}
.ktp-page .ktp-dpk .qw__o{font-weight:400;color:var(--mut)}
.ktp-page .ktp-dpk .qw__req{font-weight:400;color:var(--mut)}
.ktp-page .ktp-dpk .qw__hint{font-size:13px;color:var(--mut);margin:0}
.ktp-page .ktp-dpk .qw__err{font-size:13px;font-weight:500;color:#A12A1A}
.ktp-page .ktp-dpk .qw__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ktp-page .ktp-dpk .qw__datebox{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:0 14px;border:1.5px solid var(--bd);border-radius:10px;background:#fff;color:var(--ink)}
.ktp-page .ktp-dpk .qw__datebox:focus-within{outline:2px solid var(--gold);outline-offset:2px}
.ktp-page .ktp-dpk .qw__datetxt{font-size:16px}
.ktp-page .ktp-dpk .qw__datetxt.is-empty{color:#6B6660}
.ktp-page .ktp-dpk .qw__ico{flex:none;color:var(--r)}
.ktp-page .ktp-dpk .qw__datebox input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;border:0;background:transparent}
.ktp-page .ktp-dpk .qw__datebox input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ktp-page .ktp-dpk .qw__sv{min-width:24px;text-align:center;font:600 17px/1 Inter,sans-serif}
.ktp-page .ktp-dpk .qw__chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ktp-page .ktp-dpk .qw__chip{min-height:48px;padding:0 4px;border:1.5px solid var(--bd);border-radius:10px;background:#fff;color:var(--ink);font:500 13px/1.2 Inter,sans-serif;cursor:pointer}
.ktp-page .ktp-dpk .qw__chip[aria-checked=true]{background:var(--pine);border-color:var(--pine);color:#fff}
.ktp-page .ktp-dpk .qw__ages{display:flex;flex-direction:column;gap:6px}
.ktp-page .ktp-dpk .qw__agegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.ktp-page .ktp-dpk .qw__age{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--mut)}
.ktp-page .ktp-dpk .qw__in{width:100%;min-height:48px;padding:0 12px;border:1.5px solid var(--bd);border-radius:10px;background:#fff;color:var(--ink);font:400 16px Inter,system-ui,sans-serif}
.ktp-page .ktp-dpk .qw__ta{padding:10px 12px;min-height:64px;resize:vertical}
.ktp-page .ktp-dpk .qw__phone{display:grid;grid-template-columns:minmax(0,112px) minmax(0,1fr);gap:8px}
.ktp-page .ktp-dpk .qw [aria-invalid=true]{border-color:#A12A1A!important}
.ktp-page .ktp-dpk .qw :focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ktp-page .ktp-dpk .qw__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ktp-page .ktp-dpk .qw__msg{margin:0;padding:10px 12px;border-radius:10px;background:#FBEFEC;color:#7A2E1E;font-size:14px}
.ktp-page .ktp-dpk .qw__btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:0 16px;border:0;border-radius:12px;background:var(--r);color:#fff;font:600 16px/1.2 Inter,sans-serif;cursor:pointer;text-decoration:none}
.ktp-page .ktp-dpk .qw__btn:hover{background:var(--rd);color:#fff}
.ktp-page .ktp-dpk .qw__btn:disabled{opacity:.6;cursor:progress}
.ktp-page .ktp-dpk .qw__btn--wa{background:#fff;color:#0B6B33;border:1.5px solid #25D366}
.ktp-page .ktp-dpk .qw__btn--wa:hover{background:#EAFBF0;color:#0B6B33}
.ktp-page .ktp-dpk .qw__foot{margin:0;text-align:center;font-size:13px;color:var(--mut)}
.ktp-page .ktp-dpk .qw__priv{margin:0;font-size:12px;line-height:1.5;color:var(--mut)}
.ktp-page .ktp-dpk .qw__priv a{color:var(--r);text-decoration:underline}
.ktp-page .ktp-dpk .qw__done{display:flex;flex-direction:column;gap:10px}
.ktp-page .ktp-dpk .qw__done h3{margin:0;font:600 20px/1.25 Fraunces,Georgia,serif}
.ktp-page .ktp-dpk .qw__done p{margin:0}
.ktp-page .ktp-dpk .qw__ref{display:inline-block;align-self:flex-start;padding:4px 12px;border-radius:8px;background:var(--sand);font:700 18px Inter,sans-serif}
.ktp-page .ktp-dpk .qw--inline{margin:16px 20px}
@container (max-width:299px){.ktp-page .ktp-dpk .qw__row{grid-template-columns:minmax(0,1fr)}}
@media (max-width:759px){.ktp-page .ktp-dpk .qw--inline{margin:12px 16px}
.ktp-page .ktp-dpk .qw{padding:16px}}
/* the old design aside and mobile dialog are gone: keep the mobile bar clear of the home indicator */
[data-ktp-dpk-bar]{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))!important}

/* ---- when: month chips + exact date ---- */
.ktp-page .ktp-dpk .qw__l2{margin-top:6px}
.ktp-page .ktp-dpk .qw__months{display:flex;flex-wrap:wrap;gap:8px}
.ktp-page .ktp-dpk .qw__mo{flex:0 0 auto;min-width:52px;min-height:44px;padding:0 14px;border:1.5px solid var(--bd);border-radius:999px;background:#fff;color:var(--ink);font:500 14px/1 Inter,system-ui,sans-serif;cursor:pointer;scroll-snap-align:start}
.ktp-page .ktp-dpk .qw__mo--any{border-style:dashed;color:var(--mut)}
.ktp-page .ktp-dpk .qw__mo[aria-checked=true]{background:var(--pine);border-color:var(--pine);border-style:solid;color:#fff;font-weight:600}
.ktp-page .ktp-dpk .qw__mo[aria-disabled=true]{background:#F6F2EC;border-color:#E6DDD1;border-style:solid;color:#8B847B;text-decoration:line-through;text-decoration-thickness:1px;cursor:not-allowed}
@media (max-width:759px){
.ktp-page .ktp-dpk .qw__months{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:2px 16px 8px;scrollbar-width:thin;mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent 100%)}
}
/* ---- one price block ---- */
.ktp-page .ktp-dpk .qw__price{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:14px;background:#F8F3EA;border:1px solid #EADFCE}
.ktp-page .ktp-dpk .qw__l--p{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.ktp-page .ktp-dpk .qw__pmain{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.ktp-page .ktp-dpk .qw__pfrom{font-size:15px;color:var(--mut)}
.ktp-page .ktp-dpk .qw__pbig{font:600 34px/1.1 Fraunces,Georgia,serif;color:var(--r);letter-spacing:-.01em}
.ktp-page .ktp-dpk .qw__pper{font-size:15px;color:var(--ink)}
.ktp-page .ktp-dpk .qw__pline,.ktp-page .ktp-dpk .qw__prange,.ktp-page .ktp-dpk .qw__pnote{margin:0;font-size:14px;color:var(--mut)}
.ktp-page .ktp-dpk .qw__pnote{font-size:12.5px}
.ktp-page .ktp-dpk .qw__ptot{margin:6px 0 0;padding-top:10px;border-top:1px solid #E3D6C2;font:600 16px/1.35 Inter,sans-serif;color:var(--ink)}
.ktp-page .ktp-dpk .qw__plink{align-self:flex-start;min-height:44px;padding:0;border:0;background:none;color:var(--r);font:600 14px/1.2 Inter,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ktp-page .ktp-dpk .qw__plink::after{content:" ▾"}
.ktp-page .ktp-dpk .qw__plink[aria-expanded=true]::after{content:" ▴"}
.ktp-page .ktp-dpk .qw__chart{padding:10px 8px 6px;border-radius:12px;background:#fff;border:1px solid #EADFCE}
.ktp-page .ktp-dpk .qw__svg{display:block;width:100%;height:auto}
.ktp-page .ktp-dpk .qw__bar rect{fill:#2F4B3F}
.ktp-page .ktp-dpk .qw__bar--Shoulder rect{fill:#C8912F}
.ktp-page .ktp-dpk .qw__bar--Peak rect{fill:#7A2E1E}
.ktp-page .ktp-dpk .qw__bar--off rect{fill:#E6DDD1}
.ktp-page .ktp-dpk .qw__bar.is-sel rect{stroke:#1F1E1D;stroke-width:2}
.ktp-page .ktp-dpk .qw__bar text{font:500 11px Inter,sans-serif;fill:#4A4744}
.ktp-page .ktp-dpk .qw__lg{list-style:none;margin:8px 0 4px;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--mut)}
.ktp-page .ktp-dpk .qw__lg li{display:flex;gap:8px;align-items:baseline}
.ktp-page .ktp-dpk .qw__lg b{color:var(--ink);font-weight:600}
.ktp-page .ktp-dpk .qw__sw{flex:none;width:12px;height:12px;border-radius:3px;background:#2F4B3F;transform:translateY(1px)}
.ktp-page .ktp-dpk .qw__sw--Shoulder{background:#C8912F}
.ktp-page .ktp-dpk .qw__sw--Peak{background:#7A2E1E}
.ktp-page .ktp-dpk .qw__dt summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:600;color:var(--r)}
.ktp-page .ktp-dpk .qw__tbl{width:100%;border-collapse:collapse;font-size:13px}
.ktp-page .ktp-dpk .qw__tbl caption{text-align:left;padding:4px 0;color:var(--mut)}
.ktp-page .ktp-dpk .qw__tbl th,.ktp-page .ktp-dpk .qw__tbl td{padding:4px 6px;border-bottom:1px solid #EFE7DA;text-align:left;font-weight:400}
.ktp-page .ktp-dpk .qw__tbl thead th{font-weight:600}
.ktp-page .ktp-dpk .qw__sum{padding:10px 12px;border-radius:10px;background:var(--sand);font-size:13px;line-height:1.45;color:var(--ink)}
.ktp-page .ktp-dpk .qw__recap{padding:10px 12px;border-radius:10px;background:var(--sand);font-size:14px}
/* ---- steppers: 36px buttons inside a 44px tap area, always inside the box ---- */
.ktp-page .ktp-dpk .qw__step{display:flex;align-items:center;justify-content:space-between;gap:2px;min-height:52px;padding:0 4px;border:1.5px solid var(--bd);border-radius:12px;background:#fff;min-width:0}
.ktp-page .ktp-dpk .qw__sb{flex:none;width:44px;height:44px;padding:4px;border:0;border-radius:999px;background:var(--sand);background-clip:content-box;color:var(--r);font:600 20px/1 Inter,sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation}
.ktp-page .ktp-dpk .qw__sb:disabled{opacity:.4;cursor:not-allowed}
.ktp-page .ktp-dpk .qw__sv{flex:1 1 auto;min-width:20px;text-align:center;font:600 17px/1 Inter,sans-serif}
.ktp-page .ktp-dpk .qw__recap,.ktp-page .ktp-dpk .qw__sum{overflow-wrap:anywhere}
