/*
Theme Name: HXHR Base
Theme URI: https://harmonixhr.com
Author: HarmoniXHR
Description: A deliberately opinion-free block theme for HarmoniXHR. It outputs page content and nothing else. No template parts, no layout constraints, no injected block spacing, no printed page title. All visual design lives in each page's own scoped CSS. Built because Twenty Twenty-Five imposes block layout on full-width hand-authored pages.
Version: 1.16.3
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hxhr-base
*/

/* This theme intentionally ships almost no CSS.
   Each page carries its own page-scoped styles.
   The rules below only stop the browser and WordPress
   from introducing layout the pages did not ask for. */

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}

*, *::before, *::after {
  box-sizing: inherit;
}

body {
  margin: 0;
  padding: 0;
  /* Backstop for min-content overflow, per Pre-Publish-Checklist section D
     and Registry entry 55. Pages should still fix the cause, not rely on this. */
  overflow-x: hidden;
}

/* The block theme wrapper. Neutralised so it behaves as a plain container. */
.wp-site-blocks {
  margin: 0;
  padding: 0;
  max-width: none;
}

/* WordPress inserts margin-block-start between top-level blocks.
   theme.json disables block gap, this is belt and braces. */
.wp-site-blocks > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

/* wpautop can leave empty paragraphs inside injected content.
   Neutraliser per Pre-Publish-Checklist section B and Registry entry 52. */
p:empty {
  display: none;
}

/* Accessibility floor: a visible focus ring exists even before
   a page defines its own. Pages may override with something better. */
:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Screen reader text, kept because skip links and aria labels use it. */
.screen-reader-text {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
