/* Coffee House — nagyképes, kollázs, váltakozó sorok */
:root { --dark:#2b1a12; --coffee:#6f4e37; --caramel:#d4a574; --cream:#f5efe6; --white:#fff; --muted:#8a7566; --shadow:0 14px 40px rgba(43,26,18,.16); }
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Inter',system-ui,sans-serif; color:var(--dark); background:var(--white); line-height:1.65; }
h1,h2,h3,h4 { font-family:'Playfair Display',serif; line-height:1.15; }
h1 { font-size:3.6rem; font-weight:700; }
h2 { font-size:2.3rem; margin-bottom:.4rem; }
img { display:block; width:100%; height:auto; }
.container { max-width:1120px; margin:0 auto; padding:0 24px; }
.eyebrow,.hero-eyebrow { font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--coffee); margin-bottom:.6rem; }
.section-head { text-align:center; margin-bottom:52px; }

/* NAV */
.nav { position:fixed; top:0; left:0; right:0; background:rgba(43,26,18,.92); backdrop-filter:blur(8px); z-index:100; }
.nav-inner { max-width:1120px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; height:64px; }
.logo { font-family:'Playfair Display',serif; font-size:1.3rem; color:var(--cream); text-decoration:none; }
.nav-links { display:flex; align-items:center; gap:28px; }
.nav-links a { color:var(--cream); text-decoration:none; font-size:.94rem; transition:color .2s; }
.nav-links a:hover { color:var(--caramel); }
.btn { display:inline-block; padding:13px 30px; border-radius:6px; text-decoration:none; font-weight:600; font-size:.94rem; transition:transform .2s,background .2s; cursor:pointer; border:none; }
.btn:hover { transform:translateY(-2px); }
.btn-small { padding:8px 18px; font-size:.85rem; }
.btn-light { background:var(--caramel); color:var(--dark); }
.btn-light:hover { background:#e0b98e; }
.btn-dark { background:var(--dark); color:var(--cream); }
.btn-dark:hover { background:var(--coffee); }
.btn-outline { border:2px solid var(--cream); color:var(--cream); }
.btn-outline:hover { background:rgba(255,255,255,.1); }
.nav-toggle { display:none; background:none; border:none; color:var(--cream); font-size:1.6rem; cursor:pointer; }

/* HERO */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; text-align:center; background:url('../images/hero.jpg') center/cover no-repeat; }
.hero-overlay { position:absolute; inset:0; background:rgba(43,26,18,.58); }
.hero-content { position:relative; color:var(--cream); padding:0 24px; max-width:760px; }
.hero-eyebrow { color:var(--caramel); }
.hero h1 em { font-style:italic; color:var(--caramel); }
.hero-sub { font-size:1.15rem; color:rgba(245,239,230,.9); margin:1rem auto 2rem; max-width:520px; }
.hero-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.scroll-hint { position:absolute; bottom:32px; left:50%; transform:translateX(-50%); }
.scroll-hint span { display:block; width:24px; height:40px; border:2px solid var(--cream); border-radius:14px; position:relative; }
.scroll-hint span::after { content:""; position:absolute; top:8px; left:50%; width:4px; height:8px; margin-left:-2px; background:var(--caramel); border-radius:2px; animation:scrolldown 1.6s infinite; }
@keyframes scrolldown { 0%{opacity:0;transform:translateY(0);} 30%{opacity:1;} 100%{opacity:0;transform:translateY(12px);} }

/* ABOUT — nagy kép + szöveg */
.about { display:grid; grid-template-columns:1.15fr 1fr; gap:0; background:var(--cream); }
.about-img img { height:100%; object-fit:cover; }
.about-text { padding:90px 56px; display:flex; flex-direction:column; justify-content:center; }
.about-text p { color:var(--muted); margin-bottom:1.2rem; }
.about-stats { display:flex; gap:40px; margin-top:1rem; }
.stat strong { display:block; font-family:'Playfair Display',serif; font-size:1.9rem; color:var(--coffee); }
.stat span { font-size:.84rem; color:var(--muted); }

/* MENU — váltakozó sorok */
.menu { padding:90px 24px; }
.menu-rows { max-width:960px; margin:0 auto; display:flex; flex-direction:column; gap:44px; }
.menu-row { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.menu-row.flip .menu-img { order:2; }
.menu-img img { border-radius:12px; box-shadow:var(--shadow); height:300px; object-fit:cover; }
.menu-txt h3 { font-size:1.8rem; margin-bottom:.5rem; }
.menu-txt p { color:var(--muted); margin-bottom:.8rem; }
.price { font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:700; color:var(--coffee); }

/* GALLERY — kollázs */
.gallery { background:var(--cream); padding:90px 24px; }
.gallery-collage { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:180px; gap:14px; max-width:1120px; margin:0 auto; }
.gallery-collage img { width:100%; height:100%; object-fit:cover; border-radius:10px; box-shadow:var(--shadow); }
.g1 { grid-column:span 2; grid-row:span 2; }
.g2 { grid-column:span 2; }
.g3 { grid-row:span 2; }
.g4 { grid-column:span 1; }

/* CONTACT */
.contact { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:90px 56px; align-items:start; }
.contact-addr { margin-bottom:.4rem; display:flex; align-items:center; gap:8px; color:var(--dark); }
.contact-addr svg { flex-shrink:0; color:var(--coffee); }
.contact-open { margin:1.4rem 0 .4rem; font-size:1.1rem; }
.contact-form { display:flex; flex-direction:column; gap:8px; }
.contact-form label { font-size:.88rem; font-weight:600; margin-top:8px; }
.contact-form input,.contact-form textarea { padding:12px 14px; border:1px solid #ddd; border-radius:6px; font-family:inherit; font-size:.94rem; }
.contact-form input:focus,.contact-form textarea:focus { outline:2px solid var(--caramel); border-color:transparent; }
.contact-form .btn { margin-top:16px; align-self:flex-start; }

/* FOOTER */
.footer { background:var(--dark); padding:44px 0 28px; }
.footer-inner { display:flex; flex-direction:column; align-items:center; gap:14px; }
.footer-brand { font-family:'Playfair Display',serif; font-size:1.15rem; font-weight:700; color:var(--cream); }
.footer-links { display:flex; gap:22px; flex-wrap:wrap; justify-content:center; }
.footer-links a { color:rgba(245,239,230,.7); text-decoration:none; font-size:.85rem; transition:color .2s; }
.footer-links a:hover { color:var(--caramel); }
.footer-copy { color:rgba(245,239,230,.5); font-size:.82rem; }

/* BACK TO TOP */
.to-top { position:fixed; right:20px; bottom:20px; width:44px; height:44px; border-radius:50%; border:1px solid rgba(0,0,0,.12); background:#fff; color:#6f4e37; font-size:1.2rem; cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,.18); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .25s,transform .25s,visibility .25s; z-index:90; }
.to-top.show { opacity:1; visibility:visible; transform:translateY(0); }

/* REVEAL */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .6s ease,transform .6s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

@media (max-width:820px) {
  .nav-toggle { display:block; }
  .nav-links { display:none; position:absolute; top:64px; left:0; right:0; flex-direction:column; background:rgba(43,26,18,.98); padding:20px 24px; gap:18px; align-items:flex-start; }
  .nav-links.open { display:flex; }
  .hero h1 { font-size:2.5rem; }
  .about,.contact { grid-template-columns:1fr; }
  .about-text { padding:48px 24px; }
  .contact { padding:60px 24px; gap:36px; }
  .menu-row,.menu-row.flip { grid-template-columns:1fr; gap:20px; }
  .menu-row.flip .menu-img { order:0; }
  .gallery-collage { grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; }
  .g1,.g2,.g3,.g4 { grid-column:span 1; grid-row:span 1; }
}
