/* Tighten Kadence header height */
.site-header .kadence-header-row-inner {
  min-height: 60px !important;
}
.site-header .header-inner-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.site-header {
  padding-top: 0 !important;
}
/* --- KEYBOARD FOCUS OUTLINES (accessibility) --- */
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #C8232A;
  outline-offset: 3px;
  border-radius: 2px;
}
 
/* --- SCREEN READER ONLY UTILITY (accessibility) --- */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
 
/* --- REDUCED MOTION (accessibility) --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
 
 
/* ============================================
   COLOUR CONTRAST REFINEMENTS (accessibility)
   Red #C8232A on cream #F4F2EE = ~3.9:1
   Darken slightly for small-text contexts
   ============================================ */
.wp-block-group.has-background[style*="background-color:#F4F2EE"] a,
.wp-block-group.has-background[style*="background-color:#F4F2EE"] p a {
  color: #B01E25; /* ~5.1:1 contrast on cream — passes WCAG AA */
}
 
 
/* ============================================
   MOBILE — max-width: 640px
   Collapse multi-column grids, tighten spacing
   ============================================ */
@media (max-width: 640px) {
 
  /* Hero headline */
  .wp-block-cover h1.wp-block-heading {
    font-size: 30px !important;
    letter-spacing: -0.2px !important;
    line-height: 1.2 !important;
  }
  .wp-block-cover p {
    font-size: 16px !important;
  }
 
  /* Section horizontal padding */
  .wp-block-group.alignfull.has-background {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
 
  /* Section vertical padding */
  .wp-block-group.alignfull.has-background[style*="padding-top:72px"] {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .wp-block-group.alignfull.has-background[style*="padding-top:64px"] {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
 
  /* All 2-column inline grids → 1 column */
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
 
  /* All 3-column inline grids → 1 column */
  [style*="grid-template-columns:1fr 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
 
  /* Wim Hof photo+text grid → stacked */
  [style*="grid-template-columns:1fr 1.6fr"],
  [style*="grid-template-columns: 1fr 1.6fr"] {
    grid-template-columns: 1fr !important;
  }
 
  /* Filmstrip collage: narrower on phones */
  [style*="height:220px"] {
    height: 130px !important;
  }
 
  /* Card padding */
  [style*="padding:28px 32px"] { padding: 20px !important; }
  [style*="padding:28px"]      { padding: 18px !important; }
  [style*="padding:24px 28px"] { padding: 16px 18px !important; }
  [style*="padding:24px"]      { padding: 16px !important; }
 
  /* Buyer guide price/label flex rows — stack on mobile */
  [style*="justify-content:space-between"][style*="align-items:center"],
  [style*="justify-content:space-between"][style*="align-items:flex-start"] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
 
  /* Badge labels: allow wrapping on small screens */
  [style*="white-space:nowrap"],
  [style*="white-space: nowrap"] {
    white-space: normal !important;
  }
 
  /* Stat/number display size */
  [style*="font-size:28px"] { font-size: 24px !important; }
  [style*="font-size:32px"] { font-size: 26px !important; }
 
  /* Body text */
  p[style*="font-size:17px"] {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }
 
  /* Card column gap */
  .wp-block-columns {
    gap: 16px !important;
  }
 
  /* Numbered error cards in HRV — flex row stays but tighten */
  [style*="display:flex"][style*="gap:20px"] {
    gap: 14px !important;
  }
 
  /* Hub section heading size */
  h2.wp-block-heading[style*="font-size:28px"] {
    font-size: 22px !important;
  }
 
  /* Breadcrumb */
  .wp-block-group__inner-container p[style*="font-size:13px"] {
    font-size: 12px !important;
  }
}
 
 
/* ============================================
   TABLET — 641px to 860px
   3-col grids → 2-col; hero slightly smaller
   ============================================ */
@media (min-width: 641px) and (max-width: 860px) {
 
  /* 3-col → 2-col */
  [style*="grid-template-columns:1fr 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr 1fr"] {
    grid-template-columns: 1fr 1fr !important;
  }
 
  /* Hero */
  .wp-block-cover h1.wp-block-heading {
    font-size: 38px !important;
  }
 
  /* Section padding */
  .wp-block-group.alignfull.has-background {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
 
  /* Filmstrip slight reduction */
  [style*="height:220px"] {
    height: 180px !important;
  }
}
 
 
/* ============================================
   PRINT — basic clean styles
   ============================================ */
@media print {
  .wp-block-cover {
    min-height: auto !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  nav, .wp-block-cover__background {
    display: none !important;
  }
}