/* Conference lead form (page-templates/conference-form.php). Mobile-first; standalone page, so global resets are fine. */
:root{--ink:#05061f;--heading:#03087a;--brand:#012bff;--brand-dark:#0020c4;--text:#2b2d3a;--muted:#646878;--rule:#dfe2ea;--field:#f6f7fb;--bad:#d1242f;--ok:#0f8a4b;
  --sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--display:"Bricolage Grotesque","Plus Jakarta Sans",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.cf-body{margin:0;min-height:100vh;min-height:100dvh;background:#eef2fa;font-family:var(--sans);color:var(--text);-webkit-font-smoothing:antialiased}
[hidden]{display:none !important}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid rgba(1,43,255,.35);outline-offset:2px}

.cf-app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;max-width:560px;margin:0 auto;
  padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}
.cf-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px 18px}
.cf-logo{display:block;height:30px;width:auto}
.cf-net{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#fff3d6;color:#8a5a00;font-size:12px;font-weight:700}
.cf-net i{width:7px;height:7px;border-radius:50%;background:#e8a317}

.cf-card{background:#fff;border-radius:20px;padding:24px 20px 22px;box-shadow:0 1px 2px rgba(5,6,31,.04),0 12px 32px -18px rgba(5,6,31,.18)}
.cf-head{margin-bottom:22px}
.cf-kicker{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}
.cf-head h1{margin:0;font-family:var(--display);font-size:28px;line-height:1.15;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.cf-sub{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--muted)}

/* fields: 16px+ text so iOS doesn't zoom, 52px tall for thumbs */
.cf-form{display:flex;flex-direction:column;gap:16px}
.cf-field label{display:block;margin-bottom:6px;font-size:14px;font-weight:600;color:var(--ink)}
.cf-field label span{color:var(--bad)}
.cf-field label em{font-style:normal;font-weight:500;color:var(--muted);margin-left:4px}
.cf-field input,.cf-field textarea{display:block;width:100%;min-height:52px;padding:14px 16px;border:1.5px solid var(--rule);border-radius:12px;background:var(--field);
  font-size:17px;line-height:1.3;color:var(--ink);-webkit-appearance:none;appearance:none;transition:border-color .15s,background-color .15s,box-shadow .15s}
.cf-field textarea{min-height:96px;resize:vertical}
.cf-field input::placeholder,.cf-field textarea::placeholder{color:#a3a7b5}
.cf-field input:focus,.cf-field textarea:focus{outline:0;border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px rgba(1,43,255,.12)}
.cf-field.is-invalid input{border-color:var(--bad);background:#fff}
.cf-err{margin:6px 0 0;font-size:13px;line-height:1.35;color:var(--bad)}
.cf-err:empty{display:none}

/* phone with country picker (intl-tel-input) */
.cf-field--phone .iti{display:block;width:100%}
.cf-field--phone .iti__selected-flag{padding:0 10px 0 14px;border-radius:12px 0 0 12px;background:transparent !important}
.cf-field--phone .iti__selected-dial-code{font-size:16px;color:var(--text)}
.iti--container{z-index:1000}
.iti__country-list{font-family:var(--sans);font-size:15px;border-radius:12px;max-width:calc(100vw - 32px)}
.iti--fullscreen-popup.iti--container{padding:16px}

.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-form-err{margin:0;padding:12px 14px;border-radius:10px;background:#fdecee;color:var(--bad);font-size:14px;font-weight:500}

.cf-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;margin-top:4px;padding:0 20px;border:0;border-radius:14px;
  background:var(--brand);color:#fff;font-size:17px;font-weight:700;cursor:pointer;touch-action:manipulation;transition:background-color .15s,transform .1s}
.cf-submit:active{transform:scale(.985)}
.cf-submit:hover{background:var(--brand-dark)}
.cf-submit[disabled]{opacity:.7;cursor:progress}
.cf-submit[disabled]::before{content:"";width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:cf-spin .8s linear infinite}
@keyframes cf-spin{to{transform:rotate(360deg)}}
.cf-privacy{margin:2px 0 0;text-align:center;font-size:12.5px;color:var(--muted)}

/* thank you */
.cf-done{text-align:center;padding:40px 22px 26px;outline:0}
.cf-done-ico{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:50%;background:#e6f7ee;color:var(--ok);animation:cf-pop .35s cubic-bezier(.2,.9,.3,1.3)}
.cf-done-ico svg{width:32px;height:32px}
@keyframes cf-pop{from{transform:scale(.6);opacity:0}}
.cf-done h2{margin:0;font-family:var(--display);font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.cf-done p{margin:10px auto 26px;max-width:340px;font-size:15.5px;line-height:1.55;color:var(--muted)}

/* staff footer */
.cf-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:auto;padding:18px 4px 4px}
.cf-queue{font-size:12.5px;font-weight:600;color:#8a5a00;background:#fff3d6;padding:5px 10px;border-radius:999px}


/* bigger screens (tablet at a booth) */
@media (min-width:600px){
  .cf-app{padding-top:40px}
  .cf-logo{height:36px}
  .cf-card{padding:36px 36px 30px;border-radius:24px}
  .cf-head h1{font-size:34px}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}

/* ---------- QR launcher page (page-templates/conference-qr.php) ---------- */
.cf-top--center{justify-content:center}
.cf-qr-card{text-align:center;padding:26px 20px 22px}
.cf-qr-card h1{margin:0;font-family:var(--display);font-size:26px;line-height:1.15;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.cf-qr-card .cf-sub{max-width:340px;margin:8px auto 0}
.cf-qr-frame{position:relative;display:block;width:100%;max-width:340px;margin:22px auto 0;padding:14px;border:1.5px solid var(--rule);border-radius:22px;background:#fff;cursor:zoom-in;
  box-shadow:0 18px 40px -24px rgba(1,43,255,.45);touch-action:manipulation;transition:transform .15s}
.cf-qr-frame:active{transform:scale(.985)}
.cf-qr-frame img{display:block;width:100%;height:auto;aspect-ratio:1;image-rendering:crisp-edges}
.cf-qr-hint{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:600;color:var(--muted)}
.cf-qr-hint svg{width:15px;height:15px}
.cf-or{display:flex;align-items:center;gap:14px;margin:20px 0 16px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#a3a7b5}
.cf-or::before,.cf-or::after{content:"";flex:1;height:1px;background:var(--rule)}
.cf-qr-btn{text-decoration:none;margin-top:0;background:var(--ink)}
.cf-qr-btn:hover{background:#1c1d34}
.cf-qr-btn svg{width:19px;height:19px}

/* fullscreen QR */
.cf-qr-full{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;background:#fff;cursor:zoom-out}
.cf-qr-full img{width:min(92vw,78vh);height:auto;aspect-ratio:1}
.cf-qr-full p{margin:0;font-size:15px;font-weight:600;color:var(--ink);text-align:center}
.cf-qr-close{min-height:48px;padding:0 28px;border:1.5px solid var(--rule);border-radius:12px;background:#fff;font-size:15px;font-weight:700;cursor:pointer}

@media (min-width:600px){
  .cf-qr-card{padding:40px 40px 34px}
  .cf-qr-card h1{font-size:32px}
  .cf-qr-frame{max-width:380px}
}
