/* Only the popup viewport, scrolling and navigation mechanics live here.
   Content, fonts, colours, spacing and photos remain native Elementor controls. */
.sslp-popup { width:100%; background:#fff; border-radius:14px; overflow:hidden; }
.sslp-modal.mfp-wrap { --wd-popup-mt:16px; --wd-popup-mb:16px; --wd-popup-mr:16px; --wd-popup-ml:16px; --wd-popup-width:800px; --wd-admin-bar-h:0px; inset:0!important; }
.sslp-modal .mfp-content { max-width:800px; }
.sslp-modal.mfp-bg { background:#05251fcc; }
.sslp-modal .sslp-shell { max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); }
.sslp-modal .sslp-header,.sslp-modal .sslp-footer { flex-shrink:0; }
.sslp-modal .sslp-scroll { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#8da99b #edf4ef; }
.sslp-shell .sslp-number,.sslp-shell .sslp-close,.sslp-shell .sslp-bulb { flex-shrink:0; }
.sslp-shell .sslp-header .sslp-title { flex:1 1 0; min-width:0; }
.sslp-shell .sslp-close { align-self:flex-start; }
.sslp-shell .sslp-photo { width:auto; align-self:stretch; }
.sslp-shell .sslp-copy p:last-child { margin-bottom:0; }
.sslp-shell .sslp-copy ul,.sslp-shell .sslp-copy ol { padding-inline-start:23px; margin:0; }
.sslp-shell .sslp-copy li { margin:5px 0; padding-inline-start:3px; }
.sslp-shell .sslp-next-title .elementor-button-content-wrapper { align-items:center; }
.sslp-shell .sslp-next-title .elementor-button-text { text-align:right; white-space:normal; }
.sslp-shell .sslp-next-title .elementor-button-icon { flex-shrink:0; }
.sslp-shell .sslp-next-primary { flex-shrink:0; }
.sslp-popup a:focus-visible,.sslp-test-links a:focus-visible { outline:3px solid #d9a728; outline-offset:3px; }
.sslp-test-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.sslp-test-links a { padding:16px; background:#007565; color:white; border-radius:8px; font:600 15px/1.4 Arial,sans-serif; }
@media(max-width:767px) {
 .sslp-modal.mfp-wrap { --wd-popup-mt:8px; --wd-popup-mb:8px; --wd-popup-mr:8px; --wd-popup-ml:8px; }
 .sslp-modal .sslp-shell { max-height:calc(100vh - 16px); max-height:calc(100dvh - 16px); }
 .sslp-shell .sslp-next-title .elementor-button-icon { display:none; }
 .sslp-test-links { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .sslp-modal { transition:none!important; } }

/* The native CF7 widget owns the form; these rules lay out the supplied form tags. */
.sslp-contact-form .sslp-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 18px; }
.sslp-contact-form .sslp-form-grid .sslp-full { grid-column:1/-1; }
.sslp-contact-form .sslp-form-grid label { display:block; margin:0; font:700 14px/1.4 Arial,sans-serif; color:#102d3c; }
.sslp-contact-form .sslp-form-grid p { margin:0; }
.sslp-contact-form .sslp-form-grid > p { display:contents; }
.sslp-contact-form .sslp-form-grid br { display:none; }
.sslp-contact-form .sslp-form-grid .wpcf7-form-control-wrap { display:block; margin-top:6px; }
.sslp-contact-form .sslp-required { color:#007565; }
.sslp-contact-form .sslp-optional { color:#687c73; font-size:12px; font-weight:400; }
.sslp-contact-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=hidden]),.sslp-contact-form textarea { width:100%; min-height:44px; height:auto; padding:11px 13px; border:1px solid #ccdcd3; border-radius:6px; font:400 14px/1.45 Arial,sans-serif; background:#fff; color:#102d3c; box-shadow:none; }
.sslp-contact-form textarea { min-height:88px; resize:vertical; }
.sslp-contact-form input::placeholder,.sslp-contact-form textarea::placeholder { color:#7b8c84; opacity:1; }
.sslp-contact-form input:focus,.sslp-contact-form textarea:focus { outline:2px solid #007565; outline-offset:1px; }
.sslp-contact-form .sslp-form-actions,.sslp-contact-form .sslp-form-actions > p { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.sslp-contact-form .sslp-form-actions { margin-top:22px; }
.sslp-contact-form .sslp-form-actions > p { width:100%; margin:0; }
.sslp-contact-form .sslp-form-actions br { display:none; }
.sslp-contact-form .wpcf7-submit { border:0; border-radius:9px; min-height:48px; padding:12px 20px; background:linear-gradient(120deg,#00564b,#008b73); color:#fff; font:600 15px/1.3 Arial,sans-serif; text-transform:none; cursor:pointer; }
.sslp-contact-form .wpcf7-submit:hover { background:#00584c; }
.sslp-contact-form .sslp-form-actions a { margin-left:auto; color:#005b50; font:400 14px/1.4 Arial,sans-serif; text-decoration:underline; text-underline-offset:3px; }
.sslp-contact-form .wpcf7-spinner { flex-shrink:0; margin:0; }
.sslp-contact-form .wpcf7-response-output { font:400 14px/1.5 Arial,sans-serif; margin:18px 0 0; padding:12px; border-radius:6px; }
.sslp-contact-copy a { text-decoration:none; overflow-wrap:anywhere; }
@media(max-width:767px) {
 .sslp-contact-form .sslp-form-grid { grid-template-columns:1fr; gap:13px; }
 .sslp-contact-form .sslp-form-actions,.sslp-contact-form .sslp-form-actions > p { justify-content:center; }
 .sslp-contact-form .wpcf7-submit { width:100%; }
 .sslp-contact-form .sslp-form-actions a { margin:0; }
}
