/*
Theme Name:     The Amiga Agency
Theme URI:      https://www.theamigaagency.com
Description:    Brand child theme for The Amiga Agency — soft blue + dark grayish purple over warm paper, with Playfair Display headlines and Mulish body. Child of the Astra theme. Generated from the Amiga Agency Design System.
Author:         The Amiga Agency
Author URI:     https://www.theamigaagency.com
Template:       astra
Version:        1.0.4
License:        GNU General Public License v2 or later
Text Domain:    theamigaagency-child
*/

/* ============================================================
   1. BRAND TOKENS  (mirrors the Amiga Agency Design System)
   ============================================================ */
:root {
  /* Plum — primary */
  --aa-plum-50:#f5f3f8; --aa-plum-100:#e9e4f0; --aa-plum-200:#cec5dc;
  --aa-plum-300:#ab9fc1; --aa-plum-400:#8576a0; --aa-plum-500:#635480;
  --aa-plum-600:#4e4066; --aa-plum-700:#3d3252; --aa-plum-800:#2d2540; --aa-plum-900:#201a30;
  /* Soft blue — accent (the feather) */
  --aa-blue-50:#eef3f9; --aa-blue-100:#dde8f3; --aa-blue-200:#bcd0e7;
  --aa-blue-300:#95b4d6; --aa-blue-400:#7194c0; --aa-blue-500:#547aac;
  --aa-blue-600:#426191; --aa-blue-700:#354e74;
  /* Warm neutrals */
  --aa-white:#ffffff; --aa-paper:#f8f6f2; --aa-n-100:#f0ede8; --aa-n-200:#e2ddd5;
  --aa-n-300:#cbc4ba; --aa-n-400:#a39c92; --aa-n-500:#7c756c; --aa-n-600:#585249;
  --aa-n-700:#3e3a34; --aa-ink:#2b2733;
  /* Warm accent + status */
  --aa-sand-100:#f3ead8; --aa-sand-300:#e3c79a; --aa-sand-500:#c5a063;
  --aa-success:#4f8a6b; --aa-warning:#c08a3e; --aa-danger:#b1564f;

  /* Semantic */
  --aa-brand:var(--aa-plum-700);
  --aa-brand-deep:var(--aa-plum-900);
  --aa-accent:var(--aa-blue-400);
  --aa-accent-deep:var(--aa-blue-600);
  --aa-page:var(--aa-paper);
  --aa-card:var(--aa-white);
  --aa-text:var(--aa-n-700);
  --aa-text-strong:var(--aa-ink);
  --aa-text-muted:var(--aa-n-500);
  --aa-border:var(--aa-n-200);

  /* Type */
  --aa-font-display:'Playfair Display', Georgia, 'Times New Roman', serif;
  --aa-font-body:'Mulish', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --aa-font-accent:'Cormorant Garamond', Georgia, serif;

  /* Radii + elevation */
  --aa-radius-sm:8px; --aa-radius-md:12px; --aa-radius-lg:18px; --aa-radius-pill:999px;
  --aa-shadow-sm:0 2px 6px rgba(45,37,64,.07), 0 1px 2px rgba(45,37,64,.05);
  --aa-shadow-md:0 6px 18px rgba(45,37,64,.09), 0 2px 5px rgba(45,37,64,.05);
  --aa-shadow-lg:0 16px 40px rgba(45,37,64,.12), 0 4px 10px rgba(45,37,64,.06);
}

/* ============================================================
   2. FOUNDATIONS
   ============================================================ */
body {
  background-color: var(--aa-page);
  color: var(--aa-text);
  font-family: var(--aa-font-body);
  font-size: 17px;
  line-height: 1.65;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .site-title,
.wp-block-heading {
  font-family: var(--aa-font-display);
  color: var(--aa-text-strong);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.01em;
}
h1, .entry-title { font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem); }
h2 { font-size: clamp(1.9rem, 1.4rem + 2vw, 2.6rem); }
h3 { font-size: 1.6rem; }

p { text-wrap: pretty; }

a { color: var(--aa-accent-deep); text-decoration: none; }
a:hover, a:focus { color: var(--aa-blue-700); text-decoration: underline; }

::selection { background: var(--aa-blue-200); color: var(--aa-ink); }

/* Editorial italic accent — wrap Spanish phrases in <em class="aa-accent"> */
.aa-accent, em.aa-accent {
  font-family: var(--aa-font-accent);
  font-style: italic;
  color: var(--aa-brand);
}

/* Small uppercase kicker — use class="aa-eyebrow" */
.aa-eyebrow {
  font-family: var(--aa-font-body);
  font-size: .78rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--aa-accent-deep);
}

/* ============================================================
   3. BUTTONS  (core blocks, Astra buttons, generic forms)
   ============================================================ */
.wp-block-button__link,
.wp-element-button,
.ast-button, .ast-custom-button, .button, button.button,
input[type="submit"], input[type="button"], button[type="submit"] {
  font-family: var(--aa-font-body);
  font-weight: 600;
  letter-spacing: .01em;
  background-color: var(--aa-brand);
  color: var(--aa-plum-50);
  border: 1.5px solid transparent;
  border-radius: var(--aa-radius-md);
  padding: .7em 1.5em;
  box-shadow: var(--aa-shadow-sm);
  transition: background-color .14s ease, box-shadow .24s ease, transform .14s ease;
}
.wp-block-button__link:hover,
.wp-element-button:hover,
.ast-button:hover, .ast-custom-button:hover, .button:hover,
input[type="submit"]:hover, button[type="submit"]:hover {
  background-color: var(--aa-plum-800);
  color: #fff;
  box-shadow: var(--aa-shadow-md);
}
.wp-block-button__link:active,
.wp-element-button:active { transform: scale(.98); }

/* Outline button variant */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--aa-brand);
  border-color: var(--aa-plum-300);
  box-shadow: none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--aa-plum-50);
  border-color: var(--aa-plum-400);
}

/* Secondary (soft blue) — add class "is-style-aa-blue" to a button block */
.wp-block-button.is-style-aa-blue .wp-block-button__link {
  background-color: var(--aa-accent);
  color: #fff;
}
.wp-block-button.is-style-aa-blue .wp-block-button__link:hover {
  background-color: var(--aa-blue-500);
}

/* ============================================================
   4. CARDS, INPUTS, MISC
   ============================================================ */
input[type="text"], input[type="email"], input[type="tel"],
input[type="url"], input[type="search"], textarea, select {
  font-family: var(--aa-font-body);
  color: var(--aa-text-strong);
  background: var(--aa-card);
  border: 1.5px solid var(--aa-n-300);
  border-radius: var(--aa-radius-sm);
  padding: .6em .8em;
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--aa-blue-400);
  box-shadow: 0 0 0 3px rgba(113,148,192,.45);
}

blockquote {
  border-left: 3px solid var(--aa-accent);
  background: var(--aa-blue-50);
  border-radius: var(--aa-radius-sm);
  padding: 1rem 1.25rem;
  font-family: var(--aa-font-accent);
  font-style: italic;
  font-size: 1.25rem;
  color: var(--aa-brand);
}

/* Soft brand surfaces — utility classes */
.has-aa-plum-background-color { background-color: var(--aa-plum-900) !important; color: var(--aa-plum-50) !important; }
.has-aa-paper-background-color { background-color: var(--aa-paper) !important; }
.has-aa-blue-soft-background-color { background-color: var(--aa-blue-50) !important; }

/* Card utility — use class="aa-card" */
.aa-card {
  background: var(--aa-card);
  border: 1px solid var(--aa-border);
  border-radius: var(--aa-radius-lg);
  box-shadow: var(--aa-shadow-md);
  padding: 1.75rem;
  transition: box-shadow .24s ease, transform .24s ease;
}
.aa-card:hover { box-shadow: var(--aa-shadow-lg); transform: translateY(-2px); }

/* Site title fallback (classic themes) */
.site-title a { font-family: var(--aa-font-display); color: var(--aa-text-strong); letter-spacing: .04em; }

/* ============================================================
   5. PATTERN HELPERS
   ============================================================ */
/* Checkmark list — use list class="aa-checklist" (the one inherited brand glyph) */
.aa-checklist { list-style: none; padding-left: 0; }
.aa-checklist li {
  position: relative;
  padding-left: 1.9rem;
  margin-bottom: .6rem;
  line-height: 1.45;
}
.aa-checklist li::before {
  content: "";
  position: absolute; left: 0; top: .15em;
  width: 1.15rem; height: 1.15rem;
  background-color: var(--aa-blue-300);
  -webkit-mask: no-repeat center / 70% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
          mask: no-repeat center / 70% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}
/* On the dark plum band the checklist text stays light */
.has-plum-deep-background-color .aa-checklist li,
.has-plum-background-color .aa-checklist li { color: var(--aa-plum-100); }

/* ============================================================
   6. ASTRA RELIABILITY OVERRIDES
   Astra prints its own typography/color CSS (Customizer) with high
   specificity. These !important rules make the brand essentials win.
   Remove any you'd rather control from Customize > Typography/Colors.
   ============================================================ */
body,
.ast-container,
.site-content,
button, input, select, textarea {
  font-family: var(--aa-font-body) !important;
}
h1, h2, h3, h4, h5, h6,
.entry-title, .site-title, .ast-site-title,
.wp-block-heading {
  font-family: var(--aa-font-display) !important;
  color: var(--aa-text-strong) !important;
  font-weight: 600 !important;
}
body { background-color: var(--aa-page) !important; color: var(--aa-text) !important; }
a, .ast-header-navigation-wrap a:hover { color: var(--aa-accent-deep); }

.wp-block-button__link,
.wp-element-button,
.ast-button, .ast-custom-button, .menu-toggle,
input[type="submit"], button[type="submit"] {
  background-color: var(--aa-brand) !important;
  color: var(--aa-plum-50) !important;
  border-radius: var(--aa-radius-md) !important;
  border-color: transparent !important;
}
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  color: var(--aa-brand) !important;
}

/* ============================================================
   7. ASTRA HEADER — brand the menu bar (plum, light text)
   Fixes the old teal header. If you'd rather control this from
   Customize > Header Builder, delete this section.
   ============================================================ */
.site-header,
.ast-primary-header-bar,
.main-header-bar,
.ast-above-header-wrap,
.ast-below-header-wrap,
header.site-header .ast-primary-header-bar,
.ast-primary-header-bar .ast-primary-header {
  background-color: var(--aa-brand) !important;
}

/* Title + menu links light on the plum bar */
.site-header .site-title a,
header.site-header .site-title a,
.ast-site-title a {
  color: var(--aa-plum-50) !important;
  font-family: var(--aa-font-display) !important;
  font-weight: 600 !important;
}
.main-header-bar .main-navigation a,
.ast-primary-header-bar .main-navigation a,
header.site-header .ast-builder-menu .menu-item > a,
header.site-header .menu-link {
  color: var(--aa-plum-100) !important;
}
.main-header-bar .main-navigation a:hover,
.ast-primary-header-bar .main-navigation a:hover,
header.site-header .ast-builder-menu .menu-item > a:hover,
header.site-header .current-menu-item > a {
  color: #ffffff !important;
}
/* Hamburger / toggle icon light */
header.site-header .ast-mobile-menu-buttons-minimal,
header.site-header .menu-toggle .ast-mobile-svg { fill: var(--aa-plum-50) !important; color: var(--aa-plum-50) !important; }
