/* Tema Nonna — restaurante italiano: terracota, creme, serifas e parallax */
@font-face { font-family: "Playfair"; src: url("/assets/fontes/playfair-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }
:root {
  --cor: #a4372a; --cor-2: #85291e; --oliva: #5b6b3a; --fundo: #fbf6ee; --fundo-2: #f2e8d8; --tinta: #2b1a12; --texto: #6b5547; --linha: #e5d6c0;
  --raio: 6px; --raio-botao: 4px; --fonte: Georgia, "Times New Roman", serif; --titulo: "Playfair", Georgia, serif; --rodape-fundo: #2b1a12;
  --topo-fundo: rgba(251, 246, 238, .92);
}
body { font-size: 18px; }
h1, h2 { font-weight: 600; }
.botao { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: .08em; text-transform: uppercase; font-size: .85rem; }
.botao-vazado { color: #fff; border-color: #fff; }
.botao-vazado:hover { background: #fff; color: var(--tinta); }
.script { font-family: var(--titulo); font-style: italic; color: var(--cor); font-size: 1.4rem; margin: 0 0 6px; }
.menu a, .dados dt, .aba { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

.hero { min-height: clamp(620px, 92svh, 920px); display: flex; align-items: center; background-size: cover; background-position: center calc(50% + var(--desloc, 0px)); background-color: #2b1a12; position: relative; color: #f3e6d6; padding: 100px 0; }
.hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(25, 14, 9, .55), rgba(25, 14, 9, .85)); }
.hero-conteudo { position: relative; text-align: center; max-width: 820px; }
.hero .script { color: #e9c89b; font-size: 1.8rem; }
.hero h1 { color: #fff; font-size: clamp(2.6rem, 6vw, 5rem); }
.ornamento { font-size: 2rem; color: #e9c89b; margin: 0 0 10px; }
.hero-sub { font-size: 1.2rem; max-width: 34em; margin: 0 auto; }
.botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 34px; }
.hero-conteudo > * { animation: surgir 1.2s ease both; }
.hero-conteudo > :nth-child(2) { animation-delay: .15s; } .hero-conteudo > :nth-child(3) { animation-delay: .3s; } .hero-conteudo > :nth-child(4) { animation-delay: .45s; } .hero-conteudo > :nth-child(5) { animation-delay: .6s; }
@keyframes surgir { from { opacity: 0; filter: blur(6px); transform: translateY(16px); } }

.centro-abas { justify-content: center; }
.aba { border-radius: 4px; }
.menu-lista { max-width: 820px; margin: 0 auto; animation: surgir .6s ease both; }
.prato-item { display: flex; align-items: baseline; gap: 12px; margin: 0; padding: 18px 0; border-bottom: 1px solid var(--linha); }
.prato-item span { display: grid; }
.prato-item b { font-family: var(--titulo); font-size: 1.3rem; color: var(--tinta); font-weight: 600; }
.prato-item small { color: var(--texto); font-style: italic; }
.prato-item i { flex: 1; border-bottom: 2px dotted var(--linha); transform: translateY(-6px); min-width: 20px; }
.prato-item strong { font-family: var(--titulo); color: var(--cor); font-size: 1.25rem; white-space: nowrap; }
.pratos-fotos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 56px; }
.pratos-fotos img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 6px solid #fff; box-shadow: 0 20px 40px -24px rgba(43, 26, 18, .5); transition: transform .6s; }
.pratos-fotos img:hover { transform: rotate(8deg) scale(1.04); }

.polaroid { background: #fff; padding: 16px 16px 50px; box-shadow: 0 30px 60px -30px rgba(43, 26, 18, .45); transform: rotate(-3deg); width: min(420px, 100%); justify-self: center; position: relative; }
.polaroid img { aspect-ratio: 4/5; object-fit: cover; width: 100%; }
.polaroid figcaption { position: absolute; left: 0; right: 0; bottom: 14px; text-align: center; font-family: var(--titulo); font-style: italic; color: var(--texto); }
.lista-check li::before { background: var(--oliva); }

.reservas { background: var(--cor); color: #f6dfd6; }
.reservas h2 { color: #fff; }
.reservas .script { color: #f3c9a8; }
.reservas .dados dt { color: #fff; }
.reserva-form { background: var(--fundo); color: var(--tinta); border-radius: 8px; padding: clamp(24px, 4vw, 40px); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .5); }
.campo { margin-bottom: 16px; }
.campo label { display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-weight: 700; font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 6px; }
.campo input, .campo select { width: 100%; height: 50px; border: 1px solid var(--linha); border-radius: 4px; padding: 0 12px; font: inherit; font-size: 16px; background: #fff; color: var(--tinta); }
.campo-duplo { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.reserva-form .botao { width: 100%; }
.depoimento { background: #fff; text-align: center; }
.depoimento blockquote { font-family: var(--titulo); font-style: italic; font-size: 1.2rem; }
@media (max-width: 760px) { .pratos-fotos { grid-template-columns: 1fr 1fr; } .polaroid { transform: rotate(-2deg); } }
