.lgf-popup-open { overflow: hidden; }
.lgf-popup { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 24px; visibility: hidden; opacity: 0; transition: opacity .2s ease, visibility .2s ease; font-family: inherit; }
.lgf-popup.is-open { visibility: visible; opacity: 1; }
.lgf-popup__backdrop { position: absolute; inset: 0; background: rgba(20, 17, 15, .66); backdrop-filter: blur(3px); }
.lgf-popup__dialog { position: relative; width: min(100%, 560px); max-height: calc(100vh - 48px); overflow: auto; background: #f8f5f0; color: #29231f; border-radius: 2px; box-shadow: 0 28px 90px rgba(0,0,0,.3); padding: clamp(30px, 6vw, 54px); transform: translateY(14px); transition: transform .2s ease; }
.lgf-popup.is-open .lgf-popup__dialog { transform: translateY(0); }
.lgf-popup__dialog::before { content: ""; display: block; position: absolute; top: 0; right: 0; left: 0; height: 5px; background: var(--lgf-accent); }
.lgf-popup__close { position: absolute; top: 12px; right: 16px; width: 38px; height: 38px; border: 0; background: transparent; color: #29231f; font-size: 30px; line-height: 1; cursor: pointer; }
.lgf-popup__eyebrow { margin-bottom: 12px; color: var(--lgf-accent); font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.lgf-popup h2 { margin: 0 42px 14px 0; color: inherit; font-size: clamp(28px, 5vw, 42px); line-height: 1.08; letter-spacing: -.025em; }
.lgf-popup__intro { margin-bottom: 28px; color: #5a514b; font-size: 16px; line-height: 1.65; }
.lgf-popup__intro p { margin: 0 0 10px; }
.lgf-field { margin-bottom: 17px; }
.lgf-field label { display: block; margin-bottom: 7px; color: #3c3530; font-size: 13px; font-weight: 650; }
.lgf-field input { box-sizing: border-box; width: 100%; min-height: 50px; border: 1px solid #cfc6bf; border-radius: 0; background: #fff; color: #221f1c; padding: 10px 13px; font: inherit; outline: none; }
.lgf-field input:focus { border-color: var(--lgf-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--lgf-accent) 18%, transparent); }
.lgf-consent { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; margin-top: 4px; color: #5d554f; font-size: 12px; line-height: 1.5; cursor: pointer; }
.lgf-consent input { margin-top: 3px; accent-color: var(--lgf-accent); }
.lgf-privacy { margin: 8px 0 0 28px; font-size: 12px; }
.lgf-privacy a { color: inherit; text-decoration: underline; }
.lgf-submit { width: 100%; min-height: 52px; margin-top: 22px; border: 1px solid var(--lgf-accent); border-radius: 0; background: var(--lgf-accent); color: #fff; padding: 12px 18px; font: inherit; font-weight: 700; cursor: pointer; transition: filter .15s ease, transform .15s ease; }
.lgf-submit:hover { filter: brightness(.92); }
.lgf-submit:active { transform: translateY(1px); }
.lgf-submit:disabled { opacity: .65; cursor: wait; }
.lgf-form-message { min-height: 20px; margin-top: 12px; font-size: 13px; }
.lgf-form-message.is-error { color: #a12622; }
.lgf-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.lgf-popup__success { padding: 22px 0 12px; text-align: center; }
.lgf-success-icon { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 18px; border: 1px solid var(--lgf-accent); border-radius: 50%; color: var(--lgf-accent); font-size: 28px; }
.lgf-popup__success p { margin: 0; font-size: 18px; line-height: 1.55; }
.lgf-shortcode-button { display: inline-block; }
@media (max-width: 600px) {
  .lgf-popup { align-items: end; padding: 0; }
  .lgf-popup__dialog { width: 100%; max-height: 92vh; padding: 34px 24px 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .lgf-popup, .lgf-popup__dialog { transition: none; }
}
