/* Existing subscription panel identity, isolated from other dialogs. */
#subscribeModal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 1rem; box-sizing: border-box; }
#subscribeModal[hidden] { display: none; }
#subscribeModal .modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
#subscribeModal .modal__content { position: relative; width: 100%; max-width: 400px; max-height: calc(100dvh - 2rem); overflow-y: auto; box-sizing: border-box; padding: 3rem 2rem 2rem; background: #fff; border-radius: 12px; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
#subscribeModal .modal__close { position: absolute; top: .5rem; right: .5rem; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #333; font-size: 1.75rem; cursor: pointer; }
#subscribeModal .modal__icon { width: 60px; height: 60px; margin: 0 auto 1.5rem; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #2d5a27; color: #fff; font-size: 30px; line-height: 1; }
#subscribeModal .modal__title { margin: 0 0 1rem; color: #1a1a1a; font-size: 1.5rem; line-height: 1.3; }
#subscribeModal .modal__text { margin: 0; color: #666; font-size: 1rem; line-height: 1.6; overflow-wrap: break-word; }
#subscribeModal .modal__close:focus-visible { outline: 3px solid #2d5a27; outline-offset: 2px; }
form[data-newsletter-managed] { flex-wrap: wrap; }
.newsletter-status { flex-basis: 100%; width: 100%; margin: .75rem 0 0; color: #a52a1e; background: #fff; padding: .5rem; font-size: .875rem; line-height: 1.5; box-sizing: border-box; }
.newsletter-status[hidden] { display: none; }
@media (max-width: 400px) { #subscribeModal .modal__content { padding: 3rem 1.25rem 1.5rem; } }
@media (prefers-reduced-motion: reduce) { #subscribeModal *, #subscribeModal *::before, #subscribeModal *::after { animation: none; transition: none; } }
