/* Καφενείο 34 — fictional demo mini site (design concept) */
:root{
  --cream:#f8f1e6; --cream2:#efe3d1; --paper:#fffaf2;
  --ink:#241812; --ink2:#57463b; --muted:#7d6a5c;
  --terra:#b8552f; --terra-d:#93401f; --olive:#5f6b4a; --gold:#c39a4b;
  --line:rgba(36,24,18,.13);
  --serif:Georgia,"Times New Roman","Iowan Old Style",serif;
  --sans:"Segoe UI",Inter,system-ui,-apple-system,sans-serif;
  --wrap:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:3px solid var(--terra);outline-offset:3px}
h1,h2,h3,p,dl,dd,dt,figure{margin:0}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(20px,4vw,44px)}
.kicker{font-size:.72rem;letter-spacing:.24em;font-weight:700;color:var(--terra)}
h1,h2,h3,.logo-txt,.foot-logo{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
h1{font-size:clamp(2.6rem,1.4rem+4.4vw,4.3rem);line-height:1.03}
h1 em{font-style:italic;color:var(--terra)}
h2{font-size:clamp(2rem,1.2rem+2.6vw,3.1rem);line-height:1.08}
.lead{font-size:clamp(1.02rem,.98rem+.2vw,1.12rem);color:var(--ink2);max-width:46ch}
.sec-head{display:grid;grid-template-columns:1fr .85fr;gap:clamp(18px,3vw,48px);align-items:end;margin-bottom:clamp(26px,3vw,40px)}
.sec-lead{color:var(--ink2);font-size:.98rem;border-left:1px solid var(--line);padding-left:clamp(14px,2vw,26px)}

/* header */
.site-head{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.site-head.scrolled{background:rgba(248,241,230,.92);backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(36,24,18,.08)}
.head-in{display:flex;align-items:center;gap:20px;height:84px}
.logo{display:flex;align-items:center;gap:10px}
.logo-dot{width:9px;height:9px;border-radius:50%;background:var(--terra)}
.logo-txt{font-size:1.06rem;letter-spacing:.13em}
.logo-txt b{color:var(--terra);font-weight:400}
.nav{margin-left:auto;display:flex;align-items:center;gap:26px}
.nav a{font-size:.9rem;font-weight:500;color:var(--ink2);transition:color .2s}
.nav a:hover{color:var(--terra)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;font-size:.9rem;font-weight:600;transition:transform .2s,background .2s,color .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn-terra{background:var(--terra);color:#fff8ef;box-shadow:0 12px 26px rgba(184,85,47,.28)}
.btn-terra:hover{background:var(--terra-d)}
.btn-line{border:1px solid rgba(36,24,18,.28);color:var(--ink)}
.btn-line:hover{background:rgba(36,24,18,.05)}
.btn-dark,.nav a.btn-dark{background:var(--ink);color:var(--cream);padding:10px 18px}
.btn-dark:hover{background:#3a2a21}
.burger{display:none;width:42px;height:42px;margin-left:auto;border:1px solid var(--line);border-radius:10px;position:relative}
.burger span{position:absolute;left:50%;translate:-50% 0;width:17px;height:1.6px;background:var(--ink);transition:transform .3s}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:23px}
.nav-open .burger span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.nav-open .burger span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}

/* hero */
.hero{padding-top:calc(84px + clamp(28px,4vw,56px));padding-bottom:0}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(28px,4vw,60px);align-items:center}
.hero-copy{display:grid;gap:18px;justify-items:start}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.hero-facts{display:flex;gap:26px;margin-top:16px;padding-top:18px;border-top:1px solid var(--line);width:100%}
.hero-facts li{display:grid;gap:1px}
.hero-facts b{font-size:.86rem;font-weight:700}
.hero-facts span{font-size:.78rem;color:var(--muted)}
.hero-media{position:relative}
.hero-photo{border-radius:180px 180px 24px 24px;overflow:hidden;box-shadow:0 30px 60px rgba(36,24,18,.22)}
.hero-photo img{width:100%;height:clamp(380px,42vw,520px);object-fit:cover}
.float-card{position:absolute;left:-18px;bottom:26px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 18px;box-shadow:0 18px 40px rgba(36,24,18,.16);display:grid;gap:2px;min-width:190px}
.fc-label{font-size:.6rem;letter-spacing:.22em;color:var(--terra);font-weight:700}
.float-card strong{font-family:var(--serif);font-size:1.18rem;font-weight:400}
.float-card em{font-style:normal;font-size:.74rem;color:var(--muted)}
.hero-tag{position:absolute;right:16px;top:18px;background:rgba(36,24,18,.82);color:#fdf6ea;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;padding:7px 12px;border-radius:999px;backdrop-filter:blur(6px)}

/* marquee */
.marquee{margin-top:clamp(30px,4vw,52px);border-block:1px solid var(--line);overflow:hidden;background:var(--cream2)}
.marquee-track{display:flex;align-items:center;gap:26px;padding:14px 0;white-space:nowrap;width:max-content;animation:slide 34s linear infinite}
.marquee-track span{font-size:.74rem;letter-spacing:.28em;font-weight:700;color:var(--ink2)}
.marquee-track i{width:5px;height:5px;border-radius:50%;background:var(--terra);display:block}
@keyframes slide{to{transform:translateX(-50%)}}

/* story */
.story{padding-block:clamp(60px,7vw,110px)}
.story-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(26px,4vw,64px);align-items:center}
.story-photo{border-radius:22px;overflow:hidden;box-shadow:0 26px 50px rgba(36,24,18,.16)}
.story-photo img{width:100%;height:clamp(340px,40vw,480px);object-fit:cover}
.story-copy{display:grid;gap:16px}
.features{display:grid;gap:14px;margin-top:8px}
.features li{display:flex;gap:14px;padding-top:14px;border-top:1px solid var(--line)}
.f-ico{font-family:var(--serif);font-size:1.05rem;color:var(--terra);min-width:30px}
.features b{font-size:.94rem}
.features p{font-size:.84rem;color:var(--muted);margin-top:2px}

/* menu */
.menu{padding-block:clamp(54px,6vw,92px);background:var(--paper);border-block:1px solid var(--line)}
.tabs{display:flex;gap:8px;margin-bottom:26px;flex-wrap:wrap}
.tabs button{padding:9px 18px;border-radius:999px;border:1px solid var(--line);font-size:.86rem;font-weight:600;color:var(--ink2);transition:all .2s}
.tabs button[aria-selected="true"]{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,26px)}
.menu-grid[hidden]{display:none}
.dish{display:grid;grid-template-columns:84px 1fr auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fffdf8;transition:transform .2s,box-shadow .2s}
.dish:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(36,24,18,.09)}
.dish img{width:84px;height:84px;object-fit:cover;border-radius:11px}
.dish h3{font-size:1.02rem;font-weight:400}
.dish p{font-size:.78rem;color:var(--muted);margin-top:2px}
.price{font-family:var(--serif);font-size:1rem;color:var(--terra);white-space:nowrap}

/* space */
.space{padding-block:clamp(58px,7vw,100px)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:220px 220px;gap:14px}
.gallery figure{overflow:hidden;border-radius:16px;box-shadow:0 14px 30px rgba(36,24,18,.12)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gallery figure:hover img{transform:scale(1.04)}
.g1{grid-column:span 2;grid-row:span 2}
.g2{grid-column:span 2}
.g3{grid-column:span 1}
.g4{grid-column:span 1}
.g5{display:none}

/* visit */
.visit{padding-block:clamp(56px,7vw,100px);background:var(--cream2);border-top:1px solid var(--line)}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.visit-copy{display:grid;gap:18px;justify-items:start}
.visit-list{display:grid;gap:0;width:100%}
.visit-list>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line)}
.visit-list dt{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-self:center}
.visit-list dd{font-size:.92rem;text-align:right}
.map-card{position:relative;aspect-ratio:4/3;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(160deg,#e7dcc9,#d8c9b1);box-shadow:0 24px 50px rgba(36,24,18,.14)}
.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(36,24,18,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(36,24,18,.07) 1px,transparent 1px);background-size:38px 38px}
.map-card::before{content:"";position:absolute;left:-10%;top:35%;width:120%;height:16px;background:rgba(255,253,248,.65);transform:rotate(-8deg)}
.map-card::after{content:"";position:absolute;left:22%;top:-10%;width:14px;height:120%;background:rgba(255,253,248,.55);transform:rotate(7deg)}
.map-pin{position:absolute;left:50%;top:46%;translate:-50% -50%;width:22px;height:22px;border-radius:50% 50% 50% 0;background:var(--terra);transform:rotate(-45deg);box-shadow:0 6px 14px rgba(184,85,47,.45)}
.map-pin::after{content:"";position:absolute;inset:6px;background:var(--cream);border-radius:50%}
.map-label{position:absolute;left:50%;top:52%;translate:-50% 0;background:var(--paper);border:1px solid var(--line);padding:6px 12px;border-radius:999px;font-size:.72rem;font-weight:600;box-shadow:0 8px 18px rgba(36,24,18,.12)}
.map-note{position:absolute;left:14px;bottom:12px;font-size:.66rem;color:var(--muted);background:rgba(255,250,242,.8);padding:4px 8px;border-radius:6px}

/* footer */
.site-foot{background:var(--ink);color:#e9dccb;padding-block:34px}
.foot-in{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.foot-logo{font-size:1.02rem;letter-spacing:.13em}
.foot-logo b{color:var(--gold);font-weight:400}
.foot-in p{font-size:.78rem;color:#b9a896}
.foot-links{display:flex;gap:18px;font-size:.82rem}
.foot-links a:hover{color:var(--gold)}
.foot-note{width:100%;border-top:1px solid rgba(233,220,203,.15);padding-top:14px;font-size:.72rem}

@media (max-width:1000px){
  .hero-grid,.story-grid,.visit-grid{grid-template-columns:1fr}
  .hero-media{order:-1;max-width:520px}
  .sec-head{grid-template-columns:1fr}
  .sec-lead{border-left:0;padding-left:0}
  .gallery{grid-template-rows:180px 180px}
}
@media (max-width:780px){
  .nav{position:fixed;inset:84px 0 auto;background:var(--cream);flex-direction:column;align-items:flex-start;gap:0;padding:14px 24px 24px;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(36,24,18,.12);display:none}
  .nav-open .nav{display:flex}
  .nav a{width:100%;padding:13px 0;border-bottom:1px solid var(--line)}
  .nav .btn-dark{width:100%;justify-content:center;margin-top:12px;border-bottom:0}
  .burger{display:block}
  .menu-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:170px 170px 170px}
  .g1{grid-column:span 2;grid-row:span 1}
  .g2{grid-column:span 2}
  .g3,.g4{grid-column:span 1}
  .g5{display:block;grid-column:span 2}
  .hero-photo{border-radius:120px 120px 20px 20px}
  .dish{grid-template-columns:70px 1fr auto;gap:11px}
  .dish img{width:70px;height:70px}
  .hero-facts{gap:18px}
  .visit-list>div{flex-direction:column;gap:2px}
  .visit-list dd{text-align:left}
}
@media (max-width:480px){
  body{font-size:16px}
  .head-in{height:72px}
  .nav{inset:72px 0 auto}
  .hero{padding-top:calc(72px + 24px)}
  .hero-tag{display:none}
  .float-card{left:8px;bottom:12px}
  .gallery{grid-template-rows:150px 150px 150px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
