/* ============================================================
   Menoo — site design system v2 («Option 2»)
   Ζεστό χαρτί + μελάνι + terracotta accent, στη γλώσσα του editor.
   Fraunces (display, με italic accent) + Inter (body).
   ============================================================ */
:root{
  --paper:#FFFDF9; --cream:#FAF6EF; --canvas:#F3EEE4; --card:#FFFFFF;
  --ink:#2C2823; --soft-ink:#575147; --muted:#948C80;
  --line:#E7E1D6; --line-strong:#DAD2C4;
  --terra:#B4472F; --terra-dark:#96371F; --terra-soft:#F7EAE6;
  --green:#37564A; --green-soft:#E8EFEA;
  --brass:#B0803A;
  --radius:16px; --radius-sm:10px;
  --shadow:0 1px 2px rgba(40,36,30,.05), 0 10px 30px rgba(40,36,30,.07);
  --shadow-lift:0 6px 14px rgba(40,36,30,.10), 0 24px 60px rgba(40,36,30,.14);
  --font-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body:'Inter', -apple-system, 'Segoe UI', 'Noto Sans', sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-body);
  font-size:15px; line-height:1.65; -webkit-font-smoothing:antialiased}
a{color:var(--terra)}
img{max-width:100%}
:focus-visible{outline:2px solid var(--terra); outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

h1,h2,h3{font-family:var(--font-display); font-weight:500; letter-spacing:.005em; line-height:1.2}
.accent-line{font-style:italic; color:var(--terra)}
.menu-rule{border-bottom:1px solid var(--line); position:relative}

/* ── Layout ── */
.wrap{max-width:1100px; margin:0 auto; padding:0 1.5rem}
.section{padding:4.75rem 0}
.section-soft{background:var(--cream)}
.section-title{text-align:center; max-width:620px; margin:0 auto 2.5rem}
.section-title h2{font-size:clamp(26px,3.4vw,36px); margin:0 0 .6rem}
.section-title p{color:var(--muted); margin:0}

/* ── Header ── */
.site-header{background:rgba(255,253,249,.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line); height:64px; display:flex; align-items:center;
  justify-content:space-between; padding:0 1.4rem; gap:.75rem; position:sticky; top:0; z-index:1000}
.site-logo{font-family:var(--font-display); font-size:23px; font-weight:600; color:var(--ink);
  text-decoration:none; letter-spacing:.01em; flex-shrink:0}
.site-logo span{color:var(--terra)}
.site-nav{display:flex; list-style:none; margin:0; padding:0; align-items:center; gap:.25rem}
.site-nav>li>a{display:flex; align-items:center; height:64px; padding:0 .95rem; color:var(--soft-ink);
  text-decoration:none; font-size:13.5px; font-weight:500; letter-spacing:.04em; border-bottom:2px solid transparent}
.site-nav>li>a:hover{color:var(--ink)}
.site-nav>li>a.active{color:var(--ink); border-bottom-color:var(--terra)}
.header-right{display:flex; align-items:center; gap:.6rem}

/* dropdowns */
.dropdown{position:relative}
.drop-btn{border:1px solid var(--line-strong); background:var(--paper); border-radius:999px;
  font:inherit; font-size:13px; font-weight:500; color:var(--soft-ink); padding:7px 13px; cursor:pointer}
.drop-btn:hover{border-color:var(--muted)}
.drop-menu{display:none; position:absolute; right:0; top:calc(100% + 8px); background:var(--card);
  border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow-lift); min-width:190px;
  max-height:60vh; overflow:auto; padding:.4rem; z-index:1200}
.drop-menu.open{display:block}
.drop-menu a{display:flex; gap:.55rem; align-items:center; padding:.5rem .7rem; border-radius:8px;
  color:var(--ink); text-decoration:none; font-size:13.5px}
.drop-menu a:hover{background:var(--cream)}
.drop-menu a.active{background:var(--green-soft); color:var(--green)}
.drop-menu a.danger{color:var(--terra)}

/* ── Buttons ── */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
  border-radius:999px; padding:.72rem 1.5rem; font:inherit; font-size:14px; font-weight:600;
  text-decoration:none; cursor:pointer; border:1px solid transparent; transition:background .15s, transform .1s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--terra); color:#fff}
.btn-primary:hover{background:var(--terra-dark)}
.btn-outline{background:var(--paper); color:var(--ink); border-color:var(--line-strong)}
.btn-outline:hover{border-color:var(--muted)}
.btn-ghost{background:transparent; color:var(--soft-ink)}
.btn-ghost:hover{color:var(--ink)}
.btn-sm{padding:.5rem 1.05rem; font-size:13px}
.btn-lg{padding:.85rem 1.9rem; font-size:15px}
.btn-block{width:100%}

/* ── Hero ── */
.hero{padding:4.5rem 0 4rem; background:
  radial-gradient(900px 460px at 85% -10%, #F5EFE3 0%, rgba(245,239,227,0) 62%), var(--paper)}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:3.5rem; align-items:center}
.eyebrow{font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--brass); margin-bottom:1rem}
.hero h1{font-size:clamp(34px,4.6vw,52px); margin:0 0 .35rem}
.hero .hero-tag{font-family:var(--font-display); font-style:italic; font-size:clamp(24px,3.2vw,34px); color:var(--terra); margin:0 0 1.1rem}
.hero p.hero-desc{color:var(--soft-ink); font-size:16px; max-width:46ch; margin:0 0 1.6rem}
.hero-actions{display:flex; gap:.8rem; flex-wrap:wrap; margin-bottom:1.1rem}
.hero-note{display:flex; gap:1.2rem; flex-wrap:wrap; font-size:12.5px; color:var(--muted); margin:0}
.hero-note span::before{content:"✓ "; color:var(--green); font-weight:700}

/* hero visual: table tent + phone */
.hero-visual{position:relative; min-height:380px}
.tent-card{position:absolute; left:6%; top:8%; width:230px; background:var(--card);
  border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-lift);
  padding:1.4rem 1.2rem 1.2rem; text-align:center; transform:rotate(-2.5deg)}
.tent-eyebrow{font-size:9.5px; letter-spacing:.22em; color:var(--muted); text-transform:uppercase; margin-bottom:.35rem}
.tent-name{font-family:var(--font-display); font-size:19px; font-weight:600; margin-bottom:.9rem}
.tent-qr{width:118px; height:118px; margin:0 auto .8rem; color:var(--ink)}
.tent-scan{font-family:var(--font-display); font-style:italic; font-size:13px; color:var(--soft-ink)}
.phone{position:absolute; right:4%; top:0; width:220px; background:#141312; border-radius:30px;
  padding:10px; box-shadow:var(--shadow-lift); transform:rotate(2deg)}
.phone-screen{background:var(--paper); border-radius:22px; overflow:hidden; padding:1rem .9rem 1.1rem}
.phone-name{font-family:var(--font-display); font-size:14.5px; font-weight:600; text-align:center; margin-bottom:.7rem}
.phone-cat{font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--terra); font-weight:600;
  border-bottom:1px solid var(--line); padding-bottom:.3rem; margin:.7rem 0 .5rem}
.phone-row{display:flex; justify-content:space-between; gap:.6rem; font-size:11.5px; padding:.28rem 0}
.phone-row .n{font-weight:600}
.phone-row .d{color:var(--muted); font-size:10px; display:block; margin-top:1px}
.phone-row .p{font-weight:600; white-space:nowrap}

/* ── Feature strip (4 mini) ── */
.strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--cream)}
.strip-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; padding:1.4rem 0}
.strip-item{display:flex; gap:.8rem; align-items:flex-start}
.strip-item svg{width:26px; height:26px; color:var(--terra); flex-shrink:0; margin-top:2px}
.strip-item strong{display:block; font-size:13.5px; font-weight:600}
.strip-item small{color:var(--muted); font-size:12px}

/* ── How it works ── */
.steps{display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:1.1rem; align-items:stretch}
.step{background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:1.8rem 1.4rem; text-align:center}
.step-num{width:34px; height:34px; border-radius:50%; background:var(--terra-soft); color:var(--terra);
  font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; margin:0 auto .9rem}
.step svg{width:34px; height:34px; color:var(--soft-ink); margin-bottom:.7rem}
.step h3{font-size:17px; margin:0 0 .4rem}
.step p{color:var(--muted); font-size:13.5px; margin:0}
.step-arrow{align-self:center; color:var(--line-strong); font-size:22px}

/* ── Editor showcase ── */
.show-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:3rem; align-items:center}
.show-copy h2{font-size:clamp(24px,3vw,32px); margin:0 0 .8rem}
.show-copy>p{color:var(--soft-ink); margin:0 0 1.4rem}
.show-list{list-style:none; margin:0 0 1.6rem; padding:0}
.show-list li{padding:.42rem 0 .42rem 1.8rem; position:relative; font-size:14.5px}
.show-list li::before{content:"✓"; position:absolute; left:0; top:.42rem; color:var(--green); font-weight:700}
.show-mock{background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow-lift); padding:1.4rem 1.5rem}
.mock-toolbar{display:flex; align-items:center; gap:.5rem; padding-bottom:.9rem; border-bottom:1px solid var(--line); margin-bottom:1rem}
.mock-dot{width:9px; height:9px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px var(--green-soft)}
.mock-title{font-family:var(--font-display); font-weight:600; font-size:14.5px}
.mock-pill{margin-left:auto; font-size:11px; font-weight:600; color:var(--green); background:var(--green-soft);
  border-radius:999px; padding:4px 10px}
.mock-cat{font-family:var(--font-display); font-weight:600; color:#B0562F; background:#F7E9E1;
  border-radius:9px; padding:.5rem .8rem; font-size:14px; margin-bottom:.6rem; border-bottom:2px solid #B0562F}
.mock-row{display:flex; align-items:center; gap:.8rem; padding:.55rem .35rem; border-bottom:1px dashed var(--line)}
.mock-row:last-child{border-bottom:0}
.mock-grip{color:var(--line-strong); font-size:14px; letter-spacing:-1px}
.mock-thumb{width:34px; height:34px; border-radius:8px; flex-shrink:0}
.mock-row .mn{font-weight:600; font-size:13.5px}
.mock-row .md{color:var(--muted); font-size:11.5px}
.mock-row .mp{margin-left:auto; font-weight:600; font-size:13.5px; white-space:nowrap}
.mock-badge{font-size:9.5px; font-weight:600; color:#7A5CA5; background:#F1E7EF; border-radius:999px; padding:2px 8px}
.mock-add{margin-top:.8rem; border:1.5px dashed var(--line-strong); border-radius:10px; color:var(--muted);
  text-align:center; font-size:12.5px; font-weight:500; padding:.55rem}

/* ── Feature grid ── */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem}
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow)}
.feat{padding:1.5rem 1.4rem}
.feat svg{width:28px; height:28px; color:var(--terra); margin-bottom:.7rem}
.feat h3{font-size:16px; margin:0 0 .35rem}
.feat p{color:var(--muted); font-size:13.5px; margin:0}

/* ── Pricing ── */
.page-wrap{max-width:1100px; margin:0 auto; padding:3rem 1.5rem 4.5rem}
.page-wrap.narrow{max-width:560px}
.page-head{text-align:center; max-width:640px; margin:0 auto 2.75rem}
.page-head h1{font-size:clamp(30px,4vw,42px); margin:0 0 .3rem}
.page-head .lead{color:var(--soft-ink); margin:.4rem 0 0}
.page-head .lead-accent{font-family:var(--font-display); font-style:italic; font-size:clamp(20px,2.6vw,27px); color:var(--terra); margin:0}

.plans{display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; align-items:start}
.plan{background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:1.9rem 1.6rem; position:relative; display:flex; flex-direction:column}
.plan-featured{border-color:var(--terra); border-width:1.5px; box-shadow:var(--shadow-lift); transform:translateY(-10px)}
.plan-tag{position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--terra); color:#fff;
  font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border-radius:999px; padding:5px 14px; white-space:nowrap}
.plan-tag-soon{background:var(--canvas); color:var(--soft-ink)}
.plan-head{text-align:center; padding-bottom:1.1rem; border-bottom:1px solid var(--line); margin-bottom:1.1rem}
.plan-head h2{font-size:21px; margin:0 0 .55rem}
.plan-price .amount{font-family:var(--font-display); font-size:38px; font-weight:600}
.plan-price .per{color:var(--muted); font-size:13.5px}
.plan-hint{color:var(--muted); font-size:12.5px; margin:.3rem 0 0}
.plan-trial{display:inline-block; margin-top:.6rem; font-size:12px; font-weight:600; color:var(--green);
  background:var(--green-soft); border-radius:999px; padding:4px 12px}
.plan-includes{font-size:12.5px; font-weight:600; color:var(--soft-ink); margin:0 0 .5rem}
.plan-list{list-style:none; margin:0 0 1.4rem; padding:0; flex-grow:1}
.plan-list li{padding:.36rem 0 .36rem 1.7rem; position:relative; font-size:13.5px}
.plan-list li::before{content:"✓"; position:absolute; left:0; color:var(--green); font-weight:700}
.plan-list li.off{color:var(--muted)}
.plan-list li.off::before{content:"—"; color:var(--line-strong)}
.plan-list li.dot::before{content:"•"; color:var(--brass)}
.pricing-note{text-align:center; color:var(--muted); font-size:12.5px; margin-top:2rem}

/* ── FAQ ── */
.faq{max-width:760px; margin:0 auto; display:grid; gap:.7rem}
.faq details{background:var(--card); border:1px solid var(--line); border-radius:12px; padding:0 1.2rem}
.faq summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center;
  gap:1rem; font-weight:600; font-size:14.5px; padding:1rem 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-family:var(--font-display); font-size:20px; color:var(--terra); flex-shrink:0}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--soft-ink); font-size:13.5px; margin:0 0 1.05rem}

/* ── CTA band ── */
.cta-band{background:linear-gradient(135deg, #2E2A25 0%, #423A31 100%); color:#F5F0E6;
  text-align:center; padding:4rem 1.5rem}
.cta-band h2{font-size:clamp(26px,3.4vw,36px); margin:0 0 .5rem; color:#FBF7EE}
.cta-band p{color:#C9C0B0; margin:0 0 1.6rem}
.cta-band .hero-note{justify-content:center; color:#A79D8B; margin-top:1.1rem}
.cta-band .hero-note span::before{color:#8FB89F}

/* ── Forms / auth ── */
.auth-card, .form-card{padding:2.2rem 2rem}
.auth-card h1{font-size:26px; margin:0 0 .25rem}
.auth-card .lead{color:var(--soft-ink); font-size:14px; margin:0 0 1.4rem}
.field{margin-bottom:1.05rem}
.field label, fieldset legend{display:block; font-size:11.5px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--soft-ink); margin-bottom:.4rem}
.field input, .field textarea, .field select{width:100%; font:inherit; font-size:14.5px; color:var(--ink);
  background:var(--paper); border:1px solid var(--line-strong); border-radius:10px; padding:.7rem .85rem}
.field input:focus, .field textarea:focus{outline:none; border-color:var(--terra); box-shadow:0 0 0 3px var(--terra-soft)}
.field-hint{color:var(--muted); font-size:12px}
.form-legal{color:var(--muted); font-size:12px; text-align:center; margin-top:.9rem}
.auth-links{text-align:center; font-size:13.5px; color:var(--soft-ink); margin-top:1.3rem}
.alert{border-radius:10px; padding:.8rem 1rem; font-size:13.5px; margin-bottom:1.1rem}
.alert-error{background:var(--terra-soft); color:var(--terra-dark); border:1px solid #EBCDC4}
.alert-success{background:var(--green-soft); color:var(--green); border:1px solid #CDE0D4}

/* ── Contact split ── */
.contact-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:0; background:var(--card);
  border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden}
.contact-side{background:var(--cream); padding:2.2rem 1.9rem; border-right:1px solid var(--line)}
.contact-side h2{font-size:24px; margin:0}
.contact-side .lead-accent{font-family:var(--font-display); font-style:italic; font-size:20px; color:var(--terra); margin:.15rem 0 1rem}
.contact-side p{color:var(--soft-ink); font-size:13.5px}
.contact-tile{display:flex; gap:.85rem; align-items:flex-start; background:var(--card); border:1px solid var(--line);
  border-radius:12px; padding:.95rem 1rem; margin-top:1.3rem}
.contact-tile svg{width:22px; height:22px; color:var(--terra); flex-shrink:0; margin-top:2px}
.contact-tile strong{display:block; font-size:13.5px}
.contact-tile small{color:var(--muted); font-size:12px}
.contact-form{padding:2.2rem 2rem}
.contact-form h3{font-size:17px; margin:0 0 1.2rem}

/* ── Templates (/create) ── */
.tpl-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:1.2rem; max-width:820px; margin:0 auto}
.tpl-card{padding:1.3rem}
.tpl-card h3{font-size:17px; margin:.9rem 0 .2rem}
.tpl-desc{color:var(--muted); font-size:13px; margin:0 0 1rem}
.tpl-note{color:var(--muted); font-size:12px; text-align:center; margin:.7rem 0 0}
.tpl-preview{background:var(--cream); border:1px solid var(--line); border-radius:12px; aspect-ratio:4/3;
  display:flex; align-items:center; justify-content:center}
.tpl-mock{width:62%; background:var(--card); border:1px solid var(--line); border-radius:8px;
  box-shadow:var(--shadow); padding:.9rem .8rem}
.tpl-mock-title{height:9px; width:55%; background:var(--terra-soft); border-radius:4px; margin-bottom:.6rem}
.tpl-mock-line{height:6px; background:var(--canvas); border-radius:3px; margin-bottom:.42rem}
.tpl-mock-line.short{width:65%}
.tpl-selected{border-color:var(--terra); border-width:1.5px; box-shadow:var(--shadow-lift)}
.tpl-soon{opacity:.55}
.tpl-soon .tpl-preview{background:repeating-linear-gradient(45deg,var(--cream),var(--cream) 10px,var(--canvas) 10px,var(--canvas) 20px)}

/* ── Account / dashboard κάρτες (ελαφρύ πέρασμα) ── */
.account-grid{display:grid; grid-template-columns:1.5fr 1fr; gap:1.2rem; align-items:start}
.plan-card{padding:1.6rem 1.5rem}
.plan-card h2{font-size:16px; margin:0 0 .7rem}
.plan-current{font-size:15px; display:flex; align-items:center; gap:.6rem; flex-wrap:wrap}
.badge{font-size:11px; font-weight:700; border-radius:999px; padding:3px 10px}
.badge-accent{background:var(--green-soft); color:var(--green)}
.badge-warn{background:#FBF0DC; color:#8A6415}
.muted{color:var(--muted)}

/* ── Footer ── */
.site-footer{background:var(--cream); border-top:1px solid var(--line); padding:3rem 0 1.4rem; margin-top:0}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2rem}
.ft-title{font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--soft-ink); margin:0 0 .7rem}
.footer-col ul{list-style:none; margin:0; padding:0}
.footer-col li{margin-bottom:.45rem}
.footer-col a{color:var(--soft-ink); text-decoration:none; font-size:13.5px}
.footer-col a:hover{color:var(--terra)}
.footer-bottom{display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; border-top:1px solid var(--line);
  margin-top:2.2rem; padding-top:1.2rem; color:var(--muted); font-size:12px}
.footer-bottom p{margin:0}

/* ── Mobile menu / burger ── */
.hamburger{display:none; flex-direction:column; gap:4px; background:none; border:0; cursor:pointer; padding:8px}
.hamburger span{width:20px; height:2px; background:var(--ink); border-radius:2px; transition:transform .2s, opacity .2s}
.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{display:none; background:var(--paper); border-bottom:1px solid var(--line); position:sticky; top:64px; z-index:900}
.mobile-menu.open{display:block}
.mobile-menu ul{list-style:none; margin:0; padding:.6rem 1.2rem}
.mobile-menu a{display:block; padding:.75rem .4rem; color:var(--ink); text-decoration:none; font-size:15px; border-bottom:1px solid var(--line)}
.mobile-menu li:last-child a{border-bottom:0}

/* ── Responsive ── */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr; gap:2.5rem}
  .hero-visual{min-height:340px; max-width:480px; margin:0 auto; width:100%}
  .show-grid{grid-template-columns:1fr; gap:2rem}
  .strip-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr}
  .step-arrow{display:none}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .plans{grid-template-columns:1fr; max-width:440px; margin:0 auto}
  .plan-featured{transform:none}
  .contact-grid{grid-template-columns:1fr}
  .contact-side{border-right:0; border-bottom:1px solid var(--line)}
  .account-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .site-nav{display:none}
  .hamburger{display:flex}
  .header-right .btn-ghost{display:none}
  .grid-3{grid-template-columns:1fr}
  .strip-grid{grid-template-columns:1fr; gap:1.1rem}
  .section{padding:3.25rem 0}
  .phone{position:relative; right:auto; top:auto; margin:0 auto; transform:none}
  .tent-card{display:none}
  .hero-visual{min-height:auto}
}

/* ---- Google auth ---- */
.auth-divider{display:flex; align-items:center; gap:.8rem; color:var(--muted); font-size:12px; margin:1.2rem 0}
.auth-divider::before,.auth-divider::after{content:""; flex:1; border-top:1px solid var(--line)}
.btn-google{background:var(--card); color:var(--ink); border:1px solid var(--line-strong); font-weight:500}
.btn-google:hover{border-color:var(--muted); background:var(--cream)}

/* ---- Dashboard v2 ---- */
.stats-row{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:1.2rem}
.stat{padding:1.1rem 1.3rem; display:flex; flex-direction:column; gap:.15rem}
.stat-n{font-family:var(--font-display); font-size:30px; font-weight:600; line-height:1.1}
.stat-l{color:var(--muted); font-size:12.5px}
.stat-lock a{font-size:13px; font-weight:600; color:var(--terra); text-decoration:none;
  background:var(--terra-soft); border-radius:999px; padding:4px 12px}
.menus-card{padding:1.6rem 1.5rem}
.menus-card h2, .plan-card h2{font-size:13px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--soft-ink); font-family:var(--font-body); margin:0 0 1rem}
.menu-list{list-style:none; margin:0 0 1.2rem; padding:0}
.menu-row{padding:.9rem 0; border-bottom:1px solid var(--line); display:flex;
  flex-direction:column; gap:.55rem}
.menu-row:first-child{padding-top:0}
.menu-row-main{display:flex; align-items:center; gap:.7rem; flex-wrap:wrap}
.menu-row-main strong{font-family:var(--font-display); font-size:16.5px; font-weight:600}
.menu-row-main .muted{font-size:12.5px}
.menu-row-actions{display:flex; gap:.45rem; flex-wrap:wrap}
.btn-danger{background:transparent; color:var(--terra); border:1px solid transparent}
.btn-danger:hover{background:var(--terra-soft)}
@media (max-width:640px){
  .stats-row{grid-template-columns:1fr 1fr}
  .stats-row .stat:first-child{grid-column:1 / -1}
  .menu-row-actions .btn{flex:1 1 auto; justify-content:center}
}

/* ---- scan waiting overlay ---- */
.scan-overlay[hidden]{display:none}
.scan-overlay{position:fixed; inset:0; background:rgba(30,27,23,.55); backdrop-filter:blur(3px);
  display:flex; align-items:center; justify-content:center; z-index:5000; padding:1.5rem}
.scan-box{background:#FFFDF9; border-radius:18px; box-shadow:0 24px 70px rgba(0,0,0,.3);
  padding:2rem 2.2rem; max-width:380px; text-align:center}
.scan-box strong{display:block; font-size:17px; margin-bottom:.4rem; font-family:"Fraunces",Georgia,serif}
.scan-box p{color:#75705F; font-size:13.5px; margin:0; line-height:1.55}
.scan-spin{width:38px; height:38px; margin:0 auto 1rem; border-radius:50%;
  border:3.5px solid #EDE7DA; border-top-color:#B4472F; animation:scanspin .8s linear infinite}
@keyframes scanspin{to{transform:rotate(360deg)}}
.hero-scan-note{color:var(--muted); font-size:12.5px; margin:-.3rem 0 .9rem}

/* ---- QR page ---- */
.qr-card{text-align:center}
.qr-frame{display:inline-block; background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:18px; margin:1.2rem auto .9rem; box-shadow:0 10px 30px rgba(0,0,0,.06)}
.qr-frame img{display:block}
.qr-link{font-size:13px; word-break:break-all; margin:.2rem 0 1.1rem}
.qr-actions{display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap}
.qr-hint{font-size:12.5px; margin-top:1.1rem}

/* ---- Hero v2: κεντραρισμένο κείμενο + φωτογραφία ---- */
.hero-center{max-width:820px; margin:0 auto; text-align:center}
.hero-center .hero-desc{margin-left:auto; margin-right:auto}
.hero-center .hero-actions, .hero-center .hero-note{justify-content:center}
.hero-photo-wrap{margin-top:3rem}
.hero-photo{margin:0; border-radius:22px; overflow:hidden; border:1px solid var(--line);
  box-shadow:0 34px 90px rgba(46,38,28,.16), 0 6px 22px rgba(46,38,28,.08)}
.hero-photo img{display:block; width:100%; height:auto}
@media (max-width:640px){
  .hero{padding-top:3rem}
  .hero-photo-wrap{margin-top:2rem}
  .hero-photo{border-radius:14px}
}
