/* =========================================================
   1. GLOBAL (κοινό για όλες τις σελίδες → style.css του theme)
   ========================================================= */
:root{
  /* Παλέτα MnG */
  --navy:#2B4A71;
  --navy-700:#213B5C;
  --abyss:#001225;
  --gold:#D59709;
  --gold-400:#E8AC24;
  --gold-ink:#8A6200;      /* χρυσό για κείμενο/εικονίδια σε ανοιχτό φόντο (AA) */
  --sand:#FBDF9D;
  --sky:#A6BFDD;
  --ink:#1F1F1F;

  /* Παράγωγα */
  --text:#22303F;
  --muted:#56677D;
  --line:#E1E8F1;
  --tint:#F4F7FB;
  --sky-wash:#E9F0F8;
  --sand-wash:#FEF5DE;

  --font:"Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  --maxw:1240px;
  --gutter:clamp(20px, 4vw, 40px);
  --header-h:84px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{
  overflow-x:clip;
  margin:0;font-family:var(--font);font-size:1rem;line-height:1.6;color:var(--text);
  background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4{color:var(--abyss);margin:0;font-weight:800;letter-spacing:-.02em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:16px;top:-60px;z-index:100;background:var(--abyss);color:#fff;padding:12px 18px;border-radius:10px;font-weight:700}
.skip-link:focus{top:12px}
.container{width:min(100% - 2 * var(--gutter), var(--maxw));margin-inline:auto}
.i{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- Κουμπιά ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;
  border-radius:10px;border:1.5px solid transparent;font-weight:700;font-size:.97rem;line-height:1.2;white-space:nowrap;
  transition:background-color .2s, border-color .2s, color .2s, transform .2s var(--ease);
}
.btn:active{transform:translateY(1px)}
.btn .i{width:19px;height:19px}
.btn-gold{background:var(--gold);color:var(--abyss)}
.btn-gold:hover{background:var(--gold-400)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-700)}
.btn-ghost{border-color:var(--sky);color:var(--navy)}
.btn-ghost:hover{background:var(--sky-wash);border-color:var(--navy)}
.btn-ghost-light{border-color:rgba(166,191,221,.55);color:#fff}
.btn-ghost-light:hover{background:rgba(166,191,221,.12);border-color:var(--sky)}
.btn-sm{min-height:44px;padding:0 18px;font-size:.92rem}

/* Πλακίδιο εικονιδίου (το "μοντέρνο emoji" του site) */
.ico{
  width:52px;height:52px;border-radius:15px;display:grid;place-items:center;flex:none;
  background:var(--sky-wash);color:var(--navy);position:relative;
}
.ico::after{ /* μικρό χρυσό ρόμβο-σήμα, παραπέμπει στο logo */
  content:"";position:absolute;right:7px;top:7px;width:6px;height:6px;background:var(--gold);transform:rotate(45deg);border-radius:1px;
}
.ico--sand{background:var(--sand-wash);color:var(--gold-ink)}
.ico--sand::after{background:var(--navy)}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px);
  border-bottom:1px solid transparent;transition:border-color .3s, box-shadow .3s;
}
.site-header.is-scrolled{border-color:var(--line);box-shadow:0 10px 30px -24px rgba(0,18,37,.45)}
.header-inner{display:flex;align-items:center;gap:18px;height:var(--header-h);transition:height .3s var(--ease);width:min(100% - 2 * var(--gutter), 1400px)}
.site-header.is-scrolled .header-inner{height:70px}
.brand{display:flex;align-items:center;gap:12px;flex:none}
.brand img{height:46px;width:auto;transition:height .3s var(--ease)}
.site-header.is-scrolled .brand img{height:40px}
.brand-text strong{display:block;font-size:1.06rem;font-weight:800;color:var(--abyss);letter-spacing:-.01em;line-height:1.15}
.brand-text span{display:block;font-size:.72rem;color:var(--muted);line-height:1.3;max-width:190px}

.main-nav{margin-left:auto}
.nav-list{display:flex;align-items:center;gap:2px}
.nav-link{
  display:inline-flex;align-items:center;gap:5px;padding:10px 9px;border-radius:9px;
  font-weight:600;font-size:.9rem;color:var(--abyss);white-space:nowrap;position:relative;
  transition:background-color .2s, color .2s;
}
.nav-link:hover,.nav-link[aria-expanded="true"]{background:var(--sky-wash);color:var(--navy)}
.nav-link[aria-current="page"]::after{
  content:"";position:absolute;left:50%;bottom:2px;width:6px;height:6px;margin-left:-3px;background:var(--gold);transform:rotate(45deg);border-radius:1px;
}
.nav-link .chev{width:16px;height:16px;transition:transform .25s var(--ease)}
.nav-link[aria-expanded="true"] .chev{transform:rotate(180deg)}
.header-actions{display:flex;align-items:center;gap:8px;flex:none}
.header-phone{display:inline-flex;align-items:center;gap:8px;padding:10px;border-radius:9px;font-weight:700;font-size:.92rem;color:var(--navy)}
.header-phone:hover{background:var(--sky-wash)}
.header-phone .i{width:20px;height:20px}
.menu-toggle{display:none;width:48px;height:48px;border-radius:12px;place-items:center;color:var(--abyss);border:1px solid var(--line)}
.menu-toggle:hover{background:var(--sky-wash)}

/* Mega menu προϊόντων */
.mega{
  position:absolute;top:calc(100% - 4px);left:50%;width:min(980px, calc(100vw - 32px));
  display:grid;grid-template-columns:1fr 250px;gap:12px;padding:12px;
  background:#fff;border:1px solid var(--line);border-radius:22px;
  box-shadow:0 40px 80px -40px rgba(0,18,37,.45);
  opacity:0;visibility:hidden;translate:-50% 10px;
  transition:opacity .22s var(--ease), translate .22s var(--ease), visibility .22s;
}
.mega.is-open{opacity:1;visibility:visible;translate:-50% 0}
.mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.mega-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;transition:background-color .2s}
.mega-item:hover,.mega-item:focus-visible{background:var(--tint)}
.mega-item .ico{width:42px;height:42px;border-radius:12px}
.mega-item .ico::after{display:none}
.mega-item .i{width:21px;height:21px}
.mega-item strong{display:block;font-size:.9rem;line-height:1.3;color:var(--abyss)}
.mega-item small{display:block;font-size:.78rem;line-height:1.4;color:var(--muted);margin-top:3px}
.mega-aside{
  background:var(--abyss);color:#cfdcea;border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:14px;justify-content:space-between;
}
.mega-aside strong{color:#fff;font-size:1.05rem;line-height:1.3;display:block}
.mega-aside p{font-size:.86rem;line-height:1.5}
.mega-aside .btn{width:100%}
.mega-aside-btns{display:grid;gap:10px}
.mega-all{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;font-weight:700;font-size:.9rem;color:var(--sand)}
.mega-all .i{width:16px;height:16px;transition:transform .25s var(--ease)}
.mega-all:hover .i{transform:translateX(3px)}
.nav-link[data-current]::after{content:"";position:absolute;left:50%;bottom:2px;width:6px;height:6px;margin-left:-3px;background:var(--gold);transform:rotate(45deg);border-radius:1px}
.mega-item[aria-current="page"]{background:var(--sky-wash)}

/* Mobile drawer */
.drawer{position:fixed;inset:0;z-index:80;visibility:hidden;transition:visibility 0s .36s}
.drawer.open{visibility:visible;transition:visibility 0s}
.drawer-backdrop{position:absolute;inset:0;background:rgba(0,18,37,.55);opacity:0;transition:opacity .3s}
.drawer.open .drawer-backdrop{opacity:1}
.drawer-panel{
  position:absolute;top:0;right:0;height:100%;width:min(420px,100%);background:#fff;
  display:flex;flex-direction:column;transform:translateX(100%);transition:transform .36s var(--ease);
  padding:calc(14px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));
}
.drawer.open .drawer-panel{transform:none}
.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.drawer-top img{height:40px;width:auto}
.drawer-nav{flex:1;overflow-y:auto;margin:0 -8px;padding:0 8px}
.drawer-nav > ul > li{border-bottom:1px solid var(--line)}
.drawer-link{display:flex;width:100%;align-items:center;justify-content:space-between;padding:16px 4px;font-weight:700;font-size:1.08rem;color:var(--abyss);text-align:left}
.drawer-link[aria-current="page"]{color:var(--navy)}
.drawer-link .chev{width:20px;height:20px;transition:transform .25s var(--ease)}
.drawer-link[aria-expanded="true"] .chev{transform:rotate(180deg)}
.drawer-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease)}
.drawer-sub.open{grid-template-rows:1fr}
.drawer-sub > ul{overflow:hidden}
.drawer-sub a{display:flex;align-items:center;gap:12px;padding:10px 4px;font-weight:600;font-size:.96rem;color:var(--text)}
.drawer-sub a .i{width:20px;height:20px;color:var(--navy)}
.drawer-sub > ul{padding-bottom:0}
.drawer-sub.open > ul{padding-bottom:10px}
.drawer-foot{display:grid;gap:10px;padding-top:16px}
.drawer-foot .btn{width:100%}

/* ---------- Ενότητες (κοινό) ---------- */
.section{padding-block:clamp(72px, 9vw, 128px)}
.bg-tint{background:var(--tint)}
.kicker{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:.92rem;color:var(--navy);margin-bottom:16px}
.kicker::before{content:"";width:8px;height:8px;background:var(--gold);transform:rotate(45deg);border-radius:1px}
.h2{font-size:clamp(1.9rem, 1.15rem + 2.5vw, 3.05rem);line-height:1.1;letter-spacing:-.03em;text-wrap:balance}
.lead{font-size:clamp(1.02rem, .95rem + .3vw, 1.15rem);color:var(--muted);max-width:38em;margin-top:16px}
.section-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.section-head-row > div{max-width:760px}

/* ---------- Footer ---------- */
.site-footer{background:var(--abyss);color:#B4C3D6;position:relative;overflow:hidden}
.site-footer::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--navy) 0 50%,var(--gold) 50% 100%)}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1.25fr 1.2fr;gap:40px;padding-top:76px}
.footer-brand img{height:104px;width:auto;margin-bottom:20px}
.footer-brand p{font-size:.94rem;max-width:30ch}
.footer-col h3{color:#fff;font-size:1rem;letter-spacing:0;margin-bottom:18px}
.footer-col ul{display:grid;gap:10px;font-size:.94rem}
.footer-col a{transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-contact li a,.footer-contact li span{display:flex;gap:12px;align-items:flex-start}
.footer-contact .i{width:20px;height:20px;color:var(--gold);margin-top:2px}
.social{display:flex;gap:10px;margin-top:22px}
.social a{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;border:1px solid rgba(166,191,221,.25);color:#fff;transition:background-color .2s,color .2s,border-color .2s}
.social a:hover{background:var(--gold);border-color:var(--gold);color:var(--abyss)}
.social .i{width:20px;height:20px}
.footer-bottom{
  margin-top:64px;border-top:1px solid rgba(166,191,221,.16);
  padding:22px 0 calc(22px + env(safe-area-inset-bottom));
  display:flex;justify-content:space-between;align-items:center;gap:14px 24px;flex-wrap:wrap;font-size:.86rem;
}
.legal-links{display:flex;gap:8px 22px;flex-wrap:wrap}
.legal-links a,.legal-links button{color:#B4C3D6;font-size:.86rem;transition:color .2s}
.legal-links a:hover,.legal-links button:hover{color:#fff}

/* ---------- Κουμπί "πίσω στην κορυφή" ---------- */
.to-top{
  position:fixed;right:calc(20px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:60;
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--abyss);color:#fff;
  box-shadow:0 14px 30px -12px rgba(0,18,37,.6);
  opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity .3s, transform .3s var(--ease), visibility .3s, background-color .2s;
}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--navy)}
.to-top .i{width:22px;height:22px;transition:transform .25s var(--ease)}
.to-top:hover .i{transform:translateY(-2px)}
.to-top-ring{position:absolute;inset:0;transform:rotate(-90deg)}
.to-top-ring circle{fill:none;stroke-width:3}
.to-top-ring .track{stroke:rgba(166,191,221,.2)}
.to-top-ring .bar{stroke:var(--gold);stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round}

/* ---------- Cookie banner ---------- */
.cookie{
  position:fixed;left:calc(20px + env(safe-area-inset-left));bottom:calc(20px + env(safe-area-inset-bottom));z-index:70;
  width:min(440px, calc(100vw - 40px));background:#fff;border:1px solid var(--line);border-radius:20px;
  box-shadow:0 30px 70px -24px rgba(0,18,37,.45);padding:22px;display:none;
}
.cookie.show{display:block;animation:cookieIn .45s var(--ease)}
@keyframes cookieIn{from{opacity:0;transform:translateY(16px)}}
.cookie h2{font-size:1.06rem;letter-spacing:-.01em;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.cookie h2 .i{color:var(--gold-ink)}
.cookie p{font-size:.88rem;color:var(--muted);line-height:1.55}
.cookie p a{color:var(--navy);text-decoration:underline;text-underline-offset:2px}
.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.cookie-actions .btn{min-height:44px;padding:0 12px;font-size:.88rem}
.cookie-settings-toggle{margin-top:10px;font-weight:700;font-size:.86rem;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.cookie-prefs{display:none;margin-top:14px;border-top:1px solid var(--line);padding-top:6px}
.cookie-prefs.open{display:block}
.pref{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.pref strong{display:block;font-size:.88rem;color:var(--abyss)}
.pref small{display:block;font-size:.78rem;color:var(--muted);line-height:1.4}
.switch{position:relative;width:44px;height:26px;flex:none}
.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.switch span{position:absolute;inset:0;border-radius:99px;background:#C9D5E3;transition:background-color .2s}
.switch span::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s var(--ease)}
.switch input:checked + span{background:var(--navy)}
.switch input:checked + span::after{transform:translateX(18px)}
.switch input:disabled + span{opacity:.6}
.switch input:focus-visible + span{outline:3px solid var(--gold);outline-offset:2px}
.cookie-save{margin-top:12px;width:100%}

/* Εμφάνιση στο scroll (ήπια) */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease), transform .7s var(--ease);transition-delay:calc(var(--d, 0) * 90ms)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- Κοινά components ---------- */
.checklist{display:grid;gap:12px;margin-top:24px}
.checklist li{display:flex;gap:12px;align-items:flex-start;font-weight:600;color:var(--abyss)}
.checklist .i{width:24px;height:24px;padding:4px;border-radius:50%;background:var(--sand-wash);color:var(--gold-ink);stroke-width:2.4;margin-top:-1px}
.quote{
  margin:28px 0 0;padding:4px 0 4px 22px;border-left:3px solid var(--gold);
  font-size:clamp(1.08rem, 1rem + .35vw, 1.25rem);font-weight:700;line-height:1.5;color:var(--abyss);max-width:34em;
}
.areas{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.area{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:99px;background:var(--tint);border:1px solid var(--line);font-weight:600;font-size:.88rem;color:var(--abyss)}
.area .i{width:16px;height:16px;color:var(--gold-ink)}
.area--home{background:var(--sand-wash);border-color:#F3D98F}

/* CTA box + λίστα επικοινωνίας */
.cta{padding-top:0}
.cta-box{
  position:relative;overflow:hidden;background:var(--navy);color:#D3DFEC;border-radius:clamp(22px, 3vw, 34px);
  padding:clamp(30px, 5vw, 68px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px, 5vw, 72px);align-items:center;
}
.cta-deco{position:absolute;right:-90px;top:-110px;width:360px;height:360px;pointer-events:none;opacity:.9}
.cta-deco path{fill:none;stroke-width:6}
.cta-box .h2{color:#fff;position:relative}
.cta-box .lead{color:#C2D2E4;position:relative}
.cta-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;position:relative}
.contact-list{position:relative;display:grid;gap:10px}
.contact-list a{
  display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:16px;background:rgba(0,18,37,.24);
  border:1px solid rgba(166,191,221,.18);transition:background-color .2s, border-color .2s;
}
.contact-list a:hover{background:rgba(0,18,37,.4);border-color:rgba(166,191,221,.4)}
.contact-list .ico{width:46px;height:46px;border-radius:13px;background:rgba(166,191,221,.14);color:#fff}
.contact-list .ico::after{display:none}
.contact-list small{display:block;font-size:.8rem;color:var(--sky);font-weight:600}
.contact-list strong{display:block;color:#fff;font-size:1.02rem;line-height:1.3;overflow-wrap:anywhere}

/* ---------- Responsive (κοινό) ---------- */
@media (max-width:1500px){
  .header-phone span{display:none}
  .brand-text{display:none}
}
@media (max-width:1320px){
  .main-nav,.header-phone{display:none}
  .header-actions{margin-left:auto}
  .menu-toggle{display:grid}
  .brand-text{display:block}
}
@media (max-width:1024px){
  .cta-box{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  :root{--header-h:70px}
  .header-cta{display:none}
  .brand img{height:40px}
  .brand-text span{display:none}
  .cta-btns .btn{flex:1 1 100%}
  .footer-grid{grid-template-columns:1fr;gap:36px;padding-top:60px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .cookie{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto}
  body.cookie-open .to-top{opacity:0;visibility:hidden}
  .to-top{width:52px;height:52px;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;transition-delay:0s !important}
  .js .reveal{opacity:1;transform:none}
}
