/* ========== Global font: Inter ========== */
body,
button,
input,
select,
textarea {
  font-family: 'Inter', -apple-system, system-ui, Segoe UI, Roboto, Ubuntu, Cantarell, Helvetica, Arial, sans-serif;
}

/* Headings inherit Inter (for proper weights) */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter', -apple-system, system-ui, Segoe UI, Roboto, Ubuntu, Cantarell, Helvetica, Arial, sans-serif;
  font-weight: 700;
}

/* WP block: use Inter in Editor */
.has-inter-font-family {
  font-family: 'Inter', -apple-system, system-ui, Segoe UI, Roboto, Ubuntu, Cantarell, Helvetica, Arial, sans-serif !important;
}

/* ========== Inter weight system (global) ========== */
/* Body text */
body, p, li, input, select, textarea { font-weight: 400; }
/* UI small */
label, small, .caption { font-weight: 500; }
/* Buttons, subheadings */
.btn, h4, h5 { font-weight: 600; }
/* Main headings */
h1, h2, h3 { font-weight: 700; }

/* ========== Root vars (aliases for theme.json) ========== */
:root{
  --wp--preset--font-size--xs:   0.85rem;  /* ~13.6px */
  --wp--preset--font-size--sm:   0.875rem; /* 14px — set 0.95rem if you prefer */
  --wp--preset--font-size--base: 1rem;     /* 16px */
  --wp--preset--font-size--lg:   1.125rem; /* 18px */
  --wp--preset--font-size--xl:   1.375rem; /* 22px */
  --wp--preset--font-size--2xl:  1.75rem;  /* 28px */
  --wp--preset--font-size--3xl:  2.25rem;  /* 36px */
  --wp--preset--font-size--4xl:  3rem;     /* 48px (optional) */
  --wp--preset--color--primary: #004080;
  --wp--preset--color--accent: #0ea5e9;
  --wp--preset--color--neutral-900: #0b1220;
  --wp--preset--color--neutral-600: #64748b;
  --wp--preset--color--white: #ffffff;

  --asy-color-primary: var(--wp--preset--color--primary);
  --asy-color-accent:  var(--wp--preset--color--accent);
  --asy-color-text:    var(--wp--preset--color--neutral-900);
  --asy-color-muted:   var(--wp--preset--color--neutral-600);
  --asy-color-bg:      var(--wp--preset--color--white);
  --asy-color-text-white: var(--wp--preset--color--white);

  --asy-r-sm: 8px;
  --asy-r-md: 12px;
  --asy-r-lg: 20px;

  --asy-space-xs: 0.5rem;
  --asy-space-sm: 0.75rem;
  --asy-space-md: 1.25rem;
  --asy-space-lg: 2rem;
  --asy-space-xl: 3rem;

  --asy-container-max: 1200px;
  --asy-container-wide-max: 1600px;


  --asy-header-bg: var(--asy-color-primary);


  --asy-header-link-color: #fff;
  --asy-header-link-hover-color: #00be40;

  --asy-header-cta-text-color: var(--asy-color-text);

}

html, body {
  height: 100%;
  margin: 0;
}

.wp-site-blocks{
  min-height: 100dvh;            /* handles mobile toolbars better than 100vh */
  display: flex;
  flex-direction: column;
}



body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.site-header { flex-shrink: 0; }
.site-main   { flex: 1 0 auto; display: block; } /* override WP group 'flow-root' quirks */
.site-footer { flex-shrink: 0; }

.page-header { background: var(--asy-color-primary); color:#fff; padding-block: var(--asy-space-sm); }
.page-header__title { margin:0; line-height:1.2; }

.site-main > *:first-child { margin-block-start: 0; }
.site-main.front-page-main > *:first-child { padding-top: 0px; }
.site-main > *:last-child  { margin-block-end: 0; }

/* ========== Containers and sections ========== */
.asy-container {
  max-width: var(--asy-container-max);
  margin-inline: auto;
  padding-inline: clamp(1rem, 3vw, 2rem);
}
.asy-container--wide { max-width: var(--asy-container-wide-max); }

/* contained sections */
.section { padding-block: var(--asy-space-xl); }
.section--muted { background: var(--wp--preset--color--neutral-100); }

/* full-bleed */
.section--full { padding-block: var(--asy-space-xl); margin-inline: 0; }
.section--full > .asy-container { max-width: var(--asy-container-wide-max); }

.asy-column-section {
  display: flex;
  flex-direction: column;
  gap: var(--asy-space-md);
}

.asy-section-title-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    background-color: var(--asy-color-primary);
    justify-content: center;
}

.section-title {
  color: var(--asy-color-text-white);
  text-align: center;
}

/* ========== Header (only base rest in asy-header.css) ========== */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--asy-bg);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

/* ========== Footer ========== */
.site-footer {
  background: var(--wp--preset--color--neutral-100);
  color: var(--asy-color-text);
  padding-block: var(--asy-space-lg);
}

/* ========== Breakpoints / visibility helpers ========== */
@media (min-width: 768px){
  .show-md { display: initial !important; }
  .hide-md { display: none !important; }
}
@media (min-width: 992px){
  .show-lg { display: initial !important; }
  .hide-lg { display: none !important; }
}

/* =========================================================
   Inter typography — mobile-first scale (ONE AND ONLY)
   ========================================================= */

/* Base (mobile) */
h1 { font-size: 2rem;   line-height: 1.2; }
h2 { font-size: 1.5rem; line-height: 1.25; }
h3 { font-size: 1.25rem;line-height: 1.3; }
h4 { font-size: 1.125rem;line-height: 1.35; }
h5 { font-size: 1rem;   line-height: 1.4; }
h6 { font-size: 0.95rem;line-height: 1.4; }

/* Body & small text */
body, p, li, input, select, textarea {
  font-size: var(--wp--preset--font-size--base);
  line-height: 1.6;
}
small, .caption {
  font-size: var(--wp--preset--font-size--sm);
  line-height: 1.4;
}

/* >= 768px */
@media (min-width: 768px) {
  h1 { font-size: clamp(2.5rem, 6vw, 3rem); }            /* ~40–48 */
  h2 { font-size: var(--wp--preset--font-size--3xl); }   /* 2.25rem */
  h3 { font-size: var(--wp--preset--font-size--2xl); }   /* 1.75rem */
  h4 { font-size: var(--wp--preset--font-size--xl); }    /* 1.375rem */
  h5 { font-size: var(--wp--preset--font-size--lg); }    /* 1.125rem */
  h6 { font-size: var(--wp--preset--font-size--base); }  /* 1rem */
}

/* >= 992px */
@media (min-width: 992px) {
  h1 { font-size: clamp(3rem, 5vw, 3.5rem); }            /* ~48–56 */
}

/* Base (mobile)  */
.asy-nav .nav_link {
  font-size: var(--wp--preset--font-size--base); /* ~16px */
  line-height: 1.4;
}

@media (min-width: 992px) {
  .asy-nav .nav_link {
    font-size: 1.125rem;   /* ~18px */
    line-height: 1.3;
  }
}

@media (min-width: 1200px) {
  .asy-nav .nav_link {
    font-size: 1.1875rem;  /* ~19px */
    line-height: 1.3;
  }
}

@media (min-width: 1440px) {
  .asy-nav .nav_link {
    font-size: 1.25rem;    /* ~20px */
    line-height: 1.3;
  }
}


.site-main > .section:last-of-type { padding-bottom: 0; }
