.fireform-wrap .fireform .ff-file-input{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important;padding:0 !important;margin:0 !important}
.fireform-wrap .fireform .ff-file-btn::before,.fireform-wrap .fireform .ff-file-btn::after{content:none !important;display:none !important}
.fireform{display:block}
.fireform .fireform-field{margin:16px 0}
.fireform .fireform-option{display:inline-flex;align-items:center;gap:6px;margin-right:14px}
.fireform .fireform-select select{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px;background:#fbfbff}
/* Enhanced select UI */
.fireform-wrap .fireform .fireform-select select{appearance:none !important;-webkit-appearance:none !important;background:#fbfbff !important;position:relative;padding-right:38px;border:1px solid #e5e7eb;border-radius:10px}
.fireform-wrap .fireform .fireform-select select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}
.fireform .fireform-select select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.15)}
.fireform-wrap[data-ff-theme="custom"] .fireform .fireform-select select:focus{border-color:var(--ff-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 15%, transparent)}
.fireform .fireform-select select:hover{border-color:#d1d5db}
.fireform-wrap .fireform .fireform-radio .fireform-option{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:14px;line-height:1.2}
.fireform-wrap .fireform .fireform-radio .fireform-option input[type="radio"]{width:16px;height:16px;appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;border:1.5px solid #e5e7eb !important;border-radius:9999px !important;background:#fff !important;background-image:none !important;box-shadow:none !important;display:inline-block;position:relative;margin:0;vertical-align:middle}
.fireform .fireform-radio .fireform-option input[type="radio"]:checked{border-color:var(--ff-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 18%, transparent)}
.fireform .fireform-radio .fireform-option input[type="radio"]:checked:after{content:"";position:absolute;left:5px;top:5px;width:6px;height:6px;border-radius:9999px;background:var(--ff-primary)}
.fireform .fireform-radio .fireform-option input[type="radio"]:hover{border-color:#c7cbd1}
.fireform-wrap .fireform .fireform-checkbox .fireform-option{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:14px;line-height:1.2;cursor:pointer}
.fireform-wrap .fireform .fireform-checkbox .fireform-option input[type="checkbox"]{width:auto;height:auto;appearance:auto !important;-webkit-appearance:auto !important;-moz-appearance:auto !important;border:initial;background:initial;box-shadow:none;display:inline-block;position:relative;margin:0;vertical-align:middle;accent-color:var(--ff-primary)}
.fireform .fireform-checkbox .fireform-option input[type="checkbox"]:checked{accent-color:var(--ff-primary)}
.fireform .fireform-checkbox .fireform-option input[type="checkbox"]:hover{border-color:#c7cbd1}

/* File input styled button */
.ff-file{display:flex;align-items:center;width:100%;height:44px;box-sizing:border-box;border:1px solid #e5e7eb;border-radius:10px;background:#fbfbff}
.ff-file:hover{border-color:#d1d5db}
.ff-file-input{position:absolute;left:-9999px}
.ff-file-name{flex:1;display:inline-flex;align-items:center;height:100%;padding:0 12px;border:0;background:transparent;color:#6b7280;border-radius:10px 0 0 10px;min-width:0}
.ff-file-btn{display:inline-flex;align-items:center;height:100%;gap:6px;padding:0 12px;border:0;border-left:1px solid #e5e7eb;border-radius:0 10px 10px 0;background:#fbfbff;cursor:pointer;transition:background .15s,border-color .15s, box-shadow .15s;font-size:14px;line-height:1.2}
.ff-file-btn:hover{background:#f3f4f6}
.ff-file-name{font-size:14px}
/* When custom theme is active, tint file button */
.fireform-wrap[data-ff-theme="custom"] .ff-file:focus-within{border-color:var(--ff-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 15%, transparent)}
.fireform-wrap[data-ff-theme="custom"] .ff-file-btn:hover{background:color-mix(in srgb, var(--ff-primary) 6%, white)}

/* Defensive resets to defeat theme overrides on labels wrapping inputs */
.fireform-wrap .fireform .fireform-option{background:none !important;border:none !important;box-shadow:none !important}
.fireform-wrap .fireform .fireform-option::before,.fireform-wrap .fireform .fireform-option::after{content:none !important;display:none !important}

/* Base fallback selectors to ensure custom controls apply even if structure differs */
.fireform-wrap .fireform input[type="checkbox"]{appearance:auto !important;-webkit-appearance:auto !important;-moz-appearance:auto !important;margin:0 10px 0 0;accent-color:var(--ff-primary)}

.fireform-wrap .fireform input[type="radio"]{width:16px;height:16px;appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;border:1.5px solid #e5e7eb !important;border-radius:9999px !important;background:#fff !important;background-image:none !important;box-shadow:none !important;display:inline-block;position:relative;margin:0 10px 0 0;vertical-align:middle}
.fireform-wrap .fireform input[type="radio"]:checked{border-color:var(--ff-primary) !important;box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 18%, transparent)}
.fireform-wrap .fireform input[type="radio"]:checked:after{content:"";position:absolute;left:5px;top:5px;width:6px;height:6px;border-radius:9999px;background:var(--ff-primary)}

/* Smooth rating transitions */
.fireform .fireform-rating .ff-star{transition:color .15s,border-color .15s,background .15s,transform .12s}
.fireform .fireform-rating .ff-star.is-hover{color:#fbbf24;border-color:#fde68a;background:#fffbeb;transform:scale(1.05)}
.fireform .fireform-label{display:block;margin:0 0 6px;font-weight:600;color:#1f2937;font-size:14px;letter-spacing:.2px}
.fireform .fireform-label .req{color:#ef4444;font-weight:700;font-size:12px;margin-left:4px}
.fireform .fireform-row{display:flex;gap:14px}
.fireform .builder-row,.fireform .fireform-row{align-items:stretch}
.fireform .is-half{flex:1 1 0;min-width:0}
.fireform .fireform-name .fireform-row{display:flex;gap:12px}
.fireform .builder-row{display:flex;gap:14px}
.fireform .fireform-name .fireform-col{flex:1;min-width:120px}
.fireform .fireform-col{flex:1}
.fireform .fireform-address > .fireform-col{margin-bottom:12px}
.fireform .fireform-address > .fireform-col:last-of-type{margin-bottom:0}
.fireform .fireform-address .fireform-row{margin-top:12px}
.fireform input[type="text"],.fireform input[type="email"],.fireform input[type="url"],.fireform input[type="tel"],.fireform input[type="password"],.fireform textarea{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px;background:#fbfbff;transition:border-color .15s,box-shadow .15s}
.fireform-wrap{--ff-primary:inherit;--ff-primary-2:inherit}
.fireform-wrap[data-ff-theme="custom"]{--ff-primary:#7c3aed;--ff-primary-2:color-mix(in srgb, var(--ff-primary) 75%, black)}
.fireform input:focus,.fireform textarea:focus{outline:none;border-color:var(--ff-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 15%, transparent)}
.fireform textarea{min-height:120px}
.fireform .fireform-submit{margin-top:16px}
.fireform-wrap[data-ff-theme="custom"] .fireform .fireform-submit{background:linear-gradient(90deg,var(--ff-primary) 0%,var(--ff-primary-2) 100%);border:1px solid transparent;border-radius:12px;color:#fff;padding:12px 18px;min-height:42px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1;box-shadow:0 6px 12px rgba(0,0,0,.12);transition:transform .15s,box-shadow .15s,filter .15s}
.fireform-wrap[data-ff-theme="custom"] .fireform .fireform-submit:after{content:"→";font-weight:700;position:relative;top:-1px}
.fireform-wrap[data-ff-theme="custom"] .fireform .fireform-submit:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(0,0,0,.16)}
.fireform-wrap[data-ff-theme="custom"] .fireform .fireform-submit:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 30%, transparent),0 6px 12px rgba(0,0,0,.12)}
.fireform .fireform-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}
.fireform .hint{font-size:12px;color:#6b7280;margin-top:6px}
.fireform .fireform-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.ff-input-icon{position:relative}
.ff-input-icon .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6b7280}
.ff-input-icon input[type="url"]{padding-left:34px}

/* Steps */
.ff-steps{position:relative}
.ff-step{display:none}
.ff-step[data-active="1"]{display:block}
.ff-step-nav{display:flex;justify-content:space-between;margin-top:12px;gap:10px}
.ff-step-nav .ff-prev,.ff-step-nav .ff-next{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;color:#111827;font-weight:600;cursor:pointer;transition:box-shadow .15s, transform .12s}
.ff-step-nav .ff-prev:disabled{opacity:.5;cursor:not-allowed}
.ff-step-nav .ff-next{margin-left:auto;background:linear-gradient(90deg,var(--ff-primary) 0%,var(--ff-primary-2) 100%);color:#fff;border-color:transparent}
.fireform-wrap[data-ff-theme="custom"] .ff-step-nav .ff-prev:hover{box-shadow:0 8px 18px rgba(0,0,0,.12)}
.fireform-wrap[data-ff-theme="custom"] .ff-step-nav .ff-next:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(0,0,0,.16)}

/* Consent links - underline across themes; color when custom theme active */
.fireform .fireform-consent a{text-decoration:underline;text-underline-offset:2px}
.fireform-wrap[data-ff-theme="custom"] .fireform .fireform-consent a{color:var(--ff-primary)}
.fireform-wrap[data-ff-theme="custom"] .fireform .fireform-consent a:hover{color:var(--ff-primary-2)}

/* Rating stars */
.fireform .fireform-rating .ff-stars{display:inline-flex;gap:6px}
.fireform .fireform-rating .ff-star{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:6px 8px;cursor:pointer;color:#9ca3af}
.fireform .fireform-rating .ff-star.is-on{color:#f59e0b;border-color:#fcd34d;background:#fffbeb}

/* Country combobox */
.ff-country{position:relative}
.ff-country .ff-combobox{display:none;position:relative}
.ff-country .ff-combobox::after{content:"";position:absolute;right:12px;top:50%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #6b7280;transform:translateY(-50%);pointer-events:none}
.ff-country .ff-input{width:100%;padding:12px 40px 12px 14px;border:1px solid #e5e7eb;border-radius:10px;background:#fbfbff;transition:border-color .15s,box-shadow .15s}
.ff-country .ff-input:focus{outline:none;border-color:var(--ff-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 15%, transparent)}
.ff-country .ff-list{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:999;background:#fff;border:1px solid #e5e7eb;border-radius:10px;max-height:240px;overflow:auto;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.ff-country .ff-opt{padding:10px 12px;cursor:pointer;font-size:14px;color:#111827}
.ff-country .ff-opt + .ff-opt{border-top:1px solid #f3f4f6}
.ff-country .ff-opt:hover,.ff-country .ff-opt.is-active{background:#f5f3ff}

/* Hide fallback select once enhanced */
.fireform .ff-country.is-enhanced .ff-country-fallback{display:none}

/* Style fallback select to match inputs (no-JS or before enhancement) */
.fireform .ff-country .ff-country-fallback{
  -webkit-appearance:none;appearance:none;width:100%;
  padding:12px 40px 12px 14px;border:1px solid #e5e7eb;border-radius:10px;background:#fbfbff;
  transition:border-color .15s,box-shadow .15s
}
.fireform .ff-country .ff-country-fallback:focus{outline:none;border-color:var(--ff-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 15%, transparent)}
.fireform .ff-country::after{content:"";position:absolute;right:12px;top:50%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #6b7280;transform:translateY(-50%);pointer-events:none}
.fireform .ff-country.is-enhanced::after{display:none}

/* Success overlay */
.fireform-wrap .ff-inline-success{display:block;background:#ecfdf5;border:1px solid #d1fae5;color:#065f46;border-radius:12px;padding:12px 14px;margin:12px 0}
.ff-success-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:99999}
.ff-success-overlay.is-open{display:flex}
.ff-success-overlay .ff-card{width:520px;max-width:90%;background:#fff;border-radius:14px;border:1px solid #e5e7eb;box-shadow:0 30px 60px rgba(0,0,0,.25);padding:24px;text-align:center}
.ff-success-overlay .ff-icon{width:56px;height:56px;border-radius:9999px;margin:0 auto 12px;background:#ecfdf5;border:1px solid #a7f3d0;color:#059669;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}
.ff-success-overlay .ff-lottie{display:block;width:140px;height:140px;margin:0 auto 8px}
.ff-success-overlay .ff-desc{color:#374151;margin:6px 0 14px}
.ff-success-overlay .ff-close{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(90deg,#10b981 0%,#059669 100%);border:none;border-radius:12px;color:#fff;padding:10px 16px;font-weight:600;cursor:pointer}
.ff-success-overlay .ff-close:focus{outline:none;box-shadow:0 0 0 3px rgba(16,185,129,.25)}
@media (prefers-reduced-motion:no-preference){
  .ff-success-overlay .ff-card{transform:translateY(8px);opacity:0;transition:transform .18s ease, opacity .18s ease}
  .ff-success-overlay.is-open .ff-card{transform:translateY(0);opacity:1}
}
