/* ──────────────────────────────────────────────
   Zizania — Design System: "The Curated Earth"
   Base CSS variables + typographic foundation.
   Component styles arrive in later milestones.
   ────────────────────────────────────────────── */

:root {
    /* ─── Brand Palette (single source of truth) ─── */
    --primary:   #D6D964;
    --secondary: #8ED5E1;
    --tertiary:  #1D3A24;
    --neutral:   #FBF5EE;

    /* ─── Text on palette ─── */
    --on-primary:   #1d1b17;
    --on-secondary: #1d1b17;
    --on-tertiary:  #ffffff;
    --on-neutral:   #1d1b17;

    /* ─── Surfaces (derived from neutral) ─── */
    --surface:                  var(--neutral);
    --surface-container-low:    #f9f3ec;
    --surface-container:        #f4f0ec;
    --surface-container-lowest: #ffffff;
    --surface-container-high:   #f0e9df;
    --on-surface-variant:       #4a4842;
    --muted: #5f5b54;
    --outline-variant:          #c9c7b2;

    /* ─── RGB decompositions (για rgba() usage) ─── */
    --surface-rgb:    251, 245, 238;  /* matches --neutral #FBF5EE */
    --on-surface:     #1d1b17;
    --on-surface-rgb: 29, 27, 23;
    --primary-rgb:    214, 217, 100;  /* matches --primary #D6D964 */
    --secondary-rgb:  142, 213, 225;  /* matches --secondary #8ED5E1 */
    --tertiary-rgb:   29, 58, 36;    /* matches --tertiary #1D3A24 */

    /* ─── Συμπλήρωμα design system που είχαμε ─── */
    --secondary-fixed-dim: #8bd2de;

    /* ─── Radii ─── */
    --radius-sm: 0.25rem;
    --radius-md: 0.75rem;
    --radius-lg: 1rem;
    --radius-full: 9999px;

    /* ─── Typography ─── */
    --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --tracking-tight: -0.02em;
    --tracking-wide: 0.05em;

    /* ─── Elevation (ambient shadows) ─── */
    --shadow-ambient:  0 20px 40px rgba(var(--on-surface-rgb), 0.06);
    --shadow-floating: 0 24px 48px rgba(var(--on-surface-rgb), 0.10);

    /* ─── Motion ─── */
    --transition-base: 300ms ease-in-out;

    /* ─── Layout ─── */
    --header-height: clamp(4rem, 6vw, 5.5rem);

    /* ─── Container widths (shared by header, sections, footer) ─── */
    --container-max: 1280px;
    --container-gutter: 2rem;
    --container-gutter-mobile: 1.25rem;

    /* ─── Spacing rhythm ─── */
    --space-section: clamp(3rem, 6vw, 4rem);
    --space-section-lg: clamp(4rem, 8vw, 6rem);
}

/* ─── Global safety rules (responsive overflow protection) ─── */
*, *::before, *::after {
    box-sizing: border-box;
}

html, body {
    overflow-x: hidden;
}

img, svg, video {
    max-width: 100%;
    height: auto;
}

/* ─── Base ─── */
body {
    font-family: var(--font-sans);
    background-color: var(--surface);
    color: var(--on-surface);
    line-height: 1.6;
}

h1,
h2 {
    letter-spacing: var(--tracking-tight);
    line-height: 1.15;
}

h3,
h4,
h5,
h6 {
    letter-spacing: 0;
    line-height: 1.3;
}

.zizania-label {
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    font-weight: 500;
}

/* Fullscreen Section Utility — desktop only */
@media (min-width: 768px) {
    .zz-section--fullscreen {
        min-height: calc(100vh - var(--header-height));
        min-height: calc(100dvh - var(--header-height));
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .zz-section--fullscreen > * { width: 100%; }
}
