/* Shared WordPress integration styles. */
.niwa-site-languages { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 16px; padding:24px 20px 70px; font-size:12px; }
.niwa-site-languages a { display:inline-flex; align-items:center; min-height:44px; padding:4px 8px; }
.niwa-site-languages [aria-current] { text-decoration:underline; text-underline-offset:4px; }
:root {
  color-scheme: light;
  --niwa-button-surface: #e8e9ec;
  --niwa-button-hover: #dfe1e5;
  --niwa-cta-height: clamp(38px, 2.916667vw, 44px);
  --pt-serif: var(--niwa-font-display);
  --pt-sans: var(--niwa-font-body);
  --void: var(--pt-bone);
  --carbon: #f3f4f6;
  --obsidian: #e9eaed;
  --line: var(--pt-line);
  --smoke: #b9c4b8;
  --fog: var(--pt-muted);
  --mist: var(--pt-ink);
  --paper: var(--pt-ink);
  --accent: #676191;
}
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.4; }
html { scroll-padding-top: 90px; }
html.lenis, html.lenis body { height: auto; }
html.lenis { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }
body:has(dialog[open]), body:has(.mobile-nav[open]) { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
button, summary { cursor: pointer; }
button:disabled { opacity: .5; cursor: wait; }
img { display: block; max-width: 100%; height: auto; }
h1,h2,h3,h4,h5,h6,p,figure { margin: 0; }
[hidden] { display: none !important; }
:focus-visible, .pt-button:focus-visible, .pt-pack__add:focus-visible { outline: 2px solid #676191; outline-offset: 5px; }
.shell { width: min(1280px,calc(100% - 64px)); margin-inline: auto; }
.screen-reader-text,.skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; inset: 16px auto auto 16px; z-index: 1000; background: white; padding: 10px 18px; }
.nav-links { display: flex; list-style: none; gap: 0; margin: 0; padding: 0; }
.nav-links li { position: relative; }
.sub-menu { display: none; position: absolute; inset: 100% auto auto 0; min-width: 180px; padding: 14px; list-style: none; background: var(--niwa-site-background); border: 1px solid var(--pt-line); border-radius: 16px; }
.nav-links li:hover>.sub-menu,.nav-links li:focus-within>.sub-menu { display: block; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: 22px; min-height: 44px; padding: 12px 22px; border: 1px solid var(--pt-line); border-radius: 999px; font-size: 13px; line-height: 1.4; }
.button-white { color: var(--pt-bone); background: var(--pt-ink); border-color: var(--pt-ink); }
.button:hover { background: var(--pt-sage); color: var(--pt-ink); }
.text-link { display: inline-flex; align-items: center; gap: 18px; font-size: 13px; text-decoration: underline; text-underline-offset: 5px; }
.pt-footer ul { list-style: none; padding: 0; margin: 0; }
.pt-footer li { margin-bottom: 12px; }
.pt-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.pt-faq__item>button { text-align: start; }
.pt-faq__word { white-space: normal; }
@media(max-width:640px) {
  .shell { width: calc(100% - 36px); }
  .pt-footer nav { gap: 30px 20px; }
  .pt-footer nav div { gap: 4px; }
  .pt-footer nav a { display: flex; align-items: center; min-height: 44px; font-size: 14px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { transition: none !important; animation: none !important; }
  .pt-faq__character { opacity: 1; filter: none; }
}
@media print { .vl-header,.pt-footer,.download-dialog { display: none; } }
