/* ── Variáveis ───────────────────────────────────────────── */
:root {
  --red: #8f1826;
  --red-dark: #810f19;
  --gold: #f6c377;
  --cream: #f8f3e9;
  --text: #2a2a2a;
  --white: #ffffff;
}

/* ── Reset / Base ────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Libre Franklin', sans-serif; color: var(--text); background: var(--white); overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }

.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
h1, h2 { font-family: 'Playfair Display', serif; font-weight: 700; }

.btn { display: inline-block; padding: 15px 32px; font-size: .88rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; border-radius: 30px; cursor: pointer; border: none; transition: background .2s, opacity .2s; }
.btn--red { background: var(--red); color: var(--white); }
.btn--red:hover { background: var(--red-dark); }
.btn--white { background: var(--white); color: var(--red); }
.btn--white:hover { opacity: .9; }
.btn--block { width: 100%; text-align: center; }
.btn:disabled { opacity: .6; cursor: not-allowed; }

/* ── HERO ────────────────────────────────────────────────── */
.hero { position: relative; padding: 50px 0 90px; color: var(--white); background: #0a0806 url('../assets/img/hero-bg.jpg') center/cover no-repeat; }
.hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,3,2,.55) 0%, rgba(5,3,2,.25) 55%, rgba(5,3,2,0) 100%); }
.hero__inner { position: relative; z-index: 1; max-width: 560px; }
.hero__logo { width: 90px; margin-bottom: 30px; }
.hero__eyebrow { color: var(--gold); font-size: 1.05rem; margin-bottom: 6px; }
.hero__title { font-size: 3rem; line-height: 1.1; margin-bottom: 20px; }
.hero__subtitle { font-size: 1.1rem; font-weight: 300; line-height: 1.5; margin-bottom: 30px; }

/* ── FOZ DO IGUAÇU ───────────────────────────────────────── */
.intro { padding: 70px 0; }
.intro__inner { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; align-items: center; }
.intro h2 { color: var(--red); font-size: 1.7rem; line-height: 1.35; margin-bottom: 20px; }
.intro p { line-height: 1.7; margin-bottom: 16px; color: #444; }

/* ── RÓTULOS (bg composto) ───────────────────────────────── */
.rotulos { background: var(--red) url('../assets/img/bg-rotulos.jpg') center/cover no-repeat; padding: 70px 0; color: var(--white); min-height: 480px; display: flex; align-items: center; }
.rotulos__box { max-width: 480px; }
.rotulos h2 { font-size: 1.6rem; line-height: 1.35; margin-bottom: 20px; }
.rotulos p { line-height: 1.7; margin-bottom: 14px; font-weight: 300; }
.rotulos p strong { font-weight: 700; }
.rotulos .btn { margin-top: 10px; }

/* ── HOTEL (bg composto) ─────────────────────────────────── */
.hotel { background: var(--cream) url('../assets/img/bg-hotel.jpg') center/cover no-repeat; padding: 70px 0; min-height: 480px; display: flex; align-items: center; }
.hotel__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.hotel__box { grid-column: 2; }
.hotel h2 { color: var(--red); font-size: 1.6rem; margin-bottom: 18px; }
.hotel p { line-height: 1.7; margin-bottom: 14px; color: #444; }
.hotel p strong { color: var(--text); }
.hotel__selos { display: flex; gap: 14px; margin-top: 24px; flex-wrap: wrap; }
.hotel__selos img { width: 68px; }
.hotel__caption { grid-column: 1; align-self: flex-end; color: var(--white); font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1.15rem; text-align: center; text-shadow: 0 2px 8px rgba(0,0,0,.5); }

/* ── FORMULÁRIO ───────────────────────────────────────────── */
.form-section { background: #1a1108 url('../assets/img/bg-form.jpg') center/cover no-repeat; padding: 80px 0; }
.form-section__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.form-box { border: 1px solid rgba(255,255,255,.5); border-radius: 6px; padding: 36px; color: var(--white); }
.form-box h2 { font-size: 1.4rem; margin-bottom: 10px; }
.form-box__sub { font-size: .92rem; margin-bottom: 22px; opacity: .9; }
.lead-form { display: flex; flex-direction: column; gap: 14px; }
.lead-form input {
  width: 100%; padding: 14px 16px; border: none; border-radius: 4px;
  font-family: 'Libre Franklin', sans-serif; font-size: .92rem; color: #333; outline: none;
}
.form__feedback { min-height: 16px; text-align: center; font-size: .85rem; color: #ffb4a8; }
.form__disclaimer { font-size: .78rem; text-align: center; opacity: .85; margin-top: 4px; }
.form-section__mockup { text-align: center; }

/* ── FOOTER ───────────────────────────────────────────────── */
.footer { background: #17110c; color: rgba(255,255,255,.7); padding: 20px 0; text-align: center; }
.footer p { font-size: .78rem; margin-bottom: 4px; }
.footer a { color: rgba(255,255,255,.8); text-decoration: underline; }

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 900px) {
  .hero__title { font-size: 2.3rem; }
  .intro__inner { grid-template-columns: 1fr; }
  .rotulos { background-position: 75% center; }
  .rotulos__box { background: rgba(143,24,26,.82); padding: 24px; border-radius: 6px; }
  .hotel { background-position: 20% center; }
  .hotel__inner { grid-template-columns: 1fr; }
  .hotel__box { grid-column: 1; background: rgba(248,243,233,.9); padding: 20px; border-radius: 6px; }
  .hotel__caption { grid-column: 1; }
  .form-section__inner { grid-template-columns: 1fr; }
  .form-section__mockup { max-width: 320px; margin: 0 auto; }
}
@media (max-width: 600px) {
  .container { padding: 0 20px; }
  .hero__title { font-size: 1.9rem; }
  .form-box { padding: 26px 20px; }
  .hotel__selos img { width: 56px; }
}
