/* TERRAIN® · σελίδα προϊόντος (strategyonline.gr/terrain)
   Tokens από το Terrain Design System. Φορτώνει μόνο σε αυτή τη σελίδα. */
/* Manrope: δική της δήλωση, γιατί το θέμα την έχει μόνο ως εφεδρική της Poppins */
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope-greek-wght-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-greek-400-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-greek-500-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-greek-600-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}

:root {
  /* Ground */
  --terrain-ground: #050505;        /* dark fields: covers, headers, map chrome */
  --terrain-paper: #FFFFFF;
  --terrain-surface: #F5F8FE;       /* shared with StrategyOnline.gr */
  --terrain-navy: #072971;          /* shared with StrategyOnline.gr — documents, proposals */
  --terrain-navy-deep: #0B1F4B;     /* end of light ramp */

  /* Ink + lines */
  --terrain-ink: #050505;
  --terrain-ink-muted: #4A5368;
  --terrain-ink-on-dark: #FFFFFF;
  --terrain-ink-on-dark-muted: #B8C2D3;
  --terrain-line: #E1E7F2;
  --terrain-line-strong: #7C869C;
  --terrain-line-dark: #26303F;

  /* Mark ramp (signature) */
  --ramp-mint: #7CE07A;
  --ramp-green: #3FB84C;
  --ramp-teal: #2FB6C9;
  --ramp-cyan: #5FC3F0;
  --ramp-blue: #1E6FD9;
  --ramp-ice: #A9DDF5;              /* emphasis text on dark grounds */
  --ramp-on-dark: linear-gradient(90deg, #7CE07A, #3FB84C, #5FC3F0, #1E6FD9); /* @kind color */
  --ramp-on-light: linear-gradient(90deg, #3FB84C, #2FB6C9, #1E6FD9, #0B1F4B); /* @kind color */

  /* Choropleth scale — 6 classes, low → high */
  --choro-1: #E3F5E1;
  --choro-2: #9EDF98;
  --choro-3: #3FB84C;
  --choro-4: #2FB6C9;
  --choro-5: #1E6FD9;
  --choro-6: #0B1F4B;

  /* Map states */
  --state-nodata: #E6E9EF;
  --state-occupied-a: #C9CFDA;      /* hatch stripe for territory held by another candidate */
  --state-occupied-b: #FFFFFF;
  --state-reconstructed: #050505;   /* dashed outline for non-official geometry */

  /* Semantic aliases */
  --bg-page: var(--terrain-surface);
  --bg-card: var(--terrain-paper);
  --bg-dark: var(--terrain-ground);
  --text-primary: var(--terrain-ink);
  --text-muted: var(--terrain-ink-muted);
  --text-on-dark: var(--terrain-ink-on-dark);
  --text-on-dark-muted: var(--terrain-ink-on-dark-muted);
  --accent: var(--ramp-blue);
  --accent-on-dark: var(--ramp-ice);
  --border: var(--terrain-line);
  --border-strong: var(--terrain-line-strong);
  --border-on-dark: var(--terrain-line-dark);
  --focus-ring: var(--ramp-blue);
}

:root {
  --font-wordmark: "IBM Plex Sans", "Manrope", sans-serif;
  --font-sans: "Manrope", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;

  --tracking-wordmark: 0.3em;       /* vertical lockup */
  --tracking-wordmark-compact: 0.24em; /* horizontal header + map titles */
  --tracking-label: 0.06em;
  --tracking-display: -0.02em;

  --text-display: 500 44px/1.12 var(--font-sans);
  --text-h1: 500 30px/1.2 var(--font-sans);
  --text-h2: 600 22px/1.3 var(--font-sans);
  --text-h3: 600 18px/26px var(--font-sans);
  --text-body: 400 16px/26px var(--font-sans);
  --text-small: 500 14px/22px var(--font-sans);
  --text-label: 500 12px/16px var(--font-sans);
  --text-data: 400 13px/20px var(--font-mono);
  --text-data-small: 400 11px/16px var(--font-mono);
  --text-map-title: 500 13px/1 var(--font-wordmark);
  --text-stat: 500 28px/1.1 var(--font-sans);
}
.t-display { font: var(--text-display); letter-spacing: var(--tracking-display); }
.t-h1 { font: var(--text-h1); letter-spacing: var(--tracking-display); }
.t-h2 { font: var(--text-h2); }
.t-body { font: var(--text-body); }
.t-small { font: var(--text-small); }
.t-label { font: var(--text-label); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.t-data { font: var(--text-data); font-variant-numeric: tabular-nums; }
.t-map-title { font: var(--text-map-title); letter-spacing: var(--tracking-wordmark-compact); text-transform: uppercase; }

:root {
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px;
  --radius-xs: 4px;   /* legend swatches */
  --radius-sm: 8px;   /* fields, favicon, swatches */
  --radius-md: 16px;  /* cards, panels */
  --radius-lg: 28px;  /* covers, dark hero fields */
  --radius-pill: 999px;
  --stroke-mark: 0.9;  /* mark line width in 64-unit viewBox */
  --shadow-overlay: 0 12px 32px rgba(5, 5, 5, 0.16); /* menus + map popovers only */
  --ease-standard: cubic-bezier(0.2, 0, 0, 1); /* @kind other */
  --dur-fast: 150ms; /* @kind other */
}

/* βάση (μόνο μέσα στη σελίδα) */
body.tr-page { background: #050505; }
.tr-root, .tr-root *, .tr-root ::before, .tr-root ::after { box-sizing: border-box; }
.tr-root { font: var(--text-body); -webkit-font-smoothing: antialiased; }
.tr-root a { color: #1E6FD9; text-decoration: none; text-underline-offset: 3px; }
.tr-root a:hover { color: #072971; }
.tr-root a, .tr-root button { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.tr-root a:focus-visible, .tr-root button:focus-visible, .tr-root input:focus-visible, .tr-root select:focus-visible { outline: 2px solid #1E6FD9; outline-offset: 2px; }
.tr-root input:focus, .tr-root select:focus { outline: 2px solid #1E6FD9; outline-offset: 2px; }
.tr-root input::placeholder { color: #7C869C; }
.tr-root h1, .tr-root h2, .tr-root h3, .tr-root h4, .tr-root p { margin-block-start: 0; }
.tr-root svg { overflow: visible; }
html:has(body.tr-page) { scroll-behavior: smooth; }
.tr-content { margin: 0 !important; }
.tr-content > * { margin-block: 0 !important; max-width: none !important; }

/* hover (από το design) */
.tr-root .scp0:hover { color: #FFFFFF !important; }
.tr-root .scp1:hover { background: #0B1F4B !important; }
.tr-root .scp2:hover { color: #A9DDF5 !important; }
.tr-root a[href="/"]:hover { color: #FFFFFF !important; }

/* header σε σχέση με τη γραμμή διαχείρισης του WordPress */
body.admin-bar .tr-root > header { top: 32px !important; }
@media (max-width: 782px) { body.admin-bar .tr-root > header { top: 46px !important; } }
@media (max-width: 600px) { body.admin-bar .tr-root > header { position: absolute !important; } }

/* χάρτης */
#tr-map-svg path[data-i] { transition: fill 150ms ease; cursor: pointer; }
#tr-sticky { display: none; }
.tr-form-msg { font: var(--text-small); color: #B42318; margin: 4px 0 0; min-height: 0; }
.tr-form-msg:empty { display: none; }
.tr-root button[disabled] { opacity: 0.6; cursor: progress; }
@media (prefers-reduced-motion: reduce) { #tr-map-svg path { transition: none !important; } html:has(body.tr-page) { scroll-behavior: auto; } }

/* responsive (από το design) */
@media (max-width: 1100px) { #tr-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 1080px) { #tr-hero-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 48px !important; } }
@media (max-width: 900px) {
	#tr-problem-cards, #tr-product-cards, #tr-features { grid-template-columns: minmax(0, 1fr) !important; }
	.tr-head { grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; }
	.tr-read { grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; }
	.tr-read > .tr-read-map { order: 2 !important; }
	#tr-cta-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 40px !important; }
	#tr-r2 { grid-template-columns: minmax(0, 1fr) !important; }
	#tr-callout { grid-template-columns: minmax(0, 1fr) !important; }
	#tr-callout-mark { display: none !important; }
}
@media (max-width: 760px) {
	#tr-sticky { display: block; }
	#tr-folder-tabs { padding: 0 16px !important; gap: 3px !important; }
	#tr-folder-tabs button { font-size: 11px !important; letter-spacing: 0.02em !important; padding: 10px 8px !important; flex: 1 1 0; min-width: 0; }
	#tr-folder-body { flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; }
	#tr-mock-body { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: 380px 268px !important; height: auto !important; }
	#tr-side { border-left: none !important; border-top: 1px solid #E1E7F2; }
	#tr-metric-list { display: none !important; }
	.tr-sec { padding-top: 64px !important; padding-bottom: 64px !important; }
	.tr-pad { padding-left: 16px !important; padding-right: 16px !important; }
	#tr-hdr-back { display: none !important; }
	#tr-stats { grid-template-columns: minmax(0, 1fr) !important; }
	.tr-root input, .tr-root select { font-size: 16px !important; }
	.tr-by { display: none !important; }
}

/* κινητό: header σε μία γραμμή, μικρότερα κείμενα που ξεχειλίζουν */
.tr-root > header a[href="#presentation"], .tr-root > header .scp1 { white-space: nowrap; }
@media (max-width: 760px) {
	.tr-by { display: none !important; }
	.tr-root > header a[href="#presentation"] { display: none !important; }
	#tr-mock-body ~ *, .tr-root [data-tr="mh"] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
}

/* hero: ανάγλυφο (ισοϋψείς) ως φόντο, πλακίδιο χωρίς ραφές */
.tr-root #top {
	background-color: #050505 !important;
	background-image:
		linear-gradient(90deg, rgba(5, 5, 5, 0.82) 0%, rgba(5, 5, 5, 0.35) 45%, rgba(5, 5, 5, 0.1) 100%),
		linear-gradient(180deg, rgba(5, 5, 5, 0) 70%, #050505 100%),
		url(terrain-relief.svg) !important;
	background-size: auto, auto, 1100px auto !important;
	background-position: 0 0, 0 0, 30% 20% !important;
	background-repeat: no-repeat, no-repeat, repeat !important;
}
@media (max-width: 760px) {
	.tr-root #top {
		background-image:
			linear-gradient(180deg, rgba(5, 5, 5, 0.55) 0%, rgba(5, 5, 5, 0.25) 60%, #050505 100%),
			url(terrain-relief.svg) !important;
		background-size: auto, 720px auto !important;
		background-position: 0 0, 40% 0 !important;
		background-repeat: no-repeat, repeat !important;
	}
}
