.formoryn-form-wrap{--fy-primary:#0071e3;--fy-accent:#5856d6;--fy-text:#1d1d1f;--fy-muted:#6e6e73;--fy-border:#d2d2d7;--fy-bg:#fff;--fy-surface:#fff;max-width:720px;margin:28px auto;font-family:var(--fy-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);color:var(--fy-text);text-align:start}
.formoryn-form{background:var(--fy-bg);border:1px solid var(--fy-border);border-radius:22px;padding:clamp(20px,4vw,38px);box-shadow:0 14px 50px rgba(0,0,0,.06)}
.formoryn-form-header h2{font-size:clamp(28px,4vw,40px);line-height:1.08;letter-spacing:-.025em;margin:0 0 28px}.formoryn-fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:16px;row-gap:22px}.formoryn-field{min-width:0;grid-column:span 12}.formoryn-col-6{grid-column:span 6}.formoryn-col-4{grid-column:span 4}.formoryn-col-3{grid-column:span 3}.formoryn-form-wrap[data-form-type="multi_step"] .formoryn-field{grid-column:1/-1}.formoryn-field[hidden]{display:none}.formoryn-label{display:block;font-size:16px;font-weight:600;margin:0 0 9px;text-align:start}
.formoryn-input,.formoryn-textarea{box-sizing:border-box;width:100%;border:1px solid var(--fy-border);border-radius:12px;background:var(--fy-surface);color:var(--fy-text);font:inherit;padding:12px 14px;text-align:start;outline:none;transition:border-color .15s,box-shadow .15s}.formoryn-input{min-height:48px}.formoryn-textarea{min-height:130px;resize:vertical}.formoryn-input:focus,.formoryn-textarea:focus{border-color:var(--fy-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--fy-primary) 12%,transparent)}
.formoryn-choice-group{display:grid;gap:9px}.formoryn-choice{display:flex;gap:10px;text-align:start;align-items:flex-start;border:1px solid var(--fy-border);border-radius:12px;padding:12px 13px;background:var(--fy-surface);cursor:pointer}.formoryn-choice:hover{border-color:var(--fy-accent)}.formoryn-choice input{margin-top:3px}
.formoryn-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:28px}.formoryn-btn{appearance:none;border:1px solid var(--fy-border);border-radius:999px;background:var(--fy-surface);color:var(--fy-text);min-height:44px;padding:0 20px;font-family:inherit;font-size:15px;font-weight:600;line-height:1;cursor:pointer}.formoryn-next,.formoryn-submit{background:var(--fy-primary);border-color:var(--fy-primary);color:#fff}.formoryn-btn:disabled{opacity:.6;cursor:wait}
.formoryn-progress{height:4px;background:var(--fy-border);border-radius:999px;overflow:hidden;margin:0 0 28px}.formoryn-progress span{display:block;height:100%;width:0;background:var(--fy-primary);transition:width .2s ease;margin-inline-start:0;margin-inline-end:auto}.formoryn-error{margin-top:16px;color:var(--fy-text);background:var(--fy-surface);border:1px solid var(--fy-accent);padding:10px 12px;border-radius:10px}.formoryn-success{background:var(--fy-surface);border:1px solid var(--fy-primary);color:var(--fy-text);border-radius:18px;padding:22px;font-weight:600}.formoryn-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:640px){.formoryn-form-wrap{margin:14px auto}.formoryn-form{border-radius:16px;padding:20px}.formoryn-field,.formoryn-col-6,.formoryn-col-4,.formoryn-col-3{grid-column:1/-1}.formoryn-actions{flex-wrap:wrap}.formoryn-btn{flex:1}}
@media(prefers-reduced-motion:reduce){.formoryn-progress span,.formoryn-input,.formoryn-textarea{transition:none}}

/* ---------- Formoryn appearance presets ---------- */
.formoryn-form-wrap .formoryn-choice.is-selected{border-color:var(--fy-primary)}

/* Heritage — preserves the warm ivory / coral / turquoise legacy visual language. */
.formoryn-theme-heritage{--fy-primary:#3ab4a6;--fy-accent:#ffbf71;--fy-text:#333333;--fy-muted:#798076;--fy-border:#e0e0e0;--fy-bg:#f9f6f0;--fy-surface:#ffffff;max-width:1400px;margin:40px auto;color:var(--fy-text);font-family:var(--fy-font-family,inherit)}
.formoryn-theme-heritage .formoryn-form{background:var(--fy-bg);border:0;border-radius:12px;padding:30px 40px;box-shadow:0 10px 25px rgba(0,0,0,.10)}
.formoryn-theme-heritage .formoryn-form-header h2{text-align:center;color:var(--fy-text);font-size:22px;line-height:1.25;letter-spacing:0;margin:0 0 20px}
.formoryn-theme-heritage .formoryn-progress{height:8px;background:var(--fy-border);border-radius:4px;margin:0 0 30px}
.formoryn-theme-heritage .formoryn-progress span{background:linear-gradient(90deg,var(--fy-accent),var(--fy-primary));border-radius:4px;transition:width .4s ease-in-out}
.formoryn-theme-heritage .formoryn-fields{gap:20px}.formoryn-theme-heritage .formoryn-label{color:var(--fy-text);font-size:16px;margin-bottom:10px}
.formoryn-theme-heritage .formoryn-input,.formoryn-theme-heritage .formoryn-textarea{border:1px solid var(--fy-border);border-radius:8px;padding:12px;background:var(--fy-surface);box-shadow:none}
.formoryn-theme-heritage .formoryn-input:focus,.formoryn-theme-heritage .formoryn-textarea:focus{border-color:var(--fy-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--fy-primary) 12%,transparent)}
.formoryn-theme-heritage .formoryn-choice-group{gap:10px}.formoryn-theme-heritage .formoryn-choice{display:block;padding:14px 18px;border:2px solid var(--fy-border);border-radius:12px;background:transparent;box-shadow:0 2px 8px rgba(52,73,94,.07);font-size:14px;font-weight:500;transition:all .2s ease}
.formoryn-theme-heritage .formoryn-choice:hover{background:transparent;border-color:var(--fy-accent);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.formoryn-theme-heritage .formoryn-choice input{position:absolute;opacity:0;pointer-events:none}.formoryn-theme-heritage .formoryn-choice-radio.is-selected{background:var(--fy-accent);color:#fff;border-color:var(--fy-primary);box-shadow:0 0 0 2px var(--fy-primary) inset}
.formoryn-theme-heritage .formoryn-choice-checkbox.is-selected{background:var(--fy-primary);color:#fff;border-color:color-mix(in srgb,var(--fy-primary) 82%,#000);box-shadow:0 0 0 2px rgba(255,255,255,.20) inset,0 8px 20px color-mix(in srgb,var(--fy-primary) 24%,transparent);font-weight:700;transform:none}
.formoryn-theme-heritage .formoryn-choice-checkbox.is-selected:hover{background:var(--fy-primary);color:#fff;border-color:color-mix(in srgb,var(--fy-primary) 82%,#000);box-shadow:0 0 0 2px rgba(255,255,255,.20) inset,0 8px 20px color-mix(in srgb,var(--fy-primary) 24%,transparent);transform:none}
.formoryn-theme-heritage .formoryn-actions{justify-content:space-between;margin-top:30px}.formoryn-theme-heritage .formoryn-btn{border-radius:8px;min-height:42px;padding:0 30px;font-size:14px;background:var(--fy-border);border-color:var(--fy-border);color:var(--fy-text)}
.formoryn-theme-heritage .formoryn-next,.formoryn-theme-heritage .formoryn-submit{background:var(--fy-primary);border-color:var(--fy-primary);color:#fff}
.formoryn-theme-heritage .formoryn-success{background:var(--fy-primary);color:#fff;border:0;border-radius:8px;text-align:center}
.formoryn-theme-heritage .formoryn-error{background:var(--fy-accent);color:var(--fy-text)}
.formoryn-theme-heritage .formoryn-step:not([hidden]){animation:formorynHeritageFadeIn .5s}
@keyframes formorynHeritageFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Paper — editorial and warm. */
.formoryn-theme-paper{--fy-primary:#8b5e3c;--fy-accent:#b78a63;--fy-text:#2a251f;--fy-muted:#776e64;--fy-border:#d9d0c5;--fy-bg:#fffdf8;--fy-surface:#fffaf2;max-width:780px}
.formoryn-theme-paper .formoryn-form{background:var(--fy-bg);border:1px solid var(--fy-border);border-radius:8px;padding:clamp(24px,5vw,46px);box-shadow:0 18px 60px rgba(76,55,36,.08)}
.formoryn-theme-paper .formoryn-form-header h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,5vw,46px);font-weight:500;letter-spacing:-.02em;margin-bottom:32px}
.formoryn-theme-paper .formoryn-label{font-family:Georgia,"Times New Roman",serif;font-size:18px;font-weight:600}.formoryn-theme-paper .formoryn-input,.formoryn-theme-paper .formoryn-textarea{border-width:0 0 1px;border-radius:0;background:transparent;padding:12px 2px}
.formoryn-theme-paper .formoryn-input:focus,.formoryn-theme-paper .formoryn-textarea:focus{border-color:var(--fy-primary);box-shadow:0 2px 0 var(--fy-border)}
.formoryn-theme-paper .formoryn-choice{border:1px solid var(--fy-border);border-radius:8px;background:var(--fy-surface)}.formoryn-theme-paper .formoryn-choice.is-selected{border-color:var(--fy-primary);border-inline-start-width:4px;background:color-mix(in srgb,var(--fy-accent) 20%,var(--fy-surface))}
.formoryn-theme-paper .formoryn-progress{height:2px;background:var(--fy-border)}.formoryn-theme-paper .formoryn-progress span{background:var(--fy-primary)}.formoryn-theme-paper .formoryn-btn{border-radius:6px}.formoryn-theme-paper .formoryn-next,.formoryn-theme-paper .formoryn-submit{background:var(--fy-primary);border-color:var(--fy-primary)}

/* Mono — sharp high-contrast minimalism. */
.formoryn-theme-mono{--fy-primary:#111;--fy-accent:#111;--fy-text:#111;--fy-muted:#5f5f5f;--fy-border:#111;--fy-bg:#fff;--fy-surface:#fff;max-width:720px}
.formoryn-theme-mono .formoryn-form{background:var(--fy-bg);border:2px solid var(--fy-primary);border-radius:0;box-shadow:none;padding:clamp(22px,4vw,40px)}
.formoryn-theme-mono .formoryn-form-header h2{font-size:clamp(30px,5vw,48px);font-weight:800;letter-spacing:-.04em}.formoryn-theme-mono .formoryn-label{text-transform:none;font-weight:700}
.formoryn-theme-mono .formoryn-input,.formoryn-theme-mono .formoryn-textarea{border:2px solid var(--fy-border);border-radius:0;background:var(--fy-surface)}.formoryn-theme-mono .formoryn-input:focus,.formoryn-theme-mono .formoryn-textarea:focus{box-shadow:4px 4px 0 var(--fy-accent)}
.formoryn-theme-mono .formoryn-choice{border:2px solid var(--fy-border);border-radius:0;background:var(--fy-surface)}.formoryn-theme-mono .formoryn-choice:hover{border-color:var(--fy-accent)}.formoryn-theme-mono .formoryn-choice.is-selected{background:var(--fy-primary);color:#fff}
.formoryn-theme-mono .formoryn-progress{height:6px;border-radius:0;background:var(--fy-border)}.formoryn-theme-mono .formoryn-progress span{background:var(--fy-primary)}.formoryn-theme-mono .formoryn-btn{border-radius:0;border:2px solid var(--fy-border);background:var(--fy-surface);color:var(--fy-text)}.formoryn-theme-mono .formoryn-next,.formoryn-theme-mono .formoryn-submit{background:var(--fy-primary);border-color:var(--fy-primary);color:#fff}

/* Focus — centered, spacious, optimized for one-question-at-a-time flows. */
.formoryn-theme-focus{--fy-primary:#5b5bd6;--fy-accent:#7c6ee6;--fy-text:#19191d;--fy-muted:#74747d;--fy-border:#dcdce6;--fy-bg:#fff;--fy-surface:#fafafe;max-width:650px}
.formoryn-theme-focus .formoryn-form{border:0;border-radius:28px;padding:clamp(24px,6vw,52px);box-shadow:0 24px 80px rgba(41,41,73,.10)}
.formoryn-theme-focus .formoryn-form-header h2{text-align:center;font-size:clamp(28px,5vw,42px);margin-bottom:34px}.formoryn-theme-focus[data-form-type="multi_step"] .formoryn-label{font-size:clamp(22px,4vw,30px);line-height:1.2;text-align:center;margin-bottom:24px}
.formoryn-theme-focus .formoryn-input,.formoryn-theme-focus .formoryn-textarea{border-radius:16px;min-height:54px;font-size:16px}.formoryn-theme-focus .formoryn-choice-group{gap:12px}.formoryn-theme-focus .formoryn-choice{border-radius:16px;padding:15px 16px;background:var(--fy-surface)}.formoryn-theme-focus .formoryn-choice.is-selected{background:color-mix(in srgb,var(--fy-primary) 10%,var(--fy-surface));border-color:var(--fy-primary);box-shadow:inset 0 0 0 1px var(--fy-primary)}
.formoryn-theme-focus .formoryn-progress{height:6px;background:var(--fy-border);margin-bottom:36px}.formoryn-theme-focus .formoryn-progress span{background:linear-gradient(90deg,var(--fy-accent),var(--fy-primary))}
.formoryn-theme-focus .formoryn-actions{justify-content:center;margin-top:34px}.formoryn-theme-focus .formoryn-btn{min-width:118px;min-height:48px}.formoryn-theme-focus .formoryn-next,.formoryn-theme-focus .formoryn-submit{background:var(--fy-primary);border-color:var(--fy-primary)}

/* Cloud — soft, friendly, rounded. */
.formoryn-theme-cloud{--fy-primary:#315f8c;--fy-accent:#69a4c8;--fy-text:#17324d;--fy-muted:#67809a;--fy-border:#cbd9e5;--fy-bg:#f5f9fc;--fy-surface:#ffffff;max-width:820px}
.formoryn-theme-cloud .formoryn-form{background:linear-gradient(180deg,var(--fy-surface),var(--fy-bg));border:1px solid var(--fy-border);border-radius:28px;padding:clamp(22px,5vw,42px);box-shadow:0 20px 70px rgba(49,95,140,.10)}
.formoryn-theme-cloud .formoryn-form-header h2{color:var(--fy-text)}.formoryn-theme-cloud .formoryn-input,.formoryn-theme-cloud .formoryn-textarea{border-color:var(--fy-border);border-radius:14px;background:var(--fy-surface)}
.formoryn-theme-cloud .formoryn-choice{border-color:var(--fy-border);border-radius:18px;background:var(--fy-surface);padding:14px 16px}.formoryn-theme-cloud .formoryn-choice:hover{border-color:var(--fy-accent)}.formoryn-theme-cloud .formoryn-choice.is-selected{background:color-mix(in srgb,var(--fy-primary) 10%,var(--fy-surface));border-color:var(--fy-primary);box-shadow:inset 0 0 0 1px var(--fy-primary)}
.formoryn-theme-cloud .formoryn-progress{height:5px;background:var(--fy-border)}.formoryn-theme-cloud .formoryn-progress span{background:linear-gradient(90deg,var(--fy-accent),var(--fy-primary))}.formoryn-theme-cloud .formoryn-btn{border-radius:14px;background:var(--fy-surface);color:var(--fy-text)}.formoryn-theme-cloud .formoryn-next,.formoryn-theme-cloud .formoryn-submit{background:var(--fy-primary);border-color:var(--fy-primary);color:#fff}

@media(max-width:700px){
  .formoryn-theme-heritage{max-width:100%;width:100%;margin:0 auto}.formoryn-theme-heritage .formoryn-form{padding:12px;border-radius:12px}
  .formoryn-theme-focus .formoryn-form,.formoryn-theme-cloud .formoryn-form{border-radius:18px;padding:20px}
}

@media(prefers-reduced-motion:reduce){.formoryn-theme-heritage .formoryn-step:not([hidden]){animation:none}}


/* Direction and typography overrides. Auto direction inherits from the embedding page. */
.formoryn-form-wrap[dir="rtl"] .formoryn-progress span{margin-inline-start:0;margin-inline-end:auto}
.formoryn-form-wrap[dir="ltr"] .formoryn-progress span{margin-inline-start:0;margin-inline-end:auto}
.formoryn-font-override{font-family:var(--fy-font-family,inherit)}
.formoryn-font-override .formoryn-form-header h2,
.formoryn-font-override .formoryn-label,
.formoryn-font-override .formoryn-input,
.formoryn-font-override .formoryn-textarea,
.formoryn-font-override .formoryn-choice,
.formoryn-font-override .formoryn-btn,
.formoryn-font-override .formoryn-error,
.formoryn-font-override .formoryn-success{font-family:var(--fy-font-family,inherit)}
