/*
Theme Name: Grape Skills — Elementor
Theme URI: https://www.grapeskills.com/
Author: Stree Agency
Author URI: https://stree.agency/
Description: Elementor-ready WordPress theme for Grape Skills Wine Academy (Heidelberg). Ships the brand design system — berry/beige palette, Marcellus + Montserrat self-hosted, interaction layer — plus importable Elementor page templates for all 15 pages.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: grape-skills
Tags: elementor, wine, education, accessibility-ready, custom-colors, custom-menu
*/

/* ==========================================================================
   Design tokens — the single source of truth for the brand palette.
   Contrast is WCAG 2.1 AA verified across every pairing in use.
   ========================================================================== */
:root{
  /* palette */
  --gs-ground:#F1EADE;        /* page background — warm sand beige     */
  --gs-surface:#FFFFFF;       /* cards                                  */
  --gs-panel:#DEC7D2;         /* dusty rose feature panel               */
  --gs-plum:#6E1741;          /* headings + dark bands                  */
  --gs-berry:#8A014F;         /* accent — the client's logo colour      */
  --gs-berry-bright:#A80260;  /* link/hover state                       */
  --gs-berry-deep:#520130;    /* button hover                           */
  --gs-berry-press:#3D0124;   /* button pressed                         */
  --gs-body:#5C4750;          /* body copy                              */
  --gs-cream:#FAF6EF;         /* reversed text on dark                  */
  /* semantic */
  --gs-ok:#3E6B4F;            /* available                              */
  --gs-warn:#754E15;          /* limited / annotation                   */
  --gs-alert:#8C2F2F;         /* sold out / form error                  */
  /* type */
  --gs-display:'Marcellus', Georgia, serif;
  --gs-body-face:'Montserrat', Arial, sans-serif;
}

html{ -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--gs-ground);
  color:var(--gs-body);
  font-family:var(--gs-body-face);
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--gs-display);
  font-weight:400;
  color:var(--gs-plum);
  text-wrap:balance;
}

a{ color:var(--gs-berry); }
a:hover{ color:var(--gs-berry-bright); }

::selection{ background:var(--gs-panel); color:var(--gs-plum); }

/* Focus: a single-colour ring cannot pass on both the beige ground and the
   plum bands (berry-on-plum measures 1.18:1). Cream ring + plum halo means
   one of the two always has contrast against whatever is behind it. */
:focus-visible{
  outline:3px solid var(--gs-cream);
  outline-offset:2px;
  box-shadow:0 0 0 6px var(--gs-plum);
  border-radius:3px;
}

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

/* Skip link */
.gs-skip{
  position:absolute; left:-9999px; top:12px; z-index:120;
  background:var(--gs-plum); color:var(--gs-cream);
  padding:10px 18px; font-size:14px; font-weight:600;
  border-radius:4px; text-decoration:none;
}
.gs-skip:focus{ left:16px; }

/* Elementor: let full-width sections actually go full width */
.elementor-section.elementor-section-full_width > .elementor-container{ max-width:100%; }
