/* LDstyle — four modal forms, 20261023-modals-2. All rules are scoped. */
.ld-modal {
    --ld-modal-brand:#5B7229;
    --ld-modal-paper:#F5F1E8;
    --ld-modal-ink:#252A20;
    --ld-modal-edge:#DED7C9;
    --ld-modal-muted:#62675C;
    --ld-modal-input:#FFFFFF;
    --ld-modal-heading-icon:32px;
    --ld-modal-benefit-icon:28px;
    --ld-modal-control-icon:18px;
    --ld-modal-stroke:2;
    --ld-modal-pad:20px;
    --ld-modal-gap:16px;
    --ld-modal-heading-size:21px;
    --ld-modal-field-height:44px;
    --ld-modal-button-height:46px;
    --ld-modal-radius:6px;
    color-scheme:light;
    color:var(--ld-modal-ink);
    font-family:'Open Sans',Arial,sans-serif;
    font-size:14px;
    line-height:1.45;
}
.ld-modal *, .ld-modal *::before, .ld-modal *::after { box-sizing:border-box; }
.ld-modal .modal-dialog { width:calc(100% - 24px); max-width:520px; margin:24px auto; }
.ld-modal .modal-content { background:var(--ld-modal-paper); color:var(--ld-modal-ink); border:1px solid var(--ld-modal-edge); border-radius:10px; box-shadow:0 12px 32px #00000018; overflow:hidden; }
.ld-modal .modal-header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px var(--ld-modal-pad) 10px; border:0; border-bottom:1px solid var(--ld-modal-edge); background:transparent; }
.ld-modal .modal-header::before, .ld-modal .modal-header::after { display:none; }
.ld-modal .ld-modal-heading { display:flex; align-items:center; gap:10px; min-width:0; }
.ld-modal .ld-modal-heading h2 { color:var(--ld-modal-ink); font:600 var(--ld-modal-heading-size)/1.2 'Open Sans',Arial,sans-serif; letter-spacing:-.3px; margin:0; text-transform:uppercase; text-align:left; }
.ld-modal .ld-modal-icon { display:block; flex:none; width:var(--ld-modal-control-icon); height:var(--ld-modal-control-icon); fill:none; stroke:currentColor; stroke-width:var(--ld-modal-stroke); stroke-linecap:round; stroke-linejoin:round; }
.ld-modal .ld-modal-heading > .ld-modal-icon { width:var(--ld-modal-heading-icon); height:var(--ld-modal-heading-icon); color:var(--ld-modal-brand); }
.ld-modal .ld-modal-close { display:flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; padding:10px; margin:-5px -9px -5px 0; border:0; border-radius:var(--ld-modal-radius); background:transparent; color:var(--ld-modal-muted); cursor:pointer; }
.ld-modal .modal-body { padding:var(--ld-modal-gap) var(--ld-modal-pad); }
.ld-modal .ld-modal-intro { margin:0 0 20px; color:var(--ld-modal-muted); font-size:14px; line-height:1.45; }
.ld-modal .ld-modal-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:8px 6px; margin:0 0 22px; }
.ld-modal .ld-modal-benefits > div { display:flex; flex-direction:column; align-items:center; gap:5px; min-width:0; text-align:center; font-size:11px; line-height:1.25; }
.ld-modal .ld-modal-benefits .ld-modal-icon { width:var(--ld-modal-benefit-icon); height:var(--ld-modal-benefit-icon); color:var(--ld-modal-brand); }
.ld-modal .ld-modal-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ld-modal-gap); }
.ld-modal .ld-modal-field { display:block; position:relative; min-width:0; margin:0; color:var(--ld-modal-ink); font-size:12px; font-weight:400; line-height:1.35; }
.ld-modal .ld-modal-field > span { position:absolute; z-index:1; top:-8px; left:9px; padding:0 4px; border-radius:2px; background:var(--ld-modal-input); }
.ld-modal .ld-modal-field input, .ld-modal .ld-modal-field textarea { display:block; width:100%; min-width:0; margin:0; padding:10px 12px; border:1px solid var(--ld-modal-edge); border-radius:var(--ld-modal-radius); background:var(--ld-modal-input); color:var(--ld-modal-ink); font:400 16px/1.35 'Open Sans',Arial,sans-serif; box-shadow:none; }
.ld-modal .ld-modal-field input { height:var(--ld-modal-field-height); }
.ld-modal .ld-modal-field textarea { min-height:64px; resize:vertical; }
.ld-modal .ld-modal-field input::placeholder { color:var(--ld-modal-muted); opacity:1; }
.ld-modal .ld-modal-full-field { margin-top:var(--ld-modal-gap); }
.ld-modal .ld-modal-extra { margin:4px 0 8px; }
.ld-modal .ld-modal-extra summary { display:flex; align-items:center; gap:6px; min-height:44px; list-style:none; color:var(--ld-modal-muted); font-size:12px; cursor:pointer; }
.ld-modal .ld-modal-extra summary::-webkit-details-marker { display:none; }
.ld-modal .ld-modal-extra[open] summary .ld-modal-icon { transform:rotate(45deg); }
.ld-modal .ld-modal-extra-fields { display:grid; gap:var(--ld-modal-gap); margin:8px 0 12px; }
.ld-modal .ld-modal-submit { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:var(--ld-modal-button-height); padding:11px 12px; border:0; border-radius:var(--ld-modal-radius); background:var(--ld-modal-brand); color:#FFFFFF; font:700 14px/1.4 'Open Sans',Arial,sans-serif; text-transform:uppercase; letter-spacing:.1px; cursor:pointer; }
.ld-modal .ld-modal-submit:not(:disabled):hover { background:#ffc754; color:#333; }
.ld-modal .ld-modal-submit-spaced { margin-top:12px; }
.ld-modal .ld-modal-submit:disabled { cursor:default; opacity:.65; }
.ld-modal .ld-modal-legal { margin:8px 0 0; color:var(--ld-modal-muted); font-size:11px; line-height:1.45; }
.ld-modal .ld-modal-legal p { margin:0; color:inherit; font-size:inherit; line-height:inherit; }
.ld-modal .ld-modal-legal a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.ld-modal .ld-modal-legal br { display:none; }
.ld-modal .ld-modal-error:empty, .ld-modal .ld-modal-captcha:empty { display:none; }
.ld-modal .ld-modal-error .alert { margin:0 0 16px; padding:10px 12px; font-size:13px; }
.ld-modal .ld-modal-captcha { max-width:100%; }
.ld-modal .ld-modal-field input:focus-visible, .ld-modal .ld-modal-field textarea:focus-visible, .ld-modal .ld-modal-submit:focus-visible, .ld-modal .ld-modal-close:focus-visible, .ld-modal summary:focus-visible { outline:2px solid var(--ld-modal-brand); outline-offset:2px; }
@media (max-width:600px) {
    .ld-modal { --ld-modal-pad:16px; --ld-modal-heading-size:19px; }
    .ld-modal .modal-dialog { width:calc(100% - 20px); margin:10px auto; }
    .ld-modal .ld-modal-fields { grid-template-columns:minmax(0,1fr); }
}
