/* Personalizações visuais: acrescente suas alterações neste arquivo. */
html { scroll-behavior: smooth; }
.packages-wrap { position: relative; max-width: 1232px; margin: 64px auto 0; text-align: left; }
.packages-heading { font-family: 'Playfair Display', serif; font-size: 32px; color: #f4d16f; margin-bottom: 28px; }
.packages-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.package-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #665028; border-radius: 20px; background: #12110f; color: #f4eee4; }
.package-card > img { width: 100%; height: 220px; flex: 0 0 220px; object-fit: cover; }
.package-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.package-date { color: #f4d16f; font-size: 12px; letter-spacing: .04em; }
.package-body h3 { font-family: 'Playfair Display', serif; font-size: 26px; line-height: 1.2; margin: 12px 0; }
.package-region, .package-description, .package-departure { font-size: 13px; color: #cfc8bd; margin-bottom: 12px; }
.package-price-note { margin-top: 22px; color: #ddd2be; font-size: 12px; }
.package-price { color: #f4d16f; font-size: 25px; font-weight: 600; margin: 4px 0 10px; }
.package-meta { font-size: 12px; color: #cfc8bd; margin: 5px 0; }
.package-details { margin-top: auto; padding-top: 20px; font-size: 12px; line-height: 1.7; }
.package-details summary { cursor: pointer; color: #f4d16f; }
.package-details h4 { font-weight: 600; margin-top: 16px; }
.package-details ul { list-style: disc; padding-left: 18px; }
.package-cta { display: block; text-align: center; padding: 13px 12px; border-radius: 24px; background: linear-gradient(110deg, #f6df86, #ecad44); color: #18140a; font-size: 13px; font-weight: 600; margin-top: 24px; }
#cruzeiros > .packages-wrap { margin-left: auto; margin-right: auto; padding: 0 24px; }
@media (max-width: 1023px) { .packages-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 639px) { .packages-grid { grid-template-columns: 1fr; } }
.brand-home { display: block; flex: 0 0 auto; width: 170px; height: 146px; overflow: hidden; mix-blend-mode: screen; }
.brand-home-logo { display: block; width: 137%; max-width: none; height: auto; margin-left: -18.5%; transform: translateY(-15%); filter: url("#brand-remove-black"); }
header > div { padding-top: 8px; padding-bottom: 8px; }
#topo > .relative { padding-top: 184px; padding-bottom: 32px; }
section[id] { scroll-margin-top: 90px; }
header > div { min-height: 72px; justify-content: center; gap: 48px; }
header nav { display: flex; }
#topo { min-height: 88svh; justify-content: center; }
.hero-brand-center { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; padding: 100px 24px 40px; }
.hero-logo-frame { width: min(440px, 78vw); aspect-ratio: 1.16; overflow: hidden; }
.hero-logo { display: block; width: 137%; max-width: none; margin-left: -18.5%; transform: translateY(-15%); filter: url("#brand-remove-black"); }
.hero-discover { margin-top: 30px; color: #f6d56c; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; display: flex; align-items: center; gap: 14px; }
.campaign-intro { padding: 88px 24px; border-bottom: 1px solid hsl(var(--border)); background: radial-gradient(ellipse at top, rgba(197,151,57,.1), transparent 65%); }
.campaign-intro > div { padding: 0; text-align: center; }
.campaign-intro .max-w-2xl, .campaign-intro .max-w-lg, .campaign-intro .max-w-3xl { margin-left: auto; margin-right: auto; }
.campaign-intro .max-w-2xl { max-width: 850px; }
.campaign-intro .mt-10 { justify-content: center; }
.campaign-intro h1 { font-size: clamp(38px, 5vw, 64px); }
header > div { gap: 24px; }
@media (max-width: 767px) {
  .brand-home { width: 128px; height: 110px; }
  #topo > .relative { padding-top: 150px; }
  header > div { gap: 12px; padding-left: 16px; padding-right: 16px; }
  header > div > a:last-child { padding: 10px 14px; font-size: 12px; white-space: nowrap; }
  header > div { min-height: 64px; gap: 12px; }
  header nav { gap: 14px; font-size: 11px; overflow-x: auto; }
  header > div > a:last-child { display: none; }
  #topo { min-height: 74svh; }
  .hero-brand-center { padding-top: 100px; padding-bottom: 40px; }
  .hero-discover { font-size: 10px; }
  .campaign-intro { padding: 64px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
