/* NUBEL · estilos de páginas interiores */

/* ---------- hero interior ---------- */
.phero{
  position:relative;
  min-height:62svh;
  display:flex;flex-direction:column;justify-content:flex-end;
  color:var(--hueso);
  background:var(--tinta);
  overflow:hidden;
}
.phero__img{position:absolute;inset:0;z-index:0}
.phero__img img{width:100%;height:100%;object-fit:cover}
.phero__velo{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(to bottom,rgba(29,29,27,.5) 0%,rgba(29,29,27,.18) 45%,rgba(29,29,27,.72) 100%);
}
.phero .grid-lines span{border-color:var(--linea-clara)}
.phero__contenido{
  position:relative;z-index:3;
  padding:calc(var(--header-h) + 40px) var(--pad-x) 36px;
}
.phero__miga{display:flex;gap:1em;margin-bottom:1.2em}
.phero__miga .sep{opacity:.4}
.phero__contenido h1{margin-bottom:0}
.phero__pie{
  position:relative;z-index:3;
  margin:0 var(--pad-x);
  border-top:1px solid var(--linea-clara);
  padding:20px 0 28px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}

/* hero sin imagen (páginas sobrias) */
.phero--plano{min-height:0;background:var(--tinta)}

/* ---------- bloques genéricos ---------- */
.pag-seccion{position:relative;padding:clamp(60px,8vw,110px) 0}
.pag-seccion--crema{background:var(--crema)}
.pag-seccion--oscura{background:var(--tinta);color:var(--hueso)}

.dos-col{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(32px,5vw,80px);
  align-items:start;
}
.dos-col--centrada{align-items:center}

/* ficha de datos (dirección / horario / contacto) */
.ficha{border-top:1px solid var(--linea)}
.ficha__fila{
  display:grid;grid-template-columns:minmax(120px,180px) 1fr;
  gap:18px;
  padding:16px 0;
  border-bottom:1px solid var(--linea);
  font-size:.95rem;
}
.ficha__fila .et{padding-top:.15em}
.ficha__fila a{border-bottom:1px solid var(--linea);transition:color .2s,border-color .2s}
.ficha__fila a:hover{color:var(--granate);border-color:var(--granate)}
.seccion--oscura .ficha,.pag-seccion--oscura .ficha{border-color:var(--linea-clara)}
.pag-seccion--oscura .ficha__fila{border-color:var(--linea-clara)}
.pag-seccion--oscura .ficha__fila a{border-color:var(--linea-clara)}
.pag-seccion--oscura .ficha__fila a:hover{color:var(--amarillo);border-color:var(--amarillo)}

/* ---------- reservas ---------- */
.resv-marco{
  position:relative;z-index:2;
  background:#fff;
  border:1px solid var(--linea);
  min-height:640px;
}
.resv-marco iframe{display:block;width:100%;border:0;min-height:640px;background:#fff}
.resv-marco .cargando{padding:80px 20px;text-align:center;color:var(--grafito);opacity:.55}

/* ---------- cartas ---------- */
.carta-bloque{
  position:relative;
  padding:clamp(60px,8vw,100px) 0;
  border-top:1px solid var(--linea);
  scroll-margin-top:calc(var(--header-h) + 10px);
}
.carta-bloque:first-of-type{border-top:0}
.carta-bloque__grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(32px,5vw,80px);
  align-items:start;
}
.carta-bloque__grid--inv .carta-bloque__foto{order:2}
.carta-bloque__info .mono{color:var(--granate);display:block;margin-bottom:1.1em}
.carta-bloque__info h2{margin-bottom:.45em}
.carta-bloque__info .lead{margin-bottom:1.8em}
.carta-bloque__datos{
  border-top:1px solid var(--linea);
  margin-bottom:1.8em;
}
.carta-bloque__datos div{
  display:flex;justify-content:space-between;gap:14px;
  padding:.75em 0;border-bottom:1px solid var(--linea);
  font-size:.92rem;
}
.carta-bloque__acciones{display:flex;gap:12px;flex-wrap:wrap}
.carta-bloque__foto img{width:100%;height:auto}
.carta-bloque__foto .pie{
  display:flex;justify-content:space-between;
  padding-top:10px;border-top:1px solid var(--linea);margin-top:10px;
}

/* ---------- calendario de programación ---------- */
.cal{position:relative;z-index:2}
.cal__cab{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:26px;gap:16px;flex-wrap:wrap;
}
.cal__mes{font-size:clamp(1.6rem,3vw,2.4rem)}
.cal__nav{display:flex;gap:10px}
.cal__nav button{
  width:44px;height:44px;
  display:grid;place-items:center;
  border:1px solid var(--tinta);
  font-size:1.1rem;
  transition:background .2s,color .2s;
}
.cal__nav button:hover{background:var(--tinta);color:var(--hueso)}
.cal__nav button:disabled{opacity:.3;cursor:default}
.cal__nav button:disabled:hover{background:transparent;color:inherit}
.cal__grid{
  display:grid;grid-template-columns:repeat(7,1fr);
  gap:1px;
  background:var(--linea);
  border:1px solid var(--linea);
}
.cal__dsem{
  background:var(--tinta);color:var(--hueso);
  padding:.7em .5em;text-align:center;
}
.cal__dia{
  background:var(--hueso);
  min-height:110px;
  padding:10px;
  display:flex;flex-direction:column;gap:6px;
  position:relative;
}
.cal__dia .num{font-size:.7rem;opacity:.5;font-family:'JetBrains Mono',monospace}
.cal__dia--fuera{background:var(--crema)}
.cal__dia--fuera .num{opacity:.22}
.cal__dia--hoy .num{
  color:var(--hueso);opacity:1;
  background:var(--granate);
  width:22px;height:22px;display:grid;place-items:center;
}
.cal__ev{
  font-size:.72rem;line-height:1.35;
  padding:.35em .55em;
  background:var(--crema);
  border-left:2px solid var(--granate);
}
.cal__ev--dj{border-left-color:var(--turquesa)}
.cal__ev--show{border-left-color:var(--amarillo)}
.cal__ev--cerrado{border-left-color:var(--piedra);opacity:.55}
.cal__leyenda{
  display:flex;gap:22px;flex-wrap:wrap;
  margin-top:20px;
}
.cal__leyenda span{display:inline-flex;align-items:center;gap:.6em;font-size:.8rem}
.cal__leyenda i{width:12px;height:12px;display:inline-block}

/* lista agenda (móvil) */
.cal--lista{display:none}
.cal--lista li{
  display:grid;grid-template-columns:64px 1fr;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--linea);
}
.cal--lista .f{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.1em;padding-top:.3em}
.cal--lista .t{font-size:.92rem}
.cal--lista .t small{display:block;opacity:.6;font-size:.8rem}

/* ---------- galería completa ---------- */
.galp__filtros{
  position:relative;z-index:2;
  display:flex;gap:10px;flex-wrap:wrap;
  margin-bottom:clamp(30px,4vw,50px);
}
.galp__filtros button{
  font-family:'JetBrains Mono',monospace;
  font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  padding:.8em 1.5em;
  border:1px solid var(--linea);
  transition:background .2s,color .2s,border-color .2s;
}
.galp__filtros button:hover{border-color:var(--tinta)}
.galp__filtros button.activo{background:var(--tinta);color:var(--hueso);border-color:var(--tinta)}
.galp__grid{
  position:relative;z-index:2;
  columns:3;column-gap:clamp(14px,1.8vw,26px);
}
.galp__item{
  break-inside:avoid;
  margin-bottom:clamp(14px,1.8vw,26px);
  position:relative;overflow:hidden;
  display:block;
}
.galp__item img{width:100%;height:auto;transition:transform .6s}
.galp__item:hover img{transform:scale(1.04)}
.galp__item .tag{
  position:absolute;left:12px;bottom:12px;
  background:var(--hueso);color:var(--tinta);
  padding:.45em .9em;
}
.galp__item.oculto{display:none}

/* ---------- formularios ---------- */
.form{position:relative;z-index:2;display:grid;gap:22px}
.form__grupo{display:grid;gap:8px}
.form label{composes:none}
.form .etiqueta{
  font-family:'JetBrains Mono',monospace;
  font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  opacity:.7;
}
.form input,.form select,.form textarea{
  font:inherit;font-size:.95rem;
  color:var(--tinta);
  background:transparent;
  border:0;border-bottom:1px solid var(--linea);
  padding:.7em 0;
  border-radius:0;
  transition:border-color .2s;
}
.form input:focus,.form select:focus,.form textarea:focus{
  outline:none;border-bottom-color:var(--granate);
}
.form textarea{min-height:120px;resize:vertical}
.form__fila{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form .btn{justify-self:start;margin-top:.6em}

/* ---------- equipo / quiénes somos ---------- */
.persona{position:relative}
.persona img{width:100%;height:auto}
.persona__info{padding-top:16px;border-top:1px solid var(--linea);margin-top:14px}
.persona__info .mono{color:var(--granate);display:block;margin-bottom:.5em}
.persona__info h3{font-size:clamp(1.4rem,2.4vw,1.9rem);margin-bottom:.4em}
.persona__info p{font-size:.92rem;opacity:.85}
.tres-col{
  position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(24px,3.5vw,50px);
}

/* cita editorial grande */
.cita{
  position:relative;z-index:2;
  font-family:'Archivo',sans-serif;font-weight:200;
  font-size:clamp(1.6rem,3.4vw,3rem);
  line-height:1.3;
  max-width:26ch;
}
.cita strong{font-weight:500;color:var(--granate)}
.pag-seccion--oscura .cita strong{color:var(--amarillo)}

/* mapa */
.mapa{position:relative;z-index:2;border:1px solid var(--linea);background:var(--tinta)}
.mapa iframe{display:block;width:100%;height:440px;border:0;filter:grayscale(1) contrast(1.05)}

/* aviso interno (pendiente de confirmar con cliente) */
.nota-interna{
  position:relative;z-index:2;
  border:1px dashed var(--granate);
  padding:14px 18px;
  font-size:.8rem;color:var(--granate);
  margin-top:26px;
}

/* ---------- responsive interiores ---------- */
@media (max-width:960px){
  .dos-col{grid-template-columns:1fr}
  .carta-bloque__grid{grid-template-columns:1fr}
  .carta-bloque__grid--inv .carta-bloque__foto{order:0}
  .tres-col{grid-template-columns:1fr}
  .galp__grid{columns:2}
  .form__fila{grid-template-columns:1fr}
}
@media (max-width:720px){
  .cal--tabla{display:none}
  .cal--lista{display:block}
}
@media (max-width:640px){
  .galp__grid{columns:1}
}
