/*
Theme Name: GMP Police Federation
Theme URI: https://gmppolfed.org.uk
Description: Lightweight custom theme for Greater Manchester Police Federation. Code-registered ACF blocks, no page builder, no build step. Replaces the Elementor/Jet/Kadence stack.
Author: W Web Design
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: gmppolfed
*/

/* ==========================================================================
   Design tokens — extracted from the live Elementor build
   ========================================================================== */
:root {
  /* Brand */
  --gmppf-blue: #0054A9;        /* primary brand blue (logo, headings, buttons) */
  --gmppf-blue-dark: #003e7e;   /* hover / darker */
  --gmppf-accent: #1863DC;      /* links / accent */
  --gmppf-purple: #3a2c52;      /* dark slider / feature band */
  --gmppf-purple-deep: #2d2142;

  /* Ink & surfaces */
  --gmppf-text: #212121;
  --gmppf-muted: #4e4b66;
  --gmppf-bg: #ffffff;          /* page background */
  --gmppf-surface: #f4f4f4;     /* light section surface */
  --gmppf-surface-2: #ebebeb;
  --gmppf-card-bg: #ffffff;
  --gmppf-border: #e2e2e2;
  --gmppf-white: #ffffff;

  /* Type */
  --gmppf-font: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* Layout */
  --gmppf-content-max: 1140px;
  --gmppf-wide-max: 1280px;
  --gmppf-gutter: 20px;
  --gmppf-header-height: 110px;
  --gmppf-radius: 6px;
  --gmppf-shadow: 0 4px 18px rgba(0,0,0,.08);
}

/* ==========================================================================
   Base reset / elements
   ========================================================================== */
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--gmppf-font);
  font-weight: 400;
  color: var(--gmppf-text);
  background: var(--gmppf-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--gmppf-accent); text-decoration: none; }
a:hover { text-decoration: underline; }

h1,h2,h3,h4,h5,h6 {
  font-family: var(--gmppf-font);
  color: var(--gmppf-blue);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 .5em;
}
h1 { font-size: clamp(2rem, 4vw, 3rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); }
p { margin: 0 0 1.1em; }

/* Layout helpers */
.gmppf-container { max-width: var(--gmppf-content-max); margin-inline: auto; padding-inline: var(--gmppf-gutter); }
.gmppf-wide { max-width: var(--gmppf-wide-max); margin-inline: auto; padding-inline: var(--gmppf-gutter); }
.gmppf-section { padding-block: clamp(40px, 6vw, 80px); }

/* Buttons */
.gmppf-btn {
  display: inline-block;
  background: var(--gmppf-blue);
  color: #fff;
  font-weight: 700;
  padding: 12px 26px;
  border-radius: var(--gmppf-radius);
  text-decoration: none;
  border: 2px solid var(--gmppf-blue);
  transition: background .2s, color .2s;
  cursor: pointer;
}
.gmppf-btn:hover { background: var(--gmppf-blue-dark); border-color: var(--gmppf-blue-dark); color:#fff; text-decoration: none; }
.gmppf-btn--ghost { background: transparent; color: #fff; border-color: #fff; }
.gmppf-btn--ghost:hover { background: #fff; color: var(--gmppf-blue); }
.gmppf-btn--outline { background: transparent; color: var(--gmppf-blue); }
.gmppf-btn--outline:hover { background: var(--gmppf-blue); color:#fff; }

/* Default page content width for non-block pages */
.gmppf-page-content { max-width: var(--gmppf-content-max); margin-inline: auto; padding: clamp(30px,5vw,60px) var(--gmppf-gutter); }
.gmppf-page-content ul, .gmppf-page-content ol { padding-left: 1.4em; }

.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px,1px,1px,1px); white-space: nowrap;
}
