/* Lyons Wealth — WM · Hero form popup (Gravity Forms in a modal).
   Loaded only on pages whose hero has a button set to "Open form popup".
   Every selector is scoped to .lw-popup; nothing is global. */

.lw-popup[hidden] { display:none !important; }
.lw-popup { position:fixed; inset:0; z-index:100000; display:flex; align-items:flex-start; justify-content:center; padding:clamp(20px,6vh,64px) 16px; overflow-y:auto; -webkit-overflow-scrolling:touch; font-family:Montserrat, sans-serif; color:#16283B; }
.lw-popup__overlay { position:fixed; inset:0; background:rgba(15,30,46,.82); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }
.lw-popup__dialog { position:relative; z-index:1; width:100%; max-width:600px; margin:auto 0; padding:clamp(28px,4vw,44px); background:#fff; border-radius:8px; box-shadow:0 40px 90px -40px rgba(0,0,0,.6); outline:0; }
.lw-popup__close { position:absolute; top:10px; right:12px; width:42px; height:42px; display:flex; align-items:center; justify-content:center; border:0; border-radius:50%; background:transparent; color:#16283B; font-size:30px; line-height:1; cursor:pointer; transition:background .25s ease, color .25s ease; }
.lw-popup__close:hover { background:#F5F3EC; color:#8A6A18; }
.lw-popup__close:focus-visible { outline:2px solid #FFC451; outline-offset:2px; }
.lw-popup__logo { margin:0 auto 22px; text-align:center; }
.lw-popup__logo img { display:inline-block; max-width:220px; height:auto; }
.lw-popup__title { margin:0 40px 8px 0; font-family:Montserrat, sans-serif; font-weight:700; font-size:clamp(22px,2.4vw,28px); line-height:1.2; color:#16283B; }
.lw-popup__title em { font-style:italic; color:#C99A2E; }
.lw-popup__text { margin:0 0 6px; font-size:15px; line-height:1.65; color:#566575; }
.lw-popup__form { margin-top:14px; }

/* Gravity Forms inside the popup */
.lw-popup .gform_wrapper { margin:0 !important; }
.lw-popup .gform_wrapper .gfield_label, .lw-popup .gform_wrapper legend.gfield_label { font-size:13px; font-weight:700; color:#16283B; }
.lw-popup .gform_wrapper input[type="text"], .lw-popup .gform_wrapper input[type="email"], .lw-popup .gform_wrapper input[type="tel"], .lw-popup .gform_wrapper input[type="number"], .lw-popup .gform_wrapper select, .lw-popup .gform_wrapper textarea { width:100%; border:1px solid #C9D0D8; border-radius:4px; padding:12px 14px; font-size:15px; color:#16283B; background:#fff; box-shadow:none; transition:border-color .2s ease, box-shadow .2s ease; }
.lw-popup .gform_wrapper input:focus, .lw-popup .gform_wrapper select:focus, .lw-popup .gform_wrapper textarea:focus { border-color:#C99A2E; box-shadow:0 0 0 3px rgba(255,196,81,.3); outline:0; }
.lw-popup .gform_wrapper textarea { min-height:140px; }
.lw-popup .gform_wrapper .gform_footer { margin-top:18px; padding:0; }
.lw-popup .gform_wrapper .gform_footer .gform_button, .lw-popup .gform_wrapper .gform_footer input[type="submit"] { display:inline-flex; align-items:center; justify-content:center; padding:16px 34px; border:0; border-radius:2px; background:#FFC451; color:#16283B; font-weight:700; font-size:13.5px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:background .3s ease, box-shadow .3s ease, transform .3s ease; }
.lw-popup .gform_wrapper .gform_footer .gform_button:hover { background:#FFD26B; transform:translateY(-1px); box-shadow:0 12px 30px -12px rgba(255,196,81,.7); }

/* confirmation message (shown after submit) */
.lw-popup .gform_confirmation_message { padding:22px 22px 22px 20px; border-left:3px solid #FFC451; background:#FBF8F0; border-radius:4px; font-size:16px; line-height:1.7; color:#16283B; outline:0; }
.lw-popup .gform_confirmation_message a { color:#16283B; font-weight:700; text-decoration:underline; text-decoration-color:#C99A2E; text-underline-offset:3px; }
.lw-popup .gform_confirmation_message a:hover { color:#8A6A18; }

@media (prefers-reduced-motion:no-preference) {
  .lw-popup.is-open .lw-popup__overlay { animation:lwPopFade .25s ease; }
  .lw-popup.is-open .lw-popup__dialog { animation:lwPopIn .35s cubic-bezier(.2,.8,.2,1); }
}
@keyframes lwPopFade { from { opacity:0; } to { opacity:1; } }
@keyframes lwPopIn { from { opacity:0; transform:translateY(16px) scale(.98); } to { opacity:1; transform:none; } }
.lw-popup.is-done .lw-popup__text { display:none; }
