.fle { color:#f7f4ec; font:inherit; }
.fle * { box-sizing:border-box; }
.fle-trap { position:absolute; width:1px; height:1px; overflow:hidden; left:-9999px; }
.fle-progress { height:3px; background:#4c483f; margin:20px 0 12px; }
.fle-progress span { display:block; width:33.333%; height:100%; background:#d5a635; transition:width .24s ease; }
.fle-counter { color:#e4bd69!important; font-size:11px!important; font-weight:700; letter-spacing:.13em; text-transform:uppercase; margin:0 0 15px!important; }
.fle fieldset { border:0; padding:0; margin:0; min-width:0; }
.fle fieldset legend { font-size:24px; line-height:1.18; font-weight:800; letter-spacing:-.035em; color:#fff; padding:0; }
.fle fieldset>p { font-size:13px!important; color:#c9c6c0; margin:8px 0 16px!important; }
.fle-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:14px 0 20px; }
.fle-option { position:relative; display:block; cursor:pointer; }
.fle-option input { position:absolute; left:12px; top:50%; transform:translateY(-50%); width:16px; height:16px; accent-color:#d5a635; }
.fle-option span { display:flex; align-items:center; min-height:52px; padding:10px 10px 10px 36px; border:1px solid #666057; background:#242424; color:#f6f3ed; font-size:12px; line-height:1.28; transition:background .15s,border-color .15s; }
.fle-option:hover span,.fle-option input:checked+span { border-color:#d5a635; background:#3b301c; }
.fle-option input:focus-visible+span { outline:2px solid #f7c95c; outline-offset:3px; }
.fle-label { display:block; margin:13px 0 5px; font-size:13px; font-weight:700; }
.fle-label small { color:#bcb8b0; font-weight:400; }
.fle input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.fle textarea { display:block; width:100%; min-height:44px; color:white; background:#242424; border:1px solid #7b7469; border-radius:2px; font:inherit; padding:9px 12px; }
.fle textarea { min-height:88px; resize:vertical; }
.fle input:focus-visible,.fle textarea:focus-visible,.fle button:focus-visible { outline:2px solid #f0bc45; outline-offset:2px; }
.fle-consent { display:flex; gap:10px; align-items:flex-start; margin:18px 0 8px; font-size:11px; line-height:1.5; cursor:pointer; }
.fle-consent input { accent-color:#d5a635; flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; }
.fle-services-request { margin:22px 0 5px; padding:16px; border:1px solid #8c7440; background:#29251b; font-size:13px; }
.fle-services-request strong { color:#f0c567; }
.fle .fle-services-note { margin:0 0 20px 28px!important; color:#d8d0c1; font-size:12px!important; line-height:1.5; }
.fle .fle-privacy { font-size:11px!important; color:#c8c2b8; }
.fle-privacy a,.fle-notice a { color:#f5c45d; text-decoration:underline; }
.fle-actions { display:flex; gap:10px; margin-top:18px; }
.fle button { cursor:pointer; border:0; min-height:45px; padding:10px 20px; font-size:12px; font-weight:800; letter-spacing:.04em; }
.fle .fle-next,.fle .fle-submit { background:#d5a635; color:#14110b; flex:1; }
.fle .fle-back { border:1px solid #8e846d; color:#f6f3ea; background:transparent; }
.fle button:hover { filter:brightness(1.1); }
.fle button:disabled { opacity:.7; cursor:wait; }
.fle .fle-error { color:#ffd38d!important; font-size:12px!important; }
.fle-notice { border:1px solid #d5a635; padding:13px 16px; margin:12px 0; color:#fff; }
.fle-notice h3 { font-size:20px; margin:0 0 5px; }
.fle-enhanced .fle-step:not(.fle-current) { display:none; }
.fle-form:not(.fle-enhanced) .fle-counter,.fle-form:not(.fle-enhanced) .fle-progress,.fle-form:not(.fle-enhanced) .fle-next,.fle-form:not(.fle-enhanced) .fle-back { display:none; }
.fle-form:not(.fle-enhanced) .fle-step { margin-bottom:25px; }
.fle-form:not(.fle-enhanced) .fle-submit { display:block; }
@media(max-width:520px) { .fle-options { grid-template-columns:1fr; gap:7px; } .fle-option span { min-height:42px; } }
@media(prefers-reduced-motion:reduce) { .fle-progress span,.fle-option span { transition:none; } }

/* Compact permission area, version 0.2.4. */
.fle .fle-consent { font-size:14px; line-height:1.55; gap:12px; margin:18px 0; }
.fle .fle-services-request { padding:14px 16px; margin:20px 0 18px; }
.fle .fle-required { color:#e4bd69; font-weight:700; white-space:nowrap; }
