/*
Theme Name:   OrthoSono 2026
Theme URI:    https://orthosono.com/
Description:  Brand child theme for OrthoSono / Las Vegas Regenerative Medicine and MSK Ultrasound Course. Colour and type are governed by theme.json; this file holds only rules the block system cannot express.
Author:       Orthotalk, Inc.
Template:     twentytwentyfive
Version:      1.0.0
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  orthosono-2026
*/

/* Visible keyboard focus. The block editor does not guarantee this; accessibility does. */
:where(a, button, input, select, textarea, .wp-block-button__link):focus-visible {
  outline: 3px solid var(--wp--preset--color--gold);
  outline-offset: 2px;
}

/* Site logo should never exceed a legible cap on small screens. */
.wp-block-site-logo img {
  max-width: 100%;
  height: auto;
}

/* Guard rail: gold type on a white ground measures 1.9:1 and fails WCAG.
   If this rule ever visibly fires, the page is using gold incorrectly. */
.has-white-background-color .has-gold-color,
.has-paper-background-color .has-gold-color {
  color: var(--wp--preset--color--navy) !important;
}

/* Tables in the agenda pages need to stay readable when they overflow. */
.wp-block-table table {
  border-collapse: collapse;
}
.wp-block-table td,
.wp-block-table th {
  border: 1px solid var(--wp--preset--color--rule);
  padding: 0.6rem 0.75rem;
}
.wp-block-table th {
  background: var(--wp--preset--color--navy);
  color: var(--wp--preset--color--white);
  text-align: left;
}

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

/* Header logo: cap height on small screens so the lockup stays legible. */
.orthosono-header-logo img {
  max-width: 210px;
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 600px) {
  .orthosono-header-logo img { max-width: 175px; }
}

/* Header navigation: keep all eight items on a single line. */
.orthosono-nav .wp-block-navigation__container { flex-wrap: nowrap; }
.orthosono-nav .wp-block-navigation-item__content { white-space: nowrap; }
.orthosono-nav { font-size: 1.0625rem; }

/* Header bar runs edge to edge; its inner content is capped at 1240px
   so the logo and nav align with the page content below. */

/* Below 1100px the single line stops fitting; fall back to the burger menu. */
@media (max-width: 1100px) {
  .orthosono-nav { font-size: 1rem; }
}

/* alignfull relies on negative margins to escape root padding.
   Do not zero them here — that insets full-bleed blocks. */

/* Seal the seam between the navy header and a full-bleed Cover at the
   top of the page. The block editor adds a default top margin to the
   first content block; zero it so the hero butts against the header. */
.wp-site-blocks > main,
.wp-site-blocks > header + main { margin-block-start: 0 !important; }
.wp-site-blocks > main > .wp-block-post-content > *:first-child { margin-block-start: 0 !important; }
.wp-site-blocks > main > .wp-block-post-content > .wp-block-cover:first-child { margin-top: 0 !important; }

/* Keep the contact email on a single line in the footer. */
footer a[href^="mailto:"],
.wp-block-template-part a[href^="mailto:"] {
  white-space: nowrap;
}
