.gfsp-root{ display:none }
body.gfsp-active .gform_confirmation_wrapper{ display:none !important }
.gfsp-overlay{ position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.35); z-index:99999; opacity:0; transition:opacity .18s ease-out }
.gfsp-overlay.gfsp-show{ opacity:1 }
.gfsp-overlay.gfsp-hide{ opacity:0 }
.gfsp-popup{ position:relative; width:calc(100% - 2rem); border-radius:14px; background:#fff; color:#0f172a; box-shadow:0 20px 40px rgba(0,0,0,.18); transform:translateY(10px) scale(.98); transition:transform .2s ease-out, opacity .2s ease-out; padding:20px; text-align:center }
.gfsp-show .gfsp-popup{ transform:translateY(0) scale(1) }
.gfsp-icon{ display:flex; align-items:center; justify-content:center; margin:6px auto 10px; width:48px; height:48px; border-radius:999px; background:#f8fafc }
.gfsp-heading{ font-size:18px; font-weight:700; margin:6px 0 4px }
.gfsp-message{ font-size:15px; line-height:1.5 }
.gfsp-close{ position:absolute; top:8px; right:10px; width:32px; height:32px; border:0; background:transparent; color:#64748b; cursor:pointer; font-size:24px }

/* templates */
.gfsp-template-default .gfsp-popup{}
.gfsp-template-minimal .gfsp-popup{ box-shadow:none; border:1px solid #e2e8f0 }
.gfsp-template-card .gfsp-popup{ padding:24px 26px }

/* positions */
.gfsp-pos-center{ align-items:center; justify-content:center }
.gfsp-pos-top{ align-items:flex-start; justify-content:center }
.gfsp-pos-bottom{ align-items:flex-end; justify-content:center }

@media (max-width:480px){
	.gfsp-popup{ padding:18px; border-radius:12px }
	.gfsp-heading{ font-size:17px }
	.gfsp-message{ font-size:14px }
}
