/* ΦΛΠΣ — σκούρο, γυάλινο, με τα χρώματα του χώρου */
:root{
  --bg:#191816;        /* νύχτα */
  --bg-2:#23211e;      /* επιφάνειες */
  --bg-3:#2d2a26;
  --text:#efe7d6;      /* πέτρα */
  --muted:#b3ab9b;
  --line:rgba(239,231,214,.14);
  --rose:#cf8a75;      /* ροζ τοίχοι */
  --sage:#93b08f;      /* πράσινα δοκάρια */
  --mustard:#eab332;   /* κίτρινα σκαμπό */
  --slate:#7c98a2;     /* κουφώματα */
  --ink:#191816;
  --glass:rgba(25,24,22,.62);
  --ease:cubic-bezier(.7,0,.2,1);
  --ff:"Commissioner","Segoe UI",system-ui,-apple-system,sans-serif;
  --wrap:76rem;
  --r:1.25rem;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg);color-scheme:dark}
body{
  margin:0;min-height:100svh;display:flex;flex-direction:column;
  background:var(--bg);color:var(--text);
  font-family:var(--ff);font-size:1.0625rem;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
main{flex:1}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
:focus-visible{outline:2px solid var(--mustard);outline-offset:3px;border-radius:.4rem}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.skip{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--mustard);color:var(--ink);padding:.6rem 1rem;border-radius:2rem;font-weight:700}
.skip:focus{top:1rem}

/* κόκκος σαν φιλμ, πάνω από όλη τη σελίδα */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* φως που ακολουθεί τον κέρσορα (μόνο με ποντίκι) */
@media (pointer:fine){
  body::before{
    content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
    background:radial-gradient(38rem circle at var(--mx,50%) var(--my,-20%),rgba(234,179,50,.075),transparent 60%);
  }
}
main,.foot{position:relative;z-index:1}

/* ---------- λογότυπα (χρωματίζονται με mask) ---------- */
.logo-mark,.slogan,.cross-mark{display:block;background:currentColor}
.logo-mark{width:5.5rem;aspect-ratio:121.4/29;-webkit-mask:url(images/logo.svg) no-repeat center/contain;mask:url(images/logo.svg) no-repeat center/contain}
.slogan{width:min(22rem,72vw);aspect-ratio:235.2/27.2;-webkit-mask:url(images/slogan.svg) no-repeat center/contain;mask:url(images/slogan.svg) no-repeat center/contain}
.slogan--small{width:13rem}
.cross-mark{width:2.25rem;aspect-ratio:1;-webkit-mask:url(images/cross.svg) no-repeat center/contain;mask:url(images/cross.svg) no-repeat center/contain}

/* ---------- ασπρόμαυρο δάπεδο ---------- */
.checker{height:1.75rem;background:repeating-conic-gradient(var(--text) 0 25%,var(--ink) 0 50%) 0 0/1.75rem 1.75rem;opacity:.9}

/* ---------- κουμπιά ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:700;font-size:1rem;
  padding:.85rem 1.45rem;border-radius:3rem;border:1.5px solid var(--mustard);
  background:var(--mustard);color:var(--ink);
  transition:transform .2s var(--ease),box-shadow .2s,background .2s,color .2s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(234,179,50,.7)}
.btn:active{transform:translateY(0) scale(.98)}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--text);box-shadow:none}
.btn--big{font-size:1.15rem;padding:1.1rem 1.9rem}
.btn__icon{width:1.3em;height:1.3em}

/* ---------- κεφαλίδα: γυάλινη μπάρα ---------- */
.top{position:fixed;top:0;left:0;right:0;z-index:50;padding:.75rem clamp(.75rem,3vw,1.5rem);pointer-events:none;view-transition-name:site-header}
.top__bar{
  pointer-events:auto;max-width:var(--wrap);margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.55rem .6rem .55rem 1.25rem;border-radius:3rem;position:relative;
}
/* το γυαλί μπαίνει σε ξεχωριστό στρώμα ώστε το μενού του κινητού να καλύπτει όλη την οθόνη */
.top__bar::before{
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:var(--glass);border:1px solid var(--line);
  -webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);
}
.top__logo{display:block;color:var(--text);padding-block:.3rem}
.top__nav{display:flex;align-items:center;gap:.25rem}
.top__nav a{text-decoration:none;font-weight:500;font-size:.95rem;padding:.5rem .95rem;border-radius:2rem;color:var(--muted);transition:color .2s,background .2s}
.top__nav a:hover{color:var(--text);background:rgba(239,231,214,.07)}
.top__nav a[aria-current="page"]{color:var(--ink);background:var(--text);view-transition-name:nav-active}
.top__nav .top__shop{margin-left:.35rem;background:var(--mustard);color:var(--ink);font-weight:700}
.top__nav .top__shop:hover{background:var(--text);color:var(--ink)}
.top__nav .top__shop[aria-current="page"]{background:var(--text)}
.top__toggle{display:none;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;color:var(--text);place-items:center}
.top__burger,.top__burger::before{display:block;width:1.1rem;height:2px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease)}
.top__burger{position:relative;transform:translateY(-3px)}
.top__burger::before{content:"";position:absolute;top:6px}
.nav-open .top__burger{transform:translateY(0) rotate(45deg)}
.nav-open .top__burger::before{transform:translateY(-6px) rotate(-90deg)}

@media (max-width:56rem){
  .top__toggle{display:grid}
  .top__nav{
    position:fixed;inset:0;z-index:-1;flex-direction:column;align-items:flex-start;justify-content:center;gap:.4rem;
    padding:6rem 1.75rem 3rem;background:rgba(25,24,22,.94);
    -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
    clip-path:inset(0 0 100% 0);transition:clip-path .55s var(--ease);
  }
  .nav-open .top__nav{clip-path:inset(0 0 0 0)}
  .top__nav a{font-size:clamp(2rem,9vw,3rem);font-weight:900;letter-spacing:-.02em;padding:.2rem 1rem;color:var(--text)}
  .top__nav .top__shop{margin:1rem 0 0}
  .nav-open{overflow:hidden}
}

/* ---------- κεφαλίδα υποσελίδας ---------- */
.phead{padding-top:clamp(8rem,16vw,11rem);padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.phead__title{
  margin:0;font-weight:900;letter-spacing:-.045em;line-height:.9;
  font-size:clamp(3.4rem,13vw,10rem);
  background:linear-gradient(100deg,var(--text) 30%,var(--mustard) 55%,var(--rose) 80%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.phead__lead{margin-top:1.4rem;max-width:36rem;font-size:clamp(1.1rem,2vw,1.3rem);color:var(--muted)}

.h2{font-weight:900;font-size:clamp(2.4rem,6vw,4.4rem);line-height:.95;letter-spacing:-.035em;margin:0 0 2rem}

/* ---------- ΑΡΧΙΚΗ: hero ---------- */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:heroZoom 2.4s var(--ease) both}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,24,22,.35) 0%,rgba(25,24,22,0) 30%,rgba(25,24,22,.25) 55%,var(--bg) 100%)}
.hero__content{position:relative;padding-bottom:clamp(2.5rem,7vw,5rem);display:grid;gap:1.25rem;justify-items:start}
.hero__logo{width:min(46rem,86vw);color:var(--text);animation:rise 1s .35s var(--ease) both}
.hero__slogan{color:var(--mustard);animation:rise 1s .55s var(--ease) both}
.hero .status{animation:rise 1s .75s var(--ease) both}
@keyframes heroZoom{from{transform:scale(1.12);filter:brightness(.4)}}
@keyframes rise{from{opacity:0;transform:translateY(24px);clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 -20% 0)}}

/* ένδειξη ανοιχτά / κλειστά */
.status{
  display:inline-flex;align-items:center;gap:.6rem;font-weight:500;font-size:.95rem;
  padding:.5rem 1rem .5rem .85rem;border-radius:2rem;border:1px solid var(--line);background:var(--glass);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.status__dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--muted)}
.status.is-open .status__dot{background:#7fd99a;box-shadow:0 0 0 0 rgba(127,217,154,.6);animation:pulse 2s infinite}
.status.is-closed .status__dot{background:var(--rose)}
@keyframes pulse{70%{box-shadow:0 0 0 .6rem rgba(127,217,154,0)}100%{box-shadow:0 0 0 0 rgba(127,217,154,0)}}

/* ιστορία σαν χρονολόγιο */
.story{padding-block:clamp(5rem,11vw,9rem);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.story__title{margin:0;font-weight:900;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.02;letter-spacing:-.03em;position:sticky;top:7rem}
.timeline{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.timeline li{position:relative;padding:0 0 2.75rem 2rem}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:-.4rem;top:.55rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--bg);border:2px solid var(--mustard)}
.timeline li:last-child::before{background:var(--mustard)}
.timeline__when{font-weight:900;font-size:1.6rem;letter-spacing:-.02em;color:var(--mustard);margin-bottom:.5rem;line-height:1.2}
.timeline p:not(.timeline__when){color:var(--muted);max-width:40rem}
@media (max-width:52rem){.story{grid-template-columns:1fr}.story__title{position:static}}

/* ο χώρος */
.space{padding-bottom:clamp(4rem,9vw,7rem)}
.gallery{display:grid;gap:.75rem;grid-template-columns:2fr 1fr;margin-bottom:2rem}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--r)}
.g1{grid-column:1;grid-row:1;aspect-ratio:16/9}
.g2{grid-column:2;grid-row:1/3}
.g3{grid-column:1;grid-row:2;aspect-ratio:16/9;object-position:center 60%}
@media (max-width:40rem){.gallery{grid-template-columns:1fr}.g1,.g2,.g3{grid-column:1;grid-row:auto}.g2{aspect-ratio:4/5}}

/* κάρτες προς τις άλλες σελίδες */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding-bottom:clamp(4rem,9vw,7rem)}
.tile{
  position:relative;overflow:hidden;min-height:22rem;border-radius:var(--r);text-decoration:none;
  display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;
  background:var(--bg-2);border:1px solid var(--line);isolation:isolate;
}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease),filter .6s;filter:brightness(.55) saturate(.9)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 35%,rgba(25,24,22,.85))}
.tile__name{font-weight:900;font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.03em;line-height:1}
.tile__desc{color:var(--muted);margin-top:.4rem;transition:color .3s}
.tile:hover img{transform:scale(1.07);filter:brightness(.7) saturate(1.1)}
.tile:hover .tile__desc{color:var(--text)}
.tile:hover{border-color:rgba(239,231,214,.35)}
.tile--shop{background:radial-gradient(circle at 50% 35%,rgba(234,179,50,.35),transparent 60%),var(--bg-2)}
.tile .tile__bag{position:absolute;top:12%;left:50%;width:34%;translate:-50% 0;transition:transform .6s var(--ease)}
.tile--shop:hover .tile__bag{transform:translateY(-8px) rotate(-5deg)}
@media (max-width:52rem){.tiles{grid-template-columns:1fr}.tile{min-height:15rem}.tile .tile__bag{width:22%;top:10%;left:auto;right:8%;translate:0 0}}

/* ---------- ΚΑΤΑΛΟΓΟΣ ---------- */
.menu{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center;padding-bottom:clamp(5rem,10vw,8rem)}
.menu__cover{display:block;perspective:1200px}
.menu__cover img{
  width:100%;border-radius:.75rem;box-shadow:0 40px 80px -30px rgba(0,0,0,.8),0 0 0 1px var(--line);
  transform:rotateY(-10deg) rotateX(4deg);transition:transform .7s var(--ease);
}
.menu__cover:hover img{transform:rotateY(0) rotateX(0) scale(1.02)}
.menu__actions{display:grid;gap:1rem;justify-items:start}
.menu__note{color:var(--muted);font-size:.9rem}
@media (max-width:52rem){.menu{grid-template-columns:1fr}.menu__cover img{transform:none}}

/* ---------- Ο ΚΑΦΕΣ ΜΑΣ ---------- */
.coffee{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.coffee__text{display:grid;gap:1.1rem;max-width:36rem}
.coffee__text p{color:var(--muted)}
.coffee__big{color:var(--text)!important;font-weight:700;font-size:clamp(1.4rem,2.6vw,1.95rem);line-height:1.25;letter-spacing:-.015em}
.coffee__img{margin:0}
.coffee__img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
@media (max-width:52rem){.coffee{grid-template-columns:1fr}.coffee__img img{aspect-ratio:4/3}}

.spec{padding-block:clamp(4rem,8vw,6rem);display:grid;gap:2rem;justify-items:start}
.spec__list{margin:0;width:100%;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.spec__list div{padding:1.25rem 1.25rem 1.25rem 0;border-bottom:1px solid var(--line)}
.spec__list dt{color:var(--muted);font-size:.9rem}
.spec__list dd{margin:.25rem 0 0;font-weight:700;font-size:1.2rem;line-height:1.3}
@media (max-width:52rem){.spec__list{grid-template-columns:1fr 1fr}}

/* ---------- SHOP ---------- */
.shop{padding-bottom:clamp(5rem,10vw,8rem)}
.products{list-style:none;margin:0 0 2.5rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.75rem}
.product{
  display:flex;flex-direction:column;gap:.6rem;padding:1.25rem 1.25rem 1.5rem;border-radius:var(--r);
  background:var(--bg-2);border:1px solid var(--line);transition:border-color .3s,transform .4s var(--ease);
}
.product:hover{border-color:rgba(239,231,214,.35);transform:translateY(-4px)}
.product__stage{
  display:grid;place-items:center;aspect-ratio:1;border-radius:calc(var(--r) - .35rem);margin-bottom:.75rem;
  background:radial-gradient(circle at 50% 40%,rgba(239,231,214,.1),transparent 65%),var(--bg-3);
}
.product__stage .bag{width:46%;transition:transform .6s var(--ease)}
.product:hover .bag{transform:translateY(-6px) rotate(-4deg)}
.product__name{margin:0;font-size:1.35rem;font-weight:900;letter-spacing:-.02em;line-height:1.2}
.product__name span{display:block;font-weight:500;font-size:1rem;color:var(--muted);letter-spacing:0}
.product__desc{color:var(--muted);flex:1}
.product__buy{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem}
.product__price{font-weight:900;font-size:1.5rem;font-variant-numeric:tabular-nums}

/* σακουλάκι καφέ (σχέδιο με CSS) */
.bag{
  position:relative;display:grid;place-items:center;aspect-ratio:3/4;padding:18% 12% 12%;
  border-radius:.5rem .5rem .9rem .9rem;color:var(--ink);
  box-shadow:inset 0 -1.2rem 2rem -1rem rgba(0,0,0,.35),inset .8rem 0 1.2rem -1rem rgba(255,255,255,.4),0 1.5rem 2.5rem -1rem rgba(0,0,0,.6);
}
.bag::before{content:"";position:absolute;top:0;left:0;right:0;height:11%;border-radius:.5rem .5rem 0 0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 2px,transparent 2px 6px)}
.bag--big{width:54%!important}
.bag--rose{background:var(--rose)}
.bag--sage{background:var(--sage)}
.bag--mustard{background:var(--mustard)}
.bag__label{display:grid;justify-items:center;gap:.2rem;width:100%;padding:12% 6%;background:var(--text);border-radius:.3rem;text-align:center;line-height:1.1}
.bag__label .logo-mark{width:62%}
.bag__label strong{font-size:clamp(.55rem,1.1vw,.8rem);font-weight:900}
.bag__label small{font-size:clamp(.45rem,.8vw,.62rem);opacity:.7}

.perks{list-style:none;margin:0 0 2rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.perks li{padding:1.25rem;border-radius:var(--r);border:1px solid var(--line);color:var(--muted)}
.perks strong{display:block;color:var(--text);font-size:1.1rem}
@media (max-width:52rem){.perks{grid-template-columns:1fr}}

.merch{
  display:flex;align-items:center;gap:1.25rem;text-decoration:none;padding:1.5rem;border-radius:var(--r);
  background:linear-gradient(110deg,var(--rose),#b86f5b);color:var(--ink);transition:transform .4s var(--ease)
}
.merch:hover{transform:translateY(-3px)}
.merch strong{display:block;font-size:1.3rem;font-weight:900}

/* ---------- ΒΡΕΣ ΜΑΣ ---------- */
.visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:.75rem;padding-bottom:clamp(5rem,10vw,8rem)}
.visit__info{display:grid;gap:.75rem;align-content:start}
.card{display:grid;gap:.6rem;justify-items:start;padding:1.5rem;border-radius:var(--r);background:var(--bg-2);border:1px solid var(--line)}
.card__label{color:var(--muted);font-size:.9rem}
.card__big{font-weight:900;font-size:clamp(2.4rem,5vw,3.4rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.card__addr{font-style:normal;font-size:1.25rem;font-weight:500;line-height:1.4;margin-bottom:.4rem}
.contact{list-style:none;margin:0;padding:0 1.5rem;border-radius:var(--r);border:1px solid var(--line)}
.contact li{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;flex-wrap:wrap;padding:1rem 0;border-bottom:1px solid var(--line)}
.contact li:last-child{border-bottom:0}
.contact span{color:var(--muted);font-size:.9rem}
.contact a{font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.contact a:hover{color:var(--mustard)}
.visit__map{width:100%;height:100%;min-height:26rem;border:0;border-radius:var(--r);filter:invert(.9) hue-rotate(180deg) saturate(.4) contrast(.9)}
@media (max-width:52rem){.visit{grid-template-columns:1fr}}

/* ---------- υποσέλιδο ---------- */
.foot{margin-top:auto}
.foot__inner{display:grid;grid-template-columns:auto 1fr;gap:2rem 4rem;padding-block:3rem 2rem}
.foot__brand{display:grid;gap:1rem;color:var(--mustard);align-content:start}
.foot__cols{font-style:normal;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1.25rem}
.foot__cols span{display:block;color:var(--muted);font-size:.85rem}
.foot__cols a{text-decoration:none}
.foot__cols a:hover{color:var(--mustard)}
.foot__copy{grid-column:1/-1;color:var(--muted);font-size:.85rem;padding-top:1.5rem;border-top:1px solid var(--line)}
@media (max-width:40rem){.foot__inner{grid-template-columns:1fr}}

/* ---------- ΜΕΤΑΒΑΣΗ ΑΠΟ ΣΕΛΙΔΑ ΣΕ ΣΕΛΙΔΑ ---------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .5s var(--ease) both}
::view-transition-new(root){animation:vt-in .75s var(--ease) both}
::view-transition-group(nav-active){animation-duration:.5s;animation-timing-function:var(--ease)}
@keyframes vt-out{to{opacity:0;transform:translateY(-3%) scale(.97);filter:blur(8px)}}
@keyframes vt-in{from{clip-path:inset(100% 0 0 0);transform:translateY(8%)}to{clip-path:inset(0 0 0 0);transform:none}}

/* για browsers χωρίς view transitions */
.js-leaving main,.js-leaving .foot{opacity:0;transform:translateY(-1.5rem);filter:blur(6px);transition:all .35s var(--ease)}
.js-entering main{animation:vt-in .7s var(--ease) both}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after,::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important;transition:none!important}
}

/* η κάρτα του καταλόγου δείχνει όλο το εξώφυλλο */
.tile--menu{background:#2e4ca6}
.tile--menu img{object-fit:contain;object-position:center 18%;inset:0 0 auto;height:72%;filter:none}
.tile--menu:hover img{transform:scale(1.04);filter:none}
.tile--menu::after{background:linear-gradient(180deg,transparent 50%,rgba(25,24,22,.75))}
