/* TurnCrew Instant Quote Calculator — scoped to .tcq-* */
.tcq-overlay{
	--tcq-navy:#14213D; --tcq-orange:#F2711C; --tcq-orange-deep:#CC5A0F; --tcq-tint:#FDEEE1;
	--tcq-line:#DEE2E8; --tcq-muted:#566073;
	position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center;
	padding:20px; background:rgba(13,23,41,.75); opacity:0; transition:opacity .2s ease;
	font-family:"Inter",sans-serif; color:var(--tcq-navy);
}
.tcq-overlay[hidden]{display:none;}
.tcq-overlay.is-open{opacity:1;}
html.tcq-lock{overflow:hidden;}

.tcq-modal{
	position:relative; width:100%; max-width:560px; max-height:90vh; max-height:90dvh; overflow-y:auto;
	background:#fff; border:1px solid var(--tcq-line); transform:translateY(8px); transition:transform .2s ease;
}
.tcq-overlay.is-open .tcq-modal{transform:none;}
.tcq-modal::before,.tcq-modal::after{content:"";position:absolute;width:18px;height:18px;border:2px solid var(--tcq-orange);z-index:1;pointer-events:none;}
.tcq-modal::before{top:-1px;left:-1px;border-right:0;border-bottom:0;}
.tcq-modal::after{bottom:-1px;right:-1px;border-left:0;border-top:0;}

.tcq-head{background:var(--tcq-navy);color:#fff;padding:20px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.tcq-title{margin:0;color:#fff;font-family:"Space Grotesk",sans-serif;font-size:17px;font-weight:700;line-height:1.3;}
.tcq-close{background:none;border:0;color:#B7C0D2;font-size:26px;line-height:1;cursor:pointer;padding:4px 8px;margin:-4px -8px;}
.tcq-close:hover,.tcq-close:focus-visible{color:#fff;}

.tcq-progress{display:flex;gap:6px;padding:16px 28px 0;}
.tcq-dot{flex:1;height:3px;background:var(--tcq-line);border-radius:2px;transition:background .2s ease;}
.tcq-dot.is-active{background:var(--tcq-orange);}
.tcq-stepcount{margin:10px 28px 0;font-size:12px;font-weight:600;color:var(--tcq-muted);letter-spacing:.3px;}

.tcq-body{padding:16px 28px 28px;margin:0;}
.tcq-step[hidden]{display:none;}
.tcq-options{border:0;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0;}
.tcq-q{font-family:"Space Grotesk",sans-serif;font-size:16px;font-weight:700;color:var(--tcq-navy);margin:0 0 6px;padding:0;}
.tcq-hint{margin:-4px 0 2px;font-size:13px;color:var(--tcq-muted);}

.tcq-option{position:relative;display:flex;align-items:center;border:1.5px solid var(--tcq-line);padding:13px 16px;cursor:pointer;font-size:14.5px;line-height:1.4;transition:border-color .15s ease,background-color .15s ease;}
.tcq-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0;}
.tcq-option:hover{border-color:var(--tcq-orange);}
.tcq-option.is-selected,.tcq-option:has(input:checked){border-color:var(--tcq-orange);background:var(--tcq-tint);font-weight:600;}
.tcq-option:has(input:focus-visible){outline:2px solid var(--tcq-navy);outline-offset:2px;}
.tcq-option input[type=checkbox] + span::before{content:"";display:inline-block;width:14px;height:14px;border:1.5px solid var(--tcq-muted);margin-right:10px;vertical-align:-2px;transition:all .15s ease;}
.tcq-option input[type=checkbox]:checked + span::before{background:var(--tcq-orange);border-color:var(--tcq-orange);box-shadow:inset 0 0 0 2px #fff;}

.tcq-field{margin-bottom:10px;}
.tcq-field label{display:block;font-size:13px;font-weight:600;color:var(--tcq-muted);margin-bottom:6px;}
.tcq-field input,.tcq-field textarea{width:100%;box-sizing:border-box;padding:11px 14px;border:1.5px solid var(--tcq-line);border-radius:0;font:inherit;font-size:16px;color:var(--tcq-navy);background:#fff;}
.tcq-field input:focus,.tcq-field textarea:focus{outline:none;border-color:var(--tcq-orange);}
.tcq-field input[aria-invalid=true]{border-color:#B42318;}
.tcq-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--tcq-muted);cursor:pointer;line-height:1.5;}
.tcq-check input{margin-top:3px;accent-color:var(--tcq-orange);width:16px;height:16px;flex:none;}
.tcq-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.tcq-nav{display:flex;justify-content:space-between;gap:12px;margin-top:8px;}
.tcq-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 14.5px/1.2 "Inter",sans-serif;padding:13px 24px;border-radius:3px;border:0;cursor:pointer;text-decoration:none;transition:background-color .15s ease,color .15s ease;}
.tcq-btn-orange{background:var(--tcq-orange);color:#fff;}
.tcq-btn-orange:hover,.tcq-btn-orange:focus-visible{background:var(--tcq-orange-deep);}
.tcq-btn-orange[disabled]{opacity:.7;cursor:wait;}
.tcq-btn-outline{background:transparent;color:var(--tcq-navy);border:1.5px solid var(--tcq-navy);padding:11.5px 22px;}
.tcq-btn-outline:hover,.tcq-btn-outline:focus-visible{background:var(--tcq-navy);color:#fff;}
.tcq-btn:focus-visible{outline:2px solid var(--tcq-navy);outline-offset:2px;}

.tcq-error{margin:14px 0 0;padding:10px 14px;background:#FEF3F2;border-left:3px solid #B42318;color:#912018;font-size:13.5px;}
.tcq-error[hidden]{display:none;}

.tcq-result{text-align:center;padding:10px 0;}
.tcq-result p{color:var(--tcq-muted);font-size:14px;margin:0 0 10px;}
.tcq-result .tcq-price{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:36px;line-height:1.2;color:var(--tcq-orange-deep);margin:14px 0;}
.tcq-result .tcq-term{font-weight:600;color:var(--tcq-navy);}
.tcq-result .tcq-warn{color:#912018;}
.tcq-result .tcq-btn{margin-top:10px;}

@media (max-width:480px){
	.tcq-overlay{padding:12px;align-items:flex-end;}
	.tcq-modal{max-height:92vh;max-height:92dvh;}
	.tcq-head,.tcq-body{padding-left:20px;padding-right:20px;}
	.tcq-progress{padding-left:20px;padding-right:20px;}
	.tcq-stepcount{margin-left:20px;}
	.tcq-btn{padding:13px 18px;}
	.tcq-result .tcq-price{font-size:30px;}
}
@media (prefers-reduced-motion:reduce){
	.tcq-overlay,.tcq-modal{transition:none;}
}
