/* =====================================================
   RALVA — ralva-single.css (LIMPIO + PREMIUM)
   - Single Propiedad (general) + Single Anuncio (override)
   - Carrusel full width real en anuncios
   - Imagen completa (contain) + botón + modal
===================================================== */

/* =========================
   0) TOKENS
========================= */
:root{
  --ralva-blue:#0e3554;
  --ralva-gold:#d5c29a;
  --ralva-ivory:#F8F5F0;

  /* Glass premium */
  --glass-bg: rgba(14,53,84,.55);
  --glass-bg-strong: rgba(14,53,84,.72);
  --glass-stroke: rgba(213,194,154,.42);
  --glass-stroke-soft: rgba(255,255,255,.10);

  --glass-shadow: 0 24px 60px rgba(0,0,0,.34);
  --gold-glow: 0 0 22px rgba(213,194,154,.25);
  --gold-glow-strong: 0 0 36px rgba(213,194,154,.35);

  --radius-xl: 22px;
  --radius-lg: 16px;
}

/* =========================
   1) CONTENEDOR GENERAL
========================= */
.ralva-single{
  position:relative;
  background: transparent;
  color:#fff;
  min-height:auto;
  padding:26px 16px 28px;
  overflow-x:hidden; /* general */
}

.ralva-single__wrap{
  max-width:1200px;
  margin:0 auto;
}

/* Overlay dark (solo general; en anuncio lo apagamos) */
.ralva-single::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,.75) 0%,
    rgba(0,0,0,.55) 35%,
    rgba(0,0,0,.25) 60%,
    rgba(0,0,0,0) 85%
  );
}

/* =========================
   2) TÍTULO GOLD CINEMATIC
========================= */
.ralva-title{
  position:relative;
  z-index:2;
  margin: 0 0 16px;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: .5px;
  font-weight: 500;

  background: linear-gradient(
    180deg,
    #f3e2b8 0%,
    #e6d1a5 30%,
    #d5c29a 55%,
    #bfa36a 75%,
    #fff1c7 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;

  text-shadow:
    0 6px 25px rgba(0,0,0,.75),
    0 0 30px rgba(255,170,60,.35),
    0 0 60px rgba(255,140,40,.25);
}

@media (max-width: 1024px){ .ralva-title{ font-size: 42px; } }
@media (max-width: 860px){ .ralva-title{ font-size: 32px; } }

/* =========================
   3) CHIPS + ACCIONES
========================= */
.ralva-meta{ display:flex; flex-wrap:wrap; gap:10px; margin:10px 0 16px; }

.ralva-chip{
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  border:1px solid rgba(213,194,154,.35);
  color:#F8F5F0;
  font-size:13px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 0 14px rgba(213,194,154,.12);
}

.ralva-actions{ display:flex; flex-wrap:wrap; gap:10px; margin:10px 0 6px; }

.ralva-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px;
  border-radius:14px;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.18);
  color:#fff;
  transition:transform .15s ease, opacity .15s ease, background .15s ease, box-shadow .15s ease;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.ralva-btn:hover{
  transform:translateY(-2px);
  opacity:.98;
  box-shadow: 0 12px 26px rgba(0,0,0,.22);
}

.ralva-btn--gold{
  background: linear-gradient(135deg, #e8d8b0, #d5c29a);
  border:1px solid rgba(213,194,154,.85);
  color:#0e3554;
  font-weight:800;
  box-shadow:
    0 10px 34px rgba(213,194,154,.28),
    0 0 18px rgba(213,194,154,.32);
  position:relative;
  overflow:hidden;
}
.ralva-btn--gold::after{
  content:"";
  position:absolute;
  inset:-50% -60%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.55), transparent 60%);
  transform: rotate(12deg);
  opacity:.55;
  pointer-events:none;
}
.ralva-btn--gold:hover{
  box-shadow:
    0 16px 44px rgba(213,194,154,.45),
    0 0 28px rgba(213,194,154,.55);
}

.ralva-btn--ghost{
  background: rgba(255,255,255,.08);
  border-color: rgba(213,194,154,.28);
}

/* =========================
   4) KV LIST
========================= */
.ralva-kv{
  list-style:none; padding:0; margin:0;
  display:grid; gap:10px;
  grid-template-columns:repeat(2, minmax(0,1fr));
}
.ralva-kv li{
  display:flex; justify-content:space-between; gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(213,194,154,.22);
  color:#F8F5F0;
}
.ralva-kv span{ opacity:.85; }
.ralva-kv b{ color: #fff; }
@media (max-width:860px){ .ralva-kv{ grid-template-columns:1fr; } }

/* =========================
   5) CARRUSEL (BASE)
========================= */
.ralva-fichas--full,
.ralva-fichas{
  width:100%;
  max-width:none;
  margin:12px auto 0;
  padding:0 16px;
}

.ralva-fichas__head{
  max-width:1200px;
  margin:10px auto 10px;
  display:flex;
  justify-content:center;
  gap:10px;
}

.ralva-fichas__nav{ display:flex; gap:10px; align-items:center; }

.ralva-navbtn{
  width:44px; height:44px;
  border-radius:12px;
  border:1px solid rgba(213,194,154,.45);
  background: rgba(0,0,0,.28);
  color:#fff;
  cursor:pointer;
  font-size:22px; line-height:1;
  transition:transform .15s ease, opacity .15s ease, box-shadow .15s ease;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.ralva-navbtn:hover{
  transform:translateY(-2px);
  opacity:.98;
  box-shadow:
    0 18px 34px rgba(0,0,0,.25),
    0 0 18px rgba(213,194,154,.25);
}
.ralva-navbtn:disabled{ opacity:.35; cursor:not-allowed; transform:none; box-shadow:none; }

.ralva-carousel{ overflow:hidden; }
.ralva-carousel__track{
  display:flex;
  transition:transform .35s ease;
  will-change:transform;
}

/* =========================
   6) FICHA (UNA SOLA DEFINICIÓN COHERENTE)
   - 2 columnas (texto + media) en desktop
   - apilado en móvil
========================= */
.ralva-ficha{
  flex:0 0 100%;
  padding:0;
}

.ralva-ficha__inner{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:16px;
  align-items: stretch;
  padding:10px 0 18px;
}

/* Tarjetas glass */
.ralva-ficha__text,
.ralva-ficha__media{
  background: linear-gradient(135deg, var(--glass-bg-strong), var(--glass-bg));
  color: #F8F5F0;
  border-radius: var(--radius-xl);
  border: 1px solid var(--glass-stroke);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow:
    var(--glass-shadow),
    0 0 0 1px rgba(213,194,154,.12),
    var(--gold-glow);
  overflow:hidden;
  position:relative;
}

/* brillo dorado */
.ralva-ficha__text::before,
.ralva-ficha__media::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 260px at 20% 0%, rgba(255,255,255,.16), transparent 60%),
    radial-gradient(800px 260px at 85% 10%, rgba(213,194,154,.22), transparent 65%);
  opacity:.9;
  pointer-events:none;
}
.ralva-ficha__text::after,
.ralva-ficha__media::after{
  content:"";
  position:absolute;
  inset:10px;
  border-radius: calc(var(--radius-xl) - 10px);
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
  opacity:.65;
}

.ralva-ficha__text{
  padding:18px;
}

/* subtítulos */
.ralva-block__title,
.ralva-ficha__h2{
  margin:0 0 10px;
  font-size: 26px;
  line-height:1.2;
  letter-spacing:.2px;
  color:#d5c29a;
  text-shadow:
    0 0 10px rgba(213,194,154,.45),
    0 2px 14px rgba(0,0,0,.45);
}

/* body */
.ralva-block__body,
.ralva-ficha__content{
  line-height:1.55;
  color: rgba(248,245,240,.92);
}
.ralva-ficha__content p{ margin:0 0 10px; }
.ralva-ficha__content p:last-child{ margin-bottom:0; }

/* MEDIA: misma altura del bloque de texto por diseño (stretch) */
.ralva-ficha__media{
  min-height: 300px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: linear-gradient(135deg, rgba(14,53,84,.85), rgba(14,53,84,.65));
}

/* ✅ IMAGEN COMPLETA (SIN RECORTE) */
.ralva-ficha__media img{
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display:block;
  filter: saturate(1.06) contrast(1.05);
}

/* Placeholder */
.ralva-ficha__ph{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.85;
  padding:18px;
}

/* Botón Zoom */
.ralva-zoom-btn{
  position:absolute;
  bottom:14px;
  right:14px;
  padding:8px 18px;
  border-radius:8px;
  background: rgba(14,53,84,.85);
  color:#fff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.5px;
  border:1px solid rgba(213,194,154,.5);
  backdrop-filter: blur(6px);
  cursor:pointer;
  transition:.25s ease;
}
.ralva-zoom-btn:hover{
  background: rgba(213,194,154,.9);
  color:#0e3554;
}

@media (max-width:860px){
  .ralva-ficha__inner{ grid-template-columns:1fr; }
  .ralva-ficha__media{ min-height:220px; }
  .ralva-block__title,
  .ralva-ficha__h2{ font-size: 22px; }
}

/* =========================
   7) VIDEO
========================= */
.ralva-video{
  position:relative;
  width:100%;
  padding-top:56.25%;
  border-radius:14px;
  overflow:hidden;
  background:#000;
  margin-top:10px;
  box-shadow:
    0 14px 32px rgba(0,0,0,.25),
    0 0 18px rgba(213,194,154,.18);
}
.ralva-video iframe,
.ralva-video video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  border:0;
}

/* =========================
   8) FOOTER PREMIUM COMPACTO
========================= */
footer,
.site-footer,
#colophon{
  background: transparent !important;
  border-top: 1px solid rgba(213,194,154,.22);
  box-shadow: 0 -10px 40px rgba(0,0,0,.28);
  padding: 10px 16px !important;
}
footer .container,
.site-footer .container,
#colophon .container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 !important;
}
footer,
.site-footer,
#colophon{ font-size: 13px; line-height: 1.45; }
footer p,
.site-footer p,
#colophon p{
  margin: 2px 0 !important;
  opacity: .90;
  color: rgba(248,245,240,.86);
}
footer a{ color: #d5c29a; text-decoration:none; }
footer a:hover{ text-shadow: 0 0 12px rgba(213,194,154,.55); }

/* =====================================================
   9) SINGLE ANUNCIO — OVERRIDE LIMPIO
   - Quita overlay del single
   - Full width real para fichas
   - Anti-encajonamiento Elementor/Hello SOLO aquí
===================================================== */

/* Blindaje */
body.single-ralva_anuncio .ralva-single{
  color:#fff;
  overflow-x: visible !important; /* para que 100vw no se recorte */
}
body.single-ralva_anuncio .ralva-single::before{
  display:none !important;
}

/* Anti-encajonamiento wrappers */
body.single-ralva_anuncio #page,
body.single-ralva_anuncio #content,
body.single-ralva_anuncio .site,
body.single-ralva_anuncio .site-content,
body.single-ralva_anuncio #primary,
body.single-ralva_anuncio .content-area,
body.single-ralva_anuncio .site-main,
body.single-ralva_anuncio .page-content,
body.single-ralva_anuncio .entry-content,
body.single-ralva_anuncio .entry-content > *,
body.single-ralva_anuncio .container,
body.single-ralva_anuncio .container-fluid{
  width:100% !important;
  max-width:none !important;
}
body.single-ralva_anuncio #content,
body.single-ralva_anuncio .site-main{
  padding-left:0 !important;
  padding-right:0 !important;
}

/* wrap del anuncio (título/hero) centrado */
body.single-ralva_anuncio .ralva-single__wrap{
  max-width:1220px;
  margin:0 auto;
  padding:0 16px;
}

/* Carrusel full-bleed real */
body.single-ralva_anuncio .ralva-fichas--full{
  width:100vw !important;
  max-width:none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 18px 0 26px;
}

/* Head del nav centrado */
body.single-ralva_anuncio .ralva-fichas__head{
  max-width:1220px;
  margin:0 auto;
  padding: 0 16px 10px;
}

/* Inner del slide centrado */
body.single-ralva_anuncio .ralva-ficha__inner{
  max-width:1220px;
  margin:0 auto;
  padding: 0 16px;
}

/* =====================================================
   10) MODAL IMAGEN — SOLO ANUNCIOS (UNA SOLA VEZ)
   Requiere:
   - #ralvaImgModal
   - .ralva-imgmodal-overlay
   - .ralva-imgmodal-dialog
   - #ralvaImgModalEl
   - .ralva-imgmodal-close
===================================================== */
body.single-ralva_anuncio #ralvaImgModal{
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
}
body.single-ralva_anuncio #ralvaImgModal.is-open{ display:flex; }

body.single-ralva_anuncio .ralva-imgmodal-overlay{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.85);
  backdrop-filter: blur(6px);
}
body.single-ralva_anuncio .ralva-imgmodal-dialog{
  position:relative;
  z-index:2;
  width:min(92vw, 1100px);
  max-height:92vh;
  padding:12px;
  border-radius:18px;
  background: rgba(14,53,84,.72);
  border: 1px solid rgba(213,194,154,.38);
  box-shadow:0 30px 80px rgba(0,0,0,.55);
}
body.single-ralva_anuncio #ralvaImgModalEl{
  display:block;
  width:100%;
  height:auto;
  max-height:86vh;
  object-fit: contain;
  border-radius:14px;
}
body.single-ralva_anuncio .ralva-imgmodal-close{
  position:absolute;
  top:10px;
  right:10px;
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid rgba(213,194,154,.45);
  background: rgba(0,0,0,.28);
  color:#fff;
  cursor:pointer;
}
body.single-ralva_anuncio .ralva-imgmodal-close:hover{
  background: rgba(213,194,154,.9);
  color:#0e3554;
}

/* Bloquea scroll fondo cuando modal abre */
html.ralva-modal-open,
html.ralva-modal-open body{
  overflow:hidden;
}

/* =====================================================
   ANUNCIO — FICHA ALTURA UNIFORME (TEXTO + FOTO IGUAL)
   Pegar al FINAL del ralva-single.css
===================================================== */

/* Altura responsive de cada ficha (ajustala si querés) */
:root{
  --ralva-card-h: clamp(520px, 72vh, 780px);
}

body.single-ralva_anuncio .ralva-ficha{
  height: var(--ralva-card-h);
  flex: 0 0 100%;
}

/* El “inner” ocupa toda la ficha */
body.single-ralva_anuncio .ralva-ficha__inner{
  height: 100%;
  align-items: stretch;
}

/* Ambas tarjetas (texto e imagen) miden lo mismo: 100% de la ficha */
body.single-ralva_anuncio .ralva-ficha__text,
body.single-ralva_anuncio .ralva-ficha__media{
  height: 100%;
  min-height: 0;      /* CLAVE para que no se “desborde” en grid */
  overflow: hidden;   /* CLAVE: el texto NO hace scroll, el JS pagina */
}

/* El contenedor donde el JS mete los bloques también ocupa toda la altura */
body.single-ralva_anuncio .ralva-ficha__content{
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

/* Imagen a altura completa (modo COVER = premium) */
body.single-ralva_anuncio .ralva-ficha__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;     /* si querés “sin recorte”, cambiá a contain */
  object-position: center;
  display:block;
}

/* Ajuste mobile: apilado, pero sigue siendo altura uniforme */
@media (max-width: 860px){
  :root{ --ralva-card-h: clamp(520px, 82vh, 900px); }

  body.single-ralva_anuncio .ralva-single--anuncio .ralva-ficha__inner{
    grid-template-columns: 1fr;
  }

  /* En móvil si querés que la imagen no “robe” todo, podés limitarla así:
     body.single-ralva_anuncio .ralva-ficha__media{ height: 38%; }
     body.single-ralva_anuncio .ralva-ficha__text{ height: 62%; }
     Pero si querés 50/50 exacto, dejalo como está.
  */
}
/* === ANUNCIO: ficha con alturas iguales (texto vs imagen) === */
body.single-ralva_anuncio .ralva-ficha{
  height: var(--ralva-card-h, clamp(420px, 58vh, 620px));
}

body.single-ralva_anuncio .ralva-ficha__inner{
  height: 100%;
  align-items: stretch;
}

body.single-ralva_anuncio .ralva-ficha__text,
body.single-ralva_anuncio .ralva-ficha__media{
  height: 100%;
  min-height: 0;
}

body.single-ralva_anuncio .ralva-ficha__content{
  height: 100%;
  overflow: hidden;
}

/* ===== MODAL ZOOM ===== */

#ralva-image-modal{
  position: fixed;
  inset: 0;
  display: none;
  z-index: 999999;
}

#ralva-image-modal.is-active{
  display: flex;
  align-items: center;
  justify-content: center;
}

.ralva-image-overlay{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.75);
  backdrop-filter: blur(4px);
}

.ralva-image-box{
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  z-index:2;
}

.ralva-image-box img{
  width:100%;
  height:auto;
  max-height:90vh;
  object-fit: contain;
  border-radius:12px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}

.ralva-image-close{
  position:absolute;
  top:-40px;
  right:0;
  background:none;
  border:none;
  color:#fff;
  font-size:32px;
  cursor:pointer;
}

html.ralva-modal-open{
  overflow:hidden;
}

