/* ════════════════════════════════════════════
   GAI Study v2 — Google Forms Aesthetic
   ════════════════════════════════════════════ */
*{box-sizing:border-box}

/* ── Defeat specific WP TwentyTwentyFive margin injection ── */
:where(.wp-site-blocks)>*{margin-block-start:0!important;margin-block-end:0!important}
:root :where(.is-layout-flow)>*{margin-block-start:0!important;margin-block-end:0!important}
:root :where(.is-layout-constrained)>*{margin-block-start:0!important;margin-block-end:0!important}
:root :where(.is-layout-flex){gap:0!important}
:root :where(.is-layout-grid){gap:0!important}
body.gf-body{font-family:'Google Sans',Roboto,Helvetica,Arial,sans-serif!important;font-size:.9375rem!important;font-weight:400!important;letter-spacing:0!important;line-height:1.5!important;background:#f0ebf8!important;color:#202124!important;--wp--style--root--padding-top:0!important;--wp--style--root--padding-right:0!important;--wp--style--root--padding-bottom:0!important;--wp--style--root--padding-left:0!important;--wp--style--block-gap:0!important}
body.gf-body .wp-site-blocks{padding:0!important}
body.gf-body h1,body.gf-body h2,body.gf-body h3,body.gf-body h4,body.gf-body h5,body.gf-body h6{font-weight:inherit!important;letter-spacing:inherit!important;line-height:inherit!important;font-size:inherit!important;margin:0}
body.gf-body .gf-card p,body.gf-body .gf-card-id p{margin:0}
body.gf-body .gf-card ul,body.gf-body .gf-card ol{margin:0}
body.gf-body .gf-notice p{margin-top:4px}
body.gf-body .gf-notice ul{margin-top:6px;padding-left:20px}
body.gf-body .gf-notice li{margin-top:3px}
body.gf-body a:where(:not(.wp-element-button)){text-decoration:none!important}

/* ── Page ── */
body.gf-body{min-height:100vh;margin:0;padding:12px 12px 60px}
.gf-wrap{max-width:640px;margin:0 auto}

/* ── Cards ── */
.gf-card{background:#fff;border:1px solid #dadce0;border-radius:8px;margin-bottom:12px;overflow:hidden}
.gf-card-title{overflow:visible}
.gf-accent{height:10px;background:#673ab7;border-radius:8px 8px 0 0}
.gf-body{padding:20px 24px}
.gf-title{font-size:2rem;font-weight:400;color:#202124;margin:0 0 4px;line-height:1.2}
.gf-sub{color:#5f6368;font-size:.875rem;margin:0 0 12px}
.gf-h2{font-size:1.125rem;font-weight:500;color:#202124;margin:0 0 8px;line-height:1.3}
.gf-muted{color:#5f6368;font-size:.875rem;margin:0}
.gf-tiny{color:#5f6368;font-size:.75rem;line-height:1.4;margin:0}
.gf-page-num{text-align:center;color:#5f6368;font-size:.8rem;margin:0 0 8px}

/* ── Progress ── */
.gf-progress{height:4px;background:#e0e0e0;border-radius:2px;margin-top:16px;overflow:hidden}
.gf-progress-fill{height:100%;background:#673ab7;border-radius:2px;transition:width .4s ease}

/* ── Form fields ── */
.gf-field{margin-bottom:16px;margin-top:0}
.gf-label{display:block;font-size:.875rem;color:#202124;margin-bottom:6px;font-weight:500;line-height:1.4;margin-top:0}
.gf-req{color:#c5221f;font-weight:700}
.gf-input{width:100%;padding:10px 0;border:none;border-bottom:1px solid #dadce0;font-size:.9375rem;font-family:inherit;background:transparent;outline:none;transition:border-color .2s;color:#202124;border-radius:0}
.gf-input:focus{border-bottom:2px solid #673ab7;padding-bottom:9px}
select.gf-input{padding:10px 8px;border:1px solid #dadce0;border-radius:4px;background:#fff;cursor:pointer;appearance:auto;-webkit-appearance:auto}
select.gf-input:focus{border-color:#673ab7;box-shadow:0 0 0 1px #673ab7}
.gf-ta{border:1px solid #dadce0;border-radius:4px;padding:12px;min-height:80px;resize:vertical}
.gf-ta:focus{border-color:#673ab7;box-shadow:0 0 0 1px #673ab7}
.gf-sm{padding:8px;border:1px solid #dadce0;border-radius:4px;font-size:.8125rem;margin-bottom:6px}
.gf-sm:focus{border-color:#673ab7;outline:none}
.gf-code{font-size:1.5rem!important;text-align:center;letter-spacing:8px;font-weight:700;border:1px solid #dadce0;border-radius:4px;padding:12px}
.gf-code:focus{border-color:#673ab7;outline:none}
.gf-err{border-color:#c5221f!important}
.gf-row{display:flex;gap:16px}
.gf-half{flex:1}

/* ── Radio options (like Google Forms) ── */
.gf-radios{display:flex;flex-direction:column;gap:8px}
.gf-radio-opt{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #dadce0;border-radius:8px;cursor:pointer;transition:all .15s}
.gf-radio-opt:hover{background:#f8f4fc}
.gf-radio-opt.selected{border-color:#673ab7;background:#f3edf7}
.gf-radio-opt input[type="radio"]{margin-top:3px;accent-color:#673ab7;width:20px;height:20px;flex-shrink:0}
.gf-radio-opt div{display:flex;flex-direction:column}
.gf-radio-opt strong{font-size:.9375rem;color:#202124}
.gf-radio-opt span{font-size:.8125rem;color:#5f6368;margin-top:2px}

/* ── Consent ── */
.gf-consent-scroll{background:#f8f9fa;border:1px solid #dadce0;padding:20px;border-radius:8px;max-height:400px;overflow-y:auto;font-size:.8125rem;line-height:1.7;color:#3c4043;margin-bottom:16px}
.gf-consent-scroll h3{font-size:.9375rem;color:#202124;margin-top:16px}
.gf-consent-scroll h4{font-size:.875rem;color:#202124;margin-top:14px}
.gf-consent-scroll p{margin-top:6px}
.gf-consent-scroll ul,.gf-consent-scroll ol{margin-top:6px;padding-left:24px}
.gf-consent-scroll li{margin-top:4px}
.gf-consent-sig{border-top:1px solid #dadce0;padding-top:16px;margin-top:0}
.gf-check-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;font-size:.875rem;line-height:1.5}
.gf-check-row input[type="checkbox"]{margin-top:2px;width:20px;height:20px;accent-color:#673ab7;flex-shrink:0}
.gf-check-row label{cursor:pointer}

/* ── Buttons ── */
.gf-actions{display:flex;justify-content:space-between;padding:16px 24px;border-top:1px solid #f1f1f1}
.gf-btn{font-family:inherit;font-size:.875rem;font-weight:500;border:none;border-radius:4px;padding:10px 24px;cursor:pointer;transition:all .15s}
.gf-btn-primary{background:#673ab7;color:#fff}
.gf-btn-primary:hover{background:#5e35a1;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.gf-btn-primary:disabled{opacity:.5;cursor:not-allowed}
.gf-btn-text{background:transparent;color:#673ab7;padding:10px 16px}
.gf-btn-text:hover{background:#f3edf7}
.gf-full{width:100%}

/* ── Notices ── */
.gf-notice{padding:14px 16px;border-radius:8px;margin:10px 0 0;font-size:.8125rem;line-height:1.6}
.gf-notice:first-child{margin-top:0}
.gf-notice strong{display:block;margin-bottom:2px}
.gf-notice p{margin:4px 0 0}
.gf-notice ul{margin:6px 0 0;padding-left:20px}
.gf-notice li{margin:3px 0 0}
.gf-notice-info{background:#e8f0fe;border-left:4px solid #1a73e8}
.gf-notice-warn{background:#fef7e0;border-left:4px solid #f9ab00}

/* ── Status ── */
.gf-status{margin-top:10px;padding:10px 14px;border-radius:4px;font-weight:500;font-size:.8125rem}
.gf-status-success{background:#e6f4ea;color:#137333}
.gf-status-error{background:#fce8e6;color:#c5221f}

/* ── Slider ── */
.gf-slider{margin:8px 0}
.gf-slider-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#5f6368;margin-bottom:6px}
.gf-slider-val{text-align:center;font-weight:600;color:#673ab7;font-size:.875rem;margin-top:4px}
.gf-range{width:100%;height:6px;border-radius:3px;background:#e0e0e0;outline:none;-webkit-appearance:none;cursor:pointer}
.gf-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#673ab7;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.gf-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#673ab7;cursor:pointer;border:none}

/* ── Steps ── */
.gf-step{display:none}
.gf-step.active{display:block}

/* ── Lock overlay ── */
.gf-locked{position:relative}
.gf-lock-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.88);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding-top:100px;border-radius:8px}
.gf-lock-msg{background:#202124;color:#fff;padding:16px 28px;border-radius:8px;font-weight:500;font-size:.875rem;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,.2)}

/* ── Identity bar ── */
.gf-card-id{margin-bottom:12px}
.gf-verified-bar{display:flex;align-items:center;gap:12px;padding:14px 24px;background:#e6f4ea;border-bottom:2px solid #1e8e3e;flex-wrap:wrap;font-size:.875rem}
.gf-badge{background:#1e8e3e;color:#fff;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:4px;white-space:nowrap}
.gf-signout{margin-left:auto;color:#5f6368;text-decoration:none;font-size:.8125rem}
.gf-signout:hover{color:#c5221f}
.gf-login-inner{padding:24px}
.gf-login-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#673ab7;margin-bottom:6px}
.gf-login-desc{font-size:.875rem;color:#3c4043;margin:0 0 16px;line-height:1.5}
.gf-link{color:#673ab7;text-decoration:none;font-weight:500}
.gf-link:hover{text-decoration:underline}

/* ── Message bar ── */
.gf-msg-bar{border-top:1px solid #dadce0}
.gf-msg-cols{display:flex}
.gf-msg-col{flex:1;min-width:0}
.gf-msg-col:first-child{border-right:1px solid #dadce0}
.gf-msg-head{background:#3c4043;color:#fff;padding:8px 12px;font-size:.8125rem;display:flex;align-items:center;gap:8px}
.gf-unread-badge{background:#c5221f;color:#fff;font-size:.6875rem;font-weight:700;padding:2px 7px;border-radius:10px;min-width:18px;text-align:center}
.gf-msg-body{max-height:400px;overflow-y:auto}

/* Widget messages */
.gf-widget-msg{border-bottom:1px solid #f1f1f1;padding:10px 12px;cursor:pointer;transition:background .1s}
.gf-widget-msg:hover{background:#f8f9fa}
.gf-widget-msg:last-child{border-bottom:none}
.gf-wmsg-head{display:flex;justify-content:space-between;color:#5f6368;font-size:.6875rem;margin-bottom:3px}
.gf-wmsg-subj{font-weight:500;color:#202124;font-size:.8125rem}
.gf-wmsg-preview{color:#5f6368;font-size:.75rem;line-height:1.4;margin-top:2px}
.gf-wmsg-full{color:#3c4043;font-size:.8125rem;line-height:1.6;margin-top:6px;white-space:pre-wrap;background:#f8f9fa;padding:10px;border-radius:4px;border-left:3px solid #673ab7}
.gf-widget-msg.expanded{background:#f3edf7}
.gf-widget-msg.unread .gf-wmsg-subj{color:#c5221f;font-weight:700}

/* Inbox messages (standalone page) */
.gf-inbox-msg{border:1px solid #dadce0;border-radius:8px;padding:14px;margin-bottom:10px}
.gf-inbox-msg.from-researcher{border-left:4px solid #673ab7;background:#fafbff}
.gf-inbox-msg.from-me{border-left:4px solid #1e8e3e;background:#fafffa}
.gf-inbox-msg.unread{border-left-color:#c5221f;background:#fef7f6}
.gf-imsg-head{display:flex;justify-content:space-between;margin-bottom:6px;font-size:.75rem;color:#5f6368}
.gf-imsg-subj{font-weight:500;color:#202124;margin-bottom:6px;font-size:.875rem}
.gf-imsg-body{color:#3c4043;line-height:1.5;white-space:pre-wrap;font-size:.8125rem}

/* ── reCAPTCHA ── */
.gf-recaptcha-wrap{margin:12px 0}

/* ── Footer ── */
.gf-footer{text-align:center;padding:24px;color:#5f6368;font-size:.75rem}
.gf-footer p{margin:3px 0}

/* ── Responsive ── */
@media(max-width:600px){
    .gf-wrap{padding:0 4px}
    .gf-row{flex-direction:column;gap:0}
    .gf-msg-cols{flex-direction:column}
    .gf-msg-col:first-child{border-right:none;border-bottom:1px solid #dadce0}
    .gf-verified-bar{font-size:.8125rem}
    .gf-title{font-size:1.5rem}
    .gf-actions{flex-direction:column-reverse;gap:8px}
    .gf-actions .gf-btn{width:100%;text-align:center}
}
