/* BloomList Public Form CSS v3 — 8 Niche Templates */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400&family=DM+Sans:wght@300;400;500;600&family=Space+Mono:wght@400;700&family=Cormorant+Garamond:ital,wght@0,300;0,600;1,300;1,600&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,600;1,9..144,300&family=Bebas+Neue&display=swap');

/* ── Reset & shared ──────────────────────────────────────────── */
.blml-wrap, .blml-wrap *, .blml-wrap *::before, .blml-wrap *::after { box-sizing: border-box; margin: 0; padding: 0; }
.blml-wrap { font-family: 'DM Sans', system-ui, sans-serif; }

.blml-input { width: 100%; outline: none; font-family: inherit; transition: all .2s; }

.blml-error-msg {
    display: none; font-size: 13px; margin-top: 8px; padding: 9px 13px;
    border-radius: 6px; border-left: 3px solid #d63638; background: rgba(214,54,56,.07); color: #c0392b;
}
.blml-success {
    display: none; text-align: center; padding: 28px 16px;
    /* jQuery .show() handles display — no CSS animation conflict */
}
.blml-success-icon { font-size: 40px; display: block; margin-bottom: 12px; }
.blml-success-title{ font-size: 18px; font-weight: 600; margin-bottom: 6px; }
.blml-success-sub  { font-size: 14px; opacity: .7; }
.blml-note  { font-size: 12px; opacity: .55; margin-top: 14px; text-align: center; }
.blml-btn-loading { opacity: .6 !important; pointer-events: none !important; cursor: wait !important; }
@keyframes blml-fadein { from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)} }

/* ════════════════════════════════════════════════════════
   T1 — KITCHEN TABLE (Recipe / Food)
   Warm cream, terracotta accent, Playfair heading
   ════════════════════════════════════════════════════════ */
.blml-t1 {
    background: var(--blml-bg, #FFF8F0);
    border-radius: 20px; padding: 48px 44px; max-width: 540px;
    border: 1.5px solid color-mix(in srgb, var(--blml-accent, #D4622A) 15%, #eee);
    position: relative; overflow: hidden;
}
.blml-t1::after {
    content: ''; position: absolute; bottom: -40px; right: -40px;
    width: 160px; height: 160px; border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle, color-mix(in srgb, var(--blml-accent, #D4622A) 10%, transparent), transparent 70%);
}
.blml-t1 .blml-badge-el {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px; font-weight: 600;
    color: var(--blml-accent, #D4622A);
    background: color-mix(in srgb, var(--blml-accent, #D4622A) 10%, transparent);
    padding: 5px 14px; border-radius: 20px; margin-bottom: 16px;
}
.blml-t1 .blml-heading {
    font-family: 'Playfair Display', serif; font-size: 36px; font-weight: 700;
    color: var(--blml-text, #2D1A0E); line-height: 1.15; margin-bottom: 12px;
}
.blml-t1 .blml-sub  { font-size: 15px; color: var(--blml-secondary, #8C5A3C); line-height: 1.65; margin-bottom: 28px; }
.blml-t1 .blml-fields { display: flex; flex-direction: column; gap: 10px; }
.blml-t1 .blml-input {
    background: var(--blml-card, #FFFFFF); border: 1.5px solid #e8d8c8;
    border-radius: 10px; padding: 13px 16px; font-size: 14px; color: var(--blml-text, #2D1A0E);
}
.blml-t1 .blml-input::placeholder { color: #C0A090; }
.blml-t1 .blml-input:focus { border-color: var(--blml-accent, #D4622A); box-shadow: 0 0 0 3px color-mix(in srgb, var(--blml-accent, #D4622A) 12%, transparent); }
.blml-t1 .blml-btn-submit {
    width: 100%; background: var(--blml-accent, #D4622A); color: #fff; border: none;
    border-radius: 10px; padding: 15px; font-size: 15px; font-weight: 600;
    font-family: inherit; cursor: pointer; transition: all .2s; letter-spacing: .3px;
}
.blml-t1 .blml-btn-submit:hover { filter: brightness(1.08); transform: translateY(-1px); box-shadow: 0 6px 20px color-mix(in srgb, var(--blml-accent, #D4622A) 30%, transparent); }
.blml-t1 .blml-success-icon { color: var(--blml-accent, #D4622A); }
.blml-t1 .blml-success-title { color: var(--blml-text, #2D1A0E); }

/* ════════════════════════════════════════════════════════
   T2 — CASA EDIT (Home Decor)
   White, sage green, Cormorant heading, editorial
   ════════════════════════════════════════════════════════ */
.blml-t2 {
    background: var(--blml-bg, #FFFFFF); border-radius: 20px; padding: 48px 44px; max-width: 540px;
    border: 1px solid #E8EDE9; box-shadow: 0 2px 24px rgba(92,122,101,.08);
}
.blml-t2 .blml-t2-eyebrow {
    display: flex; align-items: center; gap: 10px; margin-bottom: 18px;
}
.blml-t2 .blml-t2-eline { flex: 1; height: 1px; background: var(--blml-accent, #5C7A65); opacity: .35; }
.blml-t2 .blml-badge-el {
    font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase;
    color: var(--blml-accent, #5C7A65); white-space: nowrap;
}
.blml-t2 .blml-heading {
    font-family: 'Cormorant Garamond', serif; font-size: 42px; font-weight: 600;
    font-style: italic; color: var(--blml-text, #1C2B1E); line-height: 1.1; margin-bottom: 12px;
}
.blml-t2 .blml-sub { font-size: 15px; color: var(--blml-secondary, #7A9B83); line-height: 1.7; margin-bottom: 30px; font-weight: 300; }
.blml-t2 .blml-fields { display: flex; flex-direction: column; gap: 10px; }
.blml-t2 .blml-input {
    background: var(--blml-card, #F6FAF7); border: 1.5px solid #DCE8DE;
    border-radius: 10px; padding: 13px 16px; font-size: 14px; color: var(--blml-text, #1C2B1E);
}
.blml-t2 .blml-input::placeholder { color: #A5C0AA; }
.blml-t2 .blml-input:focus { border-color: var(--blml-accent, #5C7A65); background: #fff; }
.blml-t2 .blml-btn-submit {
    width: 100%; background: var(--blml-text, #1C2B1E); color: #fff; border: none;
    border-radius: 10px; padding: 15px; font-size: 14px; font-weight: 500;
    font-family: inherit; cursor: pointer; transition: all .2s;
}
.blml-t2 .blml-btn-submit:hover { background: var(--blml-accent, #5C7A65); }
.blml-t2 .blml-success-icon { color: var(--blml-accent, #5C7A65); }
.blml-t2 .blml-success-title { color: var(--blml-text, #1C2B1E); }

/* ════════════════════════════════════════════════════════
   T3 — CRAFT CORNER (Crafts / DIY)
   Warm ivory, amber accent, dashed border, playful
   ════════════════════════════════════════════════════════ */
.blml-t3 {
    background: var(--blml-bg, #FFFBF0); border-radius: 16px; padding: 48px 44px; max-width: 540px;
    border: 2px dashed color-mix(in srgb, var(--blml-accent, #E8941A) 40%, #ddd);
    position: relative;
}
.blml-t3 .blml-badge-el {
    display: inline-block; font-size: 12px; font-weight: 700;
    color: var(--blml-accent, #E8941A);
    background: color-mix(in srgb, var(--blml-accent, #E8941A) 12%, transparent);
    padding: 5px 14px; border-radius: 6px; margin-bottom: 16px;
}
.blml-t3 .blml-heading {
    font-family: 'DM Sans', sans-serif; font-size: 34px; font-weight: 700;
    color: var(--blml-text, #2C1A00); line-height: 1.2; margin-bottom: 12px;
}
.blml-t3 .blml-sub { font-size: 15px; color: var(--blml-secondary, #A06820); line-height: 1.65; margin-bottom: 28px; }
.blml-t3 .blml-fields { display: flex; flex-direction: column; gap: 10px; }
.blml-t3 .blml-input {
    background: var(--blml-card, #FFFFFF); border: 2px solid #EDD8A8;
    border-radius: 10px; padding: 13px 16px; font-size: 14px; color: var(--blml-text, #2C1A00);
}
.blml-t3 .blml-input::placeholder { color: #C8A870; }
.blml-t3 .blml-input:focus { border-color: var(--blml-accent, #E8941A); }
.blml-t3 .blml-btn-submit {
    width: 100%; border: none; border-radius: 10px; padding: 15px;
    background: linear-gradient(135deg, var(--blml-accent, #E8941A), color-mix(in srgb, var(--blml-accent, #E8941A) 60%, #F5C842));
    color: #fff; font-size: 15px; font-weight: 700; font-family: inherit; cursor: pointer; transition: all .2s;
}
.blml-t3 .blml-btn-submit:hover { transform: translateY(-2px); box-shadow: 0 8px 20px color-mix(in srgb, var(--blml-accent, #E8941A) 30%, transparent); }
.blml-t3 .blml-success-icon { color: var(--blml-accent, #E8941A); }
.blml-t3 .blml-success-title { color: var(--blml-text, #2C1A00); }

/* ════════════════════════════════════════════════════════
   T4 — MODE NOIR (Fashion / Style)
   Near-black, white text, bold typography, editorial
   ════════════════════════════════════════════════════════ */
.blml-t4 {
    background: var(--blml-bg, #0A0A0A); border-radius: 4px; padding: 56px 52px; max-width: 540px;
    border-left: 4px solid var(--blml-accent, #FFFFFF);
    position: relative; overflow: hidden;
}
.blml-t4::before {
    content: ''; position: absolute; top: 0; right: 0; width: 40%; height: 4px;
    background: var(--blml-accent, #FFFFFF); pointer-events: none;
}
.blml-t4 .blml-badge-el {
    display: block; font-family: 'Space Mono', monospace; font-size: 10px;
    letter-spacing: 4px; text-transform: uppercase; color: var(--blml-secondary, #888888);
    margin-bottom: 18px;
}
.blml-t4 .blml-heading {
    font-family: 'Bebas Neue', sans-serif; font-size: 58px;
    color: var(--blml-text, #FFFFFF); line-height: .95; margin-bottom: 14px; letter-spacing: 1px;
}
.blml-t4 .blml-sub {
    font-size: 14px; color: var(--blml-secondary, #888888); line-height: 1.65; margin-bottom: 32px;
    font-family: 'Space Mono', monospace; border-left: 2px solid var(--blml-accent, #FFFFFF);
    padding-left: 14px; opacity: .8;
}
.blml-t4 .blml-fields { display: flex; flex-direction: column; gap: 0; }
.blml-t4 .blml-input {
    background: transparent; border: none; border-bottom: 1px solid #333;
    padding: 14px 0; font-size: 13px; font-family: 'Space Mono', monospace;
    color: var(--blml-text, #FFFFFF); letter-spacing: 1px; margin-bottom: 12px;
}
.blml-t4 .blml-input::placeholder { color: #555; }
.blml-t4 .blml-input:focus { border-bottom-color: var(--blml-accent, #FFFFFF); }
.blml-t4 .blml-btn-submit {
    width: 100%; background: var(--blml-accent, #FFFFFF); color: var(--blml-bg, #0A0A0A); border: none;
    padding: 16px; font-family: 'Bebas Neue', sans-serif; font-size: 20px; letter-spacing: 2px;
    cursor: pointer; transition: all .2s; margin-top: 8px;
}
.blml-t4 .blml-btn-submit:hover { background: var(--blml-secondary, #888888); color: var(--blml-bg, #0A0A0A); }
.blml-t4 .blml-error-msg { background: rgba(255,255,255,.08); color: #ff9999; border-left-color: #ff6666; }
.blml-t4 .blml-success-title, .blml-t4 .blml-success-sub { color: var(--blml-text, #FFFFFF); }
.blml-t4 .blml-note { color: #555; }

/* ════════════════════════════════════════════════════════
   T5 — BLUSH & BLOOM (Lifestyle / Wellness)
   Soft blush, dusty rose, Fraunces heading, gentle
   ════════════════════════════════════════════════════════ */
.blml-t5 {
    background: var(--blml-bg, #FDF5F5); border-radius: 24px; padding: 52px 48px; max-width: 540px;
    border: 1.5px solid color-mix(in srgb, var(--blml-accent, #A0595E) 18%, #f0e0e0);
    position: relative; overflow: hidden;
}
.blml-t5::after {
    content: '✦'; position: absolute; font-size: 200px; color: color-mix(in srgb, var(--blml-accent, #A0595E) 6%, transparent);
    bottom: -40px; right: -20px; font-family: serif; line-height: 1; pointer-events: none; user-select: none;
}
.blml-t5 .blml-badge-el {
    display: block; font-family: 'Fraunces', serif; font-size: 13px;
    font-style: italic; letter-spacing: 1px; color: var(--blml-accent, #A0595E);
    margin-bottom: 16px; opacity: .85;
}
.blml-t5 .blml-heading {
    font-family: 'Fraunces', serif; font-size: 40px; font-weight: 300; font-style: italic;
    color: var(--blml-text, #2C1A1A); line-height: 1.15; margin-bottom: 12px;
}
.blml-t5 .blml-sub { font-size: 14px; color: var(--blml-secondary, #B07074); line-height: 1.7; margin-bottom: 30px; font-weight: 300; }
.blml-t5 .blml-fields { display: flex; flex-direction: column; gap: 18px; margin-bottom: 22px; }
.blml-t5 .blml-input {
    background: transparent; border: none; border-bottom: 1.5px solid #DEC8C8;
    padding: 10px 0; font-size: 15px; color: var(--blml-text, #2C1A1A);
}
.blml-t5 .blml-input::placeholder { color: #D0AAAA; }
.blml-t5 .blml-input:focus { border-bottom-color: var(--blml-accent, #A0595E); }
.blml-t5 .blml-btn-submit {
    background: var(--blml-text, #2C1A1A); color: var(--blml-bg, #FDF5F5); border: none;
    border-radius: 50px; padding: 15px 36px; font-size: 14px; font-weight: 500;
    font-family: inherit; cursor: pointer; transition: all .2s; display: inline-block;
}
.blml-t5 .blml-btn-submit:hover { background: var(--blml-accent, #A0595E); }
.blml-t5 .blml-success-icon { color: var(--blml-accent, #A0595E); }
.blml-t5 .blml-success-title { color: var(--blml-text, #2C1A1A); }
.blml-t5 .blml-note { color: var(--blml-secondary, #B07074); }

/* ════════════════════════════════════════════════════════
   T6 — CLEAN PRO (General Blog)
   White, indigo accent, bold split layout, modern
   ════════════════════════════════════════════════════════ */
.blml-t6 {
    background: var(--blml-bg, #FFFFFF); border-radius: 20px; padding: 0; max-width: 560px;
    border: 1px solid #E5E7EB; box-shadow: 0 4px 32px rgba(79,70,229,.06); overflow: hidden;
}
.blml-t6 .blml-t6-top {
    background: linear-gradient(135deg, var(--blml-accent, #4F46E5), color-mix(in srgb, var(--blml-accent, #4F46E5) 70%, #7C3AED));
    padding: 32px 40px 28px;
}
.blml-t6 .blml-badge-el {
    display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: 2px;
    text-transform: uppercase; color: rgba(255,255,255,.7); margin-bottom: 12px;
}
.blml-t6 .blml-heading { font-size: 30px; font-weight: 700; color: #fff; line-height: 1.2; margin-bottom: 8px; }
.blml-t6 .blml-sub { font-size: 14px; color: rgba(255,255,255,.75); line-height: 1.6; }
.blml-t6 .blml-t6-bottom { padding: 28px 40px 32px; background: var(--blml-card, #F9FAFB); }
.blml-t6 .blml-fields { display: flex; flex-direction: column; gap: 10px; }
.blml-t6 .blml-input {
    background: var(--blml-bg, #FFFFFF); border: 1.5px solid #E5E7EB;
    border-radius: 10px; padding: 13px 16px; font-size: 14px; color: var(--blml-text, #111827);
}
.blml-t6 .blml-input::placeholder { color: #9CA3AF; }
.blml-t6 .blml-input:focus { border-color: var(--blml-accent, #4F46E5); box-shadow: 0 0 0 3px color-mix(in srgb, var(--blml-accent, #4F46E5) 12%, transparent); }
.blml-t6 .blml-btn-submit {
    width: 100%; background: var(--blml-accent, #4F46E5); color: #fff; border: none;
    border-radius: 10px; padding: 14px; font-size: 14px; font-weight: 600;
    font-family: inherit; cursor: pointer; transition: all .2s;
}
.blml-t6 .blml-btn-submit:hover { filter: brightness(1.1); transform: translateY(-1px); }
.blml-t6 .blml-note { color: #9CA3AF; }
.blml-t6 .blml-success-icon, .blml-t6 .blml-success-title { color: var(--blml-accent, #4F46E5); }

/* ════════════════════════════════════════════════════════
   T7 — NEON DARK (Creative / Tech)
   Deep navy, electric blue, Space Mono
   ════════════════════════════════════════════════════════ */
.blml-t7 {
    background: var(--blml-bg, #0D1117); border-radius: 12px; padding: 52px 48px; max-width: 540px;
    border: 1px solid color-mix(in srgb, var(--blml-accent, #58A6FF) 20%, #21262D);
    position: relative; overflow: hidden;
}
.blml-t7::before {
    content: ''; position: absolute; top: -100px; right: -80px; width: 280px; height: 280px;
    border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle, color-mix(in srgb, var(--blml-accent, #58A6FF) 12%, transparent) 0%, transparent 70%);
}
.blml-t7 .blml-badge-el {
    display: inline-block; font-family: 'Space Mono', monospace; font-size: 10px;
    letter-spacing: 3px; text-transform: uppercase;
    color: var(--blml-accent, #58A6FF);
    border: 1px solid color-mix(in srgb, var(--blml-accent, #58A6FF) 35%, transparent);
    padding: 4px 12px; border-radius: 3px; margin-bottom: 20px;
}
.blml-t7 .blml-heading {
    font-family: 'Playfair Display', serif; font-size: 36px; font-weight: 900;
    color: var(--blml-text, #E6EDF3); line-height: 1.1; margin-bottom: 12px;
}
.blml-t7 .blml-sub { font-size: 14px; color: var(--blml-secondary, #8B949E); line-height: 1.65; margin-bottom: 30px; }
.blml-t7 .blml-fields { display: flex; flex-direction: column; gap: 10px; }
.blml-t7 .blml-input {
    background: var(--blml-card, #161B22); border: 1px solid #30363D;
    border-radius: 8px; padding: 13px 16px; font-size: 14px; color: var(--blml-text, #E6EDF3);
}
.blml-t7 .blml-input::placeholder { color: #484F58; }
.blml-t7 .blml-input:focus { border-color: var(--blml-accent, #58A6FF); background: color-mix(in srgb, var(--blml-card, #161B22) 90%, var(--blml-accent, #58A6FF)); }
.blml-t7 .blml-btn-submit {
    width: 100%; background: transparent; color: var(--blml-accent, #58A6FF);
    border: 1.5px solid var(--blml-accent, #58A6FF); border-radius: 8px;
    padding: 14px; font-size: 14px; font-weight: 600; font-family: inherit; cursor: pointer; transition: all .2s;
}
.blml-t7 .blml-btn-submit:hover { background: var(--blml-accent, #58A6FF); color: var(--blml-bg, #0D1117); }
.blml-t7 .blml-error-msg { background: rgba(255,255,255,.05); color: #F8514A; border-left-color: #F8514A; }
.blml-t7 .blml-success-icon { color: var(--blml-accent, #58A6FF); }
.blml-t7 .blml-success-title { color: var(--blml-text, #E6EDF3); }
.blml-t7 .blml-note { color: #484F58; }

/* ════════════════════════════════════════════════════════
   T8 — GARDEN NOTES (Nature / Wellness)
   Soft sage, forest green, Fraunces, organic
   ════════════════════════════════════════════════════════ */
.blml-t8 {
    background: var(--blml-bg, #F3F7F0); border-radius: 20px; padding: 52px 48px; max-width: 540px;
    border: 1.5px solid color-mix(in srgb, var(--blml-accent, #3D7A5A) 20%, #D0DFC8);
    position: relative; overflow: hidden;
}
.blml-t8::before {
    content: '🌿'; position: absolute; font-size: 80px; top: 12px; right: 16px;
    opacity: .18; pointer-events: none; user-select: none;
}
.blml-t8 .blml-badge-el {
    display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600;
    color: var(--blml-accent, #3D7A5A);
    background: color-mix(in srgb, var(--blml-accent, #3D7A5A) 10%, transparent);
    padding: 5px 14px; border-radius: 20px; margin-bottom: 18px;
}
.blml-t8 .blml-heading {
    font-family: 'Fraunces', serif; font-size: 38px; font-weight: 300;
    color: var(--blml-text, #1A2E20); line-height: 1.2; margin-bottom: 12px;
}
.blml-t8 .blml-sub { font-size: 15px; color: var(--blml-secondary, #5A7D65); line-height: 1.7; margin-bottom: 30px; font-weight: 300; }
.blml-t8 .blml-fields { display: flex; flex-direction: column; gap: 10px; }
.blml-t8 .blml-input {
    background: var(--blml-card, #FFFFFF);
    border: 1.5px solid color-mix(in srgb, var(--blml-accent, #3D7A5A) 20%, #D0DFC8);
    border-radius: 50px; padding: 13px 20px; font-size: 14px; color: var(--blml-text, #1A2E20);
}
.blml-t8 .blml-input::placeholder { color: #9DB89E; }
.blml-t8 .blml-input:focus { border-color: var(--blml-accent, #3D7A5A); }
.blml-t8 .blml-btn-submit {
    width: 100%; background: var(--blml-accent, #3D7A5A); color: #fff; border: none;
    border-radius: 50px; padding: 15px; font-size: 15px; font-weight: 500;
    font-family: inherit; cursor: pointer; transition: all .2s;
}
.blml-t8 .blml-btn-submit:hover { filter: brightness(1.08); transform: translateY(-1px); }
.blml-t8 .blml-success-icon { color: var(--blml-accent, #3D7A5A); }
.blml-t8 .blml-success-title { color: var(--blml-text, #1A2E20); }
.blml-t8 .blml-note { color: var(--blml-secondary, #5A7D65); }

/* ── Shared success colors for light templates ─────────────── */
.blml-t1 .blml-success-sub, .blml-t2 .blml-success-sub,
.blml-t3 .blml-success-sub, .blml-t5 .blml-success-sub,
.blml-t6 .blml-success-sub, .blml-t8 .blml-success-sub { color: #666; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 540px) {
    .blml-t1, .blml-t2, .blml-t3, .blml-t4,
    .blml-t5, .blml-t7, .blml-t8 { padding: 36px 24px; }
    .blml-t6 .blml-t6-top, .blml-t6 .blml-t6-bottom { padding-left: 24px; padding-right: 24px; }
    .blml-t1 .blml-heading, .blml-t2 .blml-heading { font-size: 30px; }
    .blml-t4 .blml-heading { font-size: 46px; }
    .blml-t5 .blml-heading { font-size: 32px; }
    .blml-t8 .blml-heading { font-size: 30px; }
}

/* ── Success fallback (used when .blml-success block is absent) ── */
.blml-success-fallback {
    text-align: center;
    padding: 24px 16px;
    font-size: 15px;
    line-height: 1.6;
    color: inherit;
    font-family: inherit;
}
