:root{--ld-ink:#1f2933;--ld-muted:#5b6770;--ld-line:#d5dbe0;--ld-paper:#fff;--ld-accent:#0b5d56;--ld-accent-ink:#fff;--ld-err:#a4262c;--ld-focus:#0b5d56}
.ld-banner,.ld-modal{font-family:inherit;color:var(--ld-ink);line-height:1.5;font-size:15px}
.ld-banner{position:fixed;z-index:9998;left:16px;bottom:16px;width:min(420px,calc(100% - 32px));background:var(--ld-paper);border:1px solid var(--ld-line);border-radius:6px;box-shadow:0 8px 28px rgba(15,25,35,.16);padding:16px}
.ld-banner__text{margin:0 0 12px}
.ld-banner__text a,.ld-modal a{color:var(--ld-accent);text-decoration:underline}
.ld-banner__custom{margin:0 0 12px;padding:10px 12px;background:#f4f6f7;border-radius:4px}
.ld-banner__custom label{display:flex;gap:8px;align-items:flex-start;margin:6px 0}
.ld-banner__actions{display:flex;flex-wrap:wrap;gap:8px}
.ld-btn{font:inherit;font-weight:600;cursor:pointer;border-radius:4px;padding:10px 14px;min-height:44px;border:1px solid var(--ld-accent);background:var(--ld-paper);color:var(--ld-accent)}
.ld-btn--primary{background:var(--ld-accent);color:var(--ld-accent-ink)}
.ld-btn[disabled]{opacity:.6;cursor:wait}
.ld-banner .ld-btn{flex:1 1 auto}
.ld-modal{border:0;border-radius:6px;padding:0;width:min(480px,calc(100% - 24px));max-height:calc(100% - 24px);box-shadow:0 16px 48px rgba(15,25,35,.3)}
.ld-modal::backdrop{background:rgba(15,25,35,.55)}
.ld-modal__body{padding:22px 22px 20px}
.ld-modal h2{margin:0 0 4px;font-size:20px;line-height:1.3;padding-right:36px}
.ld-sub{margin:0 0 16px;color:var(--ld-muted)}
.ld-close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:var(--ld-muted)}
.ld-field{margin:0 0 12px}
.ld-field label,.ld-field legend{display:block;font-weight:600;margin:0 0 4px;padding:0}
.ld-field input[type=text],.ld-field input[type=tel],.ld-field input[type=email],.ld-field select{width:100%;box-sizing:border-box;font:inherit;padding:10px 12px;min-height:44px;border:1px solid var(--ld-line);border-radius:4px;background:#fff;color:var(--ld-ink)}
fieldset.ld-field{border:0;padding:0;margin:0 0 12px}
.ld-choice{display:flex;gap:8px;align-items:flex-start;margin:4px 0;font-weight:400}
.ld-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ld-hint{font-weight:400;color:var(--ld-muted)}
.ld-error{color:var(--ld-err);font-size:14px;margin:4px 0 0}
.ld-consent{font-size:14px;color:var(--ld-muted);margin:4px 0 14px}
.ld-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ld-status{margin:10px 0 0;font-size:14px}
.ld-status--err{color:var(--ld-err)}
.ld-banner :focus-visible,.ld-modal :focus-visible{outline:3px solid var(--ld-focus);outline-offset:2px}
@media (max-width:480px){.ld-banner{left:8px;bottom:8px;width:calc(100% - 16px)}.ld-row{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){.ld-banner{animation:ld-in .25s ease-out}@keyframes ld-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media (max-width:900px){body.has-cta .ld-banner{bottom:calc(76px + env(safe-area-inset-bottom))}}
