/* quote flow */
.q-hero .hero-inner{min-height:260px;padding-top:48px;padding-bottom:48px}
.q-wrap{max-width:820px;margin:0 auto}
.q-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--amber);border-radius:6px;padding:40px;display:flex;flex-direction:column;gap:28px}
.q-progress{display:flex;flex-direction:column;gap:10px}
.q-progress-text{font-size:14px;font-weight:600;color:var(--soft)}
.q-progress-bar{height:6px;background:var(--paper);border-radius:3px;overflow:hidden}
.q-progress-bar span{display:block;height:100%;width:0;background:var(--amber);transition:width .25s ease}
.q-step{display:flex;flex-direction:column;gap:24px;border:0;margin:0;padding:0;min-width:0}
.q-step[hidden]{display:none}
.q-step h2{font-size:clamp(24px,2.6vw,30px);color:var(--navy)}
.q-step .q-sub{font-size:16px;margin-top:-12px}
.q-label{display:block;font-weight:600;color:var(--ink);font-size:15px;margin-bottom:8px}
.q-label .q-opt{font-weight:400;color:var(--soft)}
.q-field{display:flex;flex-direction:column}
.q-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.q-input,.q-select,.q-text{font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #AEB6C1;border-radius:4px;min-height:48px;padding:10px 14px;width:100%}
.q-text{min-height:110px;resize:vertical}
.q-input:focus,.q-select:focus,.q-text:focus{outline:3px solid var(--amber);outline-offset:0;border-color:var(--navy)}
.q-input[aria-invalid=true],.q-select[aria-invalid=true],.q-text[aria-invalid=true]{border-color:#B3261E}
.q-err{color:#B3261E;font-size:14px;font-weight:600;margin-top:6px}
.q-err:empty{display:none}
.q-help{font-size:14px;color:var(--soft);margin-top:6px}
/* choice cards */
.q-choices{display:grid;gap:14px}
.q-choice{position:relative;display:flex;gap:16px;align-items:flex-start;border:1px solid var(--line);border-radius:6px;padding:20px 22px;cursor:pointer;background:#fff}
.q-choice:hover{border-color:var(--navy)}
.q-choice input{position:absolute;opacity:0;pointer-events:none}
.q-choice .q-dot{flex:0 0 22px;height:22px;border-radius:50%;border:2px solid #8C96A3;margin-top:2px}
.q-choice strong{display:block;font-family:var(--disp);font-size:18px;color:var(--ink)}
.q-choice span.q-desc{display:block;font-size:15px;color:var(--soft);margin-top:2px}
.q-choice:has(input:checked){border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy);background:#F5F8FC}
.q-choice:has(input:checked) .q-dot{border-color:var(--navy);background:radial-gradient(circle,var(--navy) 45%,#fff 50%)}
.q-choice:has(input:focus-visible){outline:3px solid var(--amber);outline-offset:2px}
/* chips */
.q-chips{display:flex;flex-wrap:wrap;gap:10px}
.q-chip{position:relative;display:inline-flex}
.q-chip input{position:absolute;opacity:0;pointer-events:none}
.q-chip span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;font-size:15px;font-weight:600;color:var(--navy);background:#fff;cursor:pointer}
.q-chip span::before{content:"";width:16px;height:16px;border:2px solid #8C96A3;border-radius:3px;flex:0 0 16px}
.q-chip.q-radio span::before{border-radius:50%}
.q-chip input:checked + span{background:var(--navy);color:#fff;border-color:var(--navy)}
.q-chip input:checked + span::before{border-color:#fff;background:#fff;box-shadow:inset 0 0 0 3px var(--navy)}
.q-chip input:focus-visible + span{outline:3px solid var(--amber);outline-offset:2px}
.q-group-title{font-family:var(--disp);font-weight:700;font-size:15px;color:var(--soft);margin:4px 0 10px}
.q-pgroups{display:flex;flex-direction:column;gap:18px}
.q-reveal{display:flex;flex-direction:column;gap:20px;padding:20px;background:var(--paper);border-radius:6px}
.q-reveal[hidden]{display:none}
/* product rows */
.q-rows{display:flex;flex-direction:column;gap:16px}
.q-row{border:1px solid var(--line);border-radius:6px;padding:20px;display:flex;flex-direction:column;gap:16px}
.q-row-name{font-family:var(--disp);font-weight:800;font-size:18px;color:var(--navy)}
.q-row-grid{display:grid;grid-template-columns:1.1fr 1fr 1.3fr;gap:14px}
.q-more{align-self:flex-start;font:inherit;font-size:14px;font-weight:600;color:var(--navy);background:none;border:0;border-bottom:2px solid var(--amber);padding:4px 0;cursor:pointer;min-height:36px}
.q-price{display:grid;grid-template-columns:1fr 110px;gap:10px}
/* nav buttons */
.q-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:8px;border-top:1px solid var(--line)}
.q-actions .btn{min-width:150px}
.q-back{font:inherit;font-size:15px;font-weight:600;color:var(--navy);background:none;border:1px solid var(--line);border-radius:4px;min-height:48px;padding:12px 22px;cursor:pointer}
.q-back[hidden]{visibility:hidden;display:inline-block}
.btn[disabled]{opacity:.6;cursor:wait}
.q-check{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink);cursor:pointer}
.q-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--navy);flex:0 0 20px}
.q-files{font-size:14px;color:var(--soft);margin:8px 0 0;padding-left:18px}
.q-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.q-ts{min-height:0}
.q-alert{background:#FCEEEE;border:1px solid #E7B4B1;color:#7A1C16;border-radius:6px;padding:14px 18px;font-size:15px}
.q-alert[hidden]{display:none}
.q-done{align-items:flex-start}
.q-done .q-tick{width:56px;height:56px;border-radius:50%;background:#E8F2EA;color:#1F6B35;display:flex;align-items:center;justify-content:center}
.q-done .btn-lg{margin-top:4px}
.q-summary{width:100%;border-top:1px solid var(--line);padding-top:20px;font-size:15px}
.q-summary dt{font-weight:600;color:var(--ink)}
.q-summary dd{margin:0 0 10px;color:var(--soft)}
.q-trust{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;margin-top:24px;font-size:14px;color:var(--soft)}
@media (max-width:860px){
 .q-card{padding:24px 18px;gap:22px}
 .q-grid,.q-row-grid{grid-template-columns:1fr}
 .q-actions{position:sticky;bottom:0;background:#fff;margin:0 -18px -24px;padding:14px 18px;z-index:5}
 .q-actions .btn{min-width:0;flex:1}
 .q-choice{padding:16px}
}
@media (prefers-reduced-motion:reduce){.q-progress-bar span{transition:none}}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.q-actions[hidden],.q-field[hidden]{display:none}
/* product picker */
.q-psearch-row{display:flex;align-items:center;gap:16px}
.q-psearch{max-width:420px;padding-left:42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234A5361' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 14px center}
.q-pcount{font-size:14px;font-weight:600;color:var(--navy);white-space:nowrap}
.q-pgroup[hidden],.q-pitem[hidden]{display:none}
.q-plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:6px;overflow:hidden}
.q-pitem{position:relative;display:flex;gap:14px;align-items:flex-start;padding:14px 16px;cursor:pointer;background:#fff;border-bottom:1px solid var(--line);border-right:1px solid var(--line);margin:0 -1px -1px 0}
.q-pitem:hover{background:#F7F9FB}
.q-pitem input{position:absolute;opacity:0;pointer-events:none}
.q-box{flex:0 0 20px;height:20px;border:2px solid #8C96A3;border-radius:4px;margin-top:2px;background:#fff}
.q-pitem strong{display:block;font-family:var(--disp);font-size:16px;font-weight:700;color:var(--ink);line-height:1.3}
.q-pitem small{display:block;font-size:13px;color:var(--soft);line-height:1.4;margin-top:2px}
.q-pitem:has(input:checked){background:#F1F5FB}
.q-pitem input:checked + .q-box{background:var(--navy);border-color:var(--navy);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
.q-pitem input:focus-visible + .q-box{outline:3px solid var(--amber);outline-offset:2px}
.q-pother{border:1px dashed #AEB6C1;border-radius:6px;margin:0}
.q-group-title{text-transform:uppercase;letter-spacing:.06em;font-size:13px}
@media (max-width:860px){.q-plist{grid-template-columns:1fr}.q-psearch-row{flex-direction:column;align-items:stretch;gap:8px}.q-psearch{max-width:none}}
.q-extra{padding-top:14px;border-top:1px dashed var(--line)}
.q-date-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.q-date{max-width:240px}
.q-date:disabled{background:var(--paper);color:#9AA2AD}
.q-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.q-tags:empty{display:none}
.q-tag{font:inherit;font-size:14px;font-weight:600;color:#fff;background:var(--navy);border:0;border-radius:999px;padding:8px 14px;min-height:36px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.q-tag::after{content:"\00d7";font-size:18px;line-height:1}
.q-tag:hover{background:var(--navy-2)}
@media (max-width:860px){.q-date{max-width:none}}
.q-wrap{max-width:1000px}
.q-pitem small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-pitem > span:last-child{min-width:0}
.q-check a{color:var(--navy);font-weight:600}
@media (max-width:860px){.q-pitem small{white-space:normal}}
