.acfpg-lock { overflow: hidden; }
.acfpg-root { display: none; position: relative; z-index: 999999; }
.acfpg-root.is-visible { display: block; }
.acfpg-overlay { position: fixed; inset: 0; z-index: 999998; }
.acfpg-popup {
  position: fixed;
  z-index: 999999;
  width: min(var(--acfpg-width, 520px), calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  height: var(--acfpg-height, auto);
  overflow: auto;
  background: var(--acfpg-bg, #fff);
  color: var(--acfpg-text, #111827);
  border-radius: var(--acfpg-radius, 18px);
  box-shadow: var(--acfpg-shadow, 0 24px 80px rgba(0,0,0,.24));
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(.98);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
  outline: none;
}
.acfpg-popup.is-visible { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.acfpg-position-center { left: 50%; top: 50%; transform: translate(-50%, calc(-50% + 12px)) scale(.98); }
.acfpg-position-center.is-visible { transform: translate(-50%, -50%) scale(1); }
.acfpg-position-bottom-right { right: 24px; bottom: 24px; }
.acfpg-position-bottom-left { left: 24px; bottom: 24px; }
.acfpg-position-top { top: 24px; left: 50%; transform: translate(-50%, -12px); }
.acfpg-position-top.is-visible { transform: translate(-50%, 0); }
.acfpg-position-bottom { bottom: 24px; left: 50%; transform: translate(-50%, 12px); }
.acfpg-position-bottom.is-visible { transform: translate(-50%, 0); }
.acfpg-position-fullscreen, .acfpg-layout-fullscreen { inset: 16px; width: calc(100vw - 32px); height: calc(100vh - 32px); }
.acfpg-layout-bar { left: 0; right: 0; width: 100%; max-width: none; border-radius: 0; }
.acfpg-layout-bar.acfpg-position-top { top: 0; transform: translateY(-100%); }
.acfpg-layout-bar.acfpg-position-top.is-visible { transform: translateY(0); }
.acfpg-layout-bar.acfpg-position-bottom { bottom: 0; transform: translateY(100%); }
.acfpg-layout-bar.acfpg-position-bottom.is-visible { transform: translateY(0); }
.acfpg-animation-zoom { transform: scale(.9); }
.acfpg-animation-zoom.is-visible { transform: scale(1); }
.acfpg-animation-bounce.is-visible { animation: acfpg-bounce .38s ease; }
@keyframes acfpg-bounce { 0% { transform: scale(.92); } 60% { transform: scale(1.03); } 100% { transform: scale(1); } }
.acfpg-content { padding: clamp(20px, 4vw, 34px); }
.acfpg-close { position: absolute; right: 12px; top: 10px; border: 0; background: transparent; color: inherit; font-size: 30px; line-height: 1; cursor: pointer; z-index: 2; }
.acfpg-image { display: block; max-width: 100%; height: auto; border-radius: calc(var(--acfpg-radius, 18px) * .7); margin-bottom: 18px; }
.acfpg-title { margin: 0 32px 8px 0; font-size: clamp(22px, 3vw, 32px); line-height: 1.1; }
.acfpg-subtitle { margin: 0 0 18px; opacity: .82; }
.acfpg-body-text { margin-bottom: 18px; }
.acfpg-form-wrap input[type="text"], .acfpg-form-wrap input[type="email"], .acfpg-form-wrap input[type="tel"], .acfpg-form-wrap textarea, .acfpg-form-wrap select { width: 100%; }
.acfpg-form-wrap input[type="submit"], .acfpg-form-wrap button[type="submit"] { background: var(--acfpg-accent, #2563eb); border-color: var(--acfpg-accent, #2563eb); color: #fff; }
.acfpg-success-message { padding: 16px; border-radius: 12px; background: rgba(37, 99, 235, .08); }
.acfpg-trigger { cursor: pointer; }
.screen-reader-text { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
@media (max-width: 767px) {
  .acfpg-popup { width: calc(100vw - 24px); max-height: calc(100vh - 24px); }
  .acfpg-position-bottom-right, .acfpg-position-bottom-left { left: 12px; right: 12px; bottom: 12px; }
  .acfpg-position-center { top: 50%; }
  .acfpg-content { padding: 22px; }
}
