/* ===================================================================
   VISÍTANOS – CSS ÚNICO E INDEPENDIENTE
=================================================================== */

/* ===== Reset + Tokens ===== */
*{ box-sizing:border-box; margin:0; padding:0 }
:root{
  --bg:#180F0F;
  --panel:#0f0c0c;
  --text:#e9e9e9;
  --muted:#c7c7c7;
  --accent:#ffa500;
  --ink:#111;
  --card:#1a1414;
  --border:rgba(255,255,255,.10);
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --radius:14px;

  /* Hero tuning */
  --v-hero-blur: 2px;
  --v-hero-box: rgba(15,12,12,.50);
  --v-hero-overlay: radial-gradient(800px 380px at 50% 30%, rgba(0,0,0,.40), rgba(0,0,0,.62) 70%);
}
.v-body{
  background:var(--bg);
  color:var(--text);
  font:400 16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
}
img{ display:block; max-width:100%; height:auto }
.v-wrap{ width:min(1100px,92%); margin-inline:auto }

/* ===== HERO ===== */
.v-hero{
  position:relative;
  min-height: 42vh;
  padding: 40px 0;
  display:flex; align-items:center; justify-content:center;
}
.v-hero::before{
  content:""; position:absolute; inset:0;
  background: var(--hero-bg, none) center/cover no-repeat;
  filter: blur(var(--v-hero-blur)) brightness(.9) saturate(1.05) contrast(1.04);
  transform: scale(1.02);
  opacity:.95;
  pointer-events:none; /* no bloquea clics */
}
.v-hero::after{
  content:""; position:absolute; inset:0;
  background: var(--v-hero-overlay);
  pointer-events:none; /* no bloquea clics */
}
.v-hero__content{
  position:relative; z-index:1;
  max-width: 760px; width: min(92%, 760px);
  padding: 18px 22px; border-radius: 14px;
  background: var(--v-hero-box);
  backdrop-filter: blur(6px) saturate(115%);
  -webkit-backdrop-filter: blur(6px) saturate(115%);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 12px 38px rgba(0,0,0,.44);
  text-align:center;
}
.v-hero__content h1{
  font-weight:900; letter-spacing:.2px;
  font-size: clamp(2rem, 4.6vw, 2.7rem);
  margin-bottom:8px; color:#fff;
}
.v-hero__content p{
  max-width:62ch; margin:0 auto 14px; color:#ededed;
}

/* ===== Botones ===== */
.v-cta{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap }
.v-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:10px; font-weight:800;
  text-decoration:none; border:2px solid transparent;
  transition: transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.v-btn:focus{ outline:none; box-shadow:0 0 0 3px rgba(255,165,0,.35) }
.v-btn:active{ transform: translateY(1px) }
.v-btn--primary{ background:var(--accent); color:var(--ink) }
.v-btn--primary:hover{ background:#fff; color:var(--accent); border-color:var(--accent) }
.v-btn--ghost{ background:transparent; color:#fff; border-color:#fff }
.v-btn--ghost:hover{ background:#fff; color:var(--ink) }

/* ===== Secciones genéricas ===== */
.v-main{ padding:22px 0 48px }
.v-block{ margin:28px 0 }
.v-title{
  font-weight:900;
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  margin-bottom:12px;
}

/* ===== Galería (rejilla uniforme 4:3) ===== */
.v-gallery{
  display:grid; gap:12px;
  grid-template-columns: repeat(12, 1fr);
}
.v-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.v-card--img{
  aspect-ratio: 4 / 3;
  grid-column: span 4;            /* 3 columnas desktop */
}
.v-card--img img{
  width:100%; height:100%; object-fit:cover;
  transition: transform .25s ease;
}
.v-card--img:hover img{ transform: scale(1.03) }
@media (max-width:1024px){ .v-card--img{ grid-column: span 6 } }  /* 2 col */
@media (max-width:560px){  .v-card--img{ grid-column: span 12 } } /* 1 col */


/* ===== Videos (reels verticales 9:16) ===== */
.v-reels{
  display: grid;
  gap: 12px;
  /* Se auto-acomoda: 1–N columnas según ancho disponible */
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  justify-items: center;   /* centra cada tarjeta si sobra espacio */
  align-items: start;
}

.v-reel{
  width: 100%;
  height: 600px;      /* tamaño máximo que te gustó */
  aspect-ratio: 9 / 16;    /* una sola vez, elimina el height fijo */
  background:#000;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  object-fit: cover;
}

/* Ajustes finos por breakpoint */
@media (max-width: 768px){
  .v-reel{ max-width: 280px; }   /* un poco más pequeño en tablet */
}

@media (max-width: 560px){
  .v-reels{ grid-template-columns: 1fr; }  /* 1 columna en móvil */
  .v-reel{ max-width: 100%; }               /* ocupa todo el ancho */
}


/* ===== Redes ===== */
.v-social-grid{
  display:grid; gap:12px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.v-card--link{
  display:flex; align-items:center; gap:12px;
  padding:14px;
  border:1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  text-decoration:none; color:#fff;
}
.v-card--link i{ font-size:24px }
.v-social-title{ font-weight:800 }
.v-social-user{ display:block; color:#d8d8d8 }

/* ===== Mapa + Dirección ===== */
.v-map{
  display:grid; gap:14px;
  grid-template-columns: 1.05fr 1.4fr;
}
@media (max-width:900px){ .v-map{ grid-template-columns: 1fr } }
.v-map__info{ padding:14px }
.v-place{ font-weight:900; font-size:1.05rem }
.v-addr{ color:#f0f0f0 }
.v-hours{ color:#d5d5d5; margin:6px 0 10px }
.v-map__frame iframe{
  width:100%; height:100%; min-height:300px; border:0;
}

/* ===== Footer (reusa estilos globales) ===== */
.contact{ border-top:1px solid var(--border); }
