/* v4: página inicial limpa e arrumada. Cores e letra de style.css. */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
:root{--lado:max(var(--gutter),calc((100vw - var(--wrap)) / 2 + var(--gutter)))}

/* abertura: texto e datas de um lado, foto do outro */
.v-hero{max-width:var(--wrap);margin:0 auto;padding:clamp(1rem,2vw,2rem) var(--gutter) 0;display:grid;gap:clamp(1.5rem,3vw,4rem);align-items:center}
.v-hero h1{font-size:clamp(2.4rem,1.2rem + 3.6vw,4.4rem)}
.v-hero h1 span{display:block;color:var(--rosa-forte);font-weight:500}
.v-hero-txt>p{max-width:44ch;margin-top:1rem;color:var(--ink-2);font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}
.v-busca{margin-top:1.75rem;background:var(--branco);border-radius:22px;box-shadow:var(--sombra);padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.v-busca .campo-casa,.v-busca .btn{grid-column:1/-1}
.v-busca .btn{min-height:3.25rem}
.v-hero-txt>p.v-busca-nota{max-width:none;margin-top:.9rem;font-size:.8125rem}
.v-busca-nota a{color:var(--ink)}
.v-hero-foto{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/3;background:var(--cal-2)}
.v-hero-foto img{width:100%;height:100%;object-fit:cover}
.v-hero-notas{position:absolute;left:1rem;bottom:1rem;display:flex;align-items:center;gap:.9rem;background:var(--branco);border-radius:999px;padding:.5rem 1rem;font-size:.875rem;font-weight:600}
.v-hero-notas b{color:#fff;border-radius:999px;padding:.2rem .55rem;margin-right:.3rem}
.v-hero-notas .t b{background:var(--tavira)}
.v-hero-notas .c b{background:var(--conceicao)}
.v-hero-notas small{font-size:.8125rem;font-weight:500;color:var(--ink-2)}

/* as casas: uma linha por casa, foto de um lado e texto do outro */
.v-casas{max-width:var(--wrap);margin:0 auto;padding:var(--section) var(--gutter) 0;display:grid;gap:clamp(1rem,2vw,1.5rem);scroll-margin-top:2rem}
.v-casa{--casa:var(--ink);--casa-claro:var(--cal-2);--sub:var(--ink-2);background:var(--branco);border-radius:28px;box-shadow:var(--sombra);scroll-margin-top:5.5rem}
.v-casa[data-casa="tavira"]{--casa:var(--tavira);--casa-claro:var(--tavira-claro)}
.v-casa[data-casa="conceicao"]{--casa:var(--conceicao);--casa-claro:var(--conceicao-claro)}
.v-casa-in{padding:clamp(1rem,2.5vw,2.25rem);display:grid;gap:clamp(1.5rem,3vw,3.5rem);align-items:center}
.v-casa h2{font-size:var(--fs-h2);display:flex;align-items:center;gap:.7rem}
.v-casa h2::before{content:"";width:.8rem;height:.8rem;border-radius:50%;background:var(--casa);flex:none}
.v-casa .comodidades li{background:var(--casa-claro)}
.v-casa .galeria{grid-template-columns:repeat(4,1fr);grid-auto-rows:auto;gap:.6rem}
.v-casa .galeria>button:nth-child(n){grid-column:auto;grid-row:auto;aspect-ratio:1;border-radius:14px}
.v-casa .galeria>button:nth-child(1){grid-column:1/-1;aspect-ratio:16/10;border-radius:20px}
.v-casa .galeria .ver-todas{grid-column:1/-1;grid-row:auto}
.v-casa .galeria .ver-todas .btn{min-height:3rem;border-radius:999px;background:var(--cal-2)}
.v-casa .galeria .ver-todas .btn:hover{background:var(--ink)}
.v-frase{display:grid;gap:.75rem}
.v-frase blockquote{margin:0;background:var(--branco);border-radius:22px 22px 22px 6px;padding:1.1rem 1.25rem;box-shadow:var(--sombra)}
.v-frase cite{display:block;margin-top:.5rem;font-style:normal;font-size:var(--fs-small);color:var(--ink-2)}
.v-breve{background:var(--rosa);border-radius:28px;text-align:center;padding:clamp(2rem,4vw,3.5rem) var(--gutter);scroll-margin-top:5.5rem}
.v-enorme{font-size:var(--fs-h2);font-weight:700;line-height:1;letter-spacing:-.03em}
.v-breve .pt{margin-top:.4rem;font-weight:600;color:var(--sobre-rosa)}
.v-breve h2{font-size:var(--fs-h3);margin-top:1.5rem}
.v-breve .txt{max-width:44ch;margin:.5rem auto 0;color:var(--sobre-rosa)}
.v-breve .acoes{justify-content:center}

/* os pormenores: grelha simples */
.v-pm{max-width:var(--wrap);margin:0 auto;padding:var(--section) var(--gutter) 0}
.v-pm-tit h2{font-size:var(--fs-h2)}
.v-pm-tit p{color:var(--ink-2);margin-top:.6rem}
.v-setas{display:none}
.v-pm-fita{list-style:none;margin:clamp(1.5rem,1rem + 2vw,2.5rem) 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,2vw,2rem) clamp(.75rem,1.6vw,1.5rem)}
.v-pm-fita li{--casa:var(--tavira)}
.v-pm-fita li[data-casa="conceicao"]{--casa:var(--conceicao)}
.v-pm-fita figure{margin:0}
.v-pm-fita .pm-foto{aspect-ratio:4/3}
.v-pm-fita figcaption{padding-top:.75rem}
.v-pm-fita figcaption b{display:block;font-weight:600;line-height:1.35}
.v-pm-fita figcaption span{display:block;margin-top:.25rem;font-size:.8125rem;font-weight:600;color:var(--casa)}

/* ---------- tudo aqui perto: uma tabela ---------- */
.v-perto{max-width:var(--wrap);margin:0 auto;padding:var(--section) var(--gutter) 0;scroll-margin-top:2rem}
.v-tabela{width:100%;border-collapse:separate;border-spacing:clamp(.35rem,1vw,1rem) 0;margin-inline:calc(clamp(.35rem,1vw,1rem) * -1);width:calc(100% + clamp(.35rem,1vw,1rem) * 2);font-variant-numeric:tabular-nums}
.v-tabela th,.v-tabela td{padding:1rem clamp(.6rem,1.5vw,1.5rem);text-align:left;border-bottom:1px solid var(--fio);font-weight:500}
.v-tabela td{font-weight:600}
.v-tabela thead th{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.02em;line-height:1.1;padding-block:1.4rem 1.1rem;vertical-align:bottom}
.v-tabela thead th:first-child{border-bottom:0}
.v-tabela th:nth-child(2),.v-tabela td:nth-child(2){background:var(--tavira-claro)}
.v-tabela th:nth-child(3),.v-tabela td:nth-child(3){background:var(--conceicao-claro)}
.v-tabela thead th:nth-child(n+2){border-radius:22px 22px 0 0}
.v-tabela tbody tr:last-child td{border-bottom:0;border-radius:0 0 22px 22px;padding-bottom:1.4rem}
.v-tabela tbody tr:last-child th{border-bottom:0}
.v-tabela .sem{color:var(--ink-2);font-weight:400}
.v-tabela thead i{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;margin-right:.5rem;vertical-align:.05em}
.v-tabela thead th:nth-child(2) i{background:var(--tavira)}
.v-tabela thead th:nth-child(3) i{background:var(--conceicao)}

/* reservar: o fecho */
.v-fim{background:var(--rosa);border-radius:28px;text-align:center;margin:var(--section) var(--lado) clamp(1rem,2vw,2rem);padding:clamp(2.5rem,2rem + 3vw,4.5rem) var(--gutter);scroll-margin-top:5.5rem}
.v-fim h2{font-size:var(--fs-h2)}
.v-fim .lead{max-width:44ch;margin:1rem auto 0}
.v-fim .acoes{justify-content:center}
.v-vias{list-style:none;max-width:60rem;margin:clamp(2rem,1.5rem + 2vw,3rem) auto 0;padding:0;display:grid;gap:1.25rem 1.5rem;text-align:left}
.v-vias li{border-top:1.5px solid var(--ink);padding-top:.9rem}
.v-vias b{display:block;font-size:1.1rem;font-weight:600}
.v-vias span{display:block;font-size:var(--fs-small);margin-top:.25rem}
.v-regras{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.75rem;margin-top:2rem;font-size:var(--fs-small)}

@media (min-width:900px){
  .v-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .v-hero-foto{aspect-ratio:auto;height:min(76vh,44rem);min-height:32rem}
  .v-casa-in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  .v-casa[data-casa="tavira"] .v-casa-txt{order:2}
  .v-frase{grid-template-columns:1fr 1fr}
  .v-pm-fita{grid-template-columns:repeat(3,1fr)}
  .v-vias{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:820px){
  .v-tabela th,.v-tabela td{font-size:.9375rem;padding:.8rem .6rem}
  .v-tabela thead th{font-size:1rem}
  .v-hero-notas{gap:.6rem;font-size:.8125rem}
}
@media (prefers-reduced-motion:no-preference){
  .js .v-hero-txt,.js .v-hero-foto{animation:v-sobe 1s var(--ease) backwards}
  .js .v-hero-foto{animation-delay:.15s}
  @keyframes v-sobe{from{opacity:0;transform:translateY(24px)}}
}
