/* Βοηθός Επιλογής Φροντιστηρίου — αισθητική αναφοράς. Εγκρίθηκε 22/9/2026. */
:root{
  --paper:#FAF8F3; --panel:#F2EFE6; --ink:#16150F; --ink-soft:#57544A;
  --rule:#E0DBCE; --rule-2:#DCD5C4; --mute:#C0BAAA;
  --accent:#9A3B23; --evidence:#3D6B4E; --row-1:#F5F1E4;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Source Sans 3",system-ui,sans-serif;font-variant-numeric:tabular-nums;
  line-height:1.55}
.wrap{max-width:1180px;margin:0 auto;padding:40px 24px 32px}
h1{font-family:Literata,Georgia,serif;font-size:32px;font-weight:700;letter-spacing:-.015em;margin:0;line-height:1}
h2{font-family:Literata,Georgia,serif;font-size:22px;font-weight:600;margin:38px 0 12px}
a{color:var(--accent)} a:hover{color:#782C19}
.lede{font-family:Literata,Georgia,serif;font-size:19px;max-width:700px}
.masthead{display:flex;justify-content:space-between;align-items:flex-end;
  border-bottom:2.5px solid var(--ink);padding-bottom:16px;gap:18px}
.mark{flex:0 0 auto;margin-bottom:3px}
table.cmp{width:100%;border-collapse:collapse;margin-top:24px}
table.cmp th,table.cmp td{padding:15px 10px;text-align:right;vertical-align:middle}
table.cmp th.nm,table.cmp td.nm{text-align:left;padding-left:16px}
table.cmp thead th{font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink-soft);border-bottom:1.5px solid var(--ink);padding-bottom:10px}
table.cmp tbody td{border-bottom:1px solid var(--rule);font-size:16px}
table.cmp tbody tr.arch td{color:var(--ink-soft);font-style:italic}
tr.top td.nm{border-left:3px solid var(--accent)}
tr.top{background:var(--row-1)}
td.nm{border-left:3px solid transparent;padding-left:13px}
.y{color:var(--evidence);font-weight:600} .n,.na{color:var(--mute)}
.rank{display:inline-block;width:24px;font-family:Literata,Georgia,serif;color:#B3AEA2}
/* Πόσα κριτήρια τεκμηριώθηκαν. Χωρίς αυτό, ένα 8,0 από 14 κριτήρια διαβάζεται ίδια με
   ένα 7,3 από 22 — και δεν είναι το ίδιο πράγμα. */
.cov{display:block;margin-left:24px;font-size:11.5px;font-weight:400;color:var(--mute);
  font-variant-numeric:tabular-nums}
tr.unrated{opacity:.72}
tr.unrated .score{color:var(--mute)}
.score{font-family:Literata,Georgia,serif;font-size:23px;font-weight:700;line-height:1}
.bar{height:5px;background:var(--rule);margin-top:8px}
.bar>i{display:block;height:5px;background:var(--mute)}
tr.top .bar>i{background:var(--accent)}
.panel{background:var(--panel);border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2);
  padding:22px 26px 26px;margin-top:26px}
.weights{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px}
.weights label{display:block;font-size:14px;font-weight:600;line-height:1.35}
.weights .word{font-family:Literata,Georgia,serif;font-size:15px;color:var(--accent);margin-top:4px}
/* Ράγα γεμάτη μέχρι τον δείκτη: το --fill το γράφει η PHP στο markup και το ανανεώνει το JS,
   ώστε να είναι σωστό και πριν τρέξει καθόλου JavaScript. Κίνηση συνεχής, όχι σε κλικ. */
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;
  background:linear-gradient(to right,var(--accent) 0,var(--accent) var(--fill,50%),
    #D3CCBA var(--fill,50%),#D3CCBA 100%);
  outline:none;margin:15px 0 0;padding:0;cursor:pointer;touch-action:pan-y}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;
  border-radius:50%;background:var(--accent);cursor:grab;border:2px solid var(--paper);
  box-shadow:0 1px 3px rgba(0,0,0,.28);transition:transform .12s ease}
input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.15)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border:2px solid var(--paper);
  border-radius:50%;background:var(--accent);cursor:grab;box-shadow:0 1px 3px rgba(0,0,0,.28)}
input[type=range]:active::-moz-range-thumb{cursor:grabbing}
input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
@media(prefers-reduced-motion:reduce){input[type=range]::-webkit-slider-thumb{transition:none}}
/* Σκούρη ζώνη που γεμίζει το padding του .wrap με αρνητικά margins: η δήλωση ιδιοκτησίας
   είναι το σημαντικότερο κείμενο της σελίδας για τη νομιμότητα του πίνακα — δεν επιτρέπεται
   να μοιάζει με ψιλά γράμματα. */
footer{margin:48px -24px -32px;padding:30px 24px 32px;
  background:var(--ink);color:#B9B4A6;border-top:none;
  font-size:13px;line-height:1.65}
footer br{line-height:3}
footer a{color:var(--paper);text-decoration:underline;
  text-decoration-color:rgba(250,248,243,.32);text-underline-offset:3px}
footer a:hover{color:#fff;text-decoration-color:#fff}
@media(max-width:820px){
  .wrap{padding:24px 20px}
  footer{margin:36px -20px -24px;padding:26px 20px 28px}
  h1{font-size:24px} .weights{grid-template-columns:1fr;gap:18px}
  .panel{padding:18px 20px 22px}
  table.cmp thead{position:absolute;left:-9999px}
  table.cmp tr{display:block;border-bottom:1px solid var(--rule);padding:13px 0 14px 11px}
  table.cmp td{display:inline-block;border:0;padding:0 12px 0 0;font-size:13px;color:var(--ink-soft)}
  table.cmp td.nm{display:block;font-size:15.5px;color:var(--ink);font-weight:600;padding:0 0 6px}
  table.cmp td.sc{display:block;padding:8px 0 0}
  table.cmp td::before{content:attr(data-l) " ";color:var(--mute)}
  table.cmp td.nm::before,table.cmp td.sc::before{content:""}
}

/* Επεξηγήσεις κριτηρίων: γιατί μετράει το καθένα. Κείμενο στο HTML, όχι tooltip —
   ο crawler δεν κάνει hover, και σε κινητό δεν υπάρχει hover καθόλου. */
/* Δύο στήλες με 29 κριτήρια διπλωμένα: η ενότητα χωράει σε μία οθόνη αντί για μισή σελίδα.
   Το κείμενο μένει στο HTML — το <details> το κρύβει οπτικά, όχι από τα crawlers.
   Η πρώτη εκδοχή ήταν μια διακριτική γραμμή με σταυρό δεξιά και ΔΕΝ διαβαζόταν ως κουμπί.
   Εδώ το κάθε κριτήριο είναι pill με ορατό «+»: φαίνεται ότι ανοίγει πριν το πατήσεις. */
.defs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px;margin:20px 0 0;align-content:start}
.defs .def{margin:0}
.defs .def summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;gap:10px;
  padding:9px 18px 9px 11px;
  background:var(--panel);border:1px solid var(--rule);border-radius:999px;
  font-weight:600;font-size:14px;line-height:1.3;
  transition:background .15s ease,border-color .15s ease;
}
.defs .def summary::-webkit-details-marker{display:none}
/* «+» που γίνεται «−». Γεμάτος κύκλος, ώστε να διαβάζεται ως χειριστήριο και όχι ως στολίδι. */
.defs .def summary::before{
  content:"+";flex:0 0 auto;
  width:20px;height:20px;border-radius:50%;
  background:var(--ink);color:var(--paper);
  font-size:14px;font-weight:700;line-height:20px;text-align:center;
}
.defs .def[open] summary::before{content:"\2212"}
.defs .def summary:hover{background:#EBE6D9;border-color:var(--rule-2)}
.defs .def[open] summary{background:var(--paper);border-color:var(--ink)}
.defs .def summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.defs .def > p{margin:8px 0 6px;padding-left:41px;font-size:13.5px;line-height:1.55;color:var(--ink-soft);max-width:52ch}
/* Στη σελίδα φροντιστηρίου το «γιατί» κάθεται κάτω από την ετικέτα του κριτηρίου. */
.why{display:block;font-weight:400;font-size:12.5px;line-height:1.5;color:var(--ink-soft);margin-top:3px;max-width:46ch}
@media(max-width:820px){
  .defs{grid-template-columns:1fr;gap:8px}
  .why{max-width:none}
}
