/* =============================================================================
   Sítio Vale Encantado — os dois chalés na página inicial (Chalé Família e
   Chalé Casal). Mesma dobra aprovada na Morada dos Vagalumes: foto em arco com
   troca fora/dentro no hover, nome, ficha e as duas ações.
   Só usa os tokens do modelo-privilege.css; mesmo arco, filete e tipografia.
   ============================================================================= */

.pv-casas { padding: 72px var(--gutter) 88px; background: var(--cream); }
@media (min-width: 768px) { .pv-casas { padding: 120px 48px 128px; } }

.pv-casas__grade { display: grid; gap: 72px; max-width: 1240px; margin: 56px auto 0; }
@media (min-width: 900px) { .pv-casas__grade { grid-template-columns: 1fr 1fr; gap: 64px; margin-top: 72px; } }

/* cartão: foto em arco (fora → dentro ao passar o mouse) + texto centrado */
.pv-acomod { display: flex; flex-direction: column; }
.pv-acomod__foto {
  position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden;
  border-radius: 50% 50% 8px 8px / 28% 28% 8px 8px; background: var(--cream-deep);
}
.pv-acomod__foto img {
  position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover;
  transition: opacity 1.2s var(--ease), transform 2.4s var(--ease);
}
.pv-acomod__dentro { opacity: 0; }
@media (hover: hover) {
  .pv-acomod__foto:hover .pv-acomod__fora, .pv-acomod__foto:focus-visible .pv-acomod__fora { transform: scale(1.04); }
  .pv-acomod__foto:hover .pv-acomod__dentro, .pv-acomod__foto:focus-visible .pv-acomod__dentro { opacity: 1; transform: scale(1.02); }
}
.pv-acomod__foto::after {
  content: ""; position: absolute; inset: auto 0 0 0; height: 30%; pointer-events: none;
  background: linear-gradient(to top, rgb(var(--tinta) / .45), transparent);
}
.pv-acomod__num {
  position: absolute; left: 50%; bottom: 22px; z-index: 1; transform: translateX(-50%);
  font-family: var(--f-display); font-size: 1.05rem; letter-spacing: .3em; padding-left: .3em; color: var(--cream);
}

.pv-acomod__texto { padding-top: 36px; text-align: center; }
.pv-acomod__texto .pv-eyebrow { margin-bottom: 14px; }
.pv-acomod__nome { font-family: var(--f-display); font-weight: 400; line-height: 1; letter-spacing: .03em;
  font-size: clamp(2.3rem, 4.2vw, 3.4rem); color: var(--ink-deep); }
.pv-acomod__nome a { color: inherit; text-decoration: none; }
.pv-acomod__meta { margin-top: 18px; font-size: .7rem; letter-spacing: .26em; text-transform: uppercase; color: var(--text-dim); }
.pv-acomod__desc { max-width: 30rem; margin: 18px auto 0; }
.pv-acomod__nota { margin-top: 14px; font-family: var(--f-display); font-style: italic; font-size: 1.15rem; color: var(--ink); }
.pv-acomod__nota span { color: var(--text-dim); }
.pv-acomod__acoes { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 28px; margin-top: 28px; }
.pv-acomod__reservar {
  font-size: .64rem; letter-spacing: .28em; text-transform: uppercase; color: var(--ink); text-decoration: none;
  padding-bottom: 4px; border-bottom: 1px solid color-mix(in oklab, var(--ink) 35%, transparent);
  transition: border-color .5s var(--ease);
}
.pv-acomod__reservar:hover { border-color: var(--ink); }

/* a grade com 2 cartões não estoura a janela no celular */
.pv-casas__grade > * { min-width: 0; }
