/* Restaurante Ó Manel — identidade DCA (recebida 09/08/2026)
   Paleta oficial: preto #20201E · âmbar #F4B12A · branco · filete vermelho #E3000F (acento fino, usar com moderação).
   O hero replica o cartão de visita: cartão branco, barra âmbar, filete vermelho. */
:root{
  --preto:#20201E;
  --ambar:#F4B12A;
  --ambar-dark:#DB9A12;
  --vermelho:#E3000F;
  --branco:#fff;
  --papel:#FAF7F0;
  --linha:#EBE4D6;
  --ink:#20201E;
  --muted:#6C6862;
  --maxw:1100px;
  --radius:12px;
  --shadow:0 6px 24px rgba(32,32,30,.12);
  --transition:.25s ease;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-display:"Playfair Display",Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:var(--branco);line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}

/* Header / nav — branco como o cartão, logo preto */
.header{position:fixed;top:0;left:0;width:100%;z-index:100;background:var(--branco);border-bottom:1px solid var(--linha);transition:var(--transition)}
.header.scroll-header{box-shadow:var(--shadow)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.nav__logo img{height:40px;width:auto}
.nav__list{display:flex;gap:1.5rem;align-items:center;list-style:none}
.nav__link{color:var(--preto);font-weight:600;font-size:.95rem}
.nav__link:hover{color:var(--ambar-dark)}
.nav__cta{background:var(--ambar);color:var(--preto);padding:.5rem 1rem;border-radius:999px}
.nav__cta:hover{background:var(--ambar-dark);color:var(--preto)}
.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer}
.nav__toggle span{width:26px;height:3px;background:var(--preto);border-radius:3px;transition:var(--transition)}

/* Hero — cartão de visita em grande: papel de fundo, cartão branco com filete vermelho e barra âmbar */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;background:var(--papel);padding:7rem 0 4rem}
.hero__overlay{display:none}
.hero__content{position:relative;max-width:820px;margin:0 auto;width:100%}
.hero__card{position:relative;background:var(--branco);border:1px solid var(--vermelho);box-shadow:var(--shadow);padding:3.5rem 3rem 3.5rem calc(3rem + 56px);text-align:center}
.hero__card::before{content:"";position:absolute;top:-1px;bottom:-1px;left:-1px;width:56px;background:var(--ambar)}
.hero__logo{margin:0 auto 1.5rem;max-width:300px}
.hero__eyebrow{text-transform:uppercase;letter-spacing:3px;color:var(--vermelho);font-weight:700;font-size:.85rem;margin-bottom:1rem}
.hero__subtitle{margin:0 auto 1.25rem;font-size:1.15rem;color:var(--muted);max-width:560px}
.hero__valencias{text-transform:uppercase;letter-spacing:2.5px;font-weight:700;font-size:.9rem;color:var(--preto);margin-bottom:2rem}
.hero__cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* Botões */
.btn{display:inline-block;padding:.85rem 1.6rem;border-radius:999px;font-weight:700;transition:var(--transition);cursor:pointer}
.btn--primary{background:var(--ambar);color:var(--preto)}
.btn--primary:hover{background:var(--ambar-dark)}
.btn--ghost{border:2px solid var(--preto);color:var(--preto)}
.btn--ghost:hover{background:var(--preto);color:var(--branco)}

/* Secções */
.section{padding:5rem 0}
.section--alt{background:var(--papel)}
.section__title{font-family:var(--font-display);font-size:clamp(1.9rem,4vw,2.7rem);color:var(--preto);font-weight:700;margin-bottom:1rem;position:relative}
.section__title::after{content:"";display:block;width:56px;height:4px;background:var(--ambar);margin-top:.6rem;border-radius:2px}
.section__lead{font-size:1.1rem;color:var(--muted);max-width:640px}

/* Ementa */
.menu-placeholder{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:2rem}
.menu-cat{background:var(--branco);border:1px solid var(--linha);border-top:4px solid var(--ambar);border-radius:var(--radius);padding:1.5rem}
.menu-cat h3{font-family:var(--font-display);color:var(--preto);margin-bottom:.4rem}
.menu-cat p{color:var(--muted)}

/* Galeria */
.gallery{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:2rem}
.gallery__item{aspect-ratio:4/3;border-radius:var(--radius);background:var(--linha)}
.gallery__item.ph{background:repeating-linear-gradient(45deg,#f0e9da,#f0e9da 12px,var(--linha) 12px,var(--linha) 24px)}

/* Horários */
.hours{width:100%;max-width:520px;margin-top:1.5rem;border-collapse:collapse}
.hours td{padding:.85rem 1rem;border-bottom:1px solid var(--linha)}
.hours td:last-child{text-align:right;font-weight:600;color:var(--preto)}

/* Contactos */
.contactos{display:grid;gap:2rem;grid-template-columns:1fr 1fr;align-items:center}
.addr{font-style:normal;font-size:1.1rem;margin:1rem 0;line-height:1.8}
.phone a{color:var(--preto);font-weight:700;font-size:1.2rem}
.phone a:hover{color:var(--ambar-dark)}
.phone small{display:block;color:var(--muted);font-size:.8rem;font-weight:400}
.map-placeholder{aspect-ratio:16/10;background:var(--linha);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--muted)}

/* Footer — preto da identidade, links âmbar */
.footer{background:var(--preto);color:#D8D5D0;padding:3rem 0 1.5rem;font-size:.92rem}
.footer a{color:var(--ambar)}
.footer__grid{display:grid;gap:2rem;grid-template-columns:1fr 1fr}
.footer__brand{font-family:var(--font-display);font-weight:700;color:var(--branco);font-size:1.15rem;margin-bottom:.5rem}
.footer__legal p{margin:.35rem 0}
.footer__bwp{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.15);font-size:.82rem}

/* WhatsApp float */
.whatsapp-float{position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);z-index:99;transition:var(--transition)}
.whatsapp-float:hover{transform:scale(1.1)}

/* Mobile */
@media(max-width:768px){
  .nav__toggle{display:flex}
  .nav__menu{position:fixed;inset:68px 0 auto 0;background:var(--branco);border-bottom:1px solid var(--linha);max-height:0;overflow:hidden;transition:max-height .3s ease}
  .nav__menu.show-menu{max-height:420px}
  .nav__list{flex-direction:column;padding:1.5rem;gap:1.25rem}
  .contactos,.footer__grid{grid-template-columns:1fr}
  .hero__card{padding:3.5rem 1.5rem 2.5rem}
  .hero__card::before{width:100%;height:12px;left:-1px;right:-1px;top:-1px;bottom:auto}
  .hero__logo{max-width:230px}
}
