/* ============================================================
   TIWC · Design Tokens
   Μοναδική πηγή αλήθειας. Το ίδιο αρχείο φορτώνεται σε:
   - Bricks / WordPress (μέσω child-theme ή Custom CSS)
   - Vue portal (import στο main.ts)
   - PrimeVue (map των tokens στο theme)
   Palette: PLUM-WINE (μωβ επίσημο brand 2024 + δόση μπορντό)
   Fonts:   Source Serif 4 (headings) · Source Sans 3 (body/UI)
   ============================================================ */

:root {

  /* ---------- BRAND ---------- */
  --tiwc-primary:        #4A1F3D;  /* κύριο plum-wine */
  --tiwc-primary-600:    #5E1330;  /* πιο κρασί, για hover/gradient */
  --tiwc-primary-700:    #3A1730;
  --tiwc-primary-900:    #2A1024;  /* βαθύ, για βάθος/topbar */

  --tiwc-gold:           #C49949;  /* επίσημο χρυσό brand */
  --tiwc-gold-warm:      #E0C173;
  --tiwc-gold-soft:      #EBD8A4;
  --tiwc-gold-deep:      #9A7526;  /* για eyebrow/labels σε ανοιχτό φόντο */

  /* ---------- DARK SURFACES (hero, footer, portal side) ---------- */
  --tiwc-text:           #EDE3DE;
  --tiwc-muted:          #BFAEB8;
  --tiwc-bg:             #160E15;
  --tiwc-surface:        #241019;
  --tiwc-surface-2:      #2E1520;
  --tiwc-border:         rgba(196, 153, 73, .22);   /* χρυσό, ημιδιαφανές */
  --tiwc-border-strong:  rgba(196, 153, 73, .40);

  /* ---------- LIGHT / PAPER (σελίδες περιεχομένου) ---------- */
  --tiwc-paper:          #FEFCF7;  /* κύριο ανοιχτό φόντο */
  --tiwc-paper-2:        #F7F0E6;  /* εναλλακτικό ανοιχτό (zebra, sections) */
  --tiwc-paper-ink:      #2A1E28;  /* κείμενο σε ανοιχτό */
  --tiwc-paper-muted:    #6E6068;  /* δευτερεύον κείμενο */
  --tiwc-paper-line:     #E6DCCB;  /* διαχωριστικά/borders σε ανοιχτό */

  /* ---------- FEEDBACK / STATUS ---------- */
  --tiwc-ok:             #3F7D4E;
  --tiwc-ok-bg:          rgba(63, 125, 78, .14);
  --tiwc-warn:           #B8842F;
  --tiwc-warn-bg:        rgba(184, 132, 47, .14);
  --tiwc-danger:         #A5342B;
  --tiwc-danger-bg:      rgba(165, 52, 43, .12);
  --tiwc-info:           #3A6B8A;
  --tiwc-info-bg:        rgba(58, 107, 138, .12);

  /* ---------- MEDALS (αποτελέσματα) ---------- */
  --tiwc-medal-gold:     #C6A54A;
  --tiwc-medal-silver:   #AEB4B8;
  --tiwc-medal-bronze:   #C08457;

  /* ---------- GRADIENTS ---------- */
  --tiwc-grad-wine:      linear-gradient(160deg, #2A1024, #5E1330 50%, #4A1F3D);
  --tiwc-grad-wine-soft: linear-gradient(180deg, #1a0e15, #2a1020);

  /* ---------- RADIUS (τετραγωνισμένο ύφος) ---------- */
  --tiwc-r-sm:  4px;
  --tiwc-r-md:  8px;
  --tiwc-r-lg:  14px;
  --tiwc-r-pill: 999px;

  /* ---------- SPACING ---------- */
  --tiwc-s-2xs: .25rem;   /* 4  */
  --tiwc-s-xs:  .5rem;    /* 8  */
  --tiwc-s-sm:  .875rem;  /* 14 */
  --tiwc-s-md:  1.5rem;   /* 24 */
  --tiwc-s-lg:  2.5rem;   /* 40 */
  --tiwc-s-xl:  4rem;     /* 64 */
  --tiwc-s-2xl: 6.5rem;   /* 104 */

  /* ---------- TYPOGRAPHY ---------- */
  --tiwc-font-heading: "Source Serif 4", Georgia, "Times New Roman", serif;
  --tiwc-font-body:    "Source Sans 3", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  

  /* fluid type scale (clamp: min, preferred, max) */
  --tiwc-fs-display: clamp(2.5rem, 5.5vw, 4.3rem);  /* hero H1 */
  --tiwc-fs-h1:      clamp(2rem, 4vw, 3rem);
  --tiwc-fs-h2:      clamp(1.7rem, 3.4vw, 2.5rem);
  --tiwc-fs-h3:      clamp(1.3rem, 2.4vw, 1.6rem);
    --tiwc-fs-h4: 1.2rem;
  --tiwc-fs-h5: 1.05rem;
  --tiwc-fs-h6: .9rem;
  --tiwc-fs-lead:    1.2rem;
  --tiwc-fs-body:    1.05rem;
  --tiwc-fs-sm:      .9rem;
  --tiwc-fs-xs:      .8rem;

  --tiwc-lh-tight:   1.12;   /* headings */
  --tiwc-lh-body:    1.65;   /* κείμενο */

  --tiwc-tracking-label: .2em; /* eyebrow / uppercase labels */

  /* ---------- SHADOWS ---------- */
  --tiwc-shadow-sm: 0 1px 3px rgba(42, 16, 36, .12);
  --tiwc-shadow-md: 0 12px 40px rgba(42, 16, 36, .16);
  --tiwc-shadow-lg: 0 24px 60px rgba(42, 16, 36, .22);

  /* ---------- LAYOUT ---------- */
  --tiwc-container: 1220px;   /* max πλάτος περιεχομένου */
  --tiwc-measure:   68ch;     /* πλάτος ανάγνωσης long-form */

  /* ---------- MOTION ---------- */
  --tiwc-ease:      cubic-bezier(.4, 0, .2, 1);
  --tiwc-dur:       .2s;

  /* ---------- Z-INDEX ---------- */
  --tiwc-z-header:   100;
  --tiwc-z-dropdown: 200;
  --tiwc-z-modal:    1000;
}

/* ============================================================
   Βασικά helper classes (προαιρετικά, χρήσιμα σε WP & Vue)
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--tiwc-font-heading);
  color: var(--tiwc-paper-ink);
  line-height: var(--tiwc-lh-tight);
  font-weight: 600;
  margin: 0 0 .5em;
  text-wrap: balance;              /* ομορφότερο σπάσιμο τίτλων */
  -webkit-font-smoothing: antialiased;
}

h1 { font-size: var(--tiwc-fs-h1); letter-spacing: -.01em; font-weight: 700; }
h2 { font-size: var(--tiwc-fs-h2); letter-spacing: -.005em; }
h3 { font-size: var(--tiwc-fs-h3); }
h4 { font-size: var(--tiwc-fs-h4); }
h5 { font-size: var(--tiwc-fs-h5); letter-spacing: .01em; }
h6 {
  font-size: var(--tiwc-fs-h6);
  font-family: var(--tiwc-font-body);   /* h6 μικρό -> sans διαβάζεται καλύτερα */
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tiwc-gold-deep);         /* eyebrow-style, ξεχωρίζει */
}

/* Έμφαση με ιταλικά μέσα σε τίτλο (π.χ. λέξη-κλειδί σε χρυσό/κρασί) */
h1 em, h2 em, h3 em { font-style: italic; color: var(--tiwc-primary); font-weight: inherit; }

/* Σε σκούρο φόντο (hero/footer/portal side), τα headings γίνονται ανοιχτά.
   Βάλε την κλάση .tiwc-dark στο section ή δούλεψε με το context σου. */
.tiwc-dark h1, .tiwc-dark h2, .tiwc-dark h3,
.tiwc-dark h4, .tiwc-dark h5 { color: #fff; }
.tiwc-dark h1 em, .tiwc-dark h2 em, .tiwc-dark h3 em { color: var(--tiwc-gold-warm); }
.tiwc-dark h6 { color: var(--tiwc-gold-soft); }
.tiwc-container {
  max-width: var(--tiwc-container);
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 44px);
}

/* Κείμενο long-form (Περί, Πρόσκληση, Κανονισμός) */
.tiwc-prose { max-width: var(--tiwc-measure); }
.tiwc-prose p { font-size: var(--tiwc-fs-body); line-height: var(--tiwc-lh-body); margin-bottom: 1rem; }
.tiwc-prose h2 { font-family: var(--tiwc-font-heading); font-size: var(--tiwc-fs-h2); margin: 1.75rem 0 .75rem; }
.tiwc-prose h3 { font-family: var(--tiwc-font-heading); font-size: var(--tiwc-fs-h3); margin: 1.5rem 0 .5rem; }
.tiwc-prose strong { color: var(--tiwc-primary); }
.tiwc-prose blockquote {
  border-left: 3px solid var(--tiwc-gold);
  padding: .25rem 0 .25rem 1.25rem;
  margin: 1.25rem 0;
  font-family: var(--tiwc-font-heading);
  font-style: italic;
  font-size: var(--tiwc-fs-lead);
  color: var(--tiwc-primary);
}

/* Eyebrow / section label */
.tiwc-eyebrow {
  font-size: var(--tiwc-fs-xs);
  letter-spacing: var(--tiwc-tracking-label);
  text-transform: uppercase;
  color: var(--tiwc-gold-deep);
  font-weight: 700;
}

/* Κουμπιά (βάση) */
.tiwc-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--tiwc-font-body); font-weight: 600; font-size: var(--tiwc-fs-sm);
  padding: .75rem 1.375rem; border-radius: var(--tiwc-r-sm);
  border: 1.5px solid transparent; cursor: pointer;
  transition: all var(--tiwc-dur) var(--tiwc-ease); text-decoration: none;
}
.tiwc-btn--primary { background: var(--tiwc-grad-wine); color: #fff; border-color: var(--tiwc-border-strong); }
.tiwc-btn--primary:hover { border-color: var(--tiwc-gold); transform: translateY(-1px); }
.tiwc-btn--gold { background: var(--tiwc-gold); color: #3a2b0e; }
.tiwc-btn--gold:hover { background: var(--tiwc-gold-warm); }
.tiwc-btn--outline { border-color: var(--tiwc-primary); color: var(--tiwc-primary); }
.tiwc-btn--outline:hover { background: var(--tiwc-primary); color: #fff; }
