/* GBM Quote Request – uses the GBM theme's colour variables, with fallbacks */
.gbm-qr{
	--qr-green:var(--green-700,#1a5c42);
	--qr-ink:var(--ink,#14231c);
	--qr-body:var(--body,#47554e);
	--qr-muted:var(--muted,#71807a);
	--qr-line:var(--line,#dfe6e2);
	--qr-tint:#eef5f1;
	max-width:860px;margin:0 auto;background:#fff;border:1px solid var(--qr-line);border-radius:14px;
	padding:36px 40px;box-shadow:0 10px 30px rgba(20,35,28,.06);color:var(--qr-body);
}
.gbm-qr *{box-sizing:border-box;}
.gbm-qr [hidden]{display:none!important;}
.gbm-qr-progress{margin-bottom:28px;}
.gbm-qr-progress-bar{height:6px;background:var(--qr-tint);border-radius:6px;overflow:hidden;}
.gbm-qr-progress-bar span{display:block;height:100%;background:var(--qr-green);border-radius:6px;transition:width .3s ease;}
#gbm-qr .gbm-qr-steps{display:flex;justify-content:space-between;list-style:none;margin:12px 0 0;padding:0;font-size:12.5px;font-weight:600;color:var(--qr-muted);text-transform:uppercase;letter-spacing:.5px;}
.gbm-qr-steps li.is-active{color:var(--qr-green);}
.gbm-qr-steps li.is-done{color:var(--qr-ink);}
.gbm-qr-step{border:0;margin:0;padding:0;min-width:0;}
.gbm-qr-step legend{font-family:var(--font-head,inherit);font-size:24px;font-weight:800;color:var(--qr-ink);margin:0 0 6px;padding:0;}
.gbm-qr-help{font-size:14px;color:var(--qr-muted);margin:0 0 16px;}
.gbm-qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:6px 0 18px;}
.gbm-qr-choice{position:relative;display:block;cursor:pointer;}
.gbm-qr-choice input{position:absolute;opacity:0;width:1px;height:1px;}
.gbm-qr-choice span{display:block;padding:12px 14px 12px 40px;border:1.5px solid var(--qr-line);border-radius:10px;font-size:14.5px;font-weight:600;color:var(--qr-ink);transition:border-color .15s,background .15s;position:relative;line-height:1.35;}
.gbm-qr-choice span::before{content:"";position:absolute;left:14px;top:50%;width:16px;height:16px;margin-top:-8px;border:1.5px solid var(--qr-muted);border-radius:4px;background:#fff;}
.gbm-qr-choice input[type="radio"] + span::before{border-radius:50%;}
.gbm-qr-choice input:checked + span{border-color:var(--qr-green);background:var(--qr-tint);}
.gbm-qr-choice input:checked + span::before{background:var(--qr-green);border-color:var(--qr-green);box-shadow:inset 0 0 0 3px #fff;}
.gbm-qr-choice input:focus-visible + span{outline:2px solid var(--qr-green);outline-offset:2px;}
.gbm-qr-field{display:block;margin:0 0 18px;font-size:14.5px;font-weight:600;color:var(--qr-ink);}
.gbm-qr-label{display:block;margin-bottom:4px;}
.gbm-qr-opt{font-weight:400;color:var(--qr-muted);}
.gbm-qr-field input[type="text"],.gbm-qr-field input[type="email"],.gbm-qr-field input[type="tel"],.gbm-qr-field input[type="number"],
.gbm-qr-field input[type="month"],.gbm-qr-field select,.gbm-qr-field textarea{
	display:block;width:100%;margin-top:6px;padding:11px 13px;border:1.5px solid var(--qr-line);border-radius:9px;font:inherit;font-weight:400;color:var(--qr-ink);background:#fff;
}
.gbm-qr-field input[type="file"]{display:block;margin-top:8px;font-weight:400;font-size:14px;}
.gbm-qr-field input:focus,.gbm-qr-field select:focus,.gbm-qr-field textarea:focus{outline:none;border-color:var(--qr-green);box-shadow:0 0 0 3px rgba(26,92,66,.12);}
.gbm-qr-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 18px;}
.gbm-qr-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:4px 0 18px;line-height:1.5;}
.gbm-qr-consent input{margin-top:3px;flex:0 0 auto;width:17px;height:17px;accent-color:var(--qr-green);}
.gbm-qr-consent a{color:var(--qr-green);text-decoration:underline;}
.gbm-qr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.gbm-qr-error{background:#fdf0ef;border:1px solid #f2c4bf;color:#9b2c1f;border-radius:9px;padding:12px 14px;font-size:14.5px;margin:4px 0 16px;}
.gbm-qr-nav{display:flex;justify-content:space-between;gap:12px;margin-top:10px;padding-top:22px;border-top:1px solid var(--qr-line);}
.gbm-qr-nav .gbm-qr-next,.gbm-qr-nav .gbm-qr-submit{margin-left:auto;}
.gbm-qr-nav button[disabled]{opacity:.6;cursor:wait;}
.gbm-qr-done{text-align:center;padding:30px 10px;}
.gbm-qr-done h2{font-size:26px;color:var(--qr-ink);margin:0 0 10px;}
.gbm-qr-done p{font-size:16px;margin:0;}
.gbm-qr .cf-turnstile{margin:0 0 14px;}
@media (max-width:640px){
	.gbm-qr{padding:24px 18px;border-radius:12px;}
	#gbm-qr .gbm-qr-steps li{display:none;}
	#gbm-qr .gbm-qr-steps li.is-active{display:block;}
	.gbm-qr-step legend{font-size:21px;}
	.gbm-qr-grid{grid-template-columns:1fr;}
}
