/* Patient Satisfaction Survey — branded, self-contained form styling. */
.acb-survey{--sv-navy:#092c74;--sv-navy-900:#061a47;--sv-azure:#2585e8;--sv-azure-2:#0a4fc4;--sv-gold:#f5a623;--sv-ink:#13233c;--sv-muted:#5b6b82;--sv-line:#e3e9f2;--sv-bg:#f4f7fc;
	max-width:840px;margin:0 auto;color:var(--sv-ink);font-family:inherit}
.acb-survey *{box-sizing:border-box}
.acb-survey-form{background:#fff;border:1px solid var(--sv-line);border-radius:22px;box-shadow:0 30px 80px rgba(9,44,116,.12);overflow:hidden}
.acb-survey-head{background:radial-gradient(120% 140% at 85% 0%,#0c317f,#061a47);color:#fff;padding:clamp(28px,4vw,44px) clamp(24px,4vw,44px)}
.acb-survey-eyebrow{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9fc3f5;margin-bottom:10px}
.acb-survey-head h2{margin:0 0 8px;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.15;color:#fff}
.acb-survey-head p{margin:0;color:#cfe0f7;font-size:1rem;line-height:1.55;max-width:60ch}
.acb-survey-body{padding:clamp(20px,3.5vw,38px)}
.acb-survey-msg{margin:0 clamp(20px,3.5vw,38px);margin-top:18px;background:#fdecec;border:1px solid #f3c2c2;color:#a12626;padding:12px 16px;border-radius:12px;font-weight:600;font-size:.92rem}

.acb-survey-block{border:0;border-top:1px solid var(--sv-line);margin:0;padding:26px 0 4px}
.acb-survey-block:first-child{border-top:0;padding-top:4px}
.acb-survey-block > legend{font-size:1.06rem;font-weight:800;color:var(--sv-navy-900);padding:0;margin-bottom:16px}

.acb-survey-rate{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--sv-line);flex-wrap:wrap}
.acb-survey-rate:last-child{border-bottom:0}
.acb-survey-rate__label{font-size:.96rem;color:var(--sv-ink);font-weight:600;flex:1;min-width:220px}
.acb-survey-rate__label em{color:#d33;font-style:normal}
.acb-survey-stars{display:inline-flex;gap:4px}
.acb-survey-star{background:none;border:0;padding:2px;cursor:pointer;color:#d7deea;line-height:0;transition:transform .12s,color .12s}
.acb-survey-star svg{fill:currentColor}
.acb-survey-star:hover{transform:scale(1.12)}
.acb-survey-star.is-on{color:var(--sv-gold)}

.acb-survey-nps{display:flex;flex-wrap:wrap;gap:8px}
.acb-survey-nps__btn{flex:1;min-width:42px;height:46px;border:1.5px solid var(--sv-line);background:#fff;border-radius:10px;font-weight:800;font-size:1rem;color:var(--sv-navy);cursor:pointer;transition:all .15s}
.acb-survey-nps__btn:hover{border-color:var(--sv-azure);color:var(--sv-azure-2)}
.acb-survey-nps__btn.is-on{background:linear-gradient(135deg,var(--sv-azure),var(--sv-azure-2));border-color:transparent;color:#fff;box-shadow:0 8px 20px rgba(37,133,232,.35)}
.acb-survey-nps__scale{display:flex;justify-content:space-between;margin-top:8px;color:var(--sv-muted);font-size:.8rem;font-weight:600}

.acb-survey-field{display:block;margin:0 0 14px}
.acb-survey-field > span{display:block;font-size:.86rem;font-weight:700;color:var(--sv-muted);margin-bottom:6px}
.acb-survey-field input,.acb-survey-field select,.acb-survey-field textarea{width:100%;border:1.5px solid var(--sv-line);border-radius:12px;padding:12px 14px;font:inherit;color:var(--sv-ink);background:#fff;transition:border-color .15s,box-shadow .15s}
.acb-survey-field input:focus,.acb-survey-field select:focus,.acb-survey-field textarea:focus{outline:0;border-color:var(--sv-azure);box-shadow:0 0 0 3px rgba(37,133,232,.15)}
.acb-survey-field textarea{resize:vertical;min-height:74px}
.acb-survey-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.acb-survey-check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--sv-ink);margin-top:6px;line-height:1.45}
.acb-survey-check input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--sv-azure)}

.acb-survey-submit{display:block;width:calc(100% - clamp(40px,7vw,76px));margin:8px clamp(20px,3.5vw,38px) clamp(24px,3.5vw,38px);padding:16px 24px;border:0;border-radius:999px;background:linear-gradient(135deg,#ffb44d,var(--sv-gold));color:#3a1d00;font-weight:800;font-size:1.05rem;cursor:pointer;box-shadow:0 14px 32px rgba(245,166,35,.4);transition:transform .2s,box-shadow .2s}
.acb-survey-submit:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(245,166,35,.5)}
.acb-survey-submit:disabled{opacity:.7;cursor:default;transform:none}

.acb-survey-done{background:#fff;border:1px solid var(--sv-line);border-radius:22px;box-shadow:0 30px 80px rgba(9,44,116,.12);padding:clamp(40px,6vw,72px) 30px;text-align:center}
.acb-survey-done__ic{width:74px;height:74px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e7faf0;color:#0f9d58}
.acb-survey-done h3{margin:0 0 8px;font-size:1.5rem;color:var(--sv-navy-900);font-weight:800}
.acb-survey-done p{margin:0;color:var(--sv-muted);font-size:1.02rem}

@media(max-width:600px){
	.acb-survey-grid{grid-template-columns:1fr}
	.acb-survey-rate__label{min-width:100%}
	.acb-survey-nps__btn{min-width:0;flex:1 1 16%}
}

/* Would-you-choose-again segmented control */
.acb-survey-choose{display:flex;flex-wrap:wrap;gap:10px}
.acb-survey-choose label{flex:1;min-width:120px;position:relative;cursor:pointer}
.acb-survey-choose input{position:absolute;opacity:0;inset:0;cursor:pointer}
.acb-survey-choose span{display:block;text-align:center;padding:13px 14px;border:1.5px solid var(--sv-line);border-radius:12px;font-weight:700;color:var(--sv-navy);transition:all .15s}
.acb-survey-choose label:hover span{border-color:var(--sv-azure);color:var(--sv-azure-2)}
.acb-survey-choose input:checked + span{background:linear-gradient(135deg,var(--sv-azure),var(--sv-azure-2));border-color:transparent;color:#fff;box-shadow:0 8px 20px rgba(37,133,232,.3)}
.acb-survey-choose input:focus-visible + span{outline:2px solid var(--sv-azure);outline-offset:2px}

/* How did you find us? — checkbox grid */
.acb-survey-sources{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.acb-survey-src{display:flex;align-items:center;gap:10px;border:1.5px solid var(--sv-line);border-radius:12px;padding:12px 14px;cursor:pointer;font-size:.94rem;color:var(--sv-ink);transition:border-color .15s,background .15s}
.acb-survey-src:hover{border-color:var(--sv-azure)}
.acb-survey-src input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--sv-azure);cursor:pointer}
.acb-survey-src:has(input:checked){border-color:var(--sv-azure);background:var(--sv-azure-soft,#e9f1fd)}
.acb-survey-srcother{margin-top:12px}
@media(max-width:600px){.acb-survey-sources{grid-template-columns:1fr}}
