/*
Theme Name: Newtech
Theme URI: https://newtech-pub.com
Author: Εκδόσεις Νέων Τεχνολογιών
Description: Το βιβλιοπωλείο των Εκδόσεων Νέων Τεχνολογιών: βιβλία σε κάθε σελίδα, κωδικός Εύδοξου με έντονα, τιμή με την έκπτωση, καλάθι, έξυπνη αναζήτηση, διαφάνειες για διδάσκοντες.
Version: 0.9.37
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: newtech
*/
/* Σχέδιο: καθαρό ακαδημαϊκό βιβλιοπωλείο. Τα εξώφυλλα κάνουν τη δουλειά· το πορτοκαλί του λογοτύπου
   για ό,τι αγοράζεται, το μπλε του βιβλίου για τον κωδικό Εύδοξου. Commissioner για τη διεπαφή,
   Gentium για τα κείμενα των βιβλίων, JetBrains Mono για κωδικούς. */
:root{
  --bg:#FFFFFF;
  --tint:#F4F6F9;
  --paper:#FFFFFF;
  --ink:#15181D;
  --ink-2:#4F5763;
  --ink-3:#848C98;
  --rule:#DFE3E8;
  --navy:#1F4E79;
  --brand:#E8701A;
  --brand-ink:#B1520D;
  --brand-wash:#FDEEDF;
  --on-brand:#FFFFFF;
  --brand-hover:#C95F12;
  --ok:#2F7D4F;
  --cover-bg:#FFFFFF;
  --shadow:0 1px 2px rgba(21,24,29,.06),0 12px 32px -14px rgba(21,24,29,.22);
  --radius:10px;
  --f-voice:"Commissioner","Avenir Next","Segoe UI",Helvetica,sans-serif;
  --f-book:"Gentium Book Plus","Iowan Old Style",Georgia,"Times New Roman",serif;
  --f-code:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0F1216; --tint:#161A20; --paper:#1A1F26; --ink:#E9ECF0; --ink-2:#AAB2BD; --ink-3:#737C88; --rule:#2B323B;
    --navy:#93B9E6; --brand:#E8701A; --brand-ink:#FFAA6E; --brand-wash:#3A2213; --on-brand:#FFFFFF; --ok:#6CC28F;
    --cover-bg:#FFFFFF; --shadow:0 1px 2px rgba(0,0,0,.5),0 14px 32px -14px rgba(0,0,0,.7);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0F1216; --tint:#161A20; --paper:#1A1F26; --ink:#E9ECF0; --ink-2:#AAB2BD; --ink-3:#737C88; --rule:#2B323B;
  --navy:#93B9E6; --brand:#E8701A; --brand-ink:#FFAA6E; --brand-wash:#3A2213; --on-brand:#FFFFFF; --ok:#6CC28F;
  --cover-bg:#FFFFFF; --shadow:0 1px 2px rgba(0,0,0,.5),0 14px 32px -14px rgba(0,0,0,.7);
  color-scheme:dark;
}

/* ——— βάση ——— */
html{ -webkit-text-size-adjust:100%; scroll-padding-top:92px; }
body{ margin:0; background:var(--bg); color:var(--ink); font:400 16px/1.55 var(--f-voice); }
*{ box-sizing:border-box; }
a{ color:inherit; }
img{ max-width:100%; }
button, input, select, textarea{ font:inherit; color:inherit; }
:focus-visible{ outline:2px solid var(--brand); outline-offset:3px; border-radius:4px; }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.wrap{ max-width:1280px; margin-inline:auto; padding-left:max(16px, env(safe-area-inset-left, 0px)); padding-right:max(16px, env(safe-area-inset-right, 0px)); }
.skip{ position:absolute; left:-9999px; top:8px; z-index:60; background:var(--paper); padding:8px 12px; border-radius:6px; }
.skip:focus{ left:12px; }
.eyebrow{ font:600 12.5px/1.4 var(--f-voice); letter-spacing:.1em; text-transform:uppercase; color:var(--brand-ink); margin:0 0 10px; }
.kcode{ font-family:var(--f-code); font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:.01em; }
.muted{ color:var(--ink-2); }
.notice{ background:var(--brand-wash); border-radius:8px; padding:10px 14px; margin:0 0 16px; }
.nw{ white-space:nowrap; }
.hp{ position:absolute; left:-9999px; }

/* ——— κουμπιά, ετικέτες ——— */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; border-radius:8px; background:var(--brand); color:var(--on-brand); padding:12px 20px; font:600 15.5px/1.2 var(--f-voice); text-decoration:none; cursor:pointer; transition:background .15s, transform .15s; }
.btn:hover{ background:var(--brand-hover); }
.btn:active{ transform:translateY(1px); }
.btn-cart{ display:inline-flex; align-items:center; justify-content:center; gap:7px; width:100%; min-height:40px; border:1.5px solid var(--brand); border-radius:8px; background:var(--brand); color:var(--on-brand); padding:8px 10px; font:600 14.5px/1.2 var(--f-voice); text-decoration:none; cursor:pointer; transition:background .15s, color .15s; }
.btn-cart:hover{ background:var(--brand-hover); border-color:var(--brand-hover); color:var(--on-brand); }
.btn-cart .ico{ flex:none; }
.btn-cart.loading{ opacity:.6; pointer-events:none; }
.btn-cart.added{ background:var(--ok); border-color:var(--ok); color:#fff; }
.btn-cart.off{ background:transparent; border-color:var(--rule); color:var(--ink-3); cursor:default; }
.btn-cart.off:hover{ background:transparent; color:var(--ink-3); }
.btn-cart.off.soon, .btn-cart.off.soon:hover{ border-color:color-mix(in oklab, var(--navy) 45%, transparent); color:var(--navy); }
.added_to_cart{ display:block; margin-top:6px; font:500 13px var(--f-voice); color:var(--ok); text-align:center; }
.copy{ border:1px solid var(--rule); background:var(--paper); border-radius:6px; padding:4px 9px; font:500 12.5px var(--f-voice); cursor:pointer; color:var(--ink-2); }
.copy:hover{ color:var(--ink); border-color:var(--ink-2); }
.copy.ok{ color:var(--ok); border-color:var(--ok); }
.chip{ display:inline-block; padding:7px 13px; border:1px solid var(--rule); border-radius:999px; background:var(--paper); color:var(--ink); font:500 14px/1.2 var(--f-voice); text-decoration:none; white-space:nowrap; }
.chip:hover, .chip.on{ border-color:var(--brand); color:var(--brand-ink); background:var(--brand-wash); }
.badge{ position:absolute; left:8px; top:8px; background:var(--brand); color:#fff; font:700 12.5px/1 var(--f-voice); padding:5px 7px; border-radius:6px; letter-spacing:.02em; }
.badge.soon{ left:auto; right:8px; background:var(--navy); color:#fff; }

/* ——— κεφαλίδα ——— */
.topbar{ background:var(--navy); color:#fff; font:500 13px/1.3 var(--f-voice); }
:root[data-theme="dark"] .topbar{ background:#14202E; }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .topbar{ background:#14202E; } }
.topbar .wrap{ display:flex; justify-content:space-between; gap:12px; padding-block:7px; }
.topbar p{ margin:0; }
.topbar .tb-r{ display:flex; gap:18px; }
.topbar a{ color:#fff; text-decoration:none; opacity:.92; white-space:nowrap; }
.topbar a:hover{ opacity:1; text-decoration:underline; }
.site-hd{ position:sticky; top:var(--wp-admin--admin-bar--height, 0px); z-index:40; background:color-mix(in oklab, var(--bg) 94%, transparent); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid var(--rule); padding-top:env(safe-area-inset-top,0px); }
.mainbar .wrap{ display:flex; align-items:center; gap:24px; padding-block:12px; }
.logo{ flex:none; display:block; line-height:0; }
.logo img{ width:124px; height:auto; }
/* δύο εκδοχές του λογότυπου: ανοιχτή (γκρι γράμματα, άσπρο τετράγωνο) και σκούρα (άσπρα γράμματα, σκούρο τετράγωνο) */
.logo-d{ display:none !important; }
:root[data-theme="dark"] .logo-l{ display:none !important; }
:root[data-theme="dark"] .logo-d{ display:block !important; }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .logo-l{ display:none !important; }
  :root:not([data-theme="light"]) .logo-d{ display:block !important; }
}
.hsearch{ position:relative; flex:1; display:flex; max-width:640px; }
.hsearch input{ flex:1; min-width:0; height:46px; border:1.5px solid var(--rule); border-right:0; border-radius:10px 0 0 10px; background:var(--paper); padding:0 16px; font:400 16px var(--f-voice); }
.hsearch input:focus{ outline:none; border-color:var(--brand); }
.hsearch button{ flex:none; height:46px; border:0; border-radius:0 10px 10px 0; background:var(--brand); color:var(--on-brand); padding:0 16px; cursor:pointer; display:inline-flex; align-items:center; gap:8px; font:600 15px var(--f-voice); }
.hsearch button:hover{ background:var(--brand-hover); }
.tools{ display:flex; align-items:center; gap:18px; margin-left:auto; }
.tools .tl-authors{ font:500 15px var(--f-voice); text-decoration:none; color:var(--ink-2); }
.tools .tl-authors:hover{ color:var(--ink); }
.hcart{ position:relative; display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border:1.5px solid var(--rule); border-radius:10px; text-decoration:none; color:var(--ink); font:600 15px var(--f-voice); white-space:nowrap; }
.hcart:hover{ border-color:var(--brand); }
.hcart .hcart-n{ position:absolute; left:26px; top:2px; min-width:18px; height:18px; border-radius:9px; background:var(--ink-3); color:#fff; font:700 11px/18px var(--f-voice); text-align:center; padding:0 4px; }
.hcart.full .hcart-n{ background:var(--brand); }
.hcart:not(.full) .hcart-n{ display:none; }
.hcart .hcart-t{ font-variant-numeric:tabular-nums; }

/* αναζήτηση: αποτελέσματα καθώς γράφεις */
.hs-drop{ position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:50; background:var(--paper); border:1px solid var(--rule); border-radius:12px; box-shadow:var(--shadow); overflow:hidden; }
.hs-drop[hidden]{ display:none; }
.hs-item{ display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:12px; align-items:center; padding:9px 14px; text-decoration:none; color:var(--ink); border-bottom:1px solid var(--rule); }
.hs-item:hover, .hs-item.on{ background:var(--tint); }
.hs-item img{ width:48px; height:48px; object-fit:contain; background:var(--cover-bg); border-radius:4px; }
.hs-item .hs-t{ display:block; font:600 14.5px/1.3 var(--f-voice); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hs-item .hs-a{ display:block; font:400 13px/1.3 var(--f-voice); color:var(--ink-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hs-item .hs-e{ display:block; font:400 12.5px/1.3 var(--f-voice); color:var(--ink-3); }
.hs-item .hs-e b{ color:var(--navy); font-family:var(--f-code); }
.hs-item .hs-p{ font:700 14.5px var(--f-voice); white-space:nowrap; }
.hs-item mark{ background:none; color:var(--brand-ink); font-weight:700; }
.hs-all{ display:block; padding:11px 14px; font:600 14px var(--f-voice); color:var(--brand-ink); text-decoration:none; background:var(--tint); }
.hs-none{ margin:0; padding:14px; color:var(--ink-2); font-size:14.5px; }

/* γνωστικά αντικείμενα κάτω από την κεφαλίδα */
.subnav{ border-bottom:1px solid var(--rule); background:var(--bg); }
.sn-d{ display:flex; align-items:center; gap:2px; padding-block:6px; flex-wrap:wrap; }
.sn-d > a, .sn-dd > summary{ display:inline-flex; align-items:center; gap:6px; padding:8px 11px; border-radius:8px; font:500 14.5px/1.2 var(--f-voice); color:var(--ink); text-decoration:none; cursor:pointer; list-style:none; white-space:nowrap; }
.sn-dd > summary::-webkit-details-marker{ display:none; }
.sn-dd > summary::after{ content:""; width:7px; height:7px; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:translateY(-2px) rotate(45deg); margin-left:2px; }
.sn-d > a:hover, .sn-dd > summary:hover, .sn-dd[open] > summary{ background:var(--tint); color:var(--brand-ink); }
.sn-d > .sn-all{ font-weight:700; }
.sn-dd{ position:relative; }
.sn-drop{ position:absolute; left:0; top:calc(100% + 6px); z-index:45; min-width:300px; display:grid; padding:8px; background:var(--paper); border:1px solid var(--rule); border-radius:12px; box-shadow:var(--shadow); }
.sn-drop a{ display:flex; justify-content:space-between; gap:16px; padding:9px 12px; border-radius:8px; text-decoration:none; font:500 14.5px var(--f-voice); color:var(--ink); }
.sn-drop a:hover{ background:var(--tint); color:var(--brand-ink); }
.sn-drop small{ color:var(--ink-3); font-variant-numeric:tabular-nums; }
.sn-m{ display:none; }

/* ——— αρχική ——— */
.hero{ background:linear-gradient(180deg, var(--tint), var(--bg)); }
.hero-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:48px; align-items:center; padding-block:48px 40px; }
.hero h1{ font:700 clamp(30px,3.6vw,48px)/1.08 var(--f-voice); letter-spacing:-.025em; margin:0 0 14px; text-wrap:balance; }
.hero .lead{ font-size:18.5px; color:var(--ink-2); margin:0 0 22px; max-width:46ch; }
.hsearch.big{ max-width:none; }
.hsearch.big input{ height:56px; font-size:17px; border-radius:12px 0 0 12px; }
.hsearch.big button{ height:56px; border-radius:0 12px 12px 0; padding:0 22px; font-size:16px; }
.hero .chips{ display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 0; }
.feature{ position:relative; display:grid; grid-template-columns:minmax(0,290px) minmax(0,1fr); gap:26px; align-items:center; background:var(--paper); border:1px solid var(--rule); border-radius:16px; padding:24px; box-shadow:var(--shadow); }
/* slider νέων κυκλοφοριών: ένα βιβλίο τη φορά, σύρσιμο στο κινητό, βελάκια και τελείες, αργή αυτόματη αλλαγή που σταματά στο άγγιγμα */
.feat-slider{ position:relative; min-width:0; }
.fs-track{ display:grid; grid-auto-flow:column; grid-auto-columns:100%; gap:28px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:16px 4px 26px; margin:-16px -4px -20px; overscroll-behavior-x:contain; }
.fs-track::-webkit-scrollbar{ display:none; }
.fs-slide{ scroll-snap-align:start; scroll-snap-stop:always; }
.fs-nav{ display:flex; align-items:center; justify-content:center; gap:14px; margin-top:14px; }
.fs-arr{ width:38px; height:38px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--rule); background:var(--paper); color:var(--ink); font:400 22px/1 var(--f-voice); cursor:pointer; }
.fs-arr:hover{ border-color:var(--brand); color:var(--brand-ink); }
.fs-dots{ display:flex; gap:8px; align-items:center; }
.fs-dots button{ width:9px; height:9px; padding:0; border:0; border-radius:5px; background:var(--rule); cursor:pointer; transition:width .25s, background-color .25s; }
.fs-dots button[aria-current="true"]{ width:24px; background:var(--brand); }
.fs-arr:focus-visible, .fs-dots button:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){ .fs-track{ scroll-behavior:auto; } }
.feature-tag{ position:absolute; top:-12px; left:22px; margin:0; background:var(--navy); color:#fff; font:700 12px/1 var(--f-voice); letter-spacing:.08em; text-transform:uppercase; padding:7px 10px; border-radius:6px; }
.feature-cover{ position:relative; display:block; background:var(--cover-bg); border-radius:8px; line-height:0; }
.feature-cover img{ width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.feature-body h2{ font:700 22px/1.2 var(--f-voice); margin:4px 0 6px; }
.feature-body h2 a{ text-decoration:none; }
.feature-body h2 a:hover{ color:var(--brand-ink); }
.eud-line{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:10px 0 14px; font:500 14px var(--f-voice); color:var(--ink-2); }
.eud-line b{ font-size:19px; color:var(--navy); }
.feature .card-buy{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.feature .card-buy .btn-cart{ width:auto; padding:10px 18px; background:var(--brand); color:var(--on-brand); }
.feature .card-buy .btn-cart:hover{ background:var(--brand-hover); }
.perks{ border-block:1px solid var(--rule); background:var(--bg); }
.perks-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding-block:22px; }
.perks-grid p{ margin:0; font-size:14.5px; color:var(--ink-2); line-height:1.45; padding-left:16px; border-left:3px solid var(--brand); }
.perks-grid b{ display:block; color:var(--ink); font-size:15.5px; margin-bottom:2px; }

.shelf{ padding-block:40px 8px; }
.sec-hd{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; margin:0 0 18px; }
.sec-hd h2{ font:700 clamp(22px,2.2vw,28px)/1.2 var(--f-voice); letter-spacing:-.015em; margin:0; }
.sec-hd a{ font:600 15px var(--f-voice); color:var(--brand-ink); text-decoration:none; white-space:nowrap; }
.sec-hd a:hover{ text-decoration:underline; }
@media (max-width:560px){ .sec-hd a{ white-space:normal; } }

/* κάρτα βιβλίου */
.cards{ display:grid; gap:22px 18px; }
.cards.row{ grid-template-columns:repeat(5,minmax(0,1fr)); }
.cards.grid{ grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); }
.card{ display:flex; flex-direction:column; min-width:0; }
/* καρουζέλ (#101): μία σειρά που κυλά, βέλη στην κεφαλίδα της ενότητας */
.sec-tools{ display:flex; align-items:center; gap:14px; }
.rail-nav{ display:flex; gap:8px; }
.rail-nav[hidden]{ display:none; }
.rail-nav .fs-arr{ width:36px; height:36px; font-size:21px; }
.rail-nav .fs-arr:disabled{ opacity:.35; cursor:default; border-color:var(--rule); color:var(--ink-3); }
.cards.rail{ display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; overscroll-behavior-x:contain; scrollbar-width:none; padding:4px 4px 14px; margin:-4px -4px -14px; }
.cards.rail::-webkit-scrollbar{ display:none; }
.cards.rail > .card{ flex:0 0 calc((100% - 8px - 4 * 18px) / 5); scroll-snap-align:start; }
@media (max-width:1180px){ .cards.rail > .card{ flex-basis:calc((100% - 8px - 3 * 18px) / 4); } }
@media (max-width:760px){ .cards.rail{ gap:14px; } .cards.rail > .card{ flex-basis:46%; } .sec-tools{ gap:10px; } }
@media (prefers-reduced-motion: reduce){ .cards.rail{ scroll-behavior:auto; } }
.card-cover{ position:relative; display:block; background:var(--cover-bg); border:1px solid var(--rule); border-radius:var(--radius); overflow:hidden; aspect-ratio:1; line-height:0; transition:box-shadow .2s, transform .2s; }
.card-cover img{ width:100%; height:100%; object-fit:contain; padding:6px; }
.card-cover .bk{ --w:63cqw; --t:7.5cqw; }
.card:hover .card-cover{ box-shadow:var(--shadow); transform:translateY(-2px); }
.card-body{ display:flex; flex-direction:column; flex:1; padding-top:10px; }
.card-au{ margin:0 0 3px; font:400 13px/1.35 var(--f-voice); color:var(--ink-2); display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.card-t{ margin:0; font:600 15.5px/1.3 var(--f-voice); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.card-t a{ text-decoration:none; }
.card-t a:hover{ color:var(--brand-ink); }
.card-ed{ margin:3px 0 0; font:400 13px var(--f-voice); color:var(--ink-3); }
.card-eud{ margin:6px 0 0; font:500 12.5px var(--f-voice); color:var(--ink-2); }
.card-eud b{ font-size:14.5px; color:var(--navy); }
.card-buy{ margin-top:auto; padding-top:10px; display:grid; gap:8px; }
.card-pr{ margin:0; display:flex; align-items:baseline; gap:8px; font-variant-numeric:tabular-nums; }
.card-pr del{ color:var(--ink-3); font-size:13.5px; }
.card-pr b{ font-size:18px; }

/* γνωστικά αντικείμενα: εικονίδιο και δεξιά ο τίτλος· 6 φαίνονται, τα υπόλοιπα με το «Όλες οι κατηγορίες» (#96) */
.subjects{ padding-block:34px 4px; }
.subj-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,192px),1fr)); gap:10px; }
.subj{ display:grid; grid-template-columns:44px minmax(0,1fr); grid-template-rows:auto auto; column-gap:10px; align-items:center; padding:9px 10px 9px 8px; border:1px solid var(--rule); border-radius:12px; background:var(--paper); text-decoration:none; color:var(--ink); transition:border-color .15s, box-shadow .15s, transform .15s; }
.subj:hover{ border-color:var(--brand); box-shadow:var(--shadow); transform:translateY(-1px); }
.subj-ico{ grid-row:span 2; display:block; width:44px; height:44px; line-height:0; }
.subj-ico img, .subj-ico svg{ width:100%; height:100%; object-fit:contain; display:block; }
.subj-name{ font:600 14px/1.25 var(--f-voice); align-self:end; overflow-wrap:break-word; hyphens:auto; }
.subj-n{ font:400 12.5px/1.3 var(--f-voice); color:var(--ink-3); align-self:start; }
.js .subjects:not(.all) .subj-x{ display:none; }
.subj-more{ margin:14px 0 0; text-align:center; }
.subj-toggle{ display:inline-flex; align-items:center; gap:9px; padding:9px 16px; border:1.5px solid var(--rule); border-radius:999px; background:var(--paper); color:var(--ink); font:600 14.5px var(--f-voice); cursor:pointer; }
.subj-toggle::after{ content:""; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .2s; }
.subj-toggle:hover{ border-color:var(--brand); }
.subjects.all .subj-toggle::after{ transform:translateY(2px) rotate(-135deg); }
.subj-toggle .sm-close, .subjects.all .subj-toggle .sm-open{ display:none; }
.subjects.all .subj-toggle .sm-close{ display:inline; }
html:not(.js) .subj-more{ display:none; }
@media (max-width:560px){
  .subj-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .subj{ grid-template-columns:40px minmax(0,1fr); column-gap:9px; padding:8px; }
  .subj-ico{ width:40px; height:40px; }
  .subj-name{ font-size:13.5px; }
}

/* ζώνες: διδάσκοντες, συγγραφείς */
.band{ margin-top:48px; padding-block:48px; background:var(--tint); border-block:1px solid var(--rule); }
.band h2{ font:700 clamp(24px,2.6vw,34px)/1.15 var(--f-voice); letter-spacing:-.02em; margin:0 0 16px; max-width:28ch; text-wrap:balance; }
.band-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; }
.ticks{ list-style:none; margin:0 0 20px; padding:0; display:grid; gap:8px; }
.ticks li{ position:relative; padding-left:28px; }
.ticks li::before{ content:""; position:absolute; left:2px; top:.55em; width:12px; height:7px; border-left:2.5px solid var(--ok); border-bottom:2.5px solid var(--ok); transform:rotate(-45deg); }
.why-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:22px 0; }
.why-grid.six{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.why-grid p{ margin:0; padding:18px; background:var(--paper); border:1px solid var(--rule); border-radius:12px; font-size:15px; color:var(--ink-2); line-height:1.5; }
.why-grid b{ display:block; color:var(--ink); font-size:16.5px; margin-bottom:6px; }
.steps{ list-style:none; counter-reset:st; margin:8px 0 26px; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; }
.steps li{ counter-increment:st; position:relative; padding:44px 14px 0 0; font-size:14.5px; color:var(--ink-2); line-height:1.4; }
.steps li::before{ content:counter(st); position:absolute; left:0; top:0; width:32px; height:32px; border-radius:50%; background:var(--brand); color:#fff; font:700 15px/32px var(--f-voice); text-align:center; }
.steps li::after{ content:""; position:absolute; left:40px; right:8px; top:16px; border-top:2px dashed color-mix(in oklab, var(--brand) 45%, transparent); }
.steps li:last-child::after{ display:none; }
.steps b{ display:block; color:var(--ink); font-size:16px; margin-bottom:3px; }
.band-cta{ display:flex; align-items:center; flex-wrap:wrap; gap:14px 22px; margin:0; }
.band-cta span{ color:var(--ink-2); font-size:14.5px; }

/* δείγμα διαφανειών */
.slides{ position:relative; margin:0; display:grid; grid-template-columns:repeat(6,1fr); grid-template-rows:auto auto auto; gap:12px; }
.slides .sl{ background:#fff; color:#15181D; border-radius:8px; box-shadow:var(--shadow); padding:14px 16px; aspect-ratio:16/9; display:flex; flex-direction:column; overflow:hidden; border:1px solid #E1E5EA; }
.slides .s-title{ grid-column:1 / 5; background:#1F4E79; color:#fff; justify-content:space-between; border:0; }
.slides .s-title span{ font:600 13px var(--f-voice); opacity:.8; }
.slides .s-title b{ font:300 clamp(20px,2.2vw,28px)/1.1 var(--f-voice); }
.slides .s-title small{ font:400 11.5px var(--f-voice); opacity:.75; }
.slides .s-tree{ grid-column:3 / 7; margin-top:-30px; }
.slides .s-code{ grid-column:1 / 5; margin-top:-20px; }
.slides .sl-h{ font:700 12px var(--f-voice); letter-spacing:.06em; text-transform:uppercase; color:#1F4E79; margin-bottom:6px; }
.slides .s-tree svg{ flex:1; width:100%; min-height:0; }
.slides .tr-e line{ stroke:#9AA3AE; stroke-width:1.5; }
.slides .tr-lit line{ stroke:#E8701A; stroke-width:4; stroke-linecap:round; }
.slides .tr-n circle{ fill:#fff; stroke:#1F4E79; stroke-width:2; }
.slides .tr-n circle.v{ stroke:#E8701A; stroke-width:2.6; }
.slides .tr-n circle.f{ fill:#E8701A; stroke:#E8701A; }
.slides .tr-t text{ font:600 11px var(--f-voice); fill:#1F4E79; text-anchor:middle; dominant-baseline:central; }
.slides .tr-t text.f{ fill:#fff; }
.slides .s-code code{ font:400 12.5px/1.6 var(--f-code); background:#FDEEDF; border-radius:6px; padding:8px 10px; }
.slides figcaption{ grid-column:1 / -1; font:italic 400 14px var(--f-book); color:var(--ink-2); margin-top:4px; }
.slides.mini{ grid-template-columns:1fr; gap:10px; margin:14px 0 18px; }
.slides.mini .sl{ grid-column:auto; margin:0; }
.slides.mini .s-title b{ font-size:20px; }

/* φόρμες */
.pform{ display:grid; gap:12px; max-width:520px; }
.pform .fld{ display:grid; gap:5px; }
.pform label{ font:500 14px var(--f-voice); color:var(--ink-2); }
.pform input, .pform textarea{ width:100%; border:1.5px solid var(--rule); border-radius:8px; background:var(--paper); padding:11px 13px; font:400 16px var(--f-voice); }
.pform input:focus, .pform textarea:focus{ outline:none; border-color:var(--brand); }
.pform .btn{ justify-self:stretch; justify-content:center; text-align:center; } /* όλα τα κουμπιά φορμών σε όλο το πλάτος (0.9.25) */
.form-msg{ background:color-mix(in oklab, var(--ok) 14%, var(--paper)); border-left:3px solid var(--ok); padding:10px 14px; border-radius:6px; margin:0 0 12px; }

/* βιβλιοπωλεία και χονδρική: ο κατάλογος PDF */
.btn-ghost{ display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1.5px solid var(--navy); border-radius:8px; background:transparent; color:var(--navy); padding:11px 18px; font:600 15.5px/1.2 var(--f-voice); cursor:pointer; text-decoration:none; }
.btn-ghost:hover{ background:var(--navy); color:#fff; }
.band.trade{ background:var(--bg); }
.trade .lead{ font-size:17.5px; color:var(--ink-2); max-width:52ch; margin:0 0 18px; }
.trade-cta{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 14px; }
.trade-note{ margin:0; font-size:14px; color:var(--ink-2); line-height:1.6; }
.trade-note a{ color:var(--ink); }
.cat-mock{ position:relative; justify-self:center; width:min(300px, 80%); aspect-ratio:210/297; border:0; padding:0; background:none; cursor:pointer; }
.cm-page{ position:absolute; inset:0; display:flex; flex-direction:column; gap:10px; padding:22px 20px; background:#fff; color:#15181D; border:1px solid #E1E5EA; border-radius:4px; box-shadow:var(--shadow); text-align:left; transition:transform .25s; }
.cm-back{ transform:translate(14px, -10px) rotate(3deg); background:#F4F6F9; }
.cat-mock:hover .cm-page:not(.cm-back){ transform:translate(-4px, -4px) rotate(-1deg); }
.cm-logo{ width:94px; height:auto; }
.cm-page b{ font:700 25px/1.05 var(--f-voice); letter-spacing:-.02em; margin-top:8px; }
.cm-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:auto; }
.cm-grid img{ width:100%; aspect-ratio:1; object-fit:contain; border:1px solid #E1E5EA; border-radius:3px; background:#fff; }
.cm-page small{ font:500 12px var(--f-voice); color:#5B6370; }
.cm-page.cm-cover{ padding:0; overflow:hidden; border:0; background:#15202E; box-shadow:0 24px 50px rgba(0,0,0,.35), 0 2px 0 rgba(255,255,255,.06) inset; }
.cm-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.cm-cover::after{ content:""; position:absolute; inset:0; background:linear-gradient(100deg, rgba(255,255,255,.18), rgba(255,255,255,0) 22%, rgba(0,0,0,0) 80%, rgba(0,0,0,.18)); pointer-events:none; }
.cat-mock:hover .cm-cover{ transform:translate(-6px, -6px) rotate(-1.5deg); }
.cat-pdf{ display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 0; }
.cat-pdf .btn, .cat-pdf .btn-ghost{ padding:8px 14px; font-size:14.5px; }

/* ο κατάλογος PDF στην αρχική: λεπτή λωρίδα (#96) */
.catstrip{ padding-block:30px 0; }
.catstrip-in{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px 24px; padding:14px 22px 14px 18px; border:1px solid var(--rule); border-radius:14px; background:var(--tint); }
.catstrip .cat-mock{ width:62px; justify-self:start; }
.catstrip .cm-back{ transform:translate(5px, -4px) rotate(4deg); }
.catstrip .cm-page.cm-cover{ box-shadow:0 8px 18px rgba(0,0,0,.28); }
.catstrip h2{ font:700 18.5px/1.25 var(--f-voice); letter-spacing:-.01em; margin:0 0 3px; }
.catstrip-tx p{ margin:0; font-size:14px; color:var(--ink-2); line-height:1.45; }
.catstrip .trade-cta{ margin:0; flex-wrap:nowrap; }
.catstrip .trade-cta .btn, .catstrip .trade-cta .btn-ghost{ padding:10px 16px; font-size:14.5px; white-space:nowrap; }
@media (max-width:860px){
  .catstrip-in{ grid-template-columns:54px minmax(0,1fr); padding:14px; }
  .catstrip .cat-mock{ width:54px; }
  .catstrip .trade-cta{ grid-column:1 / -1; flex-wrap:wrap; }
}

/* διαφάνειες για διδάσκοντες στην αρχική: μία λεπτή ζώνη (#96) */
/* διδάσκοντες (#101): φωτογραφία αριστερά που σβήνει στο χρώμα της ζώνης κάτω από το κείμενο, όπως στο δείγμα του Γιώργου */
.band.teach{ position:relative; isolation:isolate; overflow:hidden; margin-top:44px; padding-block:52px; }
.teach-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:18px 40px; align-items:center; }
.band.teach.has-photo .teach-grid{ grid-template-columns:minmax(0,.62fr) minmax(0,1fr) minmax(0,1fr); }
.band.teach.has-photo .teach-grid::before{ content:''; }
.teach-bg{ position:absolute; inset:0 auto 0 0; width:min(62%, 940px); z-index:-1; }
.teach-bg img{ width:100%; height:100%; object-fit:cover; object-position:left 16%; display:block; }
.teach-bg::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg, color-mix(in srgb, var(--tint) 0%, transparent) 0%, color-mix(in srgb, var(--tint) 0%, transparent) 32%, color-mix(in srgb, var(--tint) 62%, transparent) 42%, var(--tint) 54%); }
:root[data-theme="dark"] .teach-bg img{ filter:brightness(.62) saturate(.9); }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .teach-bg img{ filter:brightness(.62) saturate(.9); } }
.teach-tx .eyebrow{ margin-bottom:6px; }
.band.teach h2{ font:700 clamp(19px,1.7vw,23px)/1.2 var(--f-voice); letter-spacing:-.01em; margin:0 0 10px; max-width:none; }
.teach-tx .ticks{ grid-template-columns:repeat(2,minmax(0,max-content)); gap:5px 22px; margin:0; font-size:14.5px; }
.teach-fm .pform{ max-width:none; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px 10px; align-items:end; }
.teach-fm .pform .btn{ grid-column:1 / -1; justify-self:stretch; padding:11px 16px; }
.teach-fm .pform input{ padding:9px 12px; font-size:15px; }
.teach-fm .form-msg{ margin:0 0 8px; }
@media (max-width:1180px){ .band.teach.has-photo .teach-grid{ grid-template-columns:minmax(0,.4fr) minmax(0,1fr) minmax(0,1fr); } .teach-bg{ width:48%; } }
@media (max-width:980px){ .band.teach.has-photo .teach-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .band.teach.has-photo .teach-grid::before{ display:none; } .band.teach.has-photo{ padding-top:210px; } .teach-bg{ inset:0 0 auto 0; width:auto; height:230px; } .teach-bg img{ object-position:left 22%; } .teach-bg::after{ background:linear-gradient(180deg, color-mix(in srgb, var(--tint) 0%, transparent) 0, color-mix(in srgb, var(--tint) 20%, transparent) 130px, var(--tint) 228px); } }
@media (max-width:760px){ .band.teach{ padding-block:40px; } .band.teach.has-photo{ padding-top:170px; } .teach-bg{ height:190px; } .teach-bg::after{ background:linear-gradient(180deg, color-mix(in srgb, var(--tint) 0%, transparent) 0, color-mix(in srgb, var(--tint) 20%, transparent) 100px, var(--tint) 188px); } .teach-grid, .band.teach.has-photo .teach-grid{ grid-template-columns:minmax(0,1fr); } .teach-fm .pform{ grid-template-columns:minmax(0,1fr); } .teach-tx .ticks{ grid-template-columns:minmax(0,1fr); } }

/* ——— σελίδες: διαδρομή, κατάλογος ——— */
.page{ padding-block:22px 56px; }
.crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font:400 14px var(--f-voice); color:var(--ink-3); margin:0 0 18px; }
.crumbs a{ color:var(--ink-2); text-decoration:none; }
.crumbs a:hover{ color:var(--brand-ink); text-decoration:underline; }
.page h1{ font:700 clamp(28px,3vw,40px)/1.12 var(--f-voice); letter-spacing:-.02em; margin:0 0 8px; text-wrap:balance; }
.cat-hd{ margin:0 0 22px; }
.cat-sub{ margin:0; color:var(--ink-2); }
.cat-grid{ display:grid; grid-template-columns:260px minmax(0,1fr); gap:32px; align-items:start; }
.filters{ position:sticky; top:96px; max-height:calc(100vh - 110px); overflow:auto; padding-right:6px; }
.fsearch input{ width:100%; height:44px; border:1.5px solid var(--rule); border-radius:10px; background:var(--paper); padding:0 14px; font:400 15.5px var(--f-voice); }
.fsearch input:focus{ outline:none; border-color:var(--brand); }
/* η αναζήτηση της κατηγορίας κάτω από τον τίτλο, φαρδιά, ώστε να χωρά όλο το «Τίτλος, συγγραφέας, μάθημα, ISBN ή Εύδοξος...» (0.9.22) */
.cat-search{ margin:14px 0 0; max-width:560px; }
.cat-search input{ height:48px; font-size:16px; }
.fgroup{ margin-top:20px; display:grid; gap:2px; }
.fg-h{ margin:0 0 6px; font:700 12.5px var(--f-voice); letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }
.fopt{ display:flex; justify-content:space-between; gap:10px; width:100%; border:0; background:none; text-align:left; padding:7px 10px; border-radius:8px; font:500 14.5px/1.3 var(--f-voice); color:var(--ink); cursor:pointer; }
.fopt small{ color:var(--ink-3); font-variant-numeric:tabular-nums; }
.fopt.fg{ font-weight:700; margin-top:8px; }
.fopt.sub{ padding-left:22px; font-weight:400; }
.fopt:hover{ background:var(--tint); }
.fopt.on{ background:var(--brand-wash); color:var(--brand-ink); font-weight:700; }
.fcheck{ display:flex; align-items:center; gap:8px; font:400 14.5px var(--f-voice); padding:5px 10px; cursor:pointer; }
.fcheck input{ width:17px; height:17px; accent-color:var(--brand); }
.res-bar{ display:flex; align-items:center; gap:14px; margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid var(--rule); }
.res-bar p{ margin:0; font:600 15px var(--f-voice); }
.sort{ margin-left:auto; display:flex; align-items:center; gap:8px; font:400 14px var(--f-voice); color:var(--ink-2); }
.sort select{ height:38px; border:1.5px solid var(--rule); border-radius:8px; background:var(--paper); padding:0 10px; font:500 14.5px var(--f-voice); }
.ftoggle{ display:none; }
.empty{ padding:40px 0; color:var(--ink-2); font-size:17px; }

/* ——— σελίδα βιβλίου ——— */
.pp{ display:grid; grid-template-columns:minmax(0,400px) minmax(0,1fr); gap:44px; align-items:start; }
.pp-media{ position:sticky; top:96px; }
.pp-cover{ position:relative; margin:0; background:var(--cover-bg); border:1px solid var(--rule); border-radius:14px; line-height:0; overflow:hidden; }
.pp-cover img{ width:100%; height:auto; aspect-ratio:1; object-fit:contain; padding:10px; }
.pp-cover .badge{ font-size:15px; padding:7px 9px; left:12px; top:12px; }
.pp-look{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.read{ border:1.5px solid var(--navy); background:var(--paper); color:var(--navy); border-radius:8px; padding:11px 12px; font:600 14.5px var(--f-voice); cursor:pointer; }
.read:hover{ background:var(--navy); color:#fff; }
.read.alt{ border-color:var(--rule); color:var(--ink); }
.pp-look .read:only-child{ grid-column:1 / -1; }
.pp-au{ margin:0 0 8px; font:500 16px var(--f-voice); color:var(--ink-2); }
.pp-au a{ color:var(--brand-ink); text-decoration:none; }
.pp-au a:hover{ text-decoration:underline; }
.pp-main h1{ font:700 clamp(26px,2.8vw,38px)/1.15 var(--f-voice); margin:0 0 8px; }
.pp-subtitle{ margin:-2px 0 8px; font:500 clamp(17px,1.6vw,20px)/1.35 var(--f-voice); color:var(--ink-2); }
.pp-edit{ margin:0 0 6px; color:var(--ink-2); font-size:15px; }
.pp-edit a{ color:var(--ink); }
.buybox{ border:1px solid var(--rule); border-radius:12px; padding:16px 18px; background:var(--paper); box-shadow:var(--shadow); }
.bb-row{ display:flex; align-items:baseline; gap:12px; margin:0 0 4px; font-variant-numeric:tabular-nums; }
.bb-row span{ min-width:110px; color:var(--ink-2); font-size:14.5px; }
.bb-row del{ color:var(--ink-3); font-size:17px; }
.bb-row.now b{ font-size:30px; line-height:1.1; }
.bb-row .badge{ position:static; min-width:0; color:#fff; }
/* τιμή σε μία γραμμή: «Τιμή 35,00 € · Τιμή με έκπτωση 31,50 € −10%» (0.9.23) */
.bb-line{ flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin:0 0 10px; }
.bb-line .bb-l{ min-width:0; }
.bb-line .bb-l + b, .bb-line del + .bb-l{ margin-left:2px; }
.bb-line del + .bb-l{ padding-left:12px; border-left:1px solid var(--rule); }
.bb-line b{ font-size:28px; line-height:1.1; }
.buybox form.cart{ display:flex; gap:10px; margin:14px 0 10px; align-items:stretch; }
.buybox .quantity input.qty{ width:72px; height:50px; border:1.5px solid var(--rule); border-radius:8px; background:var(--paper); text-align:center; font:600 16px var(--f-voice); }
.buybox .single_add_to_cart_button{ flex:1; height:50px; border:0; border-radius:8px; background:var(--brand); color:var(--on-brand); font:700 16.5px var(--f-voice); cursor:pointer; }
.buybox .single_add_to_cart_button:hover{ background:var(--brand-hover); }
.bb-off{ margin:12px 0; padding:10px 12px; border-radius:8px; background:var(--tint); color:var(--ink-2); }
.facts{ margin:14px 0 18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; font-size:14.5px; }
.facts > div{ display:grid; grid-template-columns:120px minmax(0,1fr); gap:10px; padding:8px 0; border-bottom:1px solid var(--rule); }
.facts dt{ color:var(--ink-3); }
.facts dd{ margin:0; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.facts dd.kcode{ color:var(--navy); }
.facts .f-eud dd{ display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; }
.facts .f-eud b{ font-size:16.5px; color:var(--navy); }
.facts .f-eud .copy{ padding:2px 8px; font-size:12px; }
.pp-main > .notice{ margin:0 0 16px; }
@media (max-width:560px){
  .facts{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; font-size:14px; }
  .facts > div{ grid-template-columns:minmax(0,1fr); gap:1px; padding:6px 0; }
  .facts dt{ font-size:12.5px; }
  .facts .f-eud{ grid-column:1 / -1; }
}
.pp-cols{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:32px; align-items:start; margin-top:36px; }
.pp-sec{ scroll-margin-top:110px; }
.pp-sec h2{ font:700 21px/1.25 var(--f-voice); margin:0 0 10px; }
.pp-col-main .pp-sec + .pp-sec{ margin-top:30px; }
.desc{ font:400 17px/1.58 var(--f-book); }
.desc p{ margin:0 0 .65em; }
.desc ul, .desc ol{ margin:0 0 .65em; padding-left:1.3em; }
.desc li{ margin:0 0 .2em; }
.desc h2, .desc h3, .desc h4{ font:700 17px/1.3 var(--f-voice); margin:1em 0 .4em; }
.desc br + br{ display:none; }
.desc [style]{ font-size:inherit !important; font-family:inherit !important; line-height:inherit !important; color:inherit !important; background:none !important; }
.desc font{ font-size:inherit; font-family:inherit; color:inherit; }
.desc img{ height:auto; }
.bio{ display:grid; grid-template-columns:64px minmax(0,1fr); gap:0 18px; align-items:start; padding:18px 0; border-bottom:1px solid var(--rule); }
.bio-av{ line-height:0; }
.bio h3{ margin:4px 0 6px; font:700 17px var(--f-voice); }
.bio h3 a{ text-decoration:none; }
.bio p{ margin:0 0 8px; font:400 16.5px/1.6 var(--f-book); color:var(--ink-2); max-width:70ch; }
.bio .more, .more{ font:600 14.5px var(--f-voice); color:var(--brand-ink); text-decoration:none; }
.courses{ margin:0; padding-left:18px; }
.courses li{ margin:0 0 8px; }
.courses small{ display:block; color:var(--ink-2); }
.teach-box{ position:sticky; top:110px; padding:20px; border-radius:14px; background:var(--tint); border:1px solid var(--rule); }
.teach-box > p{ margin:0 0 8px; color:var(--ink-2); }
.teach-box .ticks{ margin-bottom:14px; font-size:15px; }
.teach-box .pform{ gap:10px; max-width:none; }
.product-page .shelf{ padding-top:48px; }

/* ——— συγγραφέας, μάθημα, ευρετήριο, επικοινωνία ——— */
.person-hd{ display:flex; align-items:center; gap:24px; margin:0 0 22px; }
.person-hd h1{ margin-bottom:6px; }

/* ——— ο συγγραφέας σε κύκλο: φωτογραφία ή αρχικά ——— */
.av{ flex:none; display:inline-block; width:var(--av,40px); height:var(--av,40px); border-radius:50%; object-fit:cover; object-position:50% 25%; background:var(--tint); box-shadow:0 0 0 1px var(--rule); vertical-align:middle; }
.av-ini{ display:inline-grid; place-items:center; background:var(--brand-wash); color:var(--brand-ink); font:700 calc(var(--av,40px) * .36)/1 var(--f-voice); letter-spacing:.03em; }
.pp-avs{ display:inline-flex; margin-right:12px; vertical-align:middle; }
.pp-avs .av{ box-shadow:0 0 0 2px var(--bg); }
.pp-avs .av + .av{ margin-left:-9px; }
.person-n{ margin:0; color:var(--ink-2); font-size:17px; }
.person-bio{ max-width:78ch; font:400 17.5px/1.65 var(--f-book); color:var(--ink); margin:0 0 30px; padding:18px 22px; background:var(--tint); border-radius:12px; }
.person-bio p{ margin:0 0 .8em; }
.person-bio p:last-child{ margin:0; }
.src{ margin-top:28px; color:var(--ink-2); font-size:14.5px; }
.idx-lead{ font:400 17px/1.5 var(--f-voice); color:var(--ink-2); max-width:60ch; margin:0 0 20px; }
.letters{ display:flex; flex-wrap:wrap; gap:2px 4px; margin:0 0 28px; padding:10px 0; border-block:1px solid var(--rule); }
.letters a{ font:700 16px/1 var(--f-voice); color:var(--navy); text-decoration:none; padding:7px 9px; border-radius:6px; }
.letters a:hover{ background:var(--brand-wash); color:var(--brand-ink); }
.letters .sep{ width:1px; align-self:stretch; background:var(--rule); margin:2px 10px; }
.idx{ columns:3 300px; column-gap:48px; }
.idx-l{ break-inside:avoid-column; margin:0 0 20px; scroll-margin-top:110px; }
.idx-l .ch{ margin:0 0 6px; font:700 20px var(--f-voice); color:var(--brand-ink); }
.toc-list{ list-style:none; margin:0; padding:0; }
.toc-list .e{ break-inside:avoid; padding:3px 0; }
.toc-list .e > a{ display:flex; align-items:baseline; gap:8px; text-decoration:none; color:var(--ink); font:400 15.5px/1.35 var(--f-voice); }
.toc-list .e > a .dots{ flex:1 1 20px; min-width:20px; border-bottom:2px dotted color-mix(in oklab, var(--ink-3) 60%, transparent); transform:translateY(-.3em); }
.toc-list .e > a .n{ flex:none; font-size:13.5px; color:var(--ink-2); }
.toc-list .e > a:hover .t{ color:var(--brand-ink); }
.tavt dl{ margin:0; display:grid; border-top:1px solid var(--rule); max-width:760px; font-size:17px; }
/* επικοινωνία: στοιχεία και φόρμα δίπλα δίπλα, ο χάρτης από κάτω (0.9.23) */
.contact-grid{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:44px; align-items:start; }
.contact-form{ padding:22px 24px; background:var(--paper); border:1px solid var(--rule); border-radius:14px; }
.contact-form h2{ margin:0 0 12px; font:700 22px var(--f-voice); }
.contact-form .form-note{ margin:10px 0 0; color:var(--ink-3); font-size:13.5px; }
@media (max-width: 900px){ .contact-grid{ grid-template-columns:minmax(0,1fr); gap:24px; } }
.tavt dl > div{ display:grid; grid-template-columns:140px minmax(0,1fr); gap:12px; padding:12px 0; border-bottom:1px solid var(--rule); }
.tavt dt{ color:var(--ink-3); }
.tavt dd{ margin:0; }
.imprint-links{ display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:30px; }
.imprint-links a{ font-weight:600; color:var(--brand-ink); text-decoration-color:var(--brand); text-underline-offset:4px; }

/* ——— σημείο διανομής Εύδοξου: χάρτης της έδρας ——— */
.pickup{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:32px; align-items:stretch; background:var(--paper); border:1px solid var(--rule); border-radius:var(--radius); padding:28px; }
.pickup-h{ font:700 clamp(22px,2.2vw,30px)/1.15 var(--f-voice); letter-spacing:-.02em; margin:0 0 12px; text-wrap:balance; }
.pickup-txt > p{ color:var(--ink-2); max-width:48ch; }
.pickup-dl{ margin:18px 0 20px; display:grid; border-top:1px solid var(--rule); }
.pickup-dl > div{ display:grid; grid-template-columns:110px minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid var(--rule); }
.pickup-dl dt{ color:var(--ink-3); }
.pickup-dl dd{ margin:0; font-weight:600; }
.map{ position:relative; min-height:320px; border-radius:var(--radius); overflow:hidden; border:1px solid var(--rule); background:var(--tint); }
.map iframe, .map-img{ position:absolute; inset:0; width:100%; height:100%; border:0; object-fit:cover; }
.map-open{ position:absolute; left:12px; bottom:12px; background:var(--paper); color:var(--ink); font:600 14px var(--f-voice); padding:8px 12px; border-radius:8px; box-shadow:var(--shadow); text-decoration:none; }
/* ο χάρτης πριν από τη συγκατάθεση: δρόμοι σχεδιασμένοι με CSS, η καρφίτσα, η διεύθυνση, «Εμφάνιση χάρτη» */
.map-off{ background:
  linear-gradient(28deg, transparent 47%, color-mix(in oklab, var(--rule) 80%, transparent) 47.5% 50.5%, transparent 51%),
  linear-gradient(-62deg, transparent 58%, color-mix(in oklab, var(--rule) 70%, transparent) 58.5% 60.5%, transparent 61%),
  repeating-linear-gradient(90deg, transparent 0 46px, color-mix(in oklab, var(--rule) 45%, transparent) 46px 48px),
  repeating-linear-gradient(0deg, transparent 0 38px, color-mix(in oklab, var(--rule) 45%, transparent) 38px 40px),
  var(--tint); }
.map-ph{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:24px 20px 64px; text-align:center; }
.map-ph svg{ color:var(--brand); filter:drop-shadow(0 6px 10px rgba(0,0,0,.25)); }
.map-ph-addr{ margin:0; font:700 17px var(--f-voice); color:var(--ink); background:color-mix(in oklab, var(--paper) 86%, transparent); padding:4px 10px; border-radius:6px; }
.map-ph-note{ margin:0; font-size:12.5px; color:var(--ink-2); max-width:30ch; background:color-mix(in oklab, var(--paper) 80%, transparent); padding:2px 8px; border-radius:6px; }

/* ——— μπάνερ cookies (consent.js) ———
   «Αποδοχή όλων» και «Απόρριψη όλων»: ίδιο κουμπί, ίδιο μέγεθος, ίδιο χρώμα (Αρχή Προστασίας Δεδομένων, 2020) */
.cc{ position:fixed; z-index:90; left:max(16px, env(safe-area-inset-left,0px)); bottom:max(16px, env(safe-area-inset-bottom,0px)); width:min(480px, calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; background:var(--paper); color:var(--ink); border:1px solid var(--rule); border-radius:14px; box-shadow:var(--shadow), 0 24px 60px -20px rgba(0,0,0,.45); padding:18px 18px 16px; animation:cc-in .35s cubic-bezier(.2,.8,.2,1); }
.cc[hidden]{ display:none; }
@keyframes cc-in{ from{ opacity:0; transform:translateY(14px); } }
@media (prefers-reduced-motion: reduce){ .cc{ animation:none; } }
.cc-h{ margin:0 0 6px; font:700 17px var(--f-voice); }
.cc-p{ margin:0; font-size:14.5px; line-height:1.5; color:var(--ink-2); }
.cc-p a{ color:var(--brand-ink); }
.cc-set{ display:grid; gap:10px; margin-top:14px; }
.cc-set[hidden]{ display:none; }
.cc-row{ display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; padding:10px 12px; border:1px solid var(--rule); border-radius:10px; font-size:13.5px; color:var(--ink-2); cursor:pointer; }
.cc-row input{ width:18px; height:18px; margin:2px 0 0; accent-color:var(--brand); }
.cc-row b{ display:block; color:var(--ink); font-size:14.5px; }
.cc-btns{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; }
.cc-btns .btn{ width:100%; padding:11px 12px; font-size:15px; }
.cc-more{ grid-column:1 / -1; justify-self:center; border:0; background:none; color:var(--ink-2); font:600 14px var(--f-voice); text-decoration:underline; text-underline-offset:3px; padding:4px 8px; cursor:pointer; }
.cc-more:hover{ color:var(--ink); }
.cc-open{ border:0; background:none; padding:0; color:inherit; font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.cc-open:hover{ color:var(--ink); }
@media (max-width:560px){
  .cc{ left:0; right:0; bottom:0; width:100%; border-radius:14px 14px 0 0; border-inline:0; border-bottom:0; padding:16px max(16px, env(safe-area-inset-left,0px)) calc(14px + env(safe-area-inset-bottom,0px)); }
}
#pickup{ margin-top:48px; }

/* ——— Ποιοι είμαστε ——— */
.about-hd{ max-width:820px; margin-bottom:28px; }
.about-hd h1{ font-size:clamp(30px,3.6vw,48px); }
.about-hd .lead{ font-size:19px; color:var(--ink-2); max-width:62ch; margin:12px 0 0; }
.about-facts{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0 0 40px; border-block:1px solid var(--rule); }
.about-facts > div{ padding:18px 16px; border-left:1px solid var(--rule); }
.about-facts > div:first-child{ border-left:0; padding-left:0; }
.about-facts dt{ color:var(--ink-3); font-size:14px; }
.about-facts dd{ margin:4px 0 0; font:700 clamp(28px,3vw,40px)/1 var(--f-voice); color:var(--navy); letter-spacing:-.02em; }
.about-cols{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:48px; }
.about-sec{ margin-bottom:40px; }
.about-sec h2{ font:700 clamp(22px,2.2vw,28px)/1.2 var(--f-voice); letter-spacing:-.015em; margin:0 0 14px; }
.about-sec > p{ font-size:17.5px; line-height:1.65; max-width:68ch; margin:0 0 14px; }
.about-list{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.about-list li{ padding-left:18px; border-left:3px solid var(--brand); line-height:1.55; }
.about-today{ background:var(--tint); border:1px solid var(--rule); border-radius:var(--radius); padding:28px; }
.team{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.team li{ display:grid; gap:2px; align-content:start; }
.team img{ width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:var(--radius); margin:0 0 10px; background:var(--tint); filter:grayscale(1); }
@media (max-width: 900px){ .team{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.team b{ font:700 17px var(--f-voice); }
.team span{ color:var(--ink-2); font-size:15px; }
@media (max-width: 980px){
  .pickup, .about-cols{ grid-template-columns:minmax(0,1fr); gap:24px; }
  .about-facts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-facts > div:nth-child(3){ border-left:0; padding-left:0; }
}
@media (max-width: 640px){
  .pickup{ padding:18px; }
  .map{ min-height:260px; }
}

/* ——— «Γράψε μαζί μας» ——— */
.write-page{ padding-top:0; }
.write-hero{ background:linear-gradient(180deg, var(--tint), var(--bg)); padding-block:26px 40px; }
.write-hero-grid{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:44px; align-items:center; }
.write-hero h1{ font:700 clamp(30px,3.4vw,46px)/1.1 var(--f-voice); letter-spacing:-.025em; }
.write-hero .lead{ font-size:18.5px; color:var(--ink-2); max-width:52ch; margin:0 0 22px; }
.cover-wall{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px 4px; }
/* τα βιβλία σε 3D όπως στην αρχική, χωρίς λευκό πλαίσιο (0.9.10) */
.cover-wall .cw{ display:grid; place-items:center; aspect-ratio:.86; container-type:inline-size; }
.cover-wall .cw .bk{ --w:70cqw; --t:8.5cqw; }
.cover-wall .cw > img{ width:84%; height:auto; object-fit:contain; box-shadow:var(--shadow); }
.write-why, .write-who{ padding-block:40px 0; }
.write-why h2, .write-who h2, .write-form h2{ font:700 clamp(22px,2.4vw,30px)/1.2 var(--f-voice); margin:0 0 6px; }
.write-form{ padding-block:48px 0; }
.write-form-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.faq{ margin:22px 0 0; }
.faq dt{ font-weight:700; margin-top:14px; }
.faq dd{ margin:4px 0 0; color:var(--ink-2); }

/* ——— 404 ——— */
.nil-page .nil-grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px 48px; align-items:center; min-height:50vh; }
.nil-fig{ margin:0; }
.nil-fig svg{ width:100%; height:auto; overflow:visible; }
.nil-page h1{ font:700 clamp(30px,3.6vw,46px)/1.1 var(--f-voice); margin:0 0 14px; }
.nil-page p{ font-size:18px; color:var(--ink-2); max-width:46ch; }

/* δένδρο της 404: η αναζήτηση της διεύθυνσης σταματά σε κενό δείκτη */
.t-edge{ stroke:var(--ink-3); stroke-width:1.7; }
.t-lit{ stroke:var(--brand); stroke-width:5; stroke-linecap:round; fill:none; stroke-dasharray:1; stroke-dashoffset:1; }
.t-nil{ stroke:var(--brand); stroke-width:3; stroke-dasharray:5 7; opacity:0; }
.t-node circle{ fill:var(--paper); stroke:var(--navy); stroke-width:2.4; transition:fill .25s, stroke .25s; }
.t-node text{ font:600 19px var(--f-voice); fill:var(--navy); text-anchor:middle; dominant-baseline:central; transition:fill .25s; }
.t-node.v circle{ stroke:var(--brand); stroke-width:3.4; }
.t-node.v text{ fill:var(--brand-ink); }
.t-node.f circle{ fill:var(--brand); stroke:var(--brand); }
.t-node.f text{ fill:var(--on-brand); }
.t-nilmark{ opacity:0; }
.t-nilmark circle{ fill:var(--paper); stroke:var(--brand); stroke-width:2; stroke-dasharray:4 5; }
.t-nilmark text{ font:600 14px var(--f-code); fill:var(--brand-ink); text-anchor:middle; dominant-baseline:central; }
.t-key{ opacity:0; }
.t-key rect{ fill:var(--brand-wash); stroke:var(--brand); stroke-width:2; }
.t-key text{ font:600 17px var(--f-code); fill:var(--brand-ink); text-anchor:middle; dominant-baseline:central; }

/* ξεφυλλιστής: οι σελίδες γυρίζουν σαν βιβλίο (PDF.js + StPageFlip) */
.reader{ position:fixed; inset:0; z-index:60; display:grid; grid-template-rows:auto minmax(0,1fr) auto; background:radial-gradient(ellipse at 50% 40%, #3A4250, #1A1E25 70%); color:#fff; padding:calc(10px + env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(14px, env(safe-area-inset-left,0px)); }
.reader[hidden]{ display:none; }
.r-top{ display:flex; align-items:center; gap:14px; font:600 15px var(--f-voice); padding-bottom:8px; }
.r-top .r-title{ flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.r-top .r-pos{ font:600 13px var(--f-code); color:#C9D0DA; }
.r-top .r-dl, .r-top button{ border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.08); color:#fff; border-radius:8px; padding:7px 12px; font:600 14px var(--f-voice); cursor:pointer; text-decoration:none; }
.r-top .r-dl:hover, .r-top button:hover{ background:rgba(255,255,255,.18); }
.r-stage{ position:relative; display:flex; align-items:center; justify-content:center; min-height:0; overflow:hidden; }
.r-book{ display:flex; align-items:center; justify-content:center; filter:drop-shadow(0 24px 40px rgba(0,0,0,.45)); }
.r-wait{ position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:14px; text-align:center; }
.r-wait[hidden]{ display:none; }
.r-msg{ margin:0; font:500 16px var(--f-voice); color:#E3E8EE; }
.r-msg a{ color:#FFB37A; }
.r-bar{ width:min(320px, 70vw); height:4px; border-radius:2px; background:rgba(255,255,255,.18); overflow:hidden; }
.r-bar[hidden]{ display:none; }
.r-bar i{ display:block; height:100%; width:0; background:var(--brand); transition:width .2s; }
.r-nav{ display:flex; align-items:center; justify-content:center; gap:18px; padding-top:8px; }
.r-nav button{ width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.1); color:#fff; font:600 20px var(--f-voice); cursor:pointer; }
.r-nav button:hover:not(:disabled){ background:var(--brand); border-color:var(--brand); }
.r-nav button:disabled{ opacity:.3; cursor:default; }
.r-hint{ font:400 13.5px var(--f-voice); color:#AEB6C2; }
/* μεγέθυνση ×2: μία σελίδα του PDF σε όλη την οθόνη, διπλάσια */
.zv{ position:fixed; inset:0; z-index:70; display:grid; grid-template-rows:auto minmax(0,1fr); background:#0C0F14; color:#fff; padding:calc(10px + env(safe-area-inset-top,0px)) 12px calc(10px + env(safe-area-inset-bottom,0px)); }
.zv[hidden]{ display:none; }
.zv-top{ display:flex; align-items:center; gap:10px; font:600 15px var(--f-voice); padding-bottom:8px; }
.zv-top .zv-title{ flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.zv-top .zv-pos{ font:600 13px var(--f-code); color:#C9D0DA; }
.zv-top button{ min-width:40px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.08); color:#fff; border-radius:8px; padding:7px 12px; font:600 15px var(--f-voice); cursor:pointer; }
.zv-top button:hover:not(:disabled){ background:rgba(255,255,255,.18); }
.zv-top button:disabled{ opacity:.35; cursor:default; }
.zv-top button[hidden]{ display:none; }
.zv-top .zv-z[aria-pressed="false"]{ background:var(--brand); border-color:var(--brand); }
.zv-scroll{ position:relative; overflow:auto; display:grid; place-items:center; min-height:0; overscroll-behavior:contain; touch-action:pan-x pan-y; }
.zv.zoomed .zv-scroll{ place-items:start safe center; }
.zv-scroll img{ display:block; max-width:none; height:auto; margin:12px; background:#fff; box-shadow:0 20px 60px rgba(0,0,0,.5); cursor:zoom-in; user-select:none; -webkit-user-drag:none; transition:opacity .2s; }
.zv.zoomed .zv-scroll img{ cursor:grab; }
.zv.loading .zv-scroll img{ opacity:.35; }
/* μεγέθυνση έως ×4 (0.9.11): − / επίπεδο / +, και κουμπί «Μεγέθυνση» κάτω από τις σελίδες */
.zv-top .zv-zoom{ display:inline-flex; align-items:center; gap:4px; }
.zv-top .zv-lvl{ min-width:46px; text-align:center; font:600 14px var(--f-code); color:#E3E8EE; }
.zv-top .zv-in, .zv-top .zv-out{ font-size:19px; line-height:1; padding:5px 13px; }
.r-zoom svg{ width:17px; height:17px; vertical-align:-3px; margin-right:6px; }
.r-nav .r-zoom-b{ width:auto; height:46px; border-radius:23px; padding:0 18px; display:inline-flex; align-items:center; font:600 15px var(--f-voice); background:var(--brand); border-color:var(--brand); }
.r-nav .r-zoom-b:hover:not(:disabled){ filter:brightness(1.08); }
/* όταν είσαι συνδεδεμένος, ο ξεφυλλιστής ξεκινά κάτω από τη μπάρα του WordPress */
body.admin-bar .reader, body.admin-bar .zv{ top:32px; }
@media (max-width: 782px){ body.admin-bar .reader, body.admin-bar .zv{ top:46px; } }
@media (max-width: 640px){
  .r-top{ gap:8px; }
  .r-top .r-dl, .r-top button, .zv-top button{ padding:6px 9px; font-size:13.5px; }
  .zv-top .zv-title{ display:none; }
  .zv-top{ flex-wrap:wrap; gap:6px; }
  .r-hint{ display:none; }
  .r-nav{ gap:10px; }
  .r-top .r-zoom{ display:none; } /* στο κινητό μένει το μεγάλο κουμπί κάτω από τις σελίδες */
}
}
@media (max-width: 760px){ .r-hint{ display:none; } }
.r-nav{ display:flex; justify-content:center; gap:10px; }

/* ——— απλές σελίδες, WooCommerce ——— */
.prose{ max-width:780px; font:400 17.5px/1.65 var(--f-book); }
.prose h1{ font:700 clamp(28px,3vw,40px)/1.12 var(--f-voice); letter-spacing:-.02em; margin:0 0 20px; }
.prose h2{ font:700 22px/1.3 var(--f-voice); margin:32px 0 10px; }
.prose h3{ font:700 18px/1.3 var(--f-voice); margin:24px 0 8px; }
.prose a{ color:var(--brand-ink); text-underline-offset:3px; }
.prose img{ height:auto; }
/* κείμενα σελίδων (όροι, απόρρητο, τρόποι πληρωμής…): επικεφαλίδες με πορτοκαλί γραμμή, έντονα πιο φωτεινά, λίστες με αριθμό */
.prose h2{ padding-bottom:6px; border-bottom:2px solid color-mix(in oklab, var(--brand) 55%, transparent); }
.prose strong, .prose b{ font-weight:700; color:var(--ink); }
.prose ol, .prose ul{ padding-left:1.4em; }
.prose li{ margin:0 0 10px; }
.prose li::marker{ color:var(--brand); font-weight:700; }
.prose u, .prose [style*="underline"]{ text-decoration-color:var(--brand); text-decoration-thickness:2px; text-underline-offset:4px; }
.prose .lead-note, .prose .contact-note{ padding:14px 18px; border-left:3px solid var(--brand); border-radius:0 10px 10px 0; background:var(--tint); }
/* παλιά κείμενα με «βαμμένο» μαύρο (από τον επεξεργαστή): παίρνουν το χρώμα του θέματος, για να φαίνονται και στο σκούρο */
.prose [style*="color: #000"], .prose [style*="color:#000"], .prose [style*="color: rgb(0, 0, 0)"], .prose [style*="color: #333"], .prose [style*="color: #222"], .prose font[color]{ color:inherit!important; }
.page-wide .prose{ max-width:1180px; }
.prose .woocommerce{ font-family:var(--f-voice); font-size:16px; line-height:1.5; }
.woocommerce-notices-wrapper:empty{ display:none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error{ list-style:none; margin:0 0 20px; padding:12px 16px; border-radius:8px; background:color-mix(in oklab, var(--ok) 12%, var(--paper)); border-left:3px solid var(--ok); color:var(--ink); font:400 15.5px/1.5 var(--f-voice); }
.woocommerce-error{ background:var(--brand-wash); border-left-color:var(--brand); }
.woocommerce-message .button, .woocommerce-info .button{ float:right; margin-left:12px; }
.button, button.button, input.button, .checkout-button, #place_order{ display:inline-block; border:0; background:var(--ink); color:var(--bg)!important; border-radius:8px; padding:11px 18px; font:600 15px var(--f-voice); text-decoration:none; cursor:pointer; }
.button:hover, button.button:hover{ background:var(--navy); }
.button.alt, .checkout-button, #place_order{ background:var(--brand); color:var(--on-brand)!important; }
.quantity input.qty{ width:64px; padding:9px 8px; border:1px solid var(--rule); border-radius:8px; background:var(--paper); color:var(--ink); font:500 15px var(--f-voice); }
table.shop_table{ width:100%; border-collapse:collapse; font:400 15.5px/1.45 var(--f-voice); margin:0 0 24px; }
table.shop_table th, table.shop_table td{ text-align:left; padding:12px 8px; border-bottom:1px solid var(--rule); vertical-align:middle; }
table.shop_table th{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }
table.shop_table img{ width:60px; height:60px; object-fit:contain; background:var(--cover-bg); border-radius:6px; }
table.shop_table a.remove{ text-decoration:none; font-size:20px; color:var(--ink-3); }
/* τρόποι αποστολής στο καλάθι και στο ταμείο: επιλογές σε στήλη, χωρίς κουκκίδες */
#shipping_method{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
#shipping_method li{ display:flex; align-items:center; gap:8px; margin:0; text-align:left; }
#shipping_method li input{ margin:0; flex:none; accent-color:var(--brand); }
.woocommerce-shipping-destination{ margin:8px 0 0; font-size:14px; color:var(--ink-2); text-align:left; }
/* στο κινητό ο πίνακας του καλαθιού γίνεται κάρτες: κάθε κελί μία γραμμή με την ετικέτα του αριστερά */
@media (max-width:640px){
  table.shop_table_responsive thead, table.shop_table_responsive tbody th, table.shop_table_responsive td.product-thumbnail{ display:none; }
  table.shop_table_responsive tr{ display:block; padding:6px 0; border-bottom:1px solid var(--rule); }
  table.shop_table_responsive td{ display:flex; justify-content:space-between; align-items:center; gap:14px; padding:7px 2px; border:0; text-align:right; }
  table.shop_table_responsive td[data-title]::before{ content:attr(data-title); flex:none; font:600 12px var(--f-voice); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); text-align:left; }
  table.shop_table_responsive td.product-remove{ justify-content:flex-end; }
  table.shop_table_responsive td.actions{ display:block; text-align:left; }
  td.actions .coupon{ float:none; width:100%; margin-bottom:10px; }
  td.actions > .button[name="update_cart"]{ float:none; width:100%; }
  table.shop_table_responsive tr.woocommerce-shipping-totals td{ display:block; text-align:left; }
  table.shop_table_responsive tr.woocommerce-shipping-totals td::before{ display:block; margin-bottom:8px; }
}
.cart-collaterals{ max-width:460px; margin-left:auto; }
.screen-reader-text{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
/* καλάθι: τα βιβλία αριστερά και τα σύνολα δίπλα· το κουπόνι μαζεμένο σε μία γραμμή */
.cart_totals{ padding:18px 22px 22px; background:var(--paper); border:1px solid var(--rule); border-radius:14px; }
.cart_totals h2{ margin:0 0 6px; font:700 20px var(--f-voice); }
.cart_totals table.shop_table{ margin-bottom:16px; }
.cart_totals .checkout-button{ display:block; text-align:center; padding:13px 18px; }
td.actions{ padding-top:16px; }
td.actions .coupon{ float:left; display:flex; gap:8px; align-items:center; width:min(100%, 380px); }
td.actions .coupon .input-text{ flex:1; min-width:0; padding:9px 12px; border:1.5px solid var(--rule); border-radius:8px; background:var(--paper); color:var(--ink); font:400 15px var(--f-voice); }
td.actions .button{ padding:9px 14px; font-size:14px; }
td.actions > .button[name="update_cart"]{ float:right; background:transparent; color:var(--ink-2)!important; border:1.5px solid var(--rule); }
td.actions > .button[name="update_cart"]:disabled{ opacity:.45; cursor:default; }
td.actions::after{ content:""; display:table; clear:both; }
@media (min-width: 980px){
  .woocommerce:has(> .woocommerce-cart-form){ display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,380px); column-gap:36px; align-items:start; }
  .woocommerce:has(> .woocommerce-cart-form) > .woocommerce-notices-wrapper{ grid-column:1 / -1; }
  .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals{ max-width:none; margin:0; }
}
/* ταμείο σε δύο στήλες: αριστερά χρέωση, αποστολή, τιμολόγιο· δεξιά τρόποι αποστολής, πληρωμή και ολοκλήρωση */
form.woocommerce-checkout > wc-order-attribution-inputs{ display:none; }
#order_review_heading{ margin:0; padding:18px 22px 4px; background:var(--paper); border:1px solid var(--rule); border-bottom:0; border-radius:14px 14px 0 0; font:700 20px var(--f-voice); }
#order_review{ padding:4px 22px 22px; background:var(--paper); border:1px solid var(--rule); border-top:0; border-radius:0 0 14px 14px; }
#order_review #place_order{ width:100%; padding:14px 18px; font-size:16px; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:16px; }
.woocommerce-billing-fields__field-wrapper > *, .woocommerce-shipping-fields__field-wrapper > *, .woocommerce-address-fields__field-wrapper > *{ grid-column:1 / -1; }
/* τα ζεύγη ανά πεδίο (όχι ανά κλάση: τα scripts του WooCommerce ξαναγράφουν τις κλάσεις όταν ενημερώνεται το ταμείο) */
:is(.woocommerce-billing-fields__field-wrapper, .woocommerce-address-fields__field-wrapper) > :is(#billing_first_name_field, #billing_state_field, #billing_phone_field, #billing_vat_field, #billing_inv_postcode_field),
:is(.woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper) > :is(#shipping_first_name_field, #shipping_state_field){ grid-column:1; }
:is(.woocommerce-billing-fields__field-wrapper, .woocommerce-address-fields__field-wrapper) > :is(#billing_last_name_field, #billing_postcode_field, #billing_email_field, #billing_irs_field, #billing_inv_city_field),
:is(.woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper) > :is(#shipping_last_name_field, #shipping_postcode_field){ grid-column:2; }
@media (min-width: 980px){
  form.woocommerce-checkout{ display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,440px); column-gap:40px; align-items:start; }
  form.woocommerce-checkout > *{ grid-column:1 / -1; }
  form.woocommerce-checkout > #customer_details{ grid-column:1; grid-row:2 / span 3; }
  form.woocommerce-checkout > #order_review_heading{ grid-column:2; grid-row:2; }
  form.woocommerce-checkout > #order_review{ grid-column:2; grid-row:3; }
}
@media (max-width: 560px){
  .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper{ display:block; }
}
/* ——— ο λογαριασμός μου: μενού αριστερά, περιεχόμενο δεξιά· στο κινητό το μενού γίνεται σειρά από κουμπιά ——— */
.prose .woocommerce h2, .prose .woocommerce h3{ border:0; padding:0; font:700 20px/1.3 var(--f-voice); margin:22px 0 10px; }
.woocommerce:has(> .woocommerce-MyAccount-navigation){ display:grid; grid-template-columns:230px minmax(0,1fr); gap:32px; align-items:start; }
.woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper{ grid-column:1 / -1; }
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:8px; display:grid; gap:2px; background:var(--paper); border:1px solid var(--rule); border-radius:14px; position:sticky; top:96px; }
.woocommerce-MyAccount-navigation li{ margin:0; }
.woocommerce-MyAccount-navigation a{ display:block; padding:10px 12px; border-radius:8px; color:var(--ink-2); text-decoration:none; font:500 15px var(--f-voice); }
.woocommerce-MyAccount-navigation a:hover{ background:var(--tint); color:var(--ink); }
.woocommerce-MyAccount-navigation .is-active a{ background:var(--brand-wash); color:var(--brand-ink); font-weight:700; }
.woocommerce-MyAccount-navigation-link--customer-logout a{ color:var(--ink-3); }
.woocommerce-MyAccount-content{ min-width:0; }
.woocommerce-MyAccount-content > p{ color:var(--ink-2); }
.woocommerce-MyAccount-content mark{ background:none; color:var(--ink); font-weight:700; }
.woocommerce-orders-table .button, .woocommerce-MyAccount-content .woocommerce-Button--previous, .woocommerce-MyAccount-content .woocommerce-Button--next{ padding:7px 12px; font-size:14px; }
.woocommerce-Addresses{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:16px; }
.woocommerce-Address{ padding:18px 20px; background:var(--paper); border:1px solid var(--rule); border-radius:14px; }
.woocommerce-Address-title{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.prose .woocommerce .woocommerce-Address-title h2{ margin:0 0 8px; font-size:18px; }
.woocommerce-Address-title .edit{ flex:none; font:600 14px var(--f-voice); color:var(--brand-ink); }
.woocommerce address{ font-style:normal; line-height:1.6; color:var(--ink-2); }
/* σύνδεση, εγγραφή, νέος κωδικός, στοιχεία λογαριασμού: κάρτες */
#customer_login{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-ResetPassword, .woocommerce-EditAccountForm, .woocommerce-MyAccount-content > form:has(.woocommerce-address-fields){ margin:0; padding:20px 22px; background:var(--paper); border:1px solid var(--rule); border-radius:14px; }
.prose .woocommerce #customer_login h2{ margin:0 0 12px; }
.woocommerce-form-login__rememberme{ flex-direction:row!important; align-items:center; gap:8px; font:500 14.5px var(--f-voice); color:var(--ink-2); }
.woocommerce form input[type=checkbox]{ width:18px; height:18px; accent-color:var(--brand); }
.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit){ flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.woocommerce-form-login__submit, .woocommerce-form-register__submit, .woocommerce-ResetPassword .button, .woocommerce-EditAccountForm .button, .woocommerce-address-fields .button{ background:var(--brand); color:var(--on-brand)!important; }
.lost_password{ margin:4px 0 0; font:500 14.5px var(--f-voice); }
.woocommerce-privacy-policy-text{ font-size:13.5px; color:var(--ink-3); }
.password-input{ position:relative; display:block; }
.password-input .input-text{ padding-right:46px!important; }
.show-password-input{ position:absolute; right:6px; top:50%; transform:translateY(-50%); width:34px; height:34px; border:0; padding:0; background:var(--ink-3); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C6.5 5 2.7 9.1 1.5 12c1.2 2.9 5 7 10.5 7s9.3-4.1 10.5-7C21.3 9.1 17.5 5 12 5zm0 11.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm0-7a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z'/%3E%3C/svg%3E") center / 20px no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C6.5 5 2.7 9.1 1.5 12c1.2 2.9 5 7 10.5 7s9.3-4.1 10.5-7C21.3 9.1 17.5 5 12 5zm0 11.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm0-7a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z'/%3E%3C/svg%3E") center / 20px no-repeat; cursor:pointer; }
.show-password-input.display-password{ background:var(--brand); }
.woocommerce-EditAccountForm{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:16px; }
.woocommerce-EditAccountForm > *{ grid-column:1 / -1; }
.woocommerce-EditAccountForm > .form-row-first{ grid-column:1; }
.woocommerce-EditAccountForm > .form-row-last{ grid-column:2; }
.woocommerce-EditAccountForm .clear{ display:none; }
.woocommerce-EditAccountForm fieldset{ margin:12px 0; padding:12px 16px 4px; border:1px solid var(--rule); border-radius:10px; }
.woocommerce-EditAccountForm legend{ padding:0 6px; font:700 16px var(--f-voice); color:var(--ink); }
.woocommerce-EditAccountForm em{ font-size:13.5px; color:var(--ink-3); }
@media (max-width: 780px){
  .woocommerce:has(> .woocommerce-MyAccount-navigation){ grid-template-columns:minmax(0,1fr); gap:18px; }
  .woocommerce-MyAccount-navigation ul{ position:static; display:flex; gap:6px; padding:6px; overflow-x:auto; scrollbar-width:none; }
  .woocommerce-MyAccount-navigation li{ flex:none; }
  .woocommerce-MyAccount-navigation a{ padding:8px 12px; white-space:nowrap; }
  #customer_login, .woocommerce-Addresses{ grid-template-columns:minmax(0,1fr); }
  .woocommerce-EditAccountForm{ display:block; }
}

/* ——— η παραγγελία: «ευχαριστούμε» μετά το ταμείο και «προβολή παραγγελίας» στον λογαριασμό ——— */
.woocommerce-order{ display:grid; gap:22px; }
.woocommerce-order > *{ margin:0; }
.woocommerce-thankyou-order-received{ display:flex; align-items:center; gap:14px; padding:18px 20px; border-radius:14px; background:color-mix(in oklab, var(--ok) 14%, var(--paper)); border:1px solid color-mix(in oklab, var(--ok) 45%, transparent); font:600 18px/1.4 var(--f-voice); color:var(--ink); }
.woocommerce-thankyou-order-received::before{ content:""; flex:none; width:34px; height:34px; border-radius:50%; background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9.5 16.2 5.3 12l-1.4 1.4 5.6 5.6 11-11-1.4-1.4z'/%3E%3C/svg%3E") center / 20px no-repeat; }
.woocommerce-thankyou-order-failed{ padding:16px 20px; border-radius:14px; background:var(--brand-wash); border-left:3px solid var(--brand); font:600 17px/1.45 var(--f-voice); }
ul.woocommerce-order-overview{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; }
ul.woocommerce-order-overview li{ margin:0; padding:12px 14px; background:var(--paper); border:1px solid var(--rule); border-radius:10px; font:600 13px var(--f-voice); letter-spacing:.01em; color:var(--ink-3); } /* χωρίς κεφαλαία: το plugin «Remove Uppercase Accents» έσβηνε τους τόνους και από τις τιμές (0.9.7) */
ul.woocommerce-order-overview li strong{ display:block; margin-top:4px; font:700 16px/1.35 var(--f-voice); letter-spacing:0; text-transform:none; color:var(--ink); overflow-wrap:anywhere; }
.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-bacs-bank-details{ padding:18px 22px; background:var(--paper); border:1px solid var(--rule); border-radius:14px; }
.prose .woocommerce .woocommerce-order-details__title, .prose .woocommerce .woocommerce-column__title, .prose .woocommerce .wc-bacs-bank-details-heading{ margin:0 0 8px; }
table.order_details{ margin:0; }
table.order_details tfoot th{ font:500 15px var(--f-voice); letter-spacing:0; text-transform:none; color:var(--ink-2); }
table.order_details tfoot tr:last-child :is(th, td){ font-weight:700; font-size:17px; color:var(--ink); border-bottom:0; }
table.order_details .wc-item-meta{ list-style:none; margin:4px 0 0; padding:0; font-size:13.5px; color:var(--ink-3); }
.woocommerce-customer-details .woocommerce-columns--addresses{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.woocommerce-customer-details address p{ margin:6px 0 0; }
.order-again{ margin:16px 0 0; }
table.order_details :is(thead th.product-total, td.product-total, tfoot td){ text-align:right; }
/* «τι γίνεται τώρα» μετά την παραγγελία: τρία βήματα σε σειρά */
.ty-next{ padding:18px 22px; border-radius:14px; background:var(--tint); border:1px solid var(--rule); }
.prose .woocommerce .ty-next h2{ margin:0 0 12px; }
.ty-steps{ list-style:none; counter-reset:ty; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ty-steps li{ counter-increment:ty; margin:0; padding:12px 14px 14px; background:var(--paper); border:1px solid var(--rule); border-radius:10px; font-size:14.5px; color:var(--ink-2); }
.ty-steps li::before{ content:counter(ty); display:grid; place-items:center; width:26px; height:26px; margin-bottom:8px; border-radius:50%; background:var(--brand); color:var(--on-brand); font:700 14px var(--f-voice); }
.ty-steps b{ display:block; color:var(--ink); font-size:15.5px; }
.ty-help, .ty-teach{ margin:12px 0 0; font-size:14.5px; color:var(--ink-2); }
.ty-teach a{ font-weight:700; }
/* οι γρήγοροι δρόμοι στον πίνακα του λογαριασμού */
.acc-tiles{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin-top:20px; }
.acc-tile{ display:block; padding:16px 18px; background:var(--paper); border:1px solid var(--rule); border-radius:12px; color:var(--ink-2); text-decoration:none; font-size:14px; transition:border-color .15s, transform .15s; }
.prose .acc-tile{ color:var(--ink-2); text-decoration:none; }
.acc-tile:hover{ border-color:var(--brand); transform:translateY(-2px); }
.acc-tile b{ display:block; margin-bottom:2px; color:var(--ink); font:700 16px var(--f-voice); }
@media (max-width: 640px){ .ty-steps{ grid-template-columns:minmax(0,1fr); } }
@media (max-width: 640px){
  .woocommerce-customer-details .woocommerce-columns--addresses{ grid-template-columns:minmax(0,1fr); }
  .woocommerce-order-details, .woocommerce-customer-details{ padding:14px 16px; }
}

/* το πλαϊνό καλάθι */
.mcart{ position:fixed; inset:0; z-index:80; }
.mcart[hidden]{ display:none; }
.mcart-bg{ position:absolute; inset:0; background:rgba(8,10,14,.5); opacity:0; transition:opacity .25s; }
.mcart-panel{ position:absolute; top:0; right:0; bottom:0; width:min(420px, 92vw); display:flex; flex-direction:column; background:var(--paper); color:var(--ink); box-shadow:-20px 0 60px rgba(0,0,0,.3); transform:translateX(100%); transition:transform .26s ease; outline:none; padding-bottom:env(safe-area-inset-bottom,0px); }
.mcart.on .mcart-bg{ opacity:1; }
.admin-bar .mcart-panel{ top:32px; }
@media (max-width: 782px){ .admin-bar .mcart-panel{ top:46px; } }
.mcart.on .mcart-panel{ transform:none; }
html.mcart-open{ overflow:hidden; }
.mcart-hd{ display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--rule); }
.mcart-hd h2{ margin:0; font:700 20px var(--f-voice); }
.mcart-x{ border:0; background:none; color:var(--ink-2); font:400 30px/1 var(--f-voice); cursor:pointer; padding:0 4px; }
.mcart .widget_shopping_cart_content{ flex:1; min-height:0; display:flex; flex-direction:column; }
.mcart .woocommerce-mini-cart{ list-style:none; margin:0; padding:6px 20px; overflow:auto; flex:1; }
.mcart .woocommerce-mini-cart-item{ position:relative; padding:14px 30px 14px 0; border-bottom:1px solid var(--rule); font:500 14.5px/1.35 var(--f-voice); }
.mcart .woocommerce-mini-cart-item > a:not(.remove){ display:flex; gap:12px; align-items:center; color:var(--ink); text-decoration:none; }
.mcart .woocommerce-mini-cart-item img{ width:56px; height:56px; object-fit:contain; background:var(--cover-bg); border-radius:6px; flex:none; }
.mcart .woocommerce-mini-cart-item .quantity{ display:block; margin:4px 0 0 68px; color:var(--ink-3); font-size:13.5px; }
.mcart .woocommerce-mini-cart-item .remove{ position:absolute; right:0; top:12px; color:var(--ink-3); text-decoration:none; font-size:22px; line-height:1; }
.mcart .woocommerce-mini-cart-item .remove:hover{ color:var(--brand); }
.mcart .woocommerce-mini-cart__total{ display:flex; justify-content:space-between; margin:0; padding:16px 20px; border-top:1px solid var(--rule); font:600 16px var(--f-voice); }
.mcart .woocommerce-mini-cart__buttons{ display:grid; gap:10px; margin:0; padding:0 20px 20px; }
.mcart .woocommerce-mini-cart__buttons .button{ text-align:center; padding:13px 18px; }
.mcart .woocommerce-mini-cart__buttons .checkout{ order:-1; background:var(--brand); color:var(--on-brand)!important; }
.mcart .woocommerce-mini-cart__empty-message{ padding:28px 20px; color:var(--ink-2); }
.woocommerce form .form-row{ margin:0 0 12px; display:flex; flex-direction:column; gap:4px; }
.woocommerce form .form-row label{ font:500 14px var(--f-voice); color:var(--ink-2); }
.woocommerce form .input-text, .woocommerce form select, .woocommerce form textarea{ width:100%; font:400 16px var(--f-voice); padding:10px 12px; border:1.5px solid var(--rule); border-radius:8px; background:var(--paper); color:var(--ink); }
/* η λίστα χώρας/νομού (selectWoo) ίδια με τα άλλα πεδία, και στο σκούρο θέμα */
.woocommerce .select2-container .select2-selection--single{ height:auto; min-height:46px; display:flex; align-items:center; border:1.5px solid var(--rule); border-radius:8px; background:var(--paper); }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{ padding:10px 34px 10px 12px; font:400 16px var(--f-voice); line-height:1.4; color:var(--ink); }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{ height:100%; right:8px; }
.select2-dropdown{ background:var(--paper); color:var(--ink); border-color:var(--rule); }
.select2-search--dropdown .select2-search__field{ background:var(--bg); color:var(--ink); border:1px solid var(--rule); border-radius:6px; }
.select2-results__option--highlighted[aria-selected], .select2-results__option--highlighted[data-selected]{ background:var(--brand); color:#fff; }
ul.wc_payment_methods{ list-style:none; padding:0; }
/* ΑΦΜ στο τιμολόγιο: η απάντηση της ΑΑΔΕ κάτω από το πεδίο */
.nt-afm-note{ margin:6px 0 0; font:500 14px/1.45 var(--f-voice); color:var(--ink-2); }
.nt-afm-note[data-kind="ok"]{ color:var(--ok); }
.nt-afm-note[data-kind="bad"]{ color:#D6453D; }
.nt-afm-note[data-kind="warn"]{ color:var(--brand-ink); }
/* τα λογότυπα των τρόπων πληρωμής στο ύψος της γραμμής (το PayPal έβγαινε 1180 px) */
.wc_payment_method > label img{ display:inline-block; width:auto !important; height:24px !important; max-width:min(60%, 380px); margin:0 0 0 10px !important; vertical-align:middle; object-fit:contain; object-position:left center; float:none !important; }
.wc-block-components-button:not(.is-link){ background:var(--brand)!important; color:var(--on-brand)!important; border-radius:8px!important; }
.wc-block-cart, .wc-block-checkout{ font-family:var(--f-voice); }


/* ——— το βιβλίο σε 3D (plugin «Newtech · εξώφυλλα»): από το επίπεδο εξώφυλλο, με σελίδες στο πλάι, ράχη που λυγίζει,
   πίσω εξώφυλλο και σκιά, σε ένα φωτισμένο «σκηνικό». --w το πλάτος (μέρος του κουτιού), --ar η αναλογία, --t το πάχος.
   Στο πέρασμα του ποντικιού το βιβλίο γυρίζει προς τον επισκέπτη. ——— */
:root{ --stage:radial-gradient(120% 90% at 50% 28%, #FFFFFF 0%, #F1F3F6 55%, #E4E8EE 100%); --bk-back:#1B2027; --bk-shadow:rgba(20,24,30,.32); }
:root[data-theme="dark"]{ --stage:radial-gradient(120% 90% at 50% 28%, #2B333E 0%, #1D222A 55%, #161A20 100%); --bk-back:#0B0F14; --bk-shadow:rgba(0,0,0,.6); }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --stage:radial-gradient(120% 90% at 50% 28%, #2B333E 0%, #1D222A 55%, #161A20 100%); --bk-back:#0B0F14; --bk-shadow:rgba(0,0,0,.6); } }
body.nt-flat-covers .card-cover, body.nt-flat-covers .pp-cover, body.nt-flat-covers .feature-cover{ display:grid; place-items:center; aspect-ratio:1; overflow:hidden; background:var(--stage); container-type:inline-size; }
body.nt-flat-covers .feature-cover{ border-radius:10px; aspect-ratio:.9; background:radial-gradient(58% 50% at 52% 46%, color-mix(in srgb, var(--brand) 26%, transparent) 0%, transparent 72%), var(--stage); }
.bk{ --w:50cqw; --ar:.72; --t:6.5cqw; position:relative; z-index:1; display:block; width:var(--w); aspect-ratio:var(--ar); line-height:0;
  transform-style:preserve-3d; transform:perspective(1000px) rotateY(-28deg) rotateX(3deg) translateY(-3%); transition:transform .6s cubic-bezier(.2,.75,.25,1); }
.pp-cover .bk{ --w:52cqw; }
/* καρουσέλ «Νέα κυκλοφορία» (0.9.19): μεγαλύτερο βιβλίο, παχύτερο, με φως πίσω και σκιά στο «πάτωμα», να ξεχωρίζει από τις κάρτες */
.feature-cover .bk{ --w:64cqw; --t:12cqw; transform:perspective(900px) rotateY(-32deg) rotateX(5deg) translateY(-3%); animation:nt-float 5.5s ease-in-out infinite; }
.feature-cover .bk::after{ box-shadow:-30px 22px 46px var(--bk-shadow); }
.feature-cover::after{ content:''; position:absolute; left:18%; right:14%; bottom:7%; height:9%; background:radial-gradient(closest-side, rgba(0,0,0,.5), transparent); filter:blur(6px); z-index:0; pointer-events:none; }
@keyframes nt-float{ 0%,100%{ translate:0 0; } 50%{ translate:0 -7px; } }
.card:hover .bk, .pp-cover:hover .bk{ transform:perspective(1000px) rotateY(-12deg) rotateX(2deg) translateY(-6%); }
.feature:hover .bk{ transform:perspective(900px) rotateY(-16deg) rotateX(3deg) translateY(-5%); }
.bk img, .bk .bk-face{ position:absolute; inset:0; display:block; width:100% !important; height:100% !important; padding:0 !important; object-fit:cover; aspect-ratio:auto !important;
  border-radius:1px; transform:translateZ(calc(var(--t) / 2)); backface-visibility:hidden; }
.bk i{ position:absolute; inset:0; border-radius:1px; transform:translateZ(calc(var(--t) / 2 + .2px)); pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.2) 0, rgba(0,0,0,.05) .9%, rgba(0,0,0,0) 2%),
    linear-gradient(115deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 38%, rgba(255,255,255,0) 70%, rgba(0,0,0,.12) 100%); }
.bk::before{ content:''; position:absolute; top:0; height:100%; left:0; width:var(--t);
  transform:translateX(calc(var(--w) - var(--t) / 2 - .5px)) rotateY(90deg);
  background:repeating-linear-gradient(90deg, #F3EFE6 0 1px, #D9D3C6 1px 2px), #EEE9DE; box-shadow:inset 0 0 6px rgba(0,0,0,.25); }
.bk::after{ content:''; position:absolute; inset:0; transform:translateZ(calc(var(--t) / -2));
  background:var(--bk-back); border-radius:1px; box-shadow:-18px 10px 34px var(--bk-shadow); }
body.nt-flat-covers .card-cover .badge, body.nt-flat-covers .pp-cover .badge, body.nt-flat-covers .feature-cover .badge{ z-index:4; }
@media (prefers-reduced-motion: reduce){ .bk{ transition:none; } .feature-cover .bk{ animation:none; } }

/* ——— υποσέλιδο ——— */
.site-ft{ margin-top:64px; background:var(--tint); border-top:1px solid var(--rule); color:var(--ink-2); font-size:15px; }
.ft-grid{ display:grid; grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)); gap:32px; padding-block:44px 28px; }
.ft-logo{ width:124px; height:auto; margin-bottom:10px; }
/* Facebook, LinkedIn: κουμπιά με εικονίδιο, που παίρνουν το χρώμα του δικτύου στο πέρασμα */
.social, .site-ft .social{ list-style:none; display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 0; padding:0; }
.tavt .social{ margin:0; }
.so, .site-ft .so{ display:inline-flex; align-items:center; gap:8px; height:40px; padding:0 16px 0 12px; border:1px solid var(--rule); border-radius:999px; background:var(--paper); color:var(--ink); font:600 14.5px var(--f-voice); text-decoration:none; transition:background-color .15s, border-color .15s, color .15s; }
.so svg{ flex:none; }
/* στο υποσέλιδο μόνο τα λογότυπα (#101)· το όνομα μένει για αναγνώστες οθόνης και ως tooltip */
.site-ft .social-ico .so{ width:40px; padding:0; justify-content:center; }
.social-ico .so span{ position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.so-facebook svg{ color:#1877F2; }
.so-linkedin svg{ color:#0A66C2; }
:root[data-theme="dark"] .so svg{ color:currentColor; }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .so svg{ color:currentColor; } }
.site-ft .so-facebook:hover, .so-facebook:hover{ background:#1877F2; border-color:#1877F2; color:#fff; text-decoration:none; }
.site-ft .so-linkedin:hover, .so-linkedin:hover{ background:#0A66C2; border-color:#0A66C2; color:#fff; text-decoration:none; }
.so:hover svg{ color:#fff; }
.so:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
.ft-about p{ margin:0 0 12px; max-width:44ch; }
.ft-contact{ line-height:1.7; }
.ft-about .ft-ids{ margin:-4px 0 0; font-size:14px; color:var(--ink-2); }
.site-ft a{ color:var(--ink); text-decoration:none; }
.site-ft a:hover{ color:var(--brand-ink); text-decoration:underline; }
.ft-h{ margin:0 0 10px; font:700 13px var(--f-voice); letter-spacing:.08em; text-transform:uppercase; color:var(--ink); }
.site-ft ul{ list-style:none; margin:0; padding:0; display:grid; gap:7px; }
/* τρόποι πληρωμής: σήματα σε λευκές κάρτες, και ό,τι άλλο δεχόμαστε ως κείμενο */
.ft-pay{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; padding-block:18px; border-top:1px solid var(--rule); }
.ft-pay p{ margin:0; display:flex; align-items:center; gap:6px; flex-wrap:wrap; font-size:14px; color:var(--ink-2); }
.site-ft ul.pay{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.pay li{ line-height:0; }
.pay svg{ display:block; border-radius:4px; box-shadow:0 0 0 1px var(--rule); }
.ft-base{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 24px; padding-block:16px calc(20px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--rule); font-size:13.5px; color:var(--ink-3); }
.ft-base p{ margin:0; }

/* ——— μικρότερες οθόνες ——— */
@media (max-width: 1180px){
  .topbar .wrap > p:first-child{ display:none; }
  .topbar .wrap{ justify-content:flex-end; }
  .cards.row{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .cards.row > :nth-child(n+9){ display:none; }
  .why-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 980px){
  .topbar .wrap > p:first-child{ display:none; }
  .topbar .wrap{ justify-content:flex-end; }
  .hero-grid, .band-grid, .write-hero-grid, .write-form-grid{ grid-template-columns:minmax(0,1fr); gap:28px; }
  .pp{ grid-template-columns:minmax(0,1fr); gap:24px; }
  .pp-media{ position:static; display:grid; grid-template-columns:minmax(0,240px) minmax(0,1fr); gap:16px; align-items:end; }
  .pp-look{ grid-template-columns:1fr; }
  .pp-cols{ grid-template-columns:minmax(0,1fr); }
  .teach-box{ position:static; }
  .cat-grid{ grid-template-columns:minmax(0,1fr); }
  .filters{ position:static; max-height:none; display:none; padding:12px 0; }
  .filters.open{ display:block; }
  .ftoggle{ display:inline-flex; align-items:center; gap:6px; border:1.5px solid var(--rule); border-radius:8px; background:var(--paper); padding:8px 12px; font:600 14.5px var(--f-voice); cursor:pointer; }
  .ft-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .steps{ grid-template-columns:minmax(0,1fr); gap:14px; }
  .steps li{ padding:4px 0 0 46px; min-height:34px; }
  .steps li::after{ display:none; }
}
@media (max-width: 760px){
  html{ scroll-padding-top:130px; }
  .person-hd{ gap:16px; }
  .person-hd .av{ width:76px; height:76px; font-size:26px; }
  .bio{ grid-template-columns:48px minmax(0,1fr); gap:0 14px; }
  .bio .av{ width:48px; height:48px; font-size:17px; }
  .topbar .wrap{ justify-content:flex-start; padding-block:6px; }
  .topbar .tb-r{ gap:16px; overflow-x:auto; white-space:nowrap; scrollbar-width:none; font-size:12.5px; }
  .topbar .tb-r::-webkit-scrollbar{ display:none; }
  .mainbar .wrap{ flex-wrap:wrap; gap:10px 14px; padding-block:10px; }
  .logo img{ width:104px; }
  .tools{ gap:10px; }
  .tools .tl-authors{ display:none; }
  .hcart{ padding:7px 10px; }
  .hcart .hcart-t{ display:none; }
  .hcart .hcart-n{ left:auto; right:-6px; top:-6px; }
  .hsearch{ order:3; flex:1 1 100%; max-width:none; }
  .hsearch input{ height:44px; }
  .hsearch button{ height:44px; padding:0 13px; }
  .hsearch.big button{ height:52px; }
  .hsearch.big input{ height:52px; }
  .sn-d{ display:none; }
  .sn-m{ display:flex; gap:8px; overflow-x:auto; padding:10px max(16px, env(safe-area-inset-left, 0px)); scrollbar-width:none; }
  .sn-m::-webkit-scrollbar{ display:none; }
  .hero-grid{ padding-block:22px 26px; }
  .hero .lead{ font-size:16.5px; }
  .hero .chips{ display:none; }
  .feature{ grid-template-columns:minmax(0,150px) minmax(0,1fr); padding:16px; gap:14px; }
  .feature-body h2{ font-size:18px; }
  .perks-grid{ grid-template-columns:minmax(0,1fr); gap:12px; }
  .perks-grid p{ font-size:13.5px; }
  .cards.row{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; padding-bottom:8px; margin-right:calc(-1 * max(16px, env(safe-area-inset-right, 0px))); padding-right:max(16px, env(safe-area-inset-right, 0px)); scrollbar-width:none; }
  .cards.row::-webkit-scrollbar{ display:none; }
  .cards.row > .card{ flex:0 0 46%; scroll-snap-align:start; }
  .cards.row > :nth-child(n+9){ display:flex; }
  .cards.grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
  .card-t{ font-size:14.5px; }
  .card-pr b{ font-size:16.5px; }
  .btn-cart{ font-size:13.5px; padding:8px 6px; }
  .why-grid, .why-grid.six{ grid-template-columns:minmax(0,1fr); }
  .slides{ grid-template-columns:repeat(6,1fr); }
  .pp-media{ grid-template-columns:128px minmax(0,1fr); gap:12px; align-items:center; }
  .pp-cover{ border-radius:10px; }
  .pp-cover img{ padding:4px; }
  .pp-cover .badge{ font-size:12px; padding:4px 6px; left:6px; top:6px; }
  .pp-look{ grid-template-columns:1fr; gap:8px; margin-top:0; }
  .read{ padding:9px 10px; font-size:14px; }
  .pp-main h1{ font-size:24px; }
  .bb-row.now b{ font-size:26px; }
  .pp-eud-code b{ font-size:26px; }
  .facts{ grid-template-columns:minmax(0,1fr); }
  .pp-tabs{ top:118px; }
  .ft-grid{ grid-template-columns:minmax(0,1fr); }
  .res-bar{ flex-wrap:wrap; }
  .sort{ margin-left:0; }
  .nil-page .nil-grid{ grid-template-columns:minmax(0,1fr); }
  .cover-wall{ grid-template-columns:repeat(4,1fr); transform:none; }
  .idx{ columns:1; }
}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}

/* ——— 0.9.26 (6/11/2026) ———
   Νομικά κείμενα και υπαναχώρηση· τρία πεδία στη φόρμα υλικού της αρχικής· μεγαλύτερο βιβλίο στη σελίδα προϊόντος. */
.pp-cover .bk{ --w:min(64cqw, calc(84cqw * var(--ar))); --t:8cqw; }
.pp-cover .bk::after{ box-shadow:-24px 16px 40px var(--bk-shadow); }
.teach-fm .pform .fld:nth-of-type(3){ grid-column:1 / -1; }

/* γραμμή των νομικών στο υποσέλιδο */
.ft-legal{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 18px; margin:0; }
.ft-legal a{ color:inherit; text-decoration:underline; text-underline-offset:3px; text-decoration-color:color-mix(in srgb, currentColor 40%, transparent); }
.ft-legal a:hover{ color:var(--ink); }
.ft-legal .ft-ypanax{ color:var(--brand-ink); font-weight:700; text-decoration-color:var(--brand); }
:root[data-theme="dark"] .ft-legal .ft-ypanax{ color:var(--brand); }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ft-legal .ft-ypanax{ color:var(--brand); } }

/* νομικές σελίδες */
.prose .legal-date{ margin:-8px 0 22px; color:var(--ink-3); font:500 14px var(--f-voice); }
.prose .legal-ref{ margin:-4px 0 10px; color:var(--ink-3); font-size:15px; }
.prose .form-line{ margin:0 0 6px; }
.prose .form-line span{ color:var(--ink-3); letter-spacing:.06em; }
.prose .legal-cta{ margin:28px 0 0; }
.prose .legal-cta .btn{ text-decoration:none; color:#fff; }
.prose .cc-inline{ color:var(--brand-ink); font-weight:600; }

/* υπαναχώρηση */
.ypanax-page h1{ font:700 clamp(28px,3vw,40px)/1.12 var(--f-voice); letter-spacing:-.02em; margin:0 0 12px; }
.ypanax-page .lead{ max-width:68ch; color:var(--ink-2); font-size:17px; margin:0 0 26px; }
.ypanax-page .pform{ max-width:none; }
.pform .form-st{ margin:4px 0 0; padding:10px 14px; border-left:3px solid var(--brand); border-radius:0 10px 10px 0; background:var(--tint); font-size:15px; color:var(--ink); }
.ypanax-next h2{ margin:0 0 14px; font:700 22px var(--f-voice); }
.ypanax-next .steps{ grid-template-columns:minmax(0,1fr); gap:18px; margin:0 0 20px; }
.ypanax-next .steps li{ padding:2px 0 0 46px; font-size:15.5px; }
.ypanax-next .steps li::after{ display:none; }
.ypanax-next .steps li b{ display:block; color:var(--ink); margin-bottom:2px; }
.ypanax-next .form-note{ color:var(--ink-2); font-size:14.5px; }

/* ——— 0.9.27: hero σε όλο το πλάτος (#124) ———
   Δύο εικόνες Higgsfield στις άκρες, όπως η ζώνη «Για διδάσκοντες ΑΕΙ»: φαίνονται στα περιθώρια και σβήνουν (mask) προς το κείμενο.
   --side: πόσο μπαίνει η εικόνα μέσα από την άκρη του περιεχομένου. */
.hero{ position:relative; isolation:isolate; overflow:hidden; --gut:max(0px, calc((100vw - 1280px) / 2));
  /* ζεστό κρεμ φόντο με ροδακινί λάμψη δεξιά, όπως το πρότυπο του Γιώργου (6/11) */
  background:
    radial-gradient(38% 120% at 104% 46%, rgba(232,112,26,.20) 0%, rgba(232,112,26,.07) 45%, rgba(232,112,26,0) 75%),
    radial-gradient(30% 70% at 96% 0%, rgba(240,190,160,.35) 0%, rgba(240,190,160,0) 70%),
    linear-gradient(180deg, #FFFAF6 0%, #FCF3EC 100%); }
:root[data-theme="dark"] .hero{ background:
    radial-gradient(38% 120% at 104% 46%, rgba(232,112,26,.16) 0%, rgba(232,112,26,.05) 45%, rgba(232,112,26,0) 75%),
    linear-gradient(180deg, var(--tint), var(--bg)); }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .hero{ background:
    radial-gradient(38% 120% at 104% 46%, rgba(232,112,26,.16) 0%, rgba(232,112,26,.05) 45%, rgba(232,112,26,0) 75%),
    linear-gradient(180deg, var(--tint), var(--bg)); } }
.hero-side{ position:absolute; top:0; bottom:0; z-index:-1; pointer-events:none; }
.hero-side img{ width:100%; height:100%; object-fit:cover; display:block; }
.hero-l{ left:0; width:calc(var(--gut) + 360px);
  /* --e: ως πού μένει ολόκληρη η εικόνα· σε φαρδιές οθόνες σβήνει πριν από το κείμενο, σε στενές πιάνει λίγο κάτω από αυτό */
  --e:max(calc(var(--gut) - 110px), min(calc(var(--gut) + 20px), 115px));
  -webkit-mask-image:linear-gradient(90deg, #000 0, #000 var(--e), rgba(0,0,0,.25) calc(var(--e) + 100px), rgba(0,0,0,.08) calc(var(--e) + 220px), transparent calc(var(--e) + 340px));
  mask-image:linear-gradient(90deg, #000 0, #000 var(--e), rgba(0,0,0,.25) calc(var(--e) + 100px), rgba(0,0,0,.08) calc(var(--e) + 220px), transparent calc(var(--e) + 340px)); }
.hero-l img{ object-position:left center; }
.hero-r{ right:0; width:calc(var(--gut) + var(--side-r, 420px)); -webkit-mask-image:linear-gradient(270deg, #000 0, #000 calc(100% - var(--side-r, 420px) + 60px), rgba(0,0,0,.35) calc(100% - var(--side-r, 420px) * .5), transparent 100%); mask-image:linear-gradient(270deg, #000 0, #000 calc(100% - var(--side-r, 420px) + 60px), rgba(0,0,0,.35) calc(100% - var(--side-r, 420px) * .5), transparent 100%); }
.hero-r img{ object-position:right center; }
:root[data-theme="dark"] .hero-side img{ filter:brightness(.5) saturate(.85); }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .hero-side img{ filter:brightness(.5) saturate(.85); } }
@media (max-width:1100px){ .hero-side{ opacity:.55; } .hero-r{ display:none; } }
@media (max-width:760px){ .hero-side{ display:none; } }
.ypanax-next .dia-links{ display:flex; flex-wrap:wrap; gap:8px 22px; }

/* ——— 0.9.31: η αριστερή εικόνα όπως το πρότυπο του Γιώργου (βιβλιοθήκη, laptop πάνω σε βιβλία) ———
   Σε οθόνες υπολογιστή το κείμενο μετακινείται λίγο δεξιά (--pad), όσο χρειάζεται για να φαίνεται η εικόνα στα αριστερά·
   σε φαρδιές οθόνες (--gut ≥ 260px) η εικόνα χωρά στο περιθώριο και το --pad γίνεται 0. */
@media (min-width:1101px){
  .hero.has-sides{ --pad:clamp(0px, calc(260px - var(--gut)), 150px); }
  .hero.has-sides .hero-copy{ padding-left:var(--pad); }
  .hero.has-sides .hero-grid{ grid-template-columns:minmax(0,1fr) minmax(0,.95fr); gap:36px; }
  .hero.has-sides h1{ font-size:clamp(30px,2.75vw,42px); }
  .hero.has-sides .hero-l{ --e:calc(var(--gut) + var(--pad) - 20px); width:calc(var(--gut) + var(--pad) + 300px); }
}

/* ——— 0.9.35: «Επικοινωνία» χωρίς διπλά (#129): στοιχεία αριστερά, φόρμα δεξιά, χάρτης από κάτω σε όλο το πλάτος ——— */
.tavt dd b{ font-weight:700; }
.contact-links{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin:22px 0 0; }
.contact-links a{ font-weight:600; color:var(--brand-ink); text-decoration-color:var(--brand); text-underline-offset:4px; }
:root[data-theme="dark"] .contact-links a{ color:var(--brand); }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .contact-links a{ color:var(--brand); } }
.contact-map{ margin-top:32px; }
.map.map-wide{ min-height:440px; }
@media (max-width:760px){ .map.map-wide{ min-height:320px; } .contact-map{ margin-top:22px; } }

/* ——— 0.9.36: ταμείο (#131) ——— */
/* κουπόνι σε μία σειρά, με πορτοκαλί κουμπί */
form.checkout_coupon{ display:flex; flex-wrap:nowrap; gap:10px; align-items:stretch; max-width:560px; margin:0 0 24px; }
form.checkout_coupon .form-row{ margin:0 !important; padding:0 !important; float:none !important; width:auto !important; }
form.checkout_coupon .form-row-first{ flex:1 1 auto; }
form.checkout_coupon .form-row-last{ flex:0 0 auto; }
form.checkout_coupon .clear, form.checkout_coupon > p:not(.form-row){ display:none; }
form.checkout_coupon .input-text{ height:46px; }
form.checkout_coupon button.button{ height:46px; width:auto !important; padding:0 22px !important; background:var(--brand) !important; color:#fff !important; border:0 !important; border-radius:10px !important; font:700 15px var(--f-voice) !important; white-space:nowrap; cursor:pointer; }
form.checkout_coupon button.button:hover{ background:var(--brand-hover) !important; }
@media (max-width:520px){ form.checkout_coupon button.button{ padding:0 14px !important; } }
/* εξώφυλλο στη σύνοψη της παραγγελίας */
.ro-item{ display:inline-flex; align-items:center; gap:12px; vertical-align:middle; max-width:calc(100% - 34px); }
.ro-thumb{ flex:0 0 44px; line-height:0; }
.ro-img{ width:44px; height:auto; border-radius:2px; box-shadow:0 3px 8px rgba(0,0,0,.18), 0 0 0 1px rgba(0,0,0,.06); }
.ro-name{ min-width:0; }
