/**
 * Popup newslettera (.bigsewciu-newsletter-modal) — reużywa wspólnego
 * mechanizmu modali (.bigsewciu-modal, otwieranie/zamykanie: ESC, tło,
 * przycisk X) zdefiniowanego w assets/css/frontend.css i obsługiwanego
 * przez initModals() w assets/js/frontend.js, ale wyśrodkowany jak
 * klasyczny popup zamiast panelu bocznego (wariant używany np. przy
 * tabeli rozmiarów). Ten plik ładuje się SITEWIDE (nie tylko na stronie
 * produktu jak frontend.css), bo popup ma się pokazywać na każdej
 * stronie — stąd też bazowe ".bigsewciu-modal"/".bigsewciu-modal__overlay"/
 * ".bigsewciu-modal__close" są tu zduplikowane (frontend.css może nie być
 * wczytany na danej stronie).
 */

.bigsewciu-newsletter-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.25s ease, visibility 0s linear 0.25s;
}

.bigsewciu-newsletter-modal.is-open {
	visibility: visible;
	opacity: 1;
	transition: opacity 0.25s ease;
}

.bigsewciu-newsletter-modal .bigsewciu-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 15, 15, 0.55);
}

.bigsewciu-newsletter-modal__panel {
	position: absolute;
	top: 50%;
	left: 50%;
	right: auto;
	bottom: auto;
	width: min(480px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	background: #fff;
	padding: 2.5em 2em 2em;
	border-radius: 16px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
	transform: translate(-50%, -45%);
	opacity: 0;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.bigsewciu-newsletter-modal.is-open .bigsewciu-newsletter-modal__panel {
	transform: translate(-50%, -50%);
	opacity: 1;
}

.bigsewciu-newsletter-modal .bigsewciu-modal__close {
	position: absolute;
	top: 1em;
	right: 1em;
	width: 2em;
	height: 2em;
	border: none;
	background: rgba(0, 0, 0, 0.06);
	border-radius: 50%;
	font-size: 1.1em;
	line-height: 1;
	cursor: pointer;
	z-index: 1;
}

body.bigsewciu-modal-open {
	overflow: hidden;
}

@media (max-width: 560px) {
	.bigsewciu-newsletter-modal__panel {
		padding: 2em 1.25em 1.25em;
	}
}
