/*
Theme Name: Carpet Doctor North West
Theme URI: https://carpetdoctornorthwest.co.uk
Description: Lean custom theme for The Carpet Doctor North West — code-registered ACF blocks, no page builder, no build step. Rebuilds the previous Elementor/Jet front end.
Author: W Web Design & Hosting
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: carpet-doctor
*/

/* ------------------------------------------------------------------ *
 * Design tokens
 * ------------------------------------------------------------------ */
:root {
  --cdnw-red:        #df2b2e;   /* brand primary */
  --cdnw-red-dark:   #c01f22;   /* button hover  */
  --cdnw-dark:       #212121;   /* headings / body text */
  --cdnw-body:       #4e4b66;   /* muted paragraph text */
  --cdnw-navy:       #101827;   /* footer background */
  --cdnw-bg:         #ffffff;   /* page background */
  --cdnw-bg-alt:     #f4f4f4;   /* light section background */
  --cdnw-border:     #ebebeb;
  --cdnw-card-bg:    #ffffff;

  --cdnw-content-max: 1140px;
  --cdnw-header-height: 112px;   /* topbar + nav */

  --cdnw-font: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ------------------------------------------------------------------ *
 * Base / reset
 * ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--cdnw-font);
  font-size: 16px;
  line-height: 1.7;
  color: var(--cdnw-body);
  background: var(--cdnw-bg);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--cdnw-font);
  color: var(--cdnw-dark);
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 .6em;
}
h1 { font-size: clamp(2rem, 4vw, 2.8rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); }
h3 { font-size: 1.4rem; }

p { margin: 0 0 1.2em; }

a { color: var(--cdnw-red); text-decoration: none; }
a:hover { color: var(--cdnw-red-dark); }

img { max-width: 100%; height: auto; display: block; }

/* ------------------------------------------------------------------ *
 * Layout helpers
 * ------------------------------------------------------------------ */
.cdnw-container {
  width: 100%;
  max-width: var(--cdnw-content-max);
  margin-inline: auto;
  padding-inline: 20px;
}

.cdnw-section { padding: 64px 0; }
.cdnw-section--alt { background: var(--cdnw-bg-alt); }

/* ------------------------------------------------------------------ *
 * Buttons
 * ------------------------------------------------------------------ */
.cdnw-btn {
  display: inline-block;
  font-weight: 600;
  font-size: .95rem;
  line-height: 1;
  padding: 13px 26px;
  border-radius: 4px;
  border: 2px solid var(--cdnw-red);
  background: var(--cdnw-red);
  color: #fff;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.cdnw-btn:hover { background: var(--cdnw-red-dark); border-color: var(--cdnw-red-dark); color: #fff; }

.cdnw-btn--outline { background: transparent; color: var(--cdnw-red); }
.cdnw-btn--outline:hover { background: var(--cdnw-red); color: #fff; }

.cdnw-btn-group { display: flex; flex-wrap: wrap; gap: 14px; }

/* ------------------------------------------------------------------ *
 * Utilities
 * ------------------------------------------------------------------ */
.cdnw-eyebrow { color: var(--cdnw-red); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; font-size: .85rem; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }
