/* Screen Reader Only */
.gpl-ss-sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border:0;}

/* Honeypot trap field - hidden from everyone (not just visually), still present in markup for JS-less bots */
.gpl-ss-hp-field{position:absolute !important; left:-9999px !important; top:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important;}

/* Overlay */
.gpl-ss-overlay{position:fixed; z-index:999999; box-sizing:border-box;}
.gpl-ss-overlay-hidden{visibility:hidden; opacity:0; pointer-events:none;}
.gpl-ss-overlay:not(.gpl-ss-overlay-hidden){visibility:visible; opacity:1; pointer-events:auto;}
.gpl-ss-overlay-popup.gpl-ss-overlay-hidden,
.gpl-ss-overlay-popup:not(.gpl-ss-overlay-hidden){opacity:1;}
.gpl-ss-overlay-popup.gpl-ss-overlay-hidden{visibility:hidden; pointer-events:none; transition:visibility 0s linear 0.4s;}
.gpl-ss-overlay-popup:not(.gpl-ss-overlay-hidden){visibility:visible; pointer-events:auto; transition:visibility 0s;}
.gpl-ss-overlay-popup{inset:0; display:flex; align-items:center; justify-content:center; padding:20px;}
.gpl-ss-overlay-popup .gpl-ss-overlay-backdrop{position:absolute; inset:0; background:rgba(0, 0, 0, 0.55); opacity:0; transition:opacity 0.4s ease;}
.gpl-ss-overlay-popup:not(.gpl-ss-overlay-hidden) .gpl-ss-overlay-backdrop{opacity:1;}
.gpl-ss-overlay-popup .gpl-ss-overlay-panel{position:relative; z-index:1; width:100%; max-width:480px; max-height:calc(100vh - 40px); display:flex; flex-direction:column; align-items:stretch; opacity:0; transform:scale(0.94) translateY(20px); transition:opacity 0.4s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); will-change:opacity, transform;}
.gpl-ss-overlay-popup .gpl-ss-optin{width:100%; max-height:calc(100vh - 40px); overflow-x:hidden; overflow-y:auto;}
.gpl-ss-overlay-popup:not(.gpl-ss-overlay-hidden) .gpl-ss-overlay-panel{opacity:1; transform:scale(1) translateY(0);}

/* Popup Positions */
.gpl-ss-overlay-popup.gpl-ss-overlay-pos-top-left{align-items:flex-start; justify-content:flex-start;}
.gpl-ss-overlay-popup.gpl-ss-overlay-pos-top-center{align-items:flex-start; justify-content:center;}
.gpl-ss-overlay-popup.gpl-ss-overlay-pos-top-right{align-items:flex-start; justify-content:flex-end;}
.gpl-ss-overlay-popup.gpl-ss-overlay-pos-center-left{align-items:center; justify-content:flex-start;}
.gpl-ss-overlay-popup.gpl-ss-overlay-pos-center-center{align-items:center; justify-content:center;}
.gpl-ss-overlay-popup.gpl-ss-overlay-pos-center-right{align-items:center; justify-content:flex-end;}
.gpl-ss-overlay-popup.gpl-ss-overlay-pos-bottom-left{align-items:flex-end; justify-content:flex-start;}
.gpl-ss-overlay-popup.gpl-ss-overlay-pos-bottom-center{align-items:flex-end; justify-content:center;}
.gpl-ss-overlay-popup.gpl-ss-overlay-pos-bottom-right{align-items:flex-end; justify-content:flex-end;}

/* Slide-in */
.gpl-ss-overlay-slide-in{inset:0; pointer-events:none;}
.gpl-ss-overlay-slide-in:not(.gpl-ss-overlay-hidden) .gpl-ss-optin{pointer-events:auto;}
.gpl-ss-overlay-slide-in .gpl-ss-optin{position:fixed; max-width:480px; width:calc(100% - 32px); transition:transform 0.35s ease, opacity 0.35s ease;}
.gpl-ss-overlay-slide-in.gpl-ss-overlay-hidden .gpl-ss-optin{opacity:0;}
.gpl-ss-overlay-slide-in.gpl-ss-overlay-pos-top-left .gpl-ss-optin{top:16px; left:16px; transform:translateX(-120%);}
.gpl-ss-overlay-slide-in.gpl-ss-overlay-pos-top-right .gpl-ss-optin{top:16px; right:16px; transform:translateX(120%);}
.gpl-ss-overlay-slide-in.gpl-ss-overlay-pos-center-left .gpl-ss-optin{top:50%; left:16px; transform:translate(-120%, -50%);}
.gpl-ss-overlay-slide-in.gpl-ss-overlay-pos-center-right .gpl-ss-optin{top:50%; right:16px; transform:translate(120%, -50%);}
.gpl-ss-overlay-slide-in.gpl-ss-overlay-pos-bottom-left .gpl-ss-optin{bottom:16px; left:16px; transform:translateX(-120%);}
.gpl-ss-overlay-slide-in.gpl-ss-overlay-pos-bottom-right .gpl-ss-optin{bottom:16px; right:16px; transform:translateX(120%);}
.gpl-ss-overlay-slide-in:not(.gpl-ss-overlay-hidden).gpl-ss-overlay-pos-top-left .gpl-ss-optin,
.gpl-ss-overlay-slide-in:not(.gpl-ss-overlay-hidden).gpl-ss-overlay-pos-bottom-left .gpl-ss-optin{transform:translateX(0);}
.gpl-ss-overlay-slide-in:not(.gpl-ss-overlay-hidden).gpl-ss-overlay-pos-top-right .gpl-ss-optin,
.gpl-ss-overlay-slide-in:not(.gpl-ss-overlay-hidden).gpl-ss-overlay-pos-bottom-right .gpl-ss-optin{transform:translateX(0);}
.gpl-ss-overlay-slide-in:not(.gpl-ss-overlay-hidden).gpl-ss-overlay-pos-center-left .gpl-ss-optin{transform:translate(0, -50%);}
.gpl-ss-overlay-slide-in:not(.gpl-ss-overlay-hidden).gpl-ss-overlay-pos-center-right .gpl-ss-optin{transform:translate(0, -50%);}

/* Notification Bar */
.gpl-ss-overlay-notification-bar{left:0; right:0; width:100%;}
.gpl-ss-overlay-notification-bar.gpl-ss-overlay-bar-top{top:0;}
.gpl-ss-overlay-notification-bar.gpl-ss-overlay-bar-bottom{bottom:0;}
.gpl-ss-overlay-notification-bar .gpl-ss-optin{width:100%; max-width:none; border-radius:0;}
.gpl-ss-overlay-notification-bar .gpl-ss-optin-bar-inner{display:flex; align-items:center; gap:16px; margin:0 auto; padding:0 16px;}
.gpl-ss-overlay-notification-bar .gpl-ss-optin-bar-content{flex:1; min-width:0;}
.gpl-ss-overlay-notification-bar .gpl-ss-optin-form-inline{flex-direction:row; flex-wrap:wrap; align-items:flex-end; gap:12px;}
.gpl-ss-overlay-notification-bar .gpl-ss-optin-fields{display:flex; flex-wrap:wrap; gap:12px; flex:1;}
.gpl-ss-overlay-notification-bar .gpl-ss-field{flex:1; min-width:140px; margin:0;}
.gpl-ss-optin-notification-bar-design-2 .gpl-ss-optin-bar-inner{flex-direction:column; align-items:center; text-align:center; padding:16px;}
.gpl-ss-optin-notification-bar-design-2 .gpl-ss-optin-bar-content{width:100%; padding:12px; border-radius:10px; background-color:rgba(56, 88, 233, 0.08);}
.gpl-ss-optin-notification-bar-design-2 .gpl-ss-optin-content{align-items:center;}
.gpl-ss-optin-notification-bar-design-2 .gpl-ss-optin-design-2-media{width:100%; background-color:transparent; padding:0;}
.gpl-ss-optin-notification-bar-design-2 .gpl-ss-optin-design-2-media::before{display:none;}

/* In-post Wrapper */
.gpl-ss-inpost-wrap{width:100%; margin:24px 0; box-sizing:border-box;}
.gpl-ss-inpost-wrap-left{display:flex; justify-content:flex-start;}
.gpl-ss-inpost-wrap-center{display:flex; justify-content:center;}
.gpl-ss-inpost-wrap-right{display:flex; justify-content:flex-end;}
.gpl-ss-inpost-wrap .gpl-ss-optin{width:100%; max-width:480px;}

/* Optin Container */
.gpl-ss-optin{position:relative; box-sizing:border-box; background:#ffffff; color:#1d2327; border-radius:8px; padding:24px; box-shadow:0 8px 32px rgba(0, 0, 0, 0.12); overflow:hidden;}
.gpl-ss-optin-bg-img{position:absolute; inset:0; z-index:0; pointer-events:none; background-size:cover; background-position:center center; background-repeat:no-repeat;}
.gpl-ss-optin > .gpl-ss-optin-inner,
.gpl-ss-optin > .gpl-ss-optin-bar-inner{position:relative; z-index:1;}
.gpl-ss-optin-design-2{box-shadow:none; border:1px solid rgba(0, 0, 0, 0.08); border-radius:12px; padding:16px; overflow:hidden;}
.gpl-ss-optin-layout-2{display:flex; flex-direction:column; gap:14px; width:100%;}
.gpl-ss-optin-design-2-media{position:relative; padding:20px 18px 16px; padding-right:44px; min-height:110px; border-radius:10px; background-color:rgba(56, 88, 233, 0.08);}
.gpl-ss-optin-design-2-media::before{content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.72)); pointer-events:none;}
.gpl-ss-optin-design-2-media > *{position:relative; z-index:1;}
.gpl-ss-optin-design-2-body,
.gpl-ss-optin-design-2-body .gpl-ss-optin-form-process{width:100%;}
.gpl-ss-optin-design-2 .gpl-ss-optin-form,
.gpl-ss-optin-design-2 .gpl-ss-optin-fields{gap:12px;}
.gpl-ss-optin-design-2 .gpl-ss-optin-close{background:rgba(255, 255, 255, 0.7);}
.gpl-ss-optin-inner,
.gpl-ss-optin-content{display:flex; flex-direction:column; gap:12px; width:100%;}
.gpl-ss-optin-form-process{width:100%; align-self:stretch;}
.gpl-ss-optin-align-left .gpl-ss-optin-content{text-align:left; align-items:flex-start;}
.gpl-ss-optin-align-center .gpl-ss-optin-content{text-align:center; align-items:center;}
.gpl-ss-optin-align-right .gpl-ss-optin-content{text-align:right; align-items:flex-end;}

/* Close Button (intentionally a <span role="button">, not a <button>, so theme stylesheets that target the button element don't restyle it) */
.gpl-ss-optin-close{position:absolute; top:12px; right:12px; z-index:2; display:flex; align-items:center; justify-content:center; width:32px; height:32px; padding:0; border:0; border-radius:50%; background:transparent; color:#1d2327; font-size:24px; line-height:1; cursor:pointer; opacity:0.7; transition:opacity 0.2s ease, background 0.2s ease; user-select:none; -webkit-user-select:none;}
.gpl-ss-optin-close:hover,
.gpl-ss-optin-close:focus{opacity:1; background:rgba(0, 0, 0, 0.06); outline:none;}
.gpl-ss-overlay-notification-bar .gpl-ss-optin-close{position:static; flex-shrink:0;}

/* Typography */
.gpl-ss-optin-sub-heading{margin:0; font-size:13px; font-weight:500; color:#646970; text-transform:uppercase; letter-spacing:0.04em;}
.gpl-ss-optin-heading{margin:0; padding-top:2px; font-size:24px; font-weight:700; line-height:1.35; color:#1d2327; overflow-wrap:anywhere;}
.gpl-ss-optin-description{font-size:14px; line-height:1.6; color:#50575e;}
.gpl-ss-optin-description p:first-child{margin-top:0;}
.gpl-ss-optin-description p:last-child{margin-bottom:0;}
.gpl-ss-optin-note{margin:0; font-size:12px; color:#646970; opacity:0.85;}
.gpl-ss-optin-credit{margin:0; font-size:11px; color:#646970; opacity:0.85;}
.gpl-ss-credit-logo{display:inline-block; vertical-align:middle; width:18px; height:18px; margin:-2px 4px 0 0; object-fit:contain;}
.gpl-ss-optin-credit a{color:inherit; text-decoration:underline; font-weight:600;}
.gpl-ss-optin-credit-outside{display:inline-block; align-self:center; margin:12px auto 0; padding:6px 14px; text-align:center; font-size:12px; line-height:1.4; color:#000000; background: #ffffff; border-radius:4px;}
.gpl-ss-optin-credit-outside a{color:#000000; text-decoration:underline; font-weight:600;}
.gpl-ss-optin-credit-outside a:hover,
.gpl-ss-optin-credit-outside a:focus{color:#000000;}

/* Form */
.gpl-ss-optin-form,
.gpl-ss-optin-fields{display:flex; flex-direction:column; gap:16px; width:100%; align-items:stretch; text-align:left;}
.gpl-ss-form-field-row,
.gpl-ss-field{width:100%; min-width:0; box-sizing:border-box;}
.gpl-ss-field{display:flex; flex-direction:column; gap:6px;}
.gpl-ss-field-label,
.gpl-ss-form-lbl{display:block; margin:0 0 6px; font-size:14px; font-weight:500; color:#1d2327;}
.gpl-ss-field-checkbox legend,
.gpl-ss-field-radio legend{padding:0; margin:0 0 6px;}
.gpl-ss-field-checkbox,
.gpl-ss-field-radio{border:0; padding:0; margin:0;}
.gpl-ss-choice-list{display:flex; flex-direction:row; gap:10px; width:100%;}
.gpl-ss-checkbox-option,
.gpl-ss-radio-option,
.gpl-ss-form-ckbox-lbl,
.gpl-ss-consent-option{display:flex; align-items:center; gap:5px; font-size:14px; line-height:1.4; cursor:pointer;}
.gpl-ss-checkbox-option input,
.gpl-ss-radio-option input,
.gpl-ss-form-ckbox-lbl input{width:auto; margin:0; flex-shrink:0; accent-color:#3858e9;}
.gpl-ss-required{color:#d63638;}
.gpl-ss-input,
.gpl-ss-select,
.gpl-ss-textarea{display:block; width:100%; max-width:100%; padding:10px 14px; font-size:14px; line-height:1.4; color:#1d2327; background:#ffffff; border-radius:6px; box-sizing:border-box;}
.gpl-ss-optin-input-outline .gpl-ss-input,
.gpl-ss-optin-input-outline .gpl-ss-select,
.gpl-ss-optin-input-outline .gpl-ss-textarea{border:1px solid #c3c4c7;}
.gpl-ss-optin-input-filled .gpl-ss-input,
.gpl-ss-optin-input-filled .gpl-ss-select,
.gpl-ss-optin-input-filled .gpl-ss-textarea{border:1px solid transparent; background:color-mix(in srgb, #ffffff 85%, #c3c4c7);}
.gpl-ss-optin-input-underline .gpl-ss-input,
.gpl-ss-optin-input-underline .gpl-ss-select,
.gpl-ss-optin-input-underline .gpl-ss-textarea{border:0; border-bottom:2px solid #c3c4c7; border-radius:0; padding-left:0; padding-right:0; background:transparent;}
.gpl-ss-input:focus,
.gpl-ss-select:focus,
.gpl-ss-textarea:focus{outline:none; border-color:#3858e9; box-shadow:0 0 0 3px color-mix(in srgb, #3858e9 20%, transparent);}
.gpl-ss-textarea{resize:vertical; min-height:80px;}
.gpl-ss-consent-text a{color:#3858e9;}
.gpl-ss-optin-form-footer{width:100%;}
.gpl-ss-optin-form-inline{flex-direction:row; flex-wrap:wrap; align-items:flex-end; gap:12px;}
.gpl-ss-optin-form-inline .gpl-ss-optin-fields{display:flex; flex-wrap:wrap; flex:1; gap:12px;}
.gpl-ss-optin-form-inline .gpl-ss-field{flex:1; min-width:140px; margin:0;}
.gpl-ss-optin-form-inline .gpl-ss-optin-form-footer{flex:0 0 auto; width:auto;}
.gpl-ss-optin-form-inline .gpl-ss-optin-submit{width:auto; white-space:nowrap;}

/* Submit Button — beat theme button/hover rules */
.gpl-ss-optin button.gpl-ss-optin-submit,
.gpl-ss-optin .gpl-ss-optin-submit{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:100%;
	padding:12px 24px;
	font-size:15px;
	font-weight:600;
	line-height:1.4;
	color:#ffffff;
	background:#3858e9;
	background-image:none;
	border:0;
	border-radius:6px;
	box-shadow:none;
	text-shadow:none;
	cursor:pointer;
	transition:background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.gpl-ss-optin button.gpl-ss-optin-submit:hover,
.gpl-ss-optin button.gpl-ss-optin-submit:focus,
.gpl-ss-optin .gpl-ss-optin-submit:hover,
.gpl-ss-optin .gpl-ss-optin-submit:focus{
	outline:none;
	background:#2c49c7;
	background-image:none;
	color:#ffffff;
	box-shadow:none;
}
.gpl-ss-optin button.gpl-ss-optin-submit:active,
.gpl-ss-optin .gpl-ss-optin-submit:active{transform:scale(0.98);}
.gpl-ss-optin button.gpl-ss-optin-submit:disabled,
.gpl-ss-optin .gpl-ss-optin-submit:disabled{opacity:0.6; cursor:not-allowed;}
.gpl-ss-optin-submit-loader{display:none; width:16px; height:16px; border:2px solid transparent; border-top-color:currentColor; border-radius:50%; animation:gpl-ss-spin 0.6s linear infinite;}
.gpl-ss-optin-submit.gpl-ss-is-loading .gpl-ss-optin-submit-text{opacity:0.7;}
.gpl-ss-optin-submit.gpl-ss-is-loading .gpl-ss-optin-submit-loader{display:block;}
.gpl-ss-hide{display:none !important;}
@keyframes gpl-ss-spin{to{transform:rotate(360deg);}}

/* Field Validation */
.gpl-ss-field.gpl-ss-has-error .gpl-ss-input,
.gpl-ss-field.gpl-ss-has-error .gpl-ss-select,
.gpl-ss-field.gpl-ss-has-error .gpl-ss-textarea{border-color:#d63638;}
.gpl-ss-field.gpl-ss-has-error .gpl-ss-input:focus,
.gpl-ss-field.gpl-ss-has-error .gpl-ss-select:focus,
.gpl-ss-field.gpl-ss-has-error .gpl-ss-textarea:focus{box-shadow:0 0 0 1px #d63638;}
.gpl-ss-field-error-message{display:none; margin-top:6px; font-size:13px; line-height:1.4; color:#d63638;}
.gpl-ss-field.gpl-ss-has-error .gpl-ss-field-error-message{display:block;}

/* Messages */
.gpl-ss-optin-message{padding:10px 14px; font-size:14px; line-height:1.4; border-radius:6px;}
.gpl-ss-optin-message[hidden]{display:none;}
.gpl-ss-optin-message-success{color:#1e4620; background:#d4edda; border:1px solid #b7dfc3;}
.gpl-ss-optin-message-error{color:#721c24; background:#f8d7da; border:1px solid #f1aeb5;}
.gpl-ss-field-captcha-missing{margin:0 0 12px;}
.gpl-ss-field-captcha-missing .gpl-ss-optin-message{margin:0;}
.gpl-ss-captcha-admin-notice{margin:8px 0 0; font-size:12px; line-height:1.4; color:#646970;}

/* Body Lock */
body.gpl-ss-popup-open{overflow:hidden;}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce){
	.gpl-ss-overlay-popup.gpl-ss-overlay-hidden{transition:none;}
	.gpl-ss-overlay-popup .gpl-ss-overlay-backdrop,
	.gpl-ss-overlay-popup .gpl-ss-overlay-panel{transition:none; transform:none;}
}

/* Responsive */
@media (max-width: 600px){
	.gpl-ss-overlay-popup{padding:12px;}
	.gpl-ss-overlay-slide-in .gpl-ss-optin{width:calc(100% - 24px);}
	.gpl-ss-optin-form-inline,
	.gpl-ss-overlay-notification-bar .gpl-ss-optin-form-inline{flex-direction:column; align-items:stretch;}
	.gpl-ss-optin-form-inline .gpl-ss-field,
	.gpl-ss-overlay-notification-bar .gpl-ss-field{min-width:100%;}
	.gpl-ss-optin-form-inline .gpl-ss-optin-form-footer,
	.gpl-ss-optin-form-inline .gpl-ss-optin-submit{width:100%;}
	.gpl-ss-overlay-notification-bar .gpl-ss-optin-bar-inner{flex-direction:column; align-items:stretch; padding:12px;}
}
