/*
Theme Name: Precise Pool
Theme URI: https://precisepoolservice.com
Author: Precise Pool
Description: Block theme for a pool information site. Calculators are first-class blocks, content is server rendered, no page builder. Palette, type and spacing live in theme.json.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 8.1
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: precisepool
Tags: blog, one-column, custom-colors, custom-menu, editor-style, block-patterns, full-site-editing
*/

/* Block themes take their styling from theme.json.
   This file carries only what theme.json cannot express. */

:root {
  --pp-radius: 8px;
  --pp-shadow-sm: 0 1px 2px rgba(15, 42, 61, .05);
  --pp-shadow-md: 0 1px 3px rgba(15, 42, 61, .06), 0 14px 40px rgba(15, 42, 61, .06);
}

/* Tabular figures wherever numbers line up */
.pp-num,
.pp-calc input,
table td,
table th {
  font-variant-numeric: tabular-nums;
}

/* Skip link */
.skip-link:focus {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 999;
  padding: 10px 16px;
  background: var(--wp--preset--color--surface);
  color: var(--wp--preset--color--contrast);
  border-radius: var(--pp-radius);
  box-shadow: var(--pp-shadow-md);
}

/* Wide content that must not break the page */
.wp-block-table table,
.pp-scroll {
  display: block;
  overflow-x: auto;
  max-width: 100%;
}

/* Answer-first block used at the top of troubleshooting pages */
.pp-answer {
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--rule-strong);
  border-left: 4px solid var(--wp--preset--color--accent);
  border-radius: 0 var(--pp-radius) var(--pp-radius) 0;
  padding: 1.5rem 1.75rem;
}

.pp-answer p {
  margin: 0;
  font-size: var(--wp--preset--font-size--large);
  line-height: 1.5;
  max-width: 62ch;
}

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