/* Custom quote page — wizard redesign (Claude) */
.cq{--ink:#1d1c1a;--muted:#6f6a62;--line:#e6dfd2;--soft:#faf8f3;--gold:#b58b45;--gold2:#d2ad69;--green:#0f3b31;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:#fff}
.cq *{box-sizing:border-box}
.cq-eyebrow{font-size:12px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:#86642a;margin:0 0 12px}
.cq-hero{max-width:1240px;margin:0 auto;padding:48px 32px 24px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.cq-hero h1{font:600 clamp(32px,4vw,52px)/1.08 "Playfair Display",Georgia,serif;margin:0 0 16px;letter-spacing:-.4px}
.cq-hero h1 em{font-style:italic;color:#86642a}
.cq-lead{font-size:17px;line-height:1.65;color:var(--muted);margin:0 0 22px;max-width:560px}
.cq-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.cq-trust li{font-size:14px;color:var(--muted);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:8px 14px}
.cq-trust b{color:var(--ink)}
.cq-hero-img{border-radius:20px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 20px 50px rgba(60,45,20,.14)}
.cq-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.cq-layout{max-width:1240px;margin:0 auto;padding:24px 32px 72px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.cq-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 32px 26px;box-shadow:0 10px 30px rgba(60,45,20,.06)}
.cq-progress{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 28px;padding:0}
.cq-progress li{font-size:12.5px;font-weight:600;color:#a39c90;display:flex;align-items:center;gap:8px;padding-top:12px;border-top:3px solid var(--line)}
.cq-progress li span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--soft);border:1px solid var(--line);color:#a39c90;flex:none}
.cq-progress li.is-done,.cq-progress li.is-current{color:var(--ink);border-top-color:var(--gold)}
.cq-progress li.is-done span,.cq-progress li.is-current span{background:var(--gold);border-color:var(--gold);color:#fff}
.cq-step{border:0;margin:0;padding:0;min-width:0;display:none}
.cq-step.is-active{display:block;animation:cqIn .25s ease}
@keyframes cqIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cq-step legend{font:600 26px/1.2 "Playfair Display",Georgia,serif;margin:0 0 6px;padding:0}
.cq-hint{color:var(--muted);margin:0 0 20px;font-size:15px}
.cq-sub{font-size:14px;font-weight:700;margin:24px 0 10px}
.cq-sub small{font-weight:400;color:var(--muted)}
.cq-styles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.cq-style{position:relative;cursor:pointer;border:2px solid var(--line);border-radius:14px;overflow:hidden;background:var(--soft);transition:border-color .15s,transform .15s}
.cq-style:hover{transform:translateY(-2px);border-color:#d6c7a9}
.cq-style input{position:absolute;opacity:0;pointer-events:none}
.cq-style .ph{aspect-ratio:5/4;background:#efe8dc;display:grid;place-items:center;font-size:30px;color:#86642a}
.cq-style .ph img{width:100%;height:100%;object-fit:cover;display:block}
.cq-style b{display:block;font-size:13.5px;padding:10px 12px;line-height:1.3}
.cq-style:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 3px rgba(181,139,69,.18)}
.cq-style:has(input:checked)::after{content:"✓";position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700}
.cq-style:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.cq label{font-size:13px;font-weight:600;color:var(--ink)}
.cq input:not([type=radio]):not([type=checkbox]):not([type=file]),.cq select,.cq textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #d9d1c2;border-radius:10px;font:inherit;font-size:15px;font-weight:400;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.cq input:focus,.cq select:focus,.cq textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(181,139,69,.15)}
.cq .is-invalid{border-color:#b4473b!important;box-shadow:0 0 0 3px rgba(180,71,59,.12)!important}
.cq-row{display:grid;gap:14px}
.cq-two{grid-template-columns:1fr 1fr;margin-top:22px}
.cq-wide{grid-column:1/-1}
.cq-dims{grid-template-columns:1fr auto 1fr auto 1fr auto;align-items:end}
.cq-x{padding-bottom:13px;color:#a39c90;font-size:18px}
.cq-unit{display:flex;border:1px solid #d9d1c2;border-radius:10px;overflow:hidden;height:46px}
.cq-unit label{display:flex}
.cq-unit input{position:absolute;opacity:0}
.cq-unit span{display:grid;place-items:center;padding:0 14px;font-size:14px;cursor:pointer;color:var(--muted)}
.cq-unit input:checked+span{background:var(--ink);color:#fff}
.cq-chips{display:flex;flex-wrap:wrap;gap:8px}
.cq-chips label{position:relative}
.cq-chips input[type=radio],.cq-chips input[type=checkbox]{position:absolute;opacity:0}
.cq-chips span{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #d9d1c2;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;background:#fff;transition:.15s}
.cq-chips span i{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.15);display:inline-block}
.cq-chips span:hover{border-color:var(--gold)}
.cq-chips input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.cq-multi input:checked+span::before{content:"✓";font-weight:700;color:var(--gold2)}
.cq-chips input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.cq-other input{width:120px!important;margin:0!important;padding:10px 14px!important;border-radius:999px!important}
.cq-block{display:block;margin-top:22px}
.cq-drop{margin-top:16px;display:flex;align-items:center;gap:14px;padding:16px 18px;border:1.5px dashed #d2c6af;border-radius:14px;background:var(--soft);cursor:pointer;transition:border-color .15s;position:relative}
.cq-drop:hover,.cq-drop.is-over{border-color:var(--gold)}
.cq-drop input{position:absolute;width:1px;height:1px;opacity:0}
.cq-drop-icon{width:40px;height:40px;border-radius:50%;border:1px solid #d2c6af;display:grid;place-items:center;color:#86642a;font-size:18px;flex:none;background:#fff}
.cq-drop b{display:block;font-size:14px}
.cq-drop small{display:block;font-weight:400;color:var(--muted);font-size:12.5px;margin-top:2px}
.cq-files{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.cq-files li{display:flex;justify-content:space-between;gap:10px;font-size:13px;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.cq-files button{border:0;background:none;color:#a8382e;cursor:pointer;font:inherit;font-size:12.5px}
.cq-consent{display:flex;gap:10px;align-items:flex-start;margin-top:20px;font-weight:400!important;font-size:14px!important;color:var(--muted)!important}
.cq-consent input{margin-top:3px;width:17px;height:17px;accent-color:var(--gold)}
.cq-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.cq-nav{display:flex;align-items:center;gap:12px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.cq-stepcount{margin-right:auto;font-size:13px;color:var(--muted)}
.cq-back{order:-1}
.cq-btn{border:0;border-radius:12px;padding:14px 26px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:.15s}
.cq-back{background:#fff;border:1px solid #d9d1c2;color:var(--ink)}
.cq-back:hover{border-color:var(--gold)}
.cq-next,.cq-submit{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#1b150b}
.cq-next:hover,.cq-submit:hover{filter:brightness(1.06);transform:translateY(-1px)}
.cq-submit[disabled]{opacity:.6;cursor:wait;transform:none}
.cq-btn[hidden]{display:none}
.cq-error{color:#a8382e;font-size:13.5px;margin:10px 0 0}
.cq-error:empty{display:none}
.cq-summary{position:sticky;top:96px;display:grid;gap:16px}
.cq-sum-card,.cq-next-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.cq-sum-img{border-radius:12px;overflow:hidden;aspect-ratio:5/4;background:#efe8dc;margin-bottom:14px}
.cq-sum-img img{width:100%;height:100%;object-fit:cover;display:block}
.cq-sum-card dl{margin:0;display:grid}
.cq-sum-card dl div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #f0ebe1;font-size:13.5px}
.cq-sum-card dl div:last-child{border-bottom:0}
.cq-sum-card dt{color:var(--muted)}
.cq-sum-card dd{margin:0;font-weight:600;text-align:right}
.cq-next-card{background:var(--green);border-color:var(--green);color:#e3ebe6}
.cq-next-card h3{font:600 20px "Playfair Display",Georgia,serif;color:#fff;margin:0 0 12px}
.cq-next-card ol{margin:0;padding-left:18px;display:grid;gap:8px;font-size:14px;line-height:1.5}
.cq-next-card b{color:var(--gold2)}
.cq ~ .rcb-footer .rcb-f-cta{display:none}
@media (max-width:980px){.cq-hero{grid-template-columns:1fr;gap:28px}.cq-hero-img{max-height:300px}.cq-layout{grid-template-columns:1fr}.cq-summary{position:static;grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cq-hero{padding:28px 20px 8px}.cq-layout{padding:16px 16px 56px}.cq-card{padding:22px 18px;border-radius:16px}
 .cq-progress{gap:4px}.cq-progress li{font-size:0;gap:0;justify-content:center}.cq-progress li span{font-size:12px}
 .cq-step legend{font-size:22px}.cq-styles{grid-template-columns:1fr 1fr}.cq-two{grid-template-columns:1fr}
 .cq-dims{grid-template-columns:1fr auto 1fr auto 1fr}.cq-unit{grid-column:1/-1;width:max-content}
 .cq-summary{grid-template-columns:1fr}.cq-nav{flex-wrap:wrap}.cq-next,.cq-submit{flex:1}.cq-stepcount{width:100%;order:-2;margin:0}}
/* Continue button nudge after choosing a style (Claude) */
@keyframes cqPulse{0%{box-shadow:0 0 0 0 rgba(181,139,69,.55)}70%{box-shadow:0 0 0 14px rgba(181,139,69,0)}100%{box-shadow:0 0 0 0 rgba(181,139,69,0)}}
.cq-pulse{animation:cqPulse 1.1s ease-out 2}
/* READABLE TYPE (Claude) */
.cq-progress li{font-size:14px!important}
.cq-step p.cq-hint{font-size:16px!important}
.cq-style b{font-size:14px!important}
.cq-nav span.cq-stepcount{font-size:14px!important}
.cq-sum-card dt{font-size:14px!important}
.cq-sum-card dd{font-size:14px!important}
/* END READABLE TYPE */