/* Padrão visual das outras páginas – cantos retos */
:root{
  --azul-900:#17232b;
  --azul-800:#1d2e3a;
  --azul-700:#213645;
  --azul-100:#eef5fb;

  --texto:#20303b;
  --branco:#ffffff;
  --dourado:#e7d9a8;
  --gold:#c7b97f;

  --shadow: 0 10px 30px rgba(0,0,0,.15);
  --container: 1180px;
}

*{ box-sizing: border-box; }
html,body{ height:100%; scroll-behavior:smooth; }
body{
  margin:0;
  color:var(--texto);
  font: 400 16px/1.6 "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:#fafcfe;
}

.container{ width:min(var(--container), 90%); margin-inline:auto; }

.sr-only{
  position:absolute; width:1px; height:1px; margin:-1px; border:0; padding:0;
  white-space:nowrap; clip-path:inset(50%); clip:rect(0 0 0 0); overflow:hidden;
}

/* ===========================
   Header
=========================== */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:1000; background:transparent;
  transition:background .25s, box-shadow .25s;
}
.site-header.scrolled{ background:rgba(23,35,43,.9); box-shadow:var(--shadow); backdrop-filter: blur(6px); }

.header-wrap{ display:flex; align-items:center; justify-content:space-between; padding:16px 0; }
.logo{ display:inline-flex; text-decoration:none; }
.logo svg text{ paint-order: stroke; stroke:#1b2530; stroke-width:.8; }

.nav ul{ list-style:none; display:flex; gap:28px; margin:0; padding:0; }
.nav a{ color:#d9e6f2; text-decoration:none; font-weight:500; }
.nav a:hover, .nav a[aria-current="page"]{ color:var(--dourado); }

.menu-toggle{ display:none; background:transparent; border:0; color:#d9e6f2; cursor:pointer; }

/* ===========================
   Hero
=========================== */
.hero{ position:relative; min-height:60vh; display:grid; align-items:center; }
.hero-bg{ position:absolute; inset:0; background:center/cover no-repeat url("../img/mesa.webp"); z-index:-2; filter: blur(1px); }
.hero-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(23,35,43,.55) 0%, rgba(23,35,43,.75) 70%); z-index:-1; }
.hero-content{ text-align:center; color:#eaf2fb; padding:120px 0 40px; }
.hero-title{ margin:0; font-family:"Playfair Display",serif; font-weight:700; font-size: clamp(26px, 4.6vw, 44px); letter-spacing:1px; }

/* ===========================
   Panes/sections
=========================== */
.pane{ padding:54px 0; }
.pane--light{ background:#eceff1; }
.pane--photo{ background:#dfe7ee url("../img/mesa.webp") center/cover no-repeat; position:relative; }
.pane--photo::before{ content:""; position:absolute; inset:0; background:rgba(23,35,43,.45); }
.pane--photo .container{ position:relative; z-index:1; }
.pane--dark{ background:#233746; color:#e9f2fa; }

.section-card{
  background:#fff; color:var(--texto); box-shadow:var(--shadow);
  padding:28px 26px;
}
.pane--dark .section-card{ background:#fff; color:var(--texto); }

.title{
  margin:0 0 14px; font:700 clamp(22px, 3.5vw, 34px) "Playfair Display",serif; color:#273d4d;
}

/* Lista com “estrelas” douradas */
.list-stars{ list-style:none; padding:0; margin:12px 0 18px; display:grid; gap:10px; }
.list-stars li{ position:relative; padding-left:26px; }
.list-stars li::before{
  content:"✦"; position:absolute; left:0; top:0; color:var(--gold);
  font-size:16px; line-height:1; transform:translateY(2px);
}

/* ===========================
   Contato
=========================== */
.contato{ background:linear-gradient(180deg, var(--azul-800), var(--azul-900)); color:#dfe9f2; padding:70px 0; }
.contato-wrap{ display:grid; grid-template-columns: 1fr 1.1fr; gap:38px; background:rgba(0,0,0,.14); padding:34px; }
.contato-info{ display:grid; gap:20px; align-content:start; }
.info-item{ display:flex; align-items:center; gap:12px; font-size:18px; }
.info-item svg{ color:#dfe9f2; }
.contato-form{ display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
.form-row{ display:grid; gap:8px; }
.form-row--full{ grid-column: 1 / -1; }
input, textarea{
  width:100%; border:1px solid #375165; background:#132029; color:#eaf2fb;
  padding:14px 14px; outline:0;
}
input::placeholder, textarea::placeholder{ color:#a9bfce; }
input:focus, textarea:focus{ border-color:#4a86b7; box-shadow:0 0 0 3px rgba(74,134,183,.25); }
.erro{ color:#ffd2d2; font-size:13px; min-height:16px; }
.btn{ display:inline-block; padding:12px 22px; background:#2f89c5; color:#fff; text-decoration:none; font-weight:600; box-shadow:0 12px 24px rgba(0,0,0,.18); }
.btn:hover{ filter:brightness(1.05); transform:translateY(-1px); }
.btn-send{ grid-column:1 / -1; justify-self:start; }
.form-feedback{ grid-column:1 / -1; margin-top:6px; min-height:20px; }

/* ===========================
   Rodapé e Top button
=========================== */
.footer{ background:#0f171c; color:#a7bdcb; padding:18px 0; text-align:center; }

.top-btn{
  position:fixed; right:16px; bottom:16px; width:40px; height:40px;
  border:0; background:#1f2f3a; color:#eaf2fb; display:grid; place-items:center;
  box-shadow:var(--shadow); cursor:pointer; opacity:0; visibility:hidden; transition:.2s ease;
}
.top-btn.show{ opacity:1; visibility:visible; }

/* ===========================
   Responsivo
=========================== */
@media (max-width: 1024px){
  .section-card{ padding:24px; }
}

/* === MENU MOBILE IGUAL AO DA HOME (index.css) === */
@media (max-width: 760px){
  /* Exibe o botão hambúrguer */
  .menu-toggle{ display:inline-flex; }

  /* FECHADO por padrão (totalmente invisível) */
  .nav{
    position: fixed;
    inset-inline: 0;
    inset-block-start: 64px;               /* altura aproximada do header */
    background: rgba(23,35,43,.98);
    backdrop-filter: blur(8px);

    /* Esconde TOTALMENTE (sem “risco” visível) */
    transform: translateY(-8px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition: transform .25s ease, opacity .2s ease, visibility .2s ease;
    max-height: calc(100vh - 64px);
    overflow-y: auto;
    box-shadow: none;                      /* sem sombra quando fechado */
    will-change: transform, opacity;
    z-index: 1000;
  }

  /* ABERTO */
  .nav.open{
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    box-shadow: var(--shadow);
  }

  .nav ul{ flex-direction:column; gap:0; }
  .nav li{ border-top:1px solid rgba(255,255,255,.06); }
  .nav a{ display:block; padding:14px 20px; }

  .contato-wrap{ grid-template-columns:1fr; }
  .contato-form{ grid-template-columns:1fr; }
  .btn-send{ justify-self:stretch; text-align:center; }
}

/* Centralização extra (igual à index) */
.section-card > .title { text-align: center; }

.contato-wrap{
  margin-inline:auto;          /* garante centralização */
  justify-content:center;      /* alinha as colunas do grid ao centro, se sobrar espaço */
}
