/* workman-ui 1.0.0 */
@font-face {
  font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("./fonts/inter-var-latin.woff2") format("woff2");
}
.wm-ui { font-family: var(--font-body); color: var(--ink); background: var(--paper); font-size: var(--type-16); }
.wm-ui button, .wm-ui input, .wm-ui select, .wm-ui textarea { font-family: inherit; }
.wm-ui :is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.wm-ui button, .wm-ui summary { min-height: 44px; }
.wm-ui button { min-width: 44px; }
.wm-ui .wm-secondary-text { font-size: var(--type-14); }
.wm-ui :is(.wm-button,.button) {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-8);
  min-height: 48px; padding: 12px 20px; border: 1px solid transparent;
  border-radius: var(--radius-btn); font: 700 var(--type-16)/1.3 var(--font-body);
  text-decoration: none; text-transform: none; letter-spacing: 0;
}
.wm-ui :is(.wm-button--primary,.button-primary) { background: var(--brand); border-color: var(--brand); color: #fff; }
.wm-ui :is(.wm-button--primary,.button-primary):is(:hover,:focus-visible) { background: var(--brand-hover); border-color: var(--brand-hover); }
.wm-ui :is(.wm-button--secondary,.button-secondary) { color: var(--ink); border-color: currentColor; background: transparent; }
.wm-ui :is(.wm-button--tertiary,.button-tertiary) { color: var(--ink); background: transparent; padding-inline: 0; }
.wm-ui :is(.wm-button--tertiary,.button-tertiary)::after { content: "→"; }
.wm-ui .wm-button--small { min-height: 44px; padding-block: 10px; }
.wm-ui .wm-button--large { min-height: 56px; padding-block: 16px; }
.wm-ui :is(.wm-card,.price-option,.info-callout,.session-planner) { border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.wm-ui .wm-card { padding: var(--space-24); border: 1px solid currentColor; }
.wm-network { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.wm-network a, .wm-footer-columns a { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--type-14); }
.wm-footer-columns { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--space-32); }
.wm-footer-columns h3 { font-size: var(--type-18); margin-block: 0 12px; }
.wm-footer-columns a { display: flex; }
.wm-footer-nap { padding-block: var(--space-24); overflow-wrap: anywhere; }
/* Keep a controller-appended privacy button on the footer shell, not the viewport edge.
   The host shell is min(--shell, 100% - 48px), or 100% - 32px on mobile. */
.wm-ui footer > .analytics-settings { margin-inline-start: max(24px, calc((100% - var(--shell, 1120px)) / 2)); }
@media(max-width:820px) { .wm-ui footer > .analytics-settings { margin-inline-start: max(16px, calc((100% - var(--shell, 1120px)) / 2)); } }
@media(max-width:820px) { .wm-footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; } }

/* Standalone reference header; Astro maps these slots into its existing shell. */
.wm-header { border-bottom:1px solid currentColor; }
.wm-header .wm-utility { padding:8px 16px; font-size:14px; }
.wm-header-network { padding-inline:16px; }
.wm-header .wm-local { display:flex; align-items:center; gap:24px; padding:12px 16px; }
.wm-header-brand { margin-right:auto; font-weight:800; }
.wm-header .wm-local-links { display:flex; gap:24px; }
.wm-header a { min-height:44px; display:inline-flex; align-items:center; }
.wm-header .wm-menu,.wm-header .wm-header-phone { display:none; }
.wm-header #wm-drawer[hidden] { display:none; }
@media(max-width:820px) {
 .wm-header :is(.wm-utility,.wm-header-network,.wm-local-links) { display:none; }
 .wm-header .wm-local { gap:8px; padding:8px; }
 .wm-header .wm-header-brand { min-width:0; font-size:14px; }
 .wm-header .wm-menu,.wm-header .wm-header-phone { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; }
 .wm-header .wm-button { font-size:14px; padding:10px; }
 .wm-header #wm-drawer { padding:16px; }
 .wm-header #wm-drawer a { display:flex; }
 .wm-header #wm-drawer .wm-network { display:grid; gap:0; }
}
