/**
 * Seven Hotel — Fundos alternados e texturas sutis (menos “branco chapado”)
 */

.travo-section,
.travo-section--light,
.travo-section--muted,
.travo-about-vm,
.travo-about-values,
.travo-about-section,
.travo-about-awards,
.travo-contact,
.seven-rooms-list,
.seven-room-detail,
.seven-reserve,
.seven-reserve-success {
  position: relative;
  isolation: isolate;
}

.seven-travo-home,
.seven-travo-page {
  --seven-bg-warm: #f2f1f0;
  --seven-bg-lilac: #f6f4fa;
  --seven-bg-mist: #ebe8f0;
  --seven-bg-slate: #e8eaef;
  --seven-dot-pattern: radial-gradient(rgba(94, 52, 247, 0.042) 1px, transparent 1px);
  --seven-dot-size: 26px 26px;
}

/* ─── Utilitário: seção com padrão + conteúdo acima ─── */
.seven-surface-block {
  position: relative;
  isolation: isolate;
}

.seven-surface-block::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: var(--seven-dot-pattern);
  background-size: var(--seven-dot-size);
}

.seven-surface-block > .seven-container,
.seven-surface-block > .auto-container {
  position: relative;
  z-index: 1;
}

/* ─── Home: seções Travo ─── */
.travo-section--light {
  background: linear-gradient(168deg, #faf8ff 0%, #f5f3f9 45%, var(--seven-bg-warm) 100%);
}

.travo-section--light.seven-surface-block::before,
.travo-section--light::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: var(--seven-dot-pattern);
  background-size: var(--seven-dot-size);
}

.travo-section--light > .seven-container {
  position: relative;
  z-index: 1;
}

.seven-travo-home .travo-section:not(.travo-section--light):not(.travo-section--muted):not(.travo-cta),
.seven-travo-page .travo-section:not(.travo-section--light):not(.travo-section--muted):not(.travo-cta) {
  background: linear-gradient(180deg, #eceae9 0%, #e4e2e6 100%);
}

.travo-section--muted {
  background: linear-gradient(135deg, #e6e2ee 0%, #dfe3eb 50%, #e9ebf2 100%);
}

.travo-section--muted::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(120deg, rgba(134, 90, 255, 0.05) 0%, transparent 55%),
    var(--seven-dot-pattern);
  background-size: 100% 100%, 32px 32px;
}

.travo-section--muted > .seven-container {
  position: relative;
  z-index: 1;
}

/* Cards destacam sobre fundos tintados */
.travo-section--light .travo-feature-card,
.travo-section--light .travo-dest-card,
.travo-section--muted .travo-testimonial,
.travo-trending-card,
.travo-dest-card {
  background: #fff;
  border-color: rgba(134, 90, 255, 0.1);
  box-shadow: 0 8px 32px rgba(22, 19, 20, 0.06);
}

.travo-feature-card {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(6px);
}

/* ─── Sobre ─── */
.travo-about-vm {
  background: linear-gradient(180deg, #faf9fc 0%, var(--seven-bg-lilac) 100%);
}

.travo-about-vm::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: var(--seven-dot-pattern);
  background-size: var(--seven-dot-size);
}

.travo-about-vm > .seven-container {
  position: relative;
  z-index: 1;
}

.travo-about-vm__card {
  background: #fff;
  border-color: rgba(134, 90, 255, 0.12);
  box-shadow: 0 6px 28px rgba(22, 19, 20, 0.05);
}

.travo-about-values {
  background: linear-gradient(135deg, var(--seven-bg-mist) 0%, var(--seven-bg-slate) 100%);
}

.travo-about-values::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(160deg, rgba(134, 90, 255, 0.04) 0%, transparent 60%),
    var(--seven-dot-pattern);
  background-size: 100% 100%, 30px 30px;
}

.travo-about-values > .seven-container {
  position: relative;
  z-index: 1;
}

.travo-about-section {
  background: linear-gradient(180deg, var(--seven-bg-warm) 0%, #eae8ec 100%);
}

.travo-about-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: var(--seven-dot-pattern);
  background-size: 28px 28px;
  opacity: 0.85;
}

.travo-about-section > .seven-container {
  position: relative;
  z-index: 1;
}

.travo-about-awards {
  background: linear-gradient(180deg, #e8e6eb 0%, var(--seven-bg-lilac) 100%);
}

.travo-about-awards::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: var(--seven-dot-pattern);
  background-size: var(--seven-dot-size);
}

.travo-about-awards > .seven-container {
  position: relative;
  z-index: 1;
}

/* ─── Quartos, reserva, contato, detalhe ─── */
.seven-rooms-list {
  background: linear-gradient(180deg, var(--seven-bg-lilac) 0%, var(--seven-bg-warm) 55%, #eceae8 100%);
}

.seven-rooms-list::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: var(--seven-dot-pattern);
  background-size: var(--seven-dot-size);
}

.seven-rooms-list > .seven-container {
  position: relative;
  z-index: 1;
}

.seven-room-detail {
  background: linear-gradient(180deg, #f0eef3 0%, var(--seven-bg-warm) 100%);
}

.seven-room-detail::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: var(--seven-dot-pattern);
  background-size: var(--seven-dot-size);
}

.seven-room-detail > .seven-container {
  position: relative;
  z-index: 1;
}

.seven-reserve,
.seven-reserve-success {
  background: linear-gradient(165deg, var(--seven-bg-lilac) 0%, var(--seven-bg-warm) 100%);
}

.seven-reserve::before,
.seven-reserve-success::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(120deg, rgba(134, 90, 255, 0.04) 0%, transparent 50%),
    var(--seven-dot-pattern);
  background-size: 100% 100%, var(--seven-dot-size);
}

.seven-reserve > .seven-container,
.seven-reserve-success > .seven-container {
  position: relative;
  z-index: 1;
}

.travo-contact {
  background: linear-gradient(180deg, #ece9f0 0%, var(--seven-bg-warm) 100%);
}

.travo-contact::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: var(--seven-dot-pattern);
  background-size: var(--seven-dot-size);
}

.travo-contact > .seven-container {
  position: relative;
  z-index: 1;
}

.travo-page-hero--compact {
  background: linear-gradient(180deg, #fff 0%, var(--seven-bg-lilac) 100%);
  border-bottom: 1px solid rgba(134, 90, 255, 0.08);
}
