/* ════════ EXPERT SECOND OPINIONS — [cardiac_second_opinion] ════════
   Only the pieces the paid review screens don't already have (cbt-booking-flow.css
   .cbt-pr-*): referral-type tiles, search, info popup, FAQ, upload box, file rows. */
#cbt-wrap .cbt-so-ini{display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:#fff0f0; color:var(--pr-red); font-size:14px; font-weight:600; letter-spacing:.5px}
#cbt-wrap .cbt-so-lede{max-width:64ch; margin:-12px auto 40px; text-align:center; font-size:14px; line-height:1.6; color:var(--pr-mute)}
#cbt-wrap .cbt-so-form .field input:disabled{opacity:.7; cursor:not-allowed; background:#f5f5f4}
/* ---- screen 1: referral types ---- */
#cbt-wrap .cbt-so-types{max-width:1060px; margin:0 auto}
#cbt-wrap .cbt-so-types-hd{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:14px}
#cbt-wrap .cbt-so-types-hd .cbt-pr-h2{margin:0}
#cbt-wrap .cbt-so-search{position:relative; display:block; width:min(260px,100%); margin:0}
#cbt-wrap .cbt-so-search input{width:100%; height:40px; margin:0; padding:0 40px 0 18px !important; border:1px solid #E9E8E4 !important; border-radius:999px !important; background:#FBFBF9 !important; box-shadow:none; font:inherit; font-size:12.5px !important; color:var(--ink,#222) !important; box-sizing:border-box}
#cbt-wrap .cbt-so-search input:focus{border-color:var(--pr-red) !important; box-shadow:0 0 0 3px #FFEDED; outline:none}
#cbt-wrap .cbt-so-search svg{position:absolute; right:15px; top:50%; width:15px; height:15px; transform:translateY(-50%); color:var(--ink,#222); pointer-events:none}

#cbt-wrap .cbt-so-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px}
@media (max-width:860px){ #cbt-wrap .cbt-so-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:620px){ #cbt-wrap .cbt-so-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
#cbt-wrap .cbt-so-span{grid-column:1/-1}
#cbt-wrap .cbt-so-tile{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-height:132px; padding:30px 12px 18px; background:#fff; border:1px solid var(--pr-line); text-align:center; cursor:pointer; transition:border-color .15s, box-shadow .15s; outline:none}
#cbt-wrap .cbt-so-tile:hover{border-color:#d6d3cd}
#cbt-wrap .cbt-so-tile:focus-visible, #cbt-wrap .cbt-so-other:focus-visible{box-shadow:0 0 0 3px #FFEDED}
#cbt-wrap .cbt-so-tile.is-selected{border-color:var(--pr-red)}
#cbt-wrap .cbt-so-tile b{font-size:13px; font-weight:600; line-height:1.35; color:var(--ink,#222)}
#cbt-wrap .cbt-so-tile.is-selected b{color:var(--pr-red)}
#cbt-wrap .cbt-so-tile-ico{display:inline-flex; color:var(--pr-red)}
#cbt-wrap .cbt-so-tile-ico svg{width:28px; height:28px}
#cbt-wrap .cbt-so-radio{position:absolute; top:12px; left:12px; display:inline-flex; align-items:center; justify-content:center; width:17px; height:17px; border-radius:50%; border:1.5px solid #cfcdc7; background:#fff}
#cbt-wrap .cbt-so-tile.is-selected .cbt-so-radio{border-color:var(--pr-red); background:var(--pr-red); color:#fff}
#cbt-wrap .cbt-so-radio svg{width:10px; height:10px}
#cbt-wrap .cbt-so-info{margin:-4px 0 0; padding:2px 4px !important; border:none !important; background:none !important; box-shadow:none !important; font:inherit; font-size:11.5px; color:var(--pr-mute) !important; cursor:pointer}
#cbt-wrap .cbt-so-info:hover{color:var(--ink,#222) !important}

#cbt-wrap .cbt-so-other{display:flex; align-items:center; gap:18px; max-width:610px; margin:12px 0 0; padding:20px 22px; background:#fff; border:1px solid var(--pr-line); box-shadow:0 8px 24px rgba(34,34,34,.06); cursor:pointer; outline:none}
#cbt-wrap .cbt-so-other.is-selected{border-color:var(--pr-red)}
#cbt-wrap .cbt-so-other b{display:block; font-size:13.5px; font-weight:600; color:var(--ink,#222)}
#cbt-wrap .cbt-so-other.is-selected b{color:var(--pr-red)}
#cbt-wrap .cbt-so-other span{display:block; margin-top:2px; font-size:11.5px; color:var(--pr-mute); line-height:1.5}
#cbt-wrap .cbt-so-actions{display:flex; justify-content:flex-end; margin-top:24px}
#cbt-wrap .cbt-so-actions .cbt-pr-cta{min-width:124px}

/* "View Info" popup */
#cbt-wrap .cbt-so-modal{position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(20,20,20,.45)}
#cbt-wrap .cbt-so-modal-card{width:min(440px,100%); max-height:90vh; overflow:auto; padding:28px 26px 24px; background:#fff; text-align:center; box-shadow:0 20px 50px rgba(0,0,0,.18)}
#cbt-wrap .cbt-so-modal-card h3{margin:10px 0 10px; font-size:18px; font-weight:600; color:var(--ink,#222)}
#cbt-wrap .cbt-so-modal-card p{margin:0 0 14px; font-size:13px; line-height:1.6; color:var(--ink-2,#574f4f)}
#cbt-wrap .cbt-so-modal-price b{color:var(--pr-red)}

/* FAQ */
#cbt-wrap .cbt-so-faq{max-width:1060px; margin:70px auto 10px}
#cbt-wrap .cbt-so-eyebrow{display:flex; align-items:center; justify-content:center; gap:14px; margin:0 0 6px; font-size:11.5px; color:var(--pr-mute)}
#cbt-wrap .cbt-so-eyebrow::before, #cbt-wrap .cbt-so-eyebrow::after{content:''; width:60px; height:1px; background:var(--pr-red)}
#cbt-wrap .cbt-so-faq-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px}
@media (max-width:820px){ #cbt-wrap .cbt-so-faq-grid{grid-template-columns:minmax(0,1fr); gap:14px} }
#cbt-wrap .cbt-so-faq-card{padding:28px 28px 30px; background:#fff; border:1px solid var(--pr-line)}
#cbt-wrap .cbt-so-faq-card svg{width:34px; height:34px; color:var(--pr-red)}
#cbt-wrap .cbt-so-faq-card h3{margin:24px 0 8px; font-size:14.5px; font-weight:600; line-height:1.4; color:var(--ink,#222)}
#cbt-wrap .cbt-so-faq-card p{margin:0; font-size:12px; line-height:1.6; color:var(--ink-2,#574f4f)}

/* ---- screen 2 ---- */
#cbt-wrap .cbt-so-type-line{margin:-6px 0 14px; font-size:11.5px; color:var(--pr-mute)}
#cbt-wrap .cbt-so-type-line b{color:var(--ink,#222); font-weight:600}
#cbt-wrap .cbt-so-link{margin:0 0 0 4px; padding:0 !important; border:none !important; background:none !important; box-shadow:none !important; font:inherit; color:var(--pr-red) !important; text-decoration:underline; cursor:pointer}

/* ---- screen 3: referral form ---- */
#cbt-wrap .cbt-so-form .cbt-so-form-sub{padding-bottom:18px; margin-bottom:22px; border-bottom:1px solid var(--pr-line)}
#cbt-wrap .cbt-so-sec{margin:0 0 16px; font-size:16px; font-weight:600; color:var(--ink,#222)}
#cbt-wrap .cbt-so-form .cbt-pr-form + .cbt-so-sec{margin-top:26px; padding-top:22px; border-top:1px solid var(--pr-line)}
#cbt-wrap .cbt-pr-form textarea{width:100%; min-height:120px; margin:0; padding:14px 18px !important; font-family:inherit; font-size:12.5px !important; line-height:1.5; color:var(--ink,#222) !important; background:#FBFBF9 !important; border:1px solid #E9E8E4 !important; border-radius:18px !important; box-shadow:none; resize:vertical; box-sizing:border-box}
#cbt-wrap .cbt-pr-form textarea:focus{border-color:var(--pr-red) !important; box-shadow:0 0 0 3px #FFEDED; outline:none}
#cbt-wrap .cbt-pr-form textarea:disabled{opacity:.75}

/* upload box + file rows (form and "Add more documents") */
#cbt-wrap .cbt-so-drop{display:flex; align-items:center; justify-content:center; gap:8px; min-height:86px; margin:0; padding:16px; background:#FBFBF9; border:1px solid #E9E8E4; border-radius:22px; font-size:13px; font-weight:500; color:var(--ink,#222); cursor:pointer; transition:border-color .15s, background .15s}
/* beats the form's generic ".field > label" rule (display:block, small text) */
#cbt-wrap .cbt-pr-form .field > label.cbt-so-drop{display:flex; margin:0; font-size:13px; font-weight:500}
#cbt-wrap .cbt-so-drop:hover, #cbt-wrap .cbt-so-drop.is-over{border-color:var(--pr-red); background:#FFF8F8}
#cbt-wrap .cbt-so-drop.is-disabled{cursor:not-allowed; opacity:.55}
#cbt-wrap .cbt-so-drop.is-disabled:hover{border-color:#E9E8E4; background:#FBFBF9}
#cbt-wrap .cbt-so-drop input{position:absolute; width:1px; height:1px; opacity:0; pointer-events:none}
#cbt-wrap .cbt-so-drop svg{width:16px; height:16px}
#cbt-wrap .field.has-error .cbt-so-drop{border-color:#dc2626}
#cbt-wrap .cbt-so-hint{margin:6px 0 0 12px; font-size:10.5px; color:var(--pr-mute)}
#cbt-wrap .cbt-so-files{display:flex; flex-direction:column; gap:8px; margin-top:10px}
#cbt-wrap .cbt-so-files:empty{display:none}
#cbt-wrap .cbt-so-file{display:flex; align-items:center; gap:12px; padding:12px 14px; background:#fff; border:1px solid var(--pr-line)}
#cbt-wrap .cbt-so-file.has-error{border-color:#f3c4c4; background:#FFFBFB}
#cbt-wrap .cbt-so-file-ico{display:inline-flex; color:var(--pr-red)}
#cbt-wrap .cbt-so-file-ico svg{width:17px; height:17px}
#cbt-wrap .cbt-so-file-body{flex:1; min-width:0}
#cbt-wrap .cbt-so-file-body b{display:block; font-size:12.5px; font-weight:600; color:var(--ink,#222); overflow:hidden; text-overflow:ellipsis; white-space:nowrap !important}
#cbt-wrap .cbt-so-file-body span{display:inline-flex; align-items:center; gap:4px; font-size:10.5px; color:var(--pr-mute)}
#cbt-wrap .cbt-so-file-body .is-ok{color:#15803d}
#cbt-wrap .cbt-so-file-body .is-ok svg{width:11px; height:11px}
#cbt-wrap .cbt-so-file-body .is-bad{color:#dc2626}
#cbt-wrap .cbt-so-file-del{display:inline-flex !important; align-items:center; justify-content:center; flex-shrink:0; width:30px; height:30px; padding:0 !important; margin:0; border:1px solid var(--pr-line) !important; border-radius:50% !important; background:#fff !important; color:var(--ink,#222) !important; cursor:pointer}
#cbt-wrap .cbt-so-file-del:hover{border-color:var(--pr-red) !important; color:var(--pr-red) !important}
#cbt-wrap .cbt-so-file-del svg{width:14px; height:14px}

/* ---- screen 5 ---- */
#cbt-wrap .cbt-so-more .cbt-so-drop{min-height:70px}
#cbt-wrap .cbt-so-retry{margin-top:12px}
