/* Lead screening quiz — Rattinan Clinic liposuction page */
.rq-root{--rq-brand:#00abb1;--rq-brand-dark:#00868b;--rq-ink:#1d2b33;--rq-muted:#5f6f78;--rq-line:#dde7ea;--rq-soft:#eef9f9;--rq-bg:#fff;--rq-err:#d14343;
  font-family:"DB Heavent",sans-serif;color:var(--rq-ink);font-size:20px;line-height:1.35}
.rq-root *{box-sizing:border-box}

/* Overlay + card */
.rq-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(10,30,35,.55);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.rq-overlay.is-open{opacity:1;visibility:visible}
.rq-card{position:relative;width:100%;max-width:520px;max-height:calc(100dvh - 32px);overflow:auto;background:var(--rq-bg);border-radius:22px;box-shadow:0 24px 60px rgba(0,0,0,.25);padding:26px 26px 22px;transform:translateY(16px);transition:transform .25s}
.rq-overlay.is-open .rq-card{transform:none}
.rq-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;border-radius:50%;background:#f2f5f6;color:var(--rq-muted);font-size:26px;line-height:40px;cursor:pointer}
.rq-close:hover{background:#e6eced}

/* Header */
.rq-eyebrow{display:inline-block;background:var(--rq-soft);color:var(--rq-brand-dark);border-radius:999px;padding:2px 12px;font-size:17px;margin-bottom:10px}
.rq-progress{height:6px;background:#edf2f3;border-radius:999px;overflow:hidden;margin:4px 48px 18px 0}
.rq-progress span{display:block;height:100%;width:0;background:var(--rq-brand);border-radius:999px;transition:width .3s}
.rq-step{display:none}
.rq-step.is-active{display:block;animation:rq-in .25s ease}
@keyframes rq-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.rq-q{font-family:"DB Heavent Ext","DB Heavent",sans-serif;font-size:28px;line-height:1.2;margin:0 0 6px;color:var(--rq-ink)}
.rq-hint{color:var(--rq-muted);font-size:18px;margin:0 0 16px}

/* Options */
.rq-opts{display:grid;gap:10px}
.rq-opts.is-grid{grid-template-columns:1fr 1fr}
.rq-opt{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1.5px solid var(--rq-line);background:#fff;border-radius:14px;padding:12px 14px;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,background .15s}
.rq-opt:hover{border-color:var(--rq-brand)}
.rq-opt[aria-pressed="true"]{border-color:var(--rq-brand);background:var(--rq-soft)}
.rq-opt .rq-tick{flex:none;width:22px;height:22px;border:1.5px solid #b9c8cc;border-radius:6px;display:grid;place-items:center;font-size:15px;color:#fff}
.rq-opt.is-radio .rq-tick{border-radius:50%}
.rq-opt[aria-pressed="true"] .rq-tick{background:var(--rq-brand);border-color:var(--rq-brand)}

/* Inputs */
.rq-field{margin-bottom:12px}
.rq-field label{display:block;font-size:18px;color:var(--rq-muted);margin-bottom:4px}
.rq-field input[type=text],.rq-field input[type=tel],.rq-field input[type=number]{width:100%;height:52px;border:1.5px solid var(--rq-line);border-radius:12px;padding:0 14px;font:inherit;font-size:21px;color:var(--rq-ink);background:#fff;outline:none}
.rq-field input:focus{border-color:var(--rq-brand);box-shadow:0 0 0 3px rgba(0,171,177,.15)}
.rq-field.has-error input{border-color:var(--rq-err)}
.rq-err{display:none;color:var(--rq-err);font-size:16px;margin-top:3px}
.rq-field.has-error .rq-err{display:block}
.rq-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rq-unit{position:relative}
.rq-unit span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--rq-muted);font-size:18px;pointer-events:none}
.rq-consent{display:flex;gap:10px;align-items:flex-start;font-size:16px;color:var(--rq-muted);margin:6px 0 4px;cursor:pointer}
.rq-consent input{margin-top:4px;width:18px;height:18px;accent-color:var(--rq-brand);flex:none}
.rq-consent.has-error{color:var(--rq-err)}

/* Summary chips on the contact step */
.rq-summary{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.rq-summary span{background:var(--rq-soft);color:var(--rq-brand-dark);border-radius:999px;padding:2px 10px;font-size:16px}

/* Buttons */
.rq-actions{display:flex;gap:10px;align-items:center;margin-top:18px}
.rq-btn{flex:1;height:54px;border:0;border-radius:999px;background:var(--rq-brand);color:#fff;font:inherit;font-size:22px;cursor:pointer;transition:background .15s,opacity .15s}
.rq-btn:hover{background:var(--rq-brand-dark)}
.rq-btn[disabled]{opacity:.45;cursor:not-allowed}
.rq-back{border:0;background:none;color:var(--rq-muted);font:inherit;font-size:19px;cursor:pointer;padding:0 8px;height:54px}
.rq-link{border:0;background:none;color:var(--rq-muted);font:inherit;font-size:17px;text-decoration:underline;cursor:pointer;padding:0;margin-top:10px}
.rq-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-top:12px;color:var(--rq-muted);font-size:16px}
.rq-trust span::before{content:"✓ ";color:var(--rq-brand)}

/* Thank-you */
.rq-done{text-align:center;padding:8px 0}
.rq-done-icon{width:68px;height:68px;border-radius:50%;background:var(--rq-soft);color:var(--rq-brand);display:grid;place-items:center;font-size:36px;margin:0 auto 12px}
.rq-line-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:54px;border-radius:999px;background:#06c755;color:#fff!important;text-decoration:none!important;font-size:22px;margin-top:16px}
.rq-test{margin-top:12px;font-size:14px;color:#a06a00;background:#fff7e0;border-radius:8px;padding:6px 10px}

/* Shield quiz buttons from the theme's global button styles (white text, centered, hover fills) */
.rq-root button{letter-spacing:normal!important;text-transform:none!important;line-height:1.3!important;min-height:0!important;box-shadow:none}
.rq-root button.rq-opt,.rq-root button.rq-opt:hover,.rq-root button.rq-opt:focus{color:var(--rq-ink)!important;background:#fff!important;justify-content:flex-start!important;padding:12px 14px!important;border:1.5px solid var(--rq-line)!important;border-radius:14px!important;font-size:20px!important}
.rq-root button.rq-opt:hover{border-color:var(--rq-brand)!important}
.rq-root button.rq-opt[aria-pressed="true"]{background:var(--rq-soft)!important;border-color:var(--rq-brand)!important}
.rq-root button.rq-back,.rq-root button.rq-back:hover,.rq-root button.rq-link,.rq-root button.rq-link:hover{color:var(--rq-muted)!important;background:none!important;border:0!important}
.rq-root button.rq-close,.rq-root button.rq-close:hover{color:var(--rq-muted)!important;background:#f2f5f6!important;border:0!important;padding:0!important}
.rq-root button.rq-btn,.rq-root button.rq-btn:focus{color:#fff!important;background:var(--rq-brand)!important;border:0!important;padding:0 16px!important;font-size:22px!important}
.rq-root button.rq-btn:hover{background:var(--rq-brand-dark)!important}
.rq-root button.rq-launcher,.rq-root button.rq-launcher:hover{color:#fff!important;background:var(--rq-brand)!important;border:0!important;padding:0 20px 0 14px!important;box-shadow:0 8px 24px rgba(0,134,139,.35)}

/* Floating launcher (bottom-left, clear of the Chaty widget on the right) */
.rq-launcher{position:fixed;left:16px;bottom:18px;z-index:2147482000;display:flex;align-items:center;gap:8px;height:52px;padding:0 20px 0 14px;border:0;border-radius:999px;background:var(--rq-brand);color:#fff;font-family:"DB Heavent",sans-serif;font-size:21px;box-shadow:0 8px 24px rgba(0,134,139,.35);cursor:pointer;transform:translateY(120px);transition:transform .35s}
.rq-launcher.is-shown{transform:none}
.rq-launcher-dot{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:16px}

@media (max-width:600px){
  .rq-overlay{padding:0;align-items:flex-end}
  .rq-card{max-width:none;border-radius:22px 22px 0 0;max-height:94dvh;padding:22px 16px 18px}
  .rq-q{font-size:25px}
  .rq-opts.is-grid{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){.rq-root *{transition:none!important;animation:none!important}}

/* Consent link + send error (bookrattinan.com) */
.rq-consent a{color:var(--rq-brand-dark);text-decoration:underline}
.rq-send-error{margin:10px 0 0;padding:10px 14px;border-radius:10px;background:#fdecec;color:var(--rq-err);font-size:17px}
.rq-send-error a{color:var(--rq-err);font-weight:600}
