/*
 * End of every page, above the footer (includes/page-end.php):
 *   (above it: the contact block, components/contact-block.css)
 *   .pe-news    — newsletter sign-up banner in brand maroon, sitting on the footer
 * Colours, fonts and sizes come from design-system.css tokens.
 */

.pe-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pe-hp { position: absolute; left: -9999px; }

.pe-form__error { margin: 16px 0 0; font-size: 14px; }
.pe-done__title { margin: 0; font-family: var(--font-heading); line-height: 1.1; }
.pe-done__body { margin: 10px 0 0; }

/* ── 2. Newsletter banner ── */
.pe-news {
  background:
    radial-gradient(90% 140% at 100% 0%, rgba(255, 255, 255, .08) 0%, rgba(255, 255, 255, 0) 60%),
    var(--color-secondary);
  color: #fff;
  padding: clamp(40px, 5vw, 64px) 0;
}
.pe-news__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px clamp(32px, 5vw, 80px); align-items: center; }
.pe-news .pe-news__title { margin: 0; font-family: var(--font-heading); font-size: clamp(28px, 3vw, 42px); line-height: 1.12; letter-spacing: -.01em; color: #fff; }
.pe-news__title em { color: #fff; }
.pe-news__lede { margin: 12px 0 0; max-width: 460px; font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, .86); }
.pe-news__row { display: flex; gap: 0; border-bottom: 1px solid rgba(255, 255, 255, .55); }
.pe-news__row input {
  flex: 1; min-width: 0;
  padding: 16px 4px;
  border: 0; background: transparent;
  font: inherit; font-size: 17px; color: #fff;
}
.pe-news__row input::placeholder { color: rgba(255, 255, 255, .72); }
.pe-news__row input:focus { outline: none; }
.pe-news__row:focus-within { border-bottom-color: #fff; }
.pe-news__go {
  flex: none; display: inline-flex; align-items: center; gap: 10px;
  padding: 0 4px 0 16px; border: 0; background: none; cursor: pointer;
  font: inherit; font-size: var(--fs-button); font-weight: var(--fw-medium); letter-spacing: var(--btn-ls); text-transform: uppercase;
  color: #fff;
}
.pe-news__go svg { width: 14px; height: 14px; transition: transform .35s var(--ease); }
.pe-news__go:hover svg { transform: translateX(4px); }
.pe-news__go:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.pe-news__go:disabled { opacity: .6; }
.pe-news .pe-form__error { color: #fff; }
.pe-done--news .pe-done__title, .pe-done--news .pe-done__title em { color: #fff; font-size: clamp(24px, 2.4vw, 32px); }
.pe-done--news .pe-done__body { color: rgba(255, 255, 255, .86); font-size: 15px; }

@media (max-width: 900px) {
  .pe-news__inner { grid-template-columns: 1fr; }
}
