/* Base */
:root{
  /* Rêverie Pastel Palette */
  --bg1:#F2EBDF; /* creme */
  --bg2:#FFFFFF; /* branco suave */
  --accent:#A4B394; /* verde sálvia */
  --accent-2:#CDC0CB; /* lavanda suave */
  --text:#2b2b2b; /* texto principal escuro */
  --muted:#B7B7B1; /* cinza pastel */
  --card:#ffffffcc; /* cartões claros translúcidos */
  --highlight:#CCD3B5; /* verde claro */
}

*{ box-sizing: border-box; }
html,body{ height:100%; }
html{ -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica Neue, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--text);
  background: linear-gradient(180deg, var(--bg1) 0%, var(--bg2) 100%);
}

.container{ width:100%; max-width:1100px; margin:0 auto; padding:0 28px; }

.btn{
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color:#1a1a1a; font-weight:700; border:none; padding:12px 16px; border-radius:10px; cursor:pointer;
  transition: transform .08s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn:active{ transform: translateY(0); }
.btn:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.btn--light{ background: #ffffff; color:#1a1a1a; border:1px solid #e7e1d5; }
.btn--outline{ background: transparent; color:var(--text); border:1px solid #e7e1d5; }

.nav{ position:sticky; top:0; z-index:10; backdrop-filter:saturate(140%) blur(6px); background:rgba(255,255,255,.6); border-bottom:1px solid #e7e1d5; }
.nav__inner{ display:flex; align-items:center; justify-content:space-between; padding:10px 20px; }
.nav__brand{ font-weight:800; letter-spacing:.02em; color:#2b2b2b; }
.nav__links{ display:flex; gap:12px; }
.nav__link{ color:#2b2b2b; text-decoration:none; padding:8px 12px; border-radius:8px; border:1px solid transparent; }
.nav__link:hover{ border-color:#e7e1d5; background:#ffffff; }

/* Hero */
.hero{
  position:relative; overflow:hidden; padding:72px 0 48px;
  background:
    linear-gradient(180deg, #fffefb 0%, #f7f2e7 100%);
}
.hero__overlay{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(600px 200px at 50% -20px, rgba(0,0,0,.03), transparent 70%),
    repeating-linear-gradient(0deg, rgba(0,0,0,.03) 0 2px, rgba(0,0,0,0) 2px 4px);
  mask-image: radial-gradient(70% 60% at 50% 0%, #000 40%, transparent 100%);
}
.hero__content{ position:relative; text-align:center; }
.hero__badge{
  display:inline-block; margin-bottom:12px; padding:6px 12px; border-radius:999px; font-weight:800; letter-spacing:.08em;
  background: linear-gradient(135deg, var(--accent), var(--accent-2)); color:#2b2b2b; text-transform:uppercase; font-size:.85rem;
}
.hero__title{ font-size: clamp(1.8rem, 5vw, 3rem); margin:8px 0; }
.hero__subtitle{ color:var(--muted); margin:8px 0 16px; }
.hero__script{ font-family: "Snell Roundhand", "Brush Script MT", "Segoe Script", "Lucida Handwriting", cursive; font-size: clamp(2rem, 8vw, 4rem); color:#8b6f5a; opacity:.85; }
.hero__name{ font-family: Georgia, "Times New Roman", serif; letter-spacing:.2em; font-weight:700; color:#6b5a4a; }
.hero__date{ font-family: Georgia, "Times New Roman", serif; letter-spacing:.6em; color:#7a6a5d; margin-top:8px; }
.hero__place{ color:#7a7a72; margin-top:10px; font-size:.95rem; }
/* CTA "Ver no mapa" melhor espaçada e destacada */
.hero .btn--light{
  margin-top:18px;
  padding:14px 20px;
  border-radius:12px;
  display:inline-flex; align-items:center; gap:8px;
  letter-spacing:.02em;
  box-shadow: 0 6px 16px rgba(0,0,0,.06), 0 0 0 2px rgba(164,179,148,.12) inset;
  border-color:#e0dacb;
}
.hero .btn--light:hover{
  box-shadow: 0 10px 22px rgba(0,0,0,.08), 0 0 0 2px rgba(164,179,148,.16) inset;
}

/* balloons removed for better focus */

/* Sections */
.section{ padding:40px 15px; }
.section--highlight{ background: linear-gradient(180deg, var(--highlight), transparent); border-top:1px solid #e7e1d5; border-bottom:1px solid #e7e1d5; }
.section__title{ font-size:1.25rem; margin:0 0 16px 0; }
.muted{ color:var(--muted); }
.tiny{ font-size:.85rem; }

/* Details grid */
.details{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.details__item{ background: #ffffff; border:1px solid #ece6da; padding:16px; border-radius:12px; box-shadow: 0 4px 10px rgba(0,0,0,.04); }
.details__item strong{ display:block; color:#374151; font-size:.9rem; margin-bottom:6px; }
.details__item--full{ grid-column: 1 / -1; }

/* Pix */
.pix{ display:grid; gap:16px; grid-template-columns: 1fr; align-items:start; }
.pix__qr{ display:flex; justify-content:center; }
.pix__qr img{ border-radius:12px; box-shadow: 0 6px 26px rgba(164,179,148,.18); background:#fff; }
.pix__info{ display:grid; gap:12px; }
.input label, .copy label{ display:block; font-size:.9rem; margin-bottom:6px; color:#2b2b2b; }
input,
textarea,
select{
  font-size: 16px !important;
}
.input input{ width:100%; padding:12px; border-radius:10px; border:1px solid #e5e1d6; background:#ffffff; color:#2b2b2b; }
.input input#amount{ text-align:right; font-variant-numeric: tabular-nums; font-size:16px !important; }
}
.input .btn{ margin-top:8px; width:100%; }
.copy textarea{ width:100%; padding:12px; border-radius:10px; border:1px solid #e5e1d6; background:#ffffff; color:#2b2b2b; resize:vertical; }
.copy .btn{ margin-top:8px; width:100%; }
.hidden{ display:none !important; }

/* Hotels */
.hotels{ display:grid; grid-template-columns: 1fr; gap:12px; }
.hotel{ display:grid; gap:6px; padding:14px; border-radius:12px; background:#ffffff; border:1px solid #ece6da; box-shadow: 0 4px 12px rgba(0,0,0,.04); }
.hotel__name{ font-weight:700; color:#2b2b2b; }
.hotel__meta{ color:var(--muted); font-size:.9rem; }
.hotel__actions{ display:flex; gap:8px; flex-wrap:wrap; }
.status{ margin-top:8px; }

/* Footer */
.footer{ padding:24px 0 40px; text-align:center; color:var(--muted); }

/* Responsive */
@media (min-width: 720px){
  .pix{ grid-template-columns: 260px 1fr; }
  .details{ grid-template-columns: 1fr 1fr 1fr; }
  .container{ padding:0 28px; }
}
