/* Дополнения к стилям Elementor там, где раньше работали его скрипты */
.pl-sticky { position: sticky !important; top: 0; z-index: 99; }
.elementor-invisible { visibility: hidden; }
@media (prefers-reduced-motion: reduce) { .animated { animation-duration: .01s !important; } }
html.pl-noscroll { overflow: hidden; }
.elementor-popup-modal[hidden] { display: none !important; }
.elementor-popup-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.8); }
.elementor-popup-modal .dialog-widget-content { position: relative; max-width: 100%; max-height: 100vh; overflow: auto; background: #fff; animation: pl-pop .25s ease-out; }
.elementor-popup-modal .dialog-message { max-width: 100%; }
.elementor-popup-modal [data-elementor-type=popup] { display: block !important; }
@keyframes pl-pop { from { opacity: 0; transform: translateY(12px); } }
.elementor-popup-modal .dialog-close-button { position: absolute; top: 14px; right: 14px; z-index: 2; cursor: pointer; }
.elementor-popup-modal .dialog-close-button svg { width: 20px; height: 20px; fill: #1c244b; }

/* галерея без e-gallery: сетка */
.pl-gallery { display: grid; grid-template-columns: repeat(var(--pl-cols, 1), 1fr); gap: var(--pl-gap, 10px); }
.pl-gallery .e-gallery-image { background-size: cover; background-position: center; }
.pl-gallery .elementor-gallery-item { position: relative; overflow: hidden; }

/* форма: ловушка для ботов и ответы */
.pl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.frm-fluent-form .ff-message { margin-top: 14px; padding: 12px 14px; border-radius: 6px; font-size: 15px; line-height: 1.4; }
.frm-fluent-form .ff-message.is-ok { background: #e7f6ec; color: #135e2c; border: 1px solid #9fd6b2; }
.frm-fluent-form .ff-message.is-error { background: #fdecec; color: #8a1c1c; border: 1px solid #f0b3b3; }
.frm-fluent-form .ff-btn[disabled] { opacity: .6; cursor: progress; }

/* 404 */
.pl-404 { max-width: 760px; margin: 0 auto; padding: 120px 20px 140px; text-align: center; font-family: Sora, sans-serif; }
.pl-404 h1 { font-size: clamp(32px, 5vw, 56px); margin: 0 0 16px; }
.pl-404 p { font-size: 18px; margin: 0 0 24px; }
