/* WESTO global local typography — self-contained Vazirmatn system font. */
@font-face {
  font-family: 'Geist';
  src: url('../assets/fonts/6a17254d942eb32e84bde0f0_Geist-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Geist Mono';
  src: url('../assets/fonts/6a0b0eef462d20ff07b9cbe9_GeistMono-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Vazirmatn';
  src: url('../assets/fonts/Vazirmatn-Variable.woff2') format('woff2-variations');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --westo-ui-font: 'Vazirmatn', 'Geist', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html,
body,
button,
input,
select,
textarea,
optgroup,
label,
summary,
dialog,
[role='button'],
[role='tab'],
[role='menuitem'] {
  font-family: var(--westo-ui-font) !important;
}

/* Keep code, numeric diagnostics and icon fonts semantically correct. */
code,
kbd,
pre,
samp,
.admin-mono,
.ltr-input {
  font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

[class^='w-icon-'],
[class*=' w-icon-'] {
  font-family: webflow-icons !important;
}

/* Third-party form fragments in the exported page carry inline Helvetica rules.
   Keep WESTO typography consistent without touching icon/monospace fonts. */
.sib-form,
.sib-form *,
.sib-form-message-panel,
.entry__error,
.entry__label,
.entry__choice,
.form__entry,
.form__label-row {
  font-family: var(--westo-ui-font) !important;
}

/* A collapsed disclosure must not paint its body.
   The browser hides a closed <details> body with a user-agent rule, so any author
   `display` (flex/grid/block) on a direct child silently overrides it: the panel
   keeps painting over the section below while its own box reserves only the
   summary height. Re-assert the native collapse with author origin.
   `:root` keeps this above every layout rule used inside disclosure bodies,
   and the screen media keeps print output untouched. */
@media screen {
  :root body details:not([open]) > *:not(summary) { display: none !important; }
}
