/* daskalokit.gr – εκτυπώσιμα εργαλεία (ημερολόγιο, πρόγραμμα, έπαινοι). Φορτώνεται μόνο σε αυτές τις σελίδες. */
.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin:.8rem 0}
.toolbar .radio-row{margin:0}
.btn.print::before{content:"🖨";font-size:1rem}
.privacy-note{font-size:.88rem;color:var(--muted);display:flex;gap:.45rem;align-items:flex-start}
.privacy-note::before{content:"🔒";flex:0 0 auto}
.tabs{display:flex;gap:.3rem;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 1rem}
.tabs button{font:inherit;font-weight:650;border:1px solid var(--line);border-bottom:0;background:#f4f2ec;color:var(--ink);padding:.55rem .9rem;border-radius:12px 12px 0 0;cursor:pointer;margin-bottom:-1px}
.tabs button[aria-selected=true]{background:var(--surface);color:var(--brand);border-color:var(--line);box-shadow:0 -2px 0 var(--brand) inset}
textarea{width:100%;font:inherit;padding:.65rem .75rem;border:1px solid #cfcac0;border-radius:10px;background:#fff;color:var(--ink);min-height:120px;resize:vertical}
input[type=date],input[type=time],input[type=month]{font:inherit;padding:.55rem .6rem;border:1px solid #cfcac0;border-radius:10px;background:#fff;min-height:46px;width:100%}
.form-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.editor{display:grid;gap:1.2rem;grid-template-columns:minmax(280px,.8fr) 1.2fr;align-items:start}
@media (max-width:900px){.editor{grid-template-columns:1fr}}
.preview-box{background:#eceae4;border-radius:var(--radius);padding:1rem;overflow:auto}
.sheet-screen{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12);padding:1.2rem;border-radius:6px}
.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}
.print-only{display:none}

/* ---------- Ημερολόγιο ---------- */
.cal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:.6rem}
.cal-head h2{margin:0;font-size:1.35rem}
.cal-months{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.cal-month{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.7rem .7rem .5rem;break-inside:avoid}
.cal-month h3{margin:0 0 .35rem;font-size:1rem;display:flex;justify-content:space-between;gap:.5rem}
.cal-month h3 .cnt{font-size:.78rem;font-weight:600;color:var(--brand);white-space:nowrap}
.cal-grid{width:100%;border-collapse:separate;border-spacing:2px;table-layout:fixed;font-size:.85rem}
.cal-grid th{font-size:.7rem;color:var(--muted);text-align:center;padding:0;border:0;font-weight:650}
.cal-grid td{text-align:center;padding:.18rem 0;border:0;border-radius:5px;font-variant-numeric:tabular-nums;line-height:1.35}
.cal-grid td.e{background:transparent}
.cal-grid td.wk{color:#98a2b3}
/* κατάταξη ανά βαθμίδα: L-d / L-g / L-l στο #cal-root, κλάσεις d-*, g-*, l-* στα κελιά */
.L-d .d-school,.L-g .g-school,.L-l .l-school{background:var(--brand-soft);color:#0b4f4a}
.L-d .d-closure,.L-g .g-closure,.L-l .l-closure{background:#fde2e1;color:#912018;font-weight:700}
.L-d .d-celebration{background:#fff4dc;color:#92400e;font-weight:700;box-shadow:inset 0 0 0 1px #f59e0b}
.L-g .g-celebration,.L-l .l-celebration{background:var(--brand-soft);color:#0b4f4a;box-shadow:inset 0 0 0 1px #f59e0b}
.L-d .d-first,.L-g .g-first,.L-l .l-first,.L-d .d-last,.L-g .g-last,.L-l .l-last{background:var(--brand);color:#fff;font-weight:700}
.L-g .g-last.est,.L-l .l-last.est{background:repeating-linear-gradient(45deg,#0f766e,#0f766e 3px,#3d9a92 3px,#3d9a92 6px)}
.L-d .d-before,.L-g .g-before,.L-l .l-before,.L-d .d-after,.L-g .g-after,.L-l .l-after{color:#98a2b3;background:#f4f4f2}
.cal-notes{list-style:none;margin:.35rem 0 0;padding:0;font-size:.74rem;line-height:1.3;color:#344054}
.cal-notes li{margin:.1rem 0;padding-left:.9rem;position:relative}
.cal-notes li::before{content:"";position:absolute;left:0;top:.3em;width:.55rem;height:.55rem;border-radius:2px;background:#cfcac0}
.cal-notes li.n-closure::before{background:#f04438}
.cal-notes li.n-celebration::before{background:#f59e0b}
.cal-notes li.n-event::before{background:var(--brand)}
.L-d [data-lv]:not([data-lv~=d]),.L-g [data-lv]:not([data-lv~=g]),.L-l [data-lv]:not([data-lv~=l]){display:none!important}
.legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.82rem;margin:.7rem 0}
.legend span{display:inline-flex;align-items:center;gap:.35rem}
.legend i{display:inline-block;width:1rem;height:1rem;border-radius:4px}
.sw-school{background:var(--brand-soft)} .sw-closure{background:#fde2e1;border:1px solid #f04438} .sw-cel{background:#fff4dc;border:1px solid #f59e0b} .sw-edge{background:var(--brand)} .sw-off{background:#f4f4f2;border:1px solid #d0d5dd}
table.counts th,table.counts td{text-align:center;padding:.35rem .25rem}
table.counts th:first-child,table.counts td:first-child{text-align:left}
table.counts tr.total td{font-weight:750}
.est-tag{display:inline-block;font-size:.72rem;font-weight:700;background:#fff4dc;color:#92400e;border-radius:999px;padding:.05rem .45rem}

/* ---------- Πρόγραμμα ---------- */
.tt{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.95rem}
.tt th,.tt td{border:1px solid #98a2b3;padding:0;text-align:center;vertical-align:middle}
.tt thead th{background:#f2f4f7;padding:.45rem .2rem;font-size:.9rem}
.tt th.per{width:5.6rem;background:#f9fafb;font-size:.8rem;padding:.25rem}
.tt th.per b{display:block;font-size:.95rem}
.tt th.per input{width:100%;border:0;background:transparent;font:inherit;font-size:.78rem;text-align:center;min-height:0;padding:.1rem;color:var(--muted)}
.tt td .cell{min-height:3.1rem;padding:.35rem .25rem;display:flex;align-items:center;justify-content:center;outline:none;word-break:break-word;line-height:1.25;font-weight:600}
.tt td .cell:focus{box-shadow:inset 0 0 0 2px var(--accent)}
.tt td .cell:empty::before{content:"＋";color:#d0d5dd;font-weight:400}
.sheet-title{text-align:center;margin:0 0 .2rem;font-size:1.35rem}
.sheet-sub{text-align:center;margin:0 0 .8rem;color:#475467;font-size:.95rem}
.sheet-meta{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:#475467;margin-top:.6rem}
.palette{display:flex;flex-wrap:wrap;gap:.35rem;margin:.4rem 0}
.palette .chip{font-size:.82rem;padding:.25rem .6rem}
.list-table{width:100%;border-collapse:collapse;font-size:.92rem}
.list-table th,.list-table td{border:1px solid #98a2b3;padding:.3rem .4rem;height:1.9rem}
.list-table th{background:#f2f4f7;font-size:.82rem}
.list-table td.no{width:2.2rem;text-align:center;color:#475467}
.list-table td.nm{white-space:nowrap}
.abs{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.78rem}
.abs th,.abs td{border:1px solid #98a2b3;padding:0;height:1.65rem;text-align:center}
.abs th{background:#f2f4f7;font-weight:650;line-height:1.1;padding:.15rem 0}
.abs th small{display:block;font-weight:400;color:#475467;font-size:.68rem}
.abs .nm{width:11rem;text-align:left;padding:0 .3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.abs .no{width:1.7rem;color:#475467}
.abs .tot{width:2.4rem}
.abs .off{background:#e4e7ec}
.abs .hol{background:repeating-linear-gradient(135deg,#e4e7ec,#e4e7ec 3px,#f2f4f7 3px,#f2f4f7 6px)}
.abs th.hol span.v{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.6rem;font-weight:400;display:inline-block;max-height:3.4rem;overflow:hidden}
.abs .cel{box-shadow:inset 0 -3px 0 #f59e0b}

/* ---------- Έπαινοι ---------- */
.designs{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}
.designs label{border:2px solid var(--line);border-radius:12px;padding:.45rem;margin:0;cursor:pointer;font-weight:600;font-size:.85rem;text-align:center;background:#fff}
.designs input{position:absolute;opacity:0}
.designs label:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.designs input:focus-visible+span{outline:3px solid var(--accent)}
.designs .mini{display:block;aspect-ratio:297/210;border-radius:6px;margin-bottom:.3rem}
.mini.d-classic{background:#fdfaf1;box-shadow:inset 0 0 0 3px #fdfaf1,inset 0 0 0 5px #1f4d3f,inset 0 0 0 7px #fdfaf1,inset 0 0 0 8px #b8860b}
.mini.d-laurel{background:radial-gradient(circle at 50% 120%,#e9f0e4 0 30%,transparent 31%),#fff;box-shadow:inset 0 0 0 2px #1e3a5f}
.mini.d-modern{background:linear-gradient(90deg,#0f766e 0 18%,#f59e0b 18% 21%,#fff 21%)}
.mini.d-kids{background:radial-gradient(circle,#f59e0b 0 2px,transparent 3px) 0 0/12px 12px,#fff;box-shadow:inset 0 0 0 6px #fff,inset 0 0 0 8px #7c3aed}
.certs{display:grid;gap:1rem}
.cert-wrap{container-type:inline-size;width:100%}
.cert{position:relative;width:100%;aspect-ratio:297/210;overflow:hidden;background:#fff;color:#1d2433;box-shadow:0 2px 12px rgba(0,0,0,.15);font-size:1.6cqw;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cert .deco{position:absolute;inset:0;width:100%;height:100%}
.cert .content{position:absolute;inset:11% 12% 9%;display:flex;flex-direction:column;align-items:center;text-align:center}
.cert .school{font-size:1.25em;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#475467;margin:0}
.cert .title{font-family:"Noto Serif","Georgia","Cambria","Times New Roman",serif;font-size:4.6em;line-height:1.05;margin:.35em 0 .2em;font-weight:700;letter-spacing:.02em}
.cert .intro{font-size:1.35em;margin:.2em 0;color:#344054;font-style:italic}
.cert .name{font-family:"Noto Serif","Georgia","Cambria","Times New Roman",serif;font-size:3.2em;font-weight:700;margin:.15em 0 .2em;padding:0 .6em .1em;border-bottom:.06em solid currentColor;line-height:1.15;max-width:100%}
.cert .reason{font-size:1.35em;line-height:1.45;max-width:46em;margin:.4em 0 0;color:#344054;white-space:pre-line}
.cert .bottom{margin-top:auto;width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:2em}
.cert .place{font-size:1.1em;color:#344054;text-align:left;white-space:nowrap}
.cert .sigs{display:flex;gap:3em;margin-left:auto}
.cert .sig{min-width:13em;text-align:center;font-size:1.05em;color:#344054}
.cert .sig .who{font-weight:600}
.cert .sig .line{border-top:.08em solid #667085;margin-top:3.2em;padding-top:.25em;min-height:1.2em}
/* σχέδια */
.cert.classic{background:#fdfaf1}
.cert.classic .content{inset:12% 15% 12%}
.cert.classic .title{color:#1f4d3f}
.cert.classic .name{color:#1f4d3f;border-color:#b8860b}
.cert.laurel .title{color:#1e3a5f}
.cert.laurel .name{color:#1e3a5f;border-color:#c9a227}
.cert.laurel .content{inset:10% 14% 9%}
.cert.modern .content{inset:10% 8% 9% 27%;align-items:flex-start;text-align:left}
.cert.modern .title{font-family:var(--font);font-weight:800;color:#0f766e;font-size:4.4em;letter-spacing:-.01em}
.cert.modern .name{padding-left:0;border-color:#f59e0b}
.cert.modern .school{color:#0f766e}
.cert.kids .title{font-family:var(--font);font-weight:800;color:#7c3aed}
.cert.kids .name{color:#c2410c;border-bottom-style:dashed;border-color:#7c3aed}
.cert.kids .content{inset:13% 13% 11%}

/* ---------- Εκτύπωση ---------- */
@page{size:A4 portrait;margin:10mm}
@page land{size:A4 landscape;margin:9mm}
@page cert{size:A4 landscape;margin:0}
@media print{
  html,body{background:#fff!important;font-size:11pt}
  body{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .site-header,.site-footer,.no-print,.ad-slot,.skip,.hero,.waitlist{display:none!important}
  main section{padding:0!important}
  .wrap{max-width:none!important;padding:0!important}
  .print-only{display:block}
  .preview-box,.sheet-screen{background:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important;overflow:visible!important}
  .scroll-x{overflow:visible!important}
  a{color:inherit;text-decoration:none}
  /* ημερολόγιο: 6 μήνες ανά σελίδα */
  #cal-root{font-size:9pt}
  .cal-head h2{font-size:15pt}
  .cal-months{grid-template-columns:1fr 1fr;gap:4mm}
  .cal-month{border-color:#c9c4b8;padding:2.2mm 2.5mm 1.5mm;border-radius:2mm}
  .cal-month:nth-child(6){break-after:page}
  .cal-month h3{font-size:10.5pt;margin-bottom:1mm}
  .cal-grid{font-size:8.6pt;border-spacing:1.2px}
  .cal-grid td{padding:.4mm 0;border-radius:1.2mm}
  .cal-notes{font-size:6.9pt}
  .cal-after{break-inside:avoid;font-size:8pt}
  .cal-after h2{font-size:11pt;margin:3mm 0 1.5mm}
  .cal-after table{font-size:8pt}
  .cal-after table td,.cal-after table th{padding:.6mm .8mm}
  .cal-after .small{font-size:7pt}
  /* πρόγραμμα */
  .sheet{page:land}
  .sheet.portrait{page:auto}
  .sheet[hidden]{display:none!important}
  .tt td .cell:empty::before{content:""}
  .tt td .cell{min-height:15mm}
  .tt.n7 td .cell,.tt.n8 td .cell,.tt.n9 td .cell{min-height:12mm}
  .list-table td,.list-table th{height:7.2mm}
  .abs th,.abs td{height:6.4mm}
  .abs .nm{width:42mm}
  /* έπαινοι */
  .certs{display:block}
  .cert-wrap{page:cert;width:297mm;height:210mm;break-after:page;margin:0}
  .cert-wrap:last-child{break-after:auto}
  .cert{box-shadow:none;width:297mm;height:210mm;aspect-ratio:auto}
}
/* SEO M2 (24/10/2026): επικεφαλίδες καρτών, βαθμίδα έξω από το H2, μετρητές έξω από το H3 */
.cal-head>div{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:.4rem}
.cal-head .cal-lvl{margin:0;font-size:1.35rem;font-weight:700;color:var(--ink)}
.cal-head .cal-lvl::before{content:"· ";color:var(--muted)}
.cal-mh{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;column-gap:.5rem;margin:0 0 .35rem}
.cal-mh h3{margin:0;font-size:1rem;white-space:nowrap}
.cal-mh .cnts{margin:0}
.cal-mh .cnt{font-size:.78rem;font-weight:600;color:var(--brand);white-space:nowrap}
@media print{.cal-mh{margin-bottom:1mm}.cal-mh h3{font-size:10.5pt}.cal-head .cal-lvl{font-size:15pt}}
