/*
Theme Name: Pickleball Coach Dave
Theme URI: https://pickleballcoachdave.com
Description: Brand child theme for Twenty Twenty-Five. Applies the Pickleball Coach Dave design system — logo navy #15384B, ball yellow #E9B420, Outfit + Source Sans 3 self-hosted. Tokens live in theme.json; this file only carries what theme.json cannot express.
Author: David Martin Design
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.7
License: GNU General Public License v2 or later
Text Domain: pickleballcoachdave
*/

/* --------------------------------------------------------------
   Design-system custom properties.
   Mirrors the design system's tokens so any custom CSS you write
   (Additional CSS, block "Advanced" panels) can use the same names.
   -------------------------------------------------------------- */
:root{
  --pcd-primary-50:#EDF2F5;--pcd-primary-100:#D3E0E8;--pcd-primary-200:#A7C1D0;
  --pcd-primary-300:#6E96AC;--pcd-primary-400:#3A6885;--pcd-primary-500:#15384B;
  --pcd-primary-600:#11303F;--pcd-primary-700:#0D2634;--pcd-primary-800:#091C27;--pcd-primary-900:#06131B;
  --pcd-secondary-100:#DEE9ED;--pcd-secondary-200:#C2D6DE;--pcd-secondary-400:#93B6C4;--pcd-secondary-600:#587F90;
  --pcd-accent-50:#FDF7E4;--pcd-accent-100:#FAEBB6;--pcd-accent-300:#EFC748;
  --pcd-accent-400:#E9B420;--pcd-accent-500:#CC9C15;--pcd-accent-700:#82620C;
  --pcd-neutral-0:#FFFFFF;--pcd-neutral-50:#F7F8FA;--pcd-neutral-100:#EEF0F4;--pcd-neutral-200:#DDE1E8;
  --pcd-neutral-300:#BFC6D0;--pcd-neutral-400:#8E97A6;--pcd-neutral-500:#656E7C;
  --pcd-neutral-600:#4B5363;--pcd-neutral-700:#363D4A;--pcd-neutral-800:#242A34;--pcd-neutral-900:#151920;
  --pcd-success:#2E8B57;--pcd-success-bg:#EBF5F0;--pcd-warning:#D4963A;--pcd-warning-bg:#FDF5EB;
  --pcd-error:#C14B44;--pcd-error-bg:#FAEDED;--pcd-info:#15384B;--pcd-info-bg:#EDF2F5;
  --pcd-radius-sm:4px;--pcd-radius-md:8px;--pcd-radius-lg:12px;--pcd-radius-full:9999px;
  --pcd-shadow-sm:0 1px 2px rgba(21,56,75,.07);
  --pcd-shadow-md:0 4px 8px rgba(21,56,75,.09);
  --pcd-shadow-lg:0 10px 20px rgba(21,56,75,.11);
  --pcd-shadow-xl:0 20px 30px rgba(21,56,75,.13);
  --pcd-ease:cubic-bezier(.4,0,.2,1);--pcd-fast:150ms;--pcd-normal:250ms;
  --pcd-measure:38rem;
}

/* --- Links: colour-only transition, 400 resting, 600 hover --- */
a{transition:color var(--pcd-fast) var(--pcd-ease);text-underline-offset:.15em;text-decoration-thickness:1px}
.wp-block-post-content a:not(.wp-element-button):hover{color:var(--pcd-primary-600)}

/* --- Buttons: 2px transparent border so filled and outline share a footprint --- */
.wp-element-button,.wp-block-button__link{
  border:2px solid transparent;
  transition:background-color var(--pcd-normal) var(--pcd-ease),color var(--pcd-normal) var(--pcd-ease);
  line-height:1.2;
}
.wp-block-button__link:hover{background-color:var(--pcd-primary-600)}
.wp-block-button.is-style-accent .wp-block-button__link{background-color:var(--pcd-accent-400);color:var(--pcd-neutral-900)}
.wp-block-button.is-style-accent .wp-block-button__link:hover{background-color:var(--pcd-accent-500);color:#fff}
.wp-block-button.is-style-outline .wp-block-button__link{border-color:var(--pcd-primary-500);color:var(--pcd-primary-500);background:transparent}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background-color:var(--pcd-primary-50)}

/* --- Cards: white, 1px border, 12px radius, shadow lifts on hover --- */
.pcd-card,.wp-block-group.is-style-pcd-card{
  background:#fff;border:1px solid var(--pcd-neutral-200);border-radius:var(--pcd-radius-lg);
  overflow:hidden;box-shadow:var(--pcd-shadow-sm);
  transition:box-shadow var(--pcd-normal) var(--pcd-ease);
}
.pcd-card:hover,.wp-block-group.is-style-pcd-card:hover{box-shadow:var(--pcd-shadow-lg)}

/* --- Tag / badge pill (the one place full rounding is allowed) --- */
.pcd-tag{
  display:inline-flex;align-items:center;gap:4px;
  font-family:'Outfit',system-ui,sans-serif;font-size:.75rem;font-weight:500;
  padding:4px 12px;border-radius:var(--pcd-radius-full);
  background:var(--pcd-primary-50);color:var(--pcd-primary-600);white-space:nowrap;
}
.pcd-tag--accent{background:var(--pcd-accent-50);color:var(--pcd-accent-700)}
.pcd-tag--neutral{background:var(--pcd-neutral-100);color:var(--pcd-neutral-600)}

/* --- Credential pill --- */
.pcd-credential{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--pcd-neutral-50);border:1px solid var(--pcd-neutral-200);
  border-radius:var(--pcd-radius-full);padding:4px 12px 4px 4px;
  font-family:'Outfit',system-ui,sans-serif;font-size:.75rem;font-weight:500;color:var(--pcd-neutral-700);
}
.pcd-credential::before{content:'';width:20px;height:20px;border-radius:50%;background:var(--pcd-primary-500);flex:none}
.pcd-credential--on-dark{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff}
.pcd-credential--on-dark::before{background:var(--pcd-accent-400)}

/* --- Eyebrow label: the only uppercase in the system --- */
.pcd-eyebrow{
  font-family:'Outfit',system-ui,sans-serif;font-size:.75rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--pcd-primary-500);
}
.has-primary-navy-background-color .pcd-eyebrow,
.has-navy-dark-background-color .pcd-eyebrow{color:var(--pcd-accent-300)}

/* --- Prose measure: theme.json can't cap paragraph width inside arbitrary groups --- */
.wp-block-post-content>p,.wp-block-post-content>ul,.wp-block-post-content>ol{max-width:var(--pcd-measure)}

/* --- Focus ring --- */
:focus-visible{outline:2px solid var(--pcd-primary-400);outline-offset:2px;border-radius:var(--pcd-radius-sm)}
::selection{background:var(--pcd-primary-100);color:var(--pcd-primary-800)}

/* --- Site logo: the full lockup needs 120px; the header uses the ball mark --- */
.wp-block-site-logo img{height:auto}
.wp-block-site-title a{font-family:'Outfit',system-ui,sans-serif;font-weight:600;text-decoration:none;line-height:1.1}

/* --- Motion: nothing scales or bounces; honour reduced-motion --- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
