/* Popup „Odbierz kod” - -10% za zapis do newslettera.
 * Markup: inc/karta-produktu.php (merinoshe_promo_modal), JS: assets/js/promo-kod.js.
 * Od 0.70.0 osobny plik: popup jest na karcie produktu (przycisk w banerze) i na każdej
 * innej stronie otwieranej z linku ?kod=1 (reklamy remarketingowe, inc/kod-z-linku.php). */

.promo-modal { position: fixed; inset: 0; z-index: 210; display: flex; align-items: center; justify-content: center; padding: 24px; }
.promo-modal[hidden] { display: none; }
.pm-backdrop { position: absolute; inset: 0; background: rgba(51, 48, 48, .55); cursor: pointer; }
.pm-card {
	position: relative;
	width: min(440px, 100%);
	background: var(--c-cream);
	border-radius: 16px;
	padding: 34px 32px 26px;
	box-shadow: 0 24px 70px rgba(51, 48, 48, .3);
}
.pm-close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--c-muted);
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}
.pm-close:hover { color: var(--c-plum); }
.pm-close:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; }
.pm-title { font-family: var(--font-head); font-weight: 700; font-size: 22px; color: var(--c-plum); margin-bottom: 8px; }
.pm-sub { font-size: var(--fs-support); color: var(--c-muted); margin-bottom: 6px; }
.pm-warunki { font-size: 13px; color: var(--c-muted); margin-bottom: 18px; }
.pm-form { display: flex; gap: 10px; flex-wrap: wrap; }
.pm-form.is-sending .btn { opacity: .6; pointer-events: none; }
.pm-form input[type="email"] {
	flex: 1 1 200px;
	padding: 12px 18px;
	border: 1.5px solid var(--c-taupe);
	border-radius: 999px;
	background: #fff;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--c-graphite);
}
.pm-form input[type="email"]:focus { outline: none; border-color: var(--c-accent); }
.pm-form .btn { padding: 12px 22px; font-size: 14px; }
.pm-error { flex-basis: 100%; font-size: 13px; color: var(--c-accent-em); margin: 0; }
.pm-error[hidden] { display: none; }
.pm-done { font-family: var(--font-body); font-size: 15px; line-height: 1.5; color: var(--c-graphite); margin-bottom: 4px; }
.pm-done strong { font-family: var(--font-head); font-weight: 600; font-size: 16px; color: var(--c-accent-em); }
.pm-note { font-size: 12px; color: var(--c-muted); font-style: italic; margin-top: 14px; }
.pm-note a { color: var(--c-accent-em); }
body.pm-open { overflow: hidden; }
.pm-title .pcb-proc { white-space: nowrap; color: var(--c-accent-em); font-weight: 700; }

/* iOS: font-size < 16px w polu = auto-zoom przy fokusie */
@media (max-width: 720px) {
	.pm-form input[type="email"] { font-size: 16px; }
}
