/* pir-funnel.css — Pep It Right funnel glue (lane L2): the logo header on every step and the reserve form.
   Colours and fonts come only from the pepitright preset (--pk-* roles, --ui-* tokens) already on the page. */
.pir-top { display: flex; justify-content: center; padding: 14px 16px 0; background: var(--pk-band-warm, var(--pk-paper)); }
.pir-top img { display: block; width: 92px; height: auto; }
@media (min-width: 768px) { .pir-top img { width: 108px; } }

.pir-reserve { padding-top: 8px; }
.pir-form { display: grid; gap: 14px; padding: 22px 18px; border-radius: 18px; background: var(--pk-paper); text-align: left;
  box-shadow: 0 6px 24px color-mix(in srgb, var(--pk-shade) 12%, transparent); border: 1px solid color-mix(in srgb, var(--pk-ink) 10%, transparent); }
@media (min-width: 768px) { .pir-form { padding: 30px 32px; } }
.pir-form__title { margin: 0; font-family: var(--pk-font-headline); font-weight: var(--pk-headline-weight); color: var(--pk-headline-color); font-size: 26px; line-height: 1.15; text-align: center; text-wrap: balance; }
.pir-form__pill { justify-self: center; margin: 0; padding: 4px 12px; border-radius: 999px; background: var(--pk-spark); color: var(--pk-ink-on-light, var(--pk-ink)); font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.pir-field { display: grid; gap: 6px; font-size: 15px; font-weight: 600; color: var(--pk-ink); }
.pir-field input { width: 100%; min-height: 52px; padding: 12px 14px; border-radius: 12px; font: inherit; font-weight: 400; font-size: 17px; color: var(--pk-ink);
  background: var(--pk-paper); border: 1.5px solid color-mix(in srgb, var(--pk-ink) 28%, transparent); }
.pir-field input:focus-visible { outline: 3px solid color-mix(in srgb, var(--pk-headline-accent) 45%, transparent); outline-offset: 1px; border-color: var(--pk-headline-accent); }
.pir-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.pir-form .fo-btn-wrap { margin: 4px 0 0; }
.pir-form .fo-btn { width: 100%; border: 0; cursor: pointer; }
.pir-form .fo-btn[disabled] { opacity: 0.75; cursor: progress; }
.pir-error { margin: 0; padding: 10px 12px; border-radius: 10px; font-size: 15px; color: var(--pk-ink);
  background: color-mix(in srgb, var(--pk-status-fail) 12%, var(--pk-paper)); border: 1px solid color-mix(in srgb, var(--pk-status-fail) 45%, transparent); }
.pir-error[hidden] { display: none; }
.pir-fine { margin: 0; font-size: 13px; line-height: 1.5; color: var(--pk-muted-ink, var(--pk-ink)); text-align: center; }
.pir-fine a { color: inherit; }
