/* Newsletter strip above the footer columns (Kyranis_Newsletter, task #99). */
/* Above the page: some quote-form columns hang 60px into the footer (z-index 9),
   which covered the email field on the service pages. */
.kz-newsletter { position: relative; z-index: 10; padding: 36px 0; color: #fff; background: var(--kz-accent, #00aeef); }
.kz-newsletter-in { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 18px 40px; }
.kz-newsletter-text { flex: 1 1 320px; }
.kz-newsletter-title { margin: 0 0 6px; font-size: 24px; line-height: 1.3; color: #fff; }
.kz-newsletter-text p { margin: 0; font-size: 15px; line-height: 1.5; }
.kz-newsletter-form { flex: 1 1 420px; max-width: 560px; }
.kz-newsletter-row { display: flex; gap: 8px; }
.kz-newsletter-row input[type="email"] { flex: 1 1 auto; min-width: 0; height: 48px; margin: 0; padding: 0 14px; font-size: 15px; color: #14212b; background: #fff; border: 2px solid #fff; border-radius: 4px; box-sizing: border-box; }
.kz-newsletter-row input[aria-invalid="true"] { border-color: #b3261e; }
.kz-newsletter-row button { flex: 0 0 auto; height: 48px; margin: 0; padding: 0 24px; color: #fff; background: #0a2240; border: 0; border-radius: 4px; }
.kz-newsletter .kz-newsletter-row button:hover, .kz-newsletter .kz-newsletter-row button:focus-visible { color: #fff; background: #14325c; outline: 2px solid #fff; outline-offset: 2px; }
.kz-newsletter-row button[disabled] { opacity: .7; cursor: wait; }
.kz-newsletter-note { margin: 8px 0 0; font-size: 13px; line-height: 1.5; opacity: .9; }
.kz-newsletter-note a { color: #fff; text-decoration: underline; }
/* The answer looks like the contact and quote forms' (theme.css .wpcf7-response-output):
   green when sent, red when it failed, amber for a bad address (Mongi 2026-10-22). */
.kz-newsletter-answer { position: relative; margin: 12px 0 0; padding: 12px 16px 12px 52px; font-size: 15px; line-height: 1.5; color: #1d2327; background: #fff; border-left: 6px solid #00aeef; border-radius: 5px; box-shadow: 0 4px 14px rgba(0,0,0,.12); }
.kz-newsletter-answer::before { content: "i"; position: absolute; left: 14px; top: 50%; width: 26px; height: 26px; margin-top: -13px; font: 700 15px/26px Arial, sans-serif; text-align: center; color: #fff; background: #00aeef; border-radius: 50%; }
.kz-newsletter-answer:empty { display: none; }
.kz-newsletter-form:is([data-state="sent"], [data-state="confirmed"]) .kz-newsletter-answer { color: #1e6b2f; background: #eef8f0; border-left-color: #2e9e48; }
.kz-newsletter-form:is([data-state="sent"], [data-state="confirmed"]) .kz-newsletter-answer::before { content: "\2713"; background: #2e9e48; }
.kz-newsletter-form:is([data-state="failed"], [data-state="limit"], [data-state="off"]) .kz-newsletter-answer { color: #8a1f1f; background: #fdf0f0; border-left-color: #d63638; }
.kz-newsletter-form:is([data-state="failed"], [data-state="limit"], [data-state="off"]) .kz-newsletter-answer::before { content: "!"; background: #d63638; }
.kz-newsletter-form:is([data-state="invalid"], [data-state="expired"]) .kz-newsletter-answer { color: #6b4500; background: #fff8e5; border-left-color: #e0a100; }
.kz-newsletter-form:is([data-state="invalid"], [data-state="expired"]) .kz-newsletter-answer::before { content: "!"; background: #e0a100; }
.kz-newsletter-form:is([data-state="sent"], [data-state="confirmed"]) .kz-newsletter-row { display: none; }
.kz-newsletter-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 480px) {
	.kz-newsletter-row { flex-direction: column; }
}
