/**
 * Global: typography.css
 * Shared type primitives: headlines, accents, eyebrows, check lists.
 *
 * Loaded on every marketing front-end request (see inc/assets.php).
 * Pattern-specific CSS stays in assets/css/blocks/.
 */

/* ——— Typography primitives ——— */

.tidal-wave-kicker {
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 800;
}

/*
 * Body / description copy — always the global body token.
 * Patterns often use has-md-font-size for ledes; keep those at body size so
 * portrait and landscape phones stay consistent (no fluid / preset blow-up).
 */
p.has-md-font-size,
p.has-sm-font-size,
p.has-xs-font-size,
.tidal-wave-page-hero__description,
.tidal-wave-legal__inner p,
.tidal-wave-legal__inner li,
.tidal-wave-founder p,
.tidal-wave-about-story p,
.tidal-wave-service-area p,
.tidal-wave-about-mission p,
.tidal-wave-media-explainer p:not(.tidal-wave-eyebrow):not(.tidal-wave-headline),
.tidal-wave-faq .wp-block-details > *:not(summary),
.tidal-wave-faq .wp-block-details > *:not(summary) p,
.tidal-wave-faq .wp-block-details > *:not(summary) li,
.tidal-wave-faq__panel,
.tidal-wave-faq__panel p,
.tidal-wave-faq__panel li,
.wp-site-blocks .wp-block-post-content > p {
  font-size: var(--tidal-wave-body-size) !important;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Split-color headlines (mockup) */
.tidal-wave-headline {
  margin: 0;
  font-size: var(--tidal-wave-hero-headline);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* Inner-page heroes (FAQ / Contact / How It Works / booking) — smaller than homepage. */
.tidal-wave-headline--page {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
}

.tidal-wave-headline__line {
  display: block;
}

.tidal-wave-headline__primary {
  color: var(--wp--preset--color--primary);
}

.tidal-wave-headline__accent {
  color: var(--wp--preset--color--accent);
}

/* Check lists with green marks */
.tidal-wave-check-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.tidal-wave-check-list li {
  position: relative;
  padding-left: 2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink);
}

.tidal-wave-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.05em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--surface);
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1;
}

.tidal-wave-check-list--hero {
  margin-block: var(--wp--preset--spacing--md);
}

