/*
Theme Name:   RESILAND CA+ Child (Astra)
Theme URI:    https://resilandca.net
Description:  Shared RESILAND CA+ design system as an Astra child theme. Encodes the portal's colour palette, typography and base styling so the Online Database (data.resilandca.net) is visually consistent with the main portal (resilandca.net). Per the RESILAND CA+ Integration Specification, this package is the authoritative source of truth for styling.
Author:       SCiO
Author URI:   https://scio.systems
Template:     astra
Version:      1.0.0
License:      Proprietary — provided to CAREC / the RESILAND CA+ project for integration purposes.
Text Domain:  resiland-child
*/

/* ============================================================
   RESILAND CA+ — Design tokens
   Single source of truth for colour and type. Mirrors the
   main portal's palette. Override these values ONLY in
   coordination with SCiO (portal team).
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800;900&family=Source+Sans+3:wght@300;400;500;600;700&display=swap");

:root {
  /* Greens (primary brand) */
  --r-green-dark:  #1B4332;   /* headers, primary brand, hero, footer */
  --r-green-mid:   #2D6A4F;   /* links, secondary headings, active states */
  --r-green-light: #52B788;   /* eyebrows, accents, highlights */
  --r-green-pale:  #D8F3DC;   /* card / panel fills */

  /* Accent + supporting */
  --r-accent:      #E9770A;   /* call-to-action highlights */
  --r-earth:       #5C4033;   /* editorial earth tone */
  --r-sand:        #F5ECD7;   /* editorial sand tone */
  --r-sky:         #1565C0;   /* informational links where green is unsuitable */

  /* Neutrals */
  --r-text:        #212529;   /* body text */
  --r-text-muted:  #6C757D;   /* secondary text, captions */
  --r-gray-bg:     #F8F9FA;   /* section backgrounds */
  --r-gray-light:  #E9ECEF;   /* borders, hairlines */
  --r-white:       #FFFFFF;

  /* Typography */
  --r-font-display: "Playfair Display", Georgia, serif;   /* headings */
  --r-font-body:    "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif; /* body / UI */

  /* Radii & shadow (match portal cards) */
  --r-radius:      14px;
  --r-radius-sm:   7px;
  --r-shadow:      0 2px 10px rgba(0,0,0,.06);
}

/* ============================================================
   Base typography
   ============================================================ */
body,
.ast-container,
p, li, td, th, input, textarea, select, button {
  font-family: var(--r-font-body);
  color: var(--r-text);
}

h1, h2, h3, h4, h5, h6,
.entry-title, .site-title,
.elementor-heading-title {
  font-family: var(--r-font-display);
  color: var(--r-green-dark);
  font-weight: 800;
}

a { color: var(--r-green-mid); }
a:hover, a:focus { color: var(--r-green-dark); }

/* ============================================================
   Buttons — Astra, Gutenberg and Elementor
   ============================================================ */
.ast-button,
.button, button, input[type="submit"],
.wp-block-button__link,
.elementor-button {
  background-color: var(--r-green-light);
  color: var(--r-green-dark);
  border-radius: var(--r-radius-sm);
  font-family: var(--r-font-body);
  font-weight: 700;
}

.ast-button:hover,
.button:hover, button:hover, input[type="submit"]:hover,
.wp-block-button__link:hover,
.elementor-button:hover {
  background-color: var(--r-green-mid);
  color: var(--r-white);
}

/* Secondary / outline button */
.is-style-outline .wp-block-button__link,
.elementor-button.elementor-button-link--outline {
  background: transparent;
  color: var(--r-green-dark);
  border: 2px solid var(--r-green-dark);
}

/* ============================================================
   Header & footer chrome
   ============================================================ */
.site-header,
.ast-primary-header-bar {
  background: var(--r-white);
  border-bottom: 1px solid var(--r-gray-light);
}

.site-footer,
.ast-footer,
footer.site-footer {
  background: var(--r-green-dark);
  color: var(--r-white);
}

.site-footer a { color: var(--r-green-light); }
.site-footer a:hover { color: var(--r-white); }

/* ============================================================
   Reusable helpers (match portal section styling)
   ============================================================ */
.r-eyebrow {
  font-size: 11px; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: var(--r-green-light);
  display: block; margin-bottom: 10px;
}

.r-section-title {
  font-family: var(--r-font-display);
  font-size: 28px; color: var(--r-green-dark);
  margin-bottom: 16px;
}

.r-card {
  background: var(--r-white);
  border: 1px solid var(--r-gray-light);
  border-radius: var(--r-radius);
  box-shadow: var(--r-shadow);
}

.r-panel-fill { background: var(--r-green-pale); border-radius: var(--r-radius); }

/* Section band on muted background */
.r-band { background: var(--r-gray-bg); }
