/* partyverhuur-footer 1.0.0 · block-port van ReactBitsPro Blocks/footer-4 (nieuwsbrief met groot woordmerk).
   Tailwind-maten uit de bron: px-4/6/8, max-w 1400, py-12/8, kop 3xl tot 7xl leading-tight, grid [1fr 1.5fr] vanaf lg,
   veld px-4/6 py-3/4, kolommen grid 2/4 gap-4/6, space-y-3, woordmerk 5xl tot 8xl. Kleuren volgens het inhoudsplan:
   --m-ink als vlak, tekst in --m-bg, pijlknop in --m-primary. Fonts levert de site. */
.msm-partyverhuur-footer {
  --pf-line: color-mix(in srgb, var(--m-bg, #fff5e6) 16%, transparent);
  --pf-soft: color-mix(in srgb, var(--m-bg, #fff5e6) 70%, var(--m-ink, #1f2547));
  box-sizing: border-box;
  width: 100%;
  padding: 0 16px;
  background: var(--m-ink, #1f2547);
  color: var(--m-bg, #fff5e6);
  font-family: var(--m-font-body, 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif);
}
.msm-partyverhuur-footer *,
.msm-partyverhuur-footer *::before,
.msm-partyverhuur-footer *::after { box-sizing: border-box; }
.msm-partyverhuur-footer a { color: inherit; text-decoration: none; }
.msm-partyverhuur-footer a:focus-visible,
.msm-partyverhuur-footer button:focus-visible,
.msm-partyverhuur-footer input:focus-visible { outline: 2px solid var(--m-accent2, #ffbf2e); outline-offset: 2px; }
.msm-partyverhuur-footer .pf-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

.msm-partyverhuur-footer .pf-wrap { width: 100%; max-width: 1400px; margin: 0 auto; }
.msm-partyverhuur-footer .pf-pad { padding: 0 16px; }
.msm-partyverhuur-footer .pf-claim { padding: 48px 0; }
.msm-partyverhuur-footer .pf-claim h2 {
  margin: 0;
  font-family: var(--m-font-display, 'Bricolage Grotesque', ui-sans-serif, system-ui, sans-serif);
  font-size: 30px;
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: -.025em;
  color: var(--m-bg, #fff5e6);
}

.msm-partyverhuur-footer .pf-band { border-top: 1px solid var(--pf-line); border-bottom: 1px solid var(--pf-line); }
.msm-partyverhuur-footer .pf-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
.msm-partyverhuur-footer .pf-news { padding: 32px 0; border-bottom: 1px solid var(--pf-line); }
.msm-partyverhuur-footer .pf-news h3 {
  margin: 0 0 24px;
  font-size: 18px;
  line-height: 28px;
  font-weight: 500;
  letter-spacing: -.025em;
}
.msm-partyverhuur-footer .pf-form { display: flex; margin: 0 0 24px; }
.msm-partyverhuur-footer .pf-form input {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 12px 16px;
  border: 1px solid color-mix(in srgb, var(--m-bg, #fff5e6) 30%, transparent);
  border-right: 0;
  border-radius: 0;
  background: transparent;
  color: var(--m-bg, #fff5e6);
  font: inherit;
  font-size: 14px;
  line-height: 20px;
  outline: none;
  transition: border-color .15s cubic-bezier(.4, 0, .2, 1);
}
.msm-partyverhuur-footer .pf-form input::placeholder { color: color-mix(in srgb, var(--m-bg, #fff5e6) 55%, transparent); }
.msm-partyverhuur-footer .pf-form input:focus { border-color: color-mix(in srgb, var(--m-bg, #fff5e6) 55%, transparent); }
.msm-partyverhuur-footer .pf-form button {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 16px;
  border: 1px solid var(--m-primary, #d4421f);
  border-radius: 0;
  background: var(--m-primary, #d4421f);
  color: var(--m-surface, #ffffff);
  cursor: pointer;
  transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.msm-partyverhuur-footer .pf-form button:hover { background: color-mix(in srgb, var(--m-primary, #d4421f) 84%, var(--m-ink, #1f2547)); }
.msm-partyverhuur-footer .pf-form svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.msm-partyverhuur-footer .pf-note { margin: 0; font-size: 12px; line-height: 16px; color: var(--pf-soft); }

.msm-partyverhuur-footer .pf-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 32px 0; }
.msm-partyverhuur-footer .pf-col h4 { margin: 0 0 16px; font-size: 14px; line-height: 20px; font-weight: 500; letter-spacing: -.025em; color: var(--m-bg, #fff5e6); }
.msm-partyverhuur-footer .pf-col ul { margin: 0; padding: 0; list-style: none; }
.msm-partyverhuur-footer .pf-col li + li { margin-top: 12px; }
.msm-partyverhuur-footer .pf-col li > a,
.msm-partyverhuur-footer .pf-col li > span {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -.025em;
  color: var(--pf-soft);
  overflow-wrap: anywhere;
}
.msm-partyverhuur-footer .pf-col li > a { transition: color .15s cubic-bezier(.4, 0, .2, 1); }
.msm-partyverhuur-footer .pf-col li > a:hover { color: var(--m-bg, #fff5e6); }

.msm-partyverhuur-footer .pf-bottom { padding: 32px 0; }
.msm-partyverhuur-footer .pf-mark {
  margin: 0 0 16px;
  font-family: var(--m-font-display, 'Bricolage Grotesque', ui-sans-serif, system-ui, sans-serif);
  font-size: 48px;
  line-height: 1;
  font-weight: 700;
  color: var(--m-bg, #fff5e6);
  overflow-wrap: anywhere;
}
.msm-partyverhuur-footer .pf-legal {
  display: flex;
  flex-direction: column;
  gap: 16px;
  font-size: 12px;
  line-height: 16px;
  color: var(--pf-soft);
}
.msm-partyverhuur-footer .pf-legal p { margin: 0; }
.msm-partyverhuur-footer .pf-legal a { transition: color .15s cubic-bezier(.4, 0, .2, 1); }
.msm-partyverhuur-footer .pf-legal a:hover { color: var(--m-bg, #fff5e6); }
.msm-partyverhuur-footer .pf-sep { display: none; width: 1px; height: 12px; background: var(--pf-line); }
.msm-partyverhuur-footer .pf-demo { margin: 16px 0 0; font-size: 12px; line-height: 16px; color: var(--pf-soft); }

/* whileInView: container in 0,3 s (ease van motion voor dekking), blokken 20 px omhoog in 0,5 s. */
.msm-partyverhuur-footer .pf-reveal { transition: opacity .3s cubic-bezier(.25, .1, .35, 1); }
.msm-partyverhuur-footer .pf-item { transition: opacity .5s ease-in-out, transform .5s ease-in-out; }
.msm-partyverhuur-footer .pf-reveal.is-pending { opacity: 0; }
.msm-partyverhuur-footer .pf-reveal.is-pending .pf-item { opacity: 0; transform: translateY(20px); }

@media (min-width: 640px) {
  .msm-partyverhuur-footer { padding: 0 24px; }
  .msm-partyverhuur-footer .pf-pad { padding: 0 24px; }
  .msm-partyverhuur-footer .pf-claim h2 { font-size: 36px; }
  .msm-partyverhuur-footer .pf-news h3 { font-size: 20px; }
  .msm-partyverhuur-footer .pf-form input { padding: 16px 24px; font-size: 16px; line-height: 24px; }
  .msm-partyverhuur-footer .pf-form button { padding: 0 24px; }
  .msm-partyverhuur-footer .pf-form svg { width: 24px; height: 24px; }
  .msm-partyverhuur-footer .pf-note { font-size: 14px; line-height: 20px; }
  .msm-partyverhuur-footer .pf-cols { gap: 24px; }
  .msm-partyverhuur-footer .pf-col h4 { margin-bottom: 24px; font-size: 16px; line-height: 24px; }
  .msm-partyverhuur-footer .pf-col li > a,
  .msm-partyverhuur-footer .pf-col li > span { font-size: 16px; line-height: 24px; }
  .msm-partyverhuur-footer .pf-mark { font-size: 60px; }
  .msm-partyverhuur-footer .pf-legal { flex-direction: row; align-items: center; font-size: 14px; line-height: 20px; }
  .msm-partyverhuur-footer .pf-sep { display: inline-block; }
  .msm-partyverhuur-footer .pf-demo { font-size: 14px; line-height: 20px; }
}
@media (min-width: 768px) {
  .msm-partyverhuur-footer .pf-claim h2 { font-size: 48px; }
  .msm-partyverhuur-footer .pf-mark { font-size: 72px; }
}
@media (min-width: 1024px) {
  .msm-partyverhuur-footer { padding: 0 32px; }
  .msm-partyverhuur-footer .pf-pad { padding: 0 32px; }
  .msm-partyverhuur-footer .pf-claim h2 { font-size: 60px; }
  .msm-partyverhuur-footer .pf-grid { grid-template-columns: 1fr 1.5fr; }
  .msm-partyverhuur-footer .pf-news { padding: 32px 32px 32px 0; border-bottom: 0; border-right: 1px solid var(--pf-line); }
  .msm-partyverhuur-footer .pf-cols { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 32px 0 32px 32px; }
  .msm-partyverhuur-footer .pf-mark { font-size: 96px; }
}
@media (min-width: 1280px) {
  .msm-partyverhuur-footer .pf-claim h2 { font-size: 72px; }
}
@media (prefers-reduced-motion: reduce) {
  .msm-partyverhuur-footer .pf-item { transition: opacity .5s ease-in-out; }
  .msm-partyverhuur-footer .pf-reveal.is-pending .pf-item { transform: none; }
}
