.ufpf-wrap,.ufpf-wrap *,.ufpf-wrap *::before,.ufpf-wrap *::after{box-sizing:border-box}.ufpf-wrap{--a:#94d600;--bg:#050708;--p:#080b0e;--p2:#0c1114;--line:rgba(255,255,255,.10);--line2:rgba(255,255,255,.16);--text:#f1f3f4;--muted:#858d92;--danger:#ff6b6b;width:100%;max-width:none;min-width:0;margin:0;padding:0;color:var(--text);font-family:"Chakra Petch",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.ufpf-wrap input,.ufpf-wrap select,.ufpf-wrap textarea,.ufpf-wrap button{font:inherit}.ufpf-progress-card{position:relative;width:100%;margin:0 0 18px;padding:clamp(18px,2vw,28px);border:1px solid var(--line);border-radius:12px;background:radial-gradient(circle at 90% 0%,rgba(148,214,0,.07),transparent 34%),var(--p)}.ufpf-progress-top,.ufpf-progress-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.ufpf-eyebrow{margin-bottom:6px;color:var(--a);font-size:10px;font-weight:700;letter-spacing:.14em}.ufpf-progress-title{font-size:clamp(18px,1.6vw,26px);font-weight:600;line-height:1.15}.ufpf-progress-value{flex:0 0 auto;color:var(--a);font-size:clamp(28px,3vw,46px);font-weight:700;line-height:1}.ufpf-progress-track{width:100%;height:8px;margin:18px 0 12px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.06)}.ufpf-progress-fill{width:0;height:100%;border-radius:inherit;background:var(--a);transition:width .25s ease}.ufpf-progress-bottom{align-items:center;color:var(--muted);font-size:11px;line-height:1.5}.ufpf-progress-label{color:var(--text);font-weight:600;white-space:nowrap}.ufpf-notice{display:grid;gap:4px;margin:0 0 18px;padding:16px 18px;border:1px solid var(--line);border-radius:9px;background:var(--p)}.ufpf-notice strong{font-size:13px}.ufpf-notice span{color:var(--muted);font-size:12px}.ufpf-notice-success{border-color:rgba(148,214,0,.45)}.ufpf-notice-success strong{color:var(--a)}.ufpf-notice-error{border-color:rgba(255,107,107,.45)}.ufpf-notice-error strong{color:var(--danger)}.ufpf-form{width:100%;margin:0}.ufpf-section{width:100%;margin:0 0 12px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--p)}.ufpf-section[open]{border-color:var(--line2)}.ufpf-section>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:74px;padding:16px clamp(16px,2vw,24px);cursor:pointer;list-style:none;user-select:none;background:var(--p)}.ufpf-section>summary::-webkit-details-marker{display:none}.ufpf-section>summary:hover{background:#0a0e11}.ufpf-section-no{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(148,214,0,.34);border-radius:7px;color:var(--a);font-size:11px;font-weight:700}.ufpf-section summary strong{display:block;color:var(--text);font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.ufpf-section summary small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.ufpf-section-state{color:rgba(255,255,255,.38);font-size:9px;font-weight:600;letter-spacing:.1em}.ufpf-section[open] .ufpf-section-state{color:var(--a)}.ufpf-section-body{padding:clamp(18px,2vw,26px);border-top:1px solid var(--line);background:var(--p2)}.ufpf-field-grid{display:grid;gap:14px;width:100%}.ufpf-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ufpf-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ufpf-field{display:grid;gap:7px;min-width:0;color:var(--text)}.ufpf-field>span,.ufpf-subheading{color:#cfd5d8;font-size:11px;font-weight:600;letter-spacing:.04em}.ufpf-field b,.ufpf-subheading b{color:var(--a)}.ufpf-field small{color:var(--muted);font-size:10px;line-height:1.45}.ufpf-wrap input[type=text],.ufpf-wrap input[type=email],.ufpf-wrap input[type=tel],.ufpf-wrap input[type=url],.ufpf-wrap input[type=number],.ufpf-wrap select,.ufpf-wrap textarea{width:100%;min-width:0;max-width:none;min-height:45px;margin:0;padding:11px 13px;border:1px solid rgba(255,255,255,.11);border-radius:7px;outline:none;background:#070a0c;color:var(--text);box-shadow:none;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.ufpf-wrap textarea{min-height:120px;resize:vertical;line-height:1.55}.ufpf-wrap input::placeholder,.ufpf-wrap textarea::placeholder{color:rgba(255,255,255,.24)}.ufpf-wrap input:focus,.ufpf-wrap select:focus,.ufpf-wrap textarea:focus{border-color:rgba(148,214,0,.72);background:#080c0e;box-shadow:0 0 0 3px rgba(148,214,0,.07)}.ufpf-space-top{margin-top:20px}.ufpf-radio-grid,.ufpf-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}.ufpf-check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ufpf-radio-card,.ufpf-check{position:relative;display:block;min-width:0;cursor:pointer}.ufpf-radio-card input,.ufpf-check input{position:absolute;opacity:0;pointer-events:none}.ufpf-radio-card span,.ufpf-check span{display:flex;align-items:center;min-height:48px;padding:11px 13px;border:1px solid rgba(255,255,255,.10);border-radius:7px;background:#080b0e;color:#aab2b7;font-size:11px;font-weight:500;line-height:1.35;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease}.ufpf-radio-card:hover span,.ufpf-check:hover span{border-color:rgba(148,214,0,.34);color:#fff;transform:translateY(-1px)}.ufpf-radio-card input:checked+span,.ufpf-check input:checked+span{border-color:var(--a);background:rgba(148,214,0,.09);color:#fff}.ufpf-submit-panel{display:grid;gap:16px;margin-top:16px;padding:clamp(20px,2vw,28px);border:1px solid var(--line);border-radius:10px;background:radial-gradient(circle at 100% 0%,rgba(148,214,0,.06),transparent 30%),var(--p)}.ufpf-consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:11px;line-height:1.5;cursor:pointer}.ufpf-consent input{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;accent-color:var(--a)}.ufpf-consent a{color:var(--a);text-decoration:none}.ufpf-test-mode,.ufpf-security-warning{width:fit-content;max-width:100%;padding:8px 10px;border:1px solid rgba(255,193,7,.22);border-radius:6px;color:#d6aa3c;background:rgba(255,193,7,.05);font-size:9px;letter-spacing:.07em}.ufpf-security-warning{color:#ff9a9a;border-color:rgba(255,107,107,.25);background:rgba(255,107,107,.06)}.ufpf-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;width:min(100%,360px);min-height:52px;padding:0 18px;border:1px solid var(--a);border-radius:7px;background:var(--a);color:#071006;font-size:12px;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:transform .18s ease,filter .18s ease}.ufpf-submit:hover{transform:translateY(-1px);filter:brightness(1.08)}.ufpf-submit:disabled{opacity:.65;cursor:wait}.ufpf-submit-note{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.ufpf-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;white-space:nowrap!important}@media(min-width:1400px){.ufpf-check-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ufpf-section-body{padding-left:clamp(24px,2.4vw,38px);padding-right:clamp(24px,2.4vw,38px)}}@media(max-width:1100px){.ufpf-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.ufpf-radio-grid,.ufpf-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.ufpf-progress-top,.ufpf-progress-bottom{align-items:flex-start;flex-direction:column;gap:8px}.ufpf-progress-value{position:absolute;right:18px}.ufpf-progress-label{white-space:normal}.ufpf-section>summary{grid-template-columns:auto minmax(0,1fr)}.ufpf-section-state{display:none}.ufpf-grid-2,.ufpf-grid-3,.ufpf-radio-grid,.ufpf-check-grid{grid-template-columns:1fr}.ufpf-submit{width:100%}}@media(max-width:430px){.ufpf-section-no{width:34px;height:34px}.ufpf-section>summary{gap:11px;padding:14px}.ufpf-section-body,.ufpf-submit-panel,.ufpf-progress-card{padding:16px}.ufpf-radio-card span,.ufpf-check span{min-height:44px}}


/* =========================================================
   v1.1 additions
========================================================= */
.ufpf-intro-message{max-width:1080px;margin-top:18px;padding:14px 16px;border-left:3px solid var(--a);background:rgba(148,214,0,.055);color:#aeb6bb;font-size:12px;line-height:1.65}
.ufpf-intro-message strong{color:#fff}
.ufpf-live-status{display:none;width:100%;margin:0 0 16px;padding:14px 16px;border-radius:8px;font-size:12px;line-height:1.5}
.ufpf-live-status.is-visible{display:block}
.ufpf-live-status.is-error{border:1px solid rgba(255,95,99,.48);background:rgba(255,95,99,.07);color:#ff9ea1}
.ufpf-live-status.is-success{border:1px solid rgba(148,214,0,.42);background:rgba(148,214,0,.06);color:#dff5a4}
.ufpf-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ufpf-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.ufpf-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.ufpf-wrap input[type=color]{width:100%;min-height:45px;padding:4px;border:1px solid rgba(255,255,255,.11);border-radius:7px;background:#070a0c;cursor:pointer}
.ufpf-product-suggestion{display:none;margin-top:14px;padding:12px 14px;border:1px solid rgba(148,214,0,.18);border-radius:7px;background:rgba(148,214,0,.04);color:#8e999f;font-size:10px;line-height:1.55}
.ufpf-product-suggestion.is-visible{display:block}
.ufpf-product-suggestion strong{color:var(--a)}
.ufpf-builder-intro{margin-top:22px;padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#080b0e;color:var(--muted);font-size:11px;line-height:1.6}
.ufpf-builder-intro strong{color:#fff}
.ufpf-advanced-module{margin-top:16px;padding:clamp(16px,1.6vw,22px);border:1px solid rgba(255,255,255,.09);border-radius:9px;background:#090d10}
.ufpf-advanced-module[hidden]{display:none!important}
.ufpf-module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.ufpf-module-head strong{display:block;color:#fff;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.ufpf-module-head small{display:block;max-width:800px;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.5}
.ufpf-add-button,.ufpf-remove-button{flex:0 0 auto;border:1px solid rgba(148,214,0,.42);border-radius:6px;background:rgba(148,214,0,.06);color:var(--a);cursor:pointer;font-size:9px;font-weight:700;letter-spacing:.08em;transition:background .18s ease,color .18s ease,border-color .18s ease}
.ufpf-add-button{min-height:36px;padding:0 12px}
.ufpf-add-button:hover{border-color:var(--a);background:rgba(148,214,0,.12);color:#c9ff53}
.ufpf-repeater{display:grid;gap:12px;margin-top:14px}
.ufpf-repeater:empty{margin-top:0}
.ufpf-repeater-item{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#06090b}
.ufpf-repeater-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.ufpf-repeater-top strong{color:#dce1e4;font-size:10px;font-weight:700;letter-spacing:.09em}
.ufpf-remove-button{min-height:30px;padding:0 10px;border-color:rgba(255,95,99,.28);background:rgba(255,95,99,.04);color:#d77b7e}
.ufpf-remove-button:hover{border-color:rgba(255,95,99,.65);color:#ff9da0}
.ufpf-mini-checks{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0}
.ufpf-mini-checks label{display:inline-flex;align-items:center;gap:7px;color:#aab2b7;font-size:10px;cursor:pointer}
.ufpf-mini-checks input{width:15px;height:15px;margin:0;accent-color:var(--a)}
.ufpf-consent-box{padding:12px 14px;border:1px solid transparent;border-radius:8px;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.ufpf-consent-box.is-invalid{border-color:rgba(255,95,99,.78);background:rgba(255,95,99,.075);box-shadow:0 0 0 3px rgba(255,95,99,.06)}
.ufpf-consent-error{display:none;margin-top:8px;padding-left:27px;color:#ff9598;font-size:10px;font-weight:600}
.ufpf-consent-box.is-invalid .ufpf-consent-error{display:block}
.ufpf-modal[hidden]{display:none!important}
.ufpf-modal{position:fixed;z-index:999999;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}
.ufpf-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.76);backdrop-filter:blur(5px)}
.ufpf-modal-dialog{position:relative;z-index:2;width:min(100%,520px);padding:30px;border:1px solid rgba(148,214,0,.34);border-radius:12px;background:#080b0e;box-shadow:0 28px 90px rgba(0,0,0,.55);text-align:center}
.ufpf-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:16px;border:1px solid rgba(148,214,0,.45);border-radius:50%;background:rgba(148,214,0,.08);color:var(--a);font-size:24px;font-weight:700}
.ufpf-modal-dialog h3{margin:8px 0 10px;color:#fff;font-family:inherit;font-size:22px;font-weight:600}
.ufpf-modal-dialog p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.ufpf-modal-button{min-height:42px;margin-top:20px;padding:0 20px;border:1px solid var(--a);border-radius:6px;background:var(--a);color:#071006;cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.08em}
@media(max-width:1280px){.ufpf-grid-5,.ufpf-grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.ufpf-grid-4,.ufpf-grid-5,.ufpf-grid-6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ufpf-grid-4,.ufpf-grid-5,.ufpf-grid-6{grid-template-columns:1fr}.ufpf-module-head{flex-direction:column}.ufpf-add-button{width:100%}.ufpf-progress-title{max-width:calc(100% - 82px)}.ufpf-modal-dialog{padding:24px 18px}}


/* =========================================================
   v1.2 MATERIAL / COLOR BUILDER
========================================================= */

.ufpf-ral-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(100px, .55fr) minmax(220px, 1fr) minmax(120px, .55fr);
    gap: 14px;
    align-items: end;
}

.ufpf-ral-preview-box {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.ufpf-ral-preview-box > span {
    color: #cfd5d8;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
}

.ufpf-ral-preview {
    width: 100%;
    min-height: 45px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 7px;
    background: var(--ufpf-preview, #94d600);
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.12);
    transition: background .18s ease;
}

.ufpf-color-picker-field input[type="color"] {
    min-height: 45px;
}

.ufpf-ral-note {
    margin-top: 9px;
    color: rgba(255,255,255,.34);
    font-size: 9px;
    line-height: 1.5;
}

@media (max-width: 1100px) {
    .ufpf-ral-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .ufpf-ral-row {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   v1.3 COMPACT UI
   Less vertical space on desktop without removing fields.
========================================================= */

@media (min-width: 721px) {
    /* Slightly tighter main sections */
    .ufpf-section {
        margin-bottom: 8px;
    }

    .ufpf-section > summary {
        min-height: 62px;
        padding: 11px 16px;
        gap: 12px;
    }

    .ufpf-section-no {
        width: 34px;
        height: 34px;
    }

    .ufpf-section summary small {
        margin-top: 2px;
        line-height: 1.3;
    }

    .ufpf-section-body {
        padding-top: 16px;
        padding-bottom: 16px;
    }

    .ufpf-space-top {
        margin-top: 12px;
    }

    .ufpf-radio-grid,
    .ufpf-check-grid {
        gap: 7px;
    }

    .ufpf-radio-card span,
    .ufpf-check span {
        min-height: 40px;
        padding: 8px 10px;
    }

    .ufpf-builder-intro {
        margin-top: 14px;
        padding: 10px 12px;
        line-height: 1.45;
    }

    /* Dynamic modules */
    .ufpf-advanced-module {
        margin-top: 10px;
        padding: 12px 14px;
    }

    .ufpf-module-head {
        align-items: center;
        gap: 14px;
    }

    .ufpf-module-head small {
        margin-top: 2px;
        line-height: 1.35;
    }

    .ufpf-add-button {
        min-height: 30px;
        padding: 0 10px;
    }

    .ufpf-repeater {
        gap: 8px;
        margin-top: 9px;
    }

    .ufpf-repeater-item {
        padding: 10px 12px;
        border-radius: 7px;
    }

    .ufpf-repeater-top {
        margin-bottom: 8px;
        gap: 10px;
    }

    .ufpf-remove-button {
        min-height: 26px;
        padding: 0 8px;
        font-size: 8px;
    }

    .ufpf-repeater-item .ufpf-field-grid {
        gap: 8px;
    }

    .ufpf-repeater-item .ufpf-field {
        gap: 4px;
    }

    .ufpf-repeater-item .ufpf-field > span,
    .ufpf-repeater-item .ufpf-ral-preview-box > span {
        font-size: 9.5px;
        line-height: 1.2;
    }

    .ufpf-repeater-item input[type="text"],
    .ufpf-repeater-item input[type="email"],
    .ufpf-repeater-item input[type="tel"],
    .ufpf-repeater-item input[type="url"],
    .ufpf-repeater-item input[type="number"],
    .ufpf-repeater-item select {
        min-height: 36px !important;
        height: 36px;
        padding: 6px 9px;
        border-radius: 5px;
        font-size: 10px;
    }

    .ufpf-repeater-item textarea {
        min-height: 40px !important;
        height: 40px;
        padding: 6px 9px;
        border-radius: 5px;
        font-size: 10px;
        line-height: 1.3;
        resize: vertical;
        overflow-y: hidden;
    }

    .ufpf-repeater-item .ufpf-space-top {
        margin-top: 8px;
    }

    .ufpf-mini-checks {
        gap: 5px 14px;
        margin: 8px 0;
    }

    .ufpf-mini-checks.ufpf-space-top {
        margin-top: 8px;
    }

    .ufpf-mini-checks label {
        gap: 5px;
        font-size: 9px;
    }

    .ufpf-mini-checks input {
        width: 13px;
        height: 13px;
    }

    /* Material / color rows are especially compact */
    .ufpf-ral-row {
        grid-template-columns: minmax(210px, 1.45fr) 76px minmax(190px, 1fr) 78px;
        gap: 8px;
        margin-top: 8px;
    }

    .ufpf-ral-preview-box {
        gap: 4px;
    }

    .ufpf-ral-preview {
        min-height: 36px;
        height: 36px;
        border-radius: 5px;
    }

    .ufpf-color-picker-field input[type="color"],
    .ufpf-repeater-item input[type="color"] {
        min-height: 36px !important;
        height: 36px;
        padding: 3px;
        border-radius: 5px;
    }

    .ufpf-ral-note {
        margin-top: 5px;
        font-size: 8px;
        line-height: 1.35;
    }
}

@media (min-width: 1280px) {
    /* Keep wide Elementor containers efficient. */
    .ufpf-repeater-item .ufpf-grid-2 {
        gap: 8px;
    }

    .ufpf-repeater-item .ufpf-grid-3,
    .ufpf-repeater-item .ufpf-grid-4,
    .ufpf-repeater-item .ufpf-grid-5,
    .ufpf-repeater-item .ufpf-grid-6 {
        gap: 8px;
    }
}

@media (max-width: 1100px) and (min-width: 721px) {
    .ufpf-ral-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
