/* Generado por build_native.py — no editar a mano.
   Adaptador: filas/columnas/elementos de WPBakery con el diseño original. */

/* Cada fila de sección ocupa todo el ancho y su contenido el ancho de .wrap */
.rh-sec.vc_row { margin: 0 !important; padding-left: calc((100% - min(var(--wrap), 92vw)) / 2) !important;
  padding-right: calc((100% - min(var(--wrap), 92vw)) / 2) !important; }
.rh-sec.rh-nowrap { padding-left: 0 !important; padding-right: 0 !important; }
.rh-sec.vc_row::before, .rh-sec.vc_row::after, .rh-sec .vc_inner::before, .rh-sec .vc_inner::after,
.rh-sec .vc_column-inner::before, .rh-sec .vc_column-inner::after { display: none !important; }
.rh-sec .wpb_column, .rh-sec .vc_inner > .wpb_column { float: none !important; width: auto !important; min-height: 0; }
.rh-sec:not(.split):not(.contact):not(.hc__in) > .wpb_column { width: 100% !important; }
.rh-sec .vc_column-inner { padding: 0 !important; width: 100%; }
.rh-sec .vc_row.vc_inner { margin: 0 !important; }
.rh-sec .wpb_content_element, .rh-sec .vc_empty_space { margin-bottom: 0 !important; }

/* Clases que en el original iban en .wrap y aquí en la columna */
.rh-sec > .page-hero__in, .rh-sec > .hero__in { position: relative; z-index: 1; }
.rh-sec > .page-hero__in { max-width: 780px; }

/* El bloque de texto: wpautop envuelve el antetítulo en <p> */
.rh-text p:has(> .eyebrow:only-child) { margin: 0; }

/* Imagen simple dentro de los marcos del diseño (.ph) */
.ph > .vc_figure, .ph .vc_single_image-wrapper, .ph .vc_figure > a { display: block; width: 100%; height: 100%; margin: 0; }
.wpb_single_image.ph .vc_single_image-img { width: 100%; height: 100%; object-fit: cover; }
.wpb_single_image .vc_figure { margin: 0; }
.hc__media .vc_figure, .hc__media .vc_single_image-wrapper, .hc__media a { display: block; }

/* Columna con la caja de llamada a la acción y la rejilla del carrusel */
.rh-sec .cta > .vc_column-inner { position: relative; z-index: 1; }
.rh-sec > .hc__media { width: min(430px, 100%) !important; }
@media (max-width:900px) { .rh-sec > .hc__media { width: min(310px, 80%) !important; } }
.hc__slides > .vc_column-inner > .wpb_wrapper { display: grid; }
.hc__slides .hc__slide { grid-area: 1 / 1; }
.hc__slides .hc__slide > .wpb_column { width: 100% !important; }

/* Retardos de animación (el data-d del original) */
.reveal.rh-d1 { transition-delay: .08s; } .reveal.rh-d2 { transition-delay: .16s; }
.reveal.rh-d3 { transition-delay: .24s; } .reveal.rh-d4 { transition-delay: .32s; }

/* Flecha de los enlaces de texto dentro de bloques de texto (el editor visual borra los SVG) */
.txt-link.rh-arrow::before { content: ""; order: 2; flex: none; width: 1em; height: 1em; background: currentColor;
  -webkit-mask: var(--rh-arrow) center / contain no-repeat; mask: var(--rh-arrow) center / contain no-repeat;
  transition: transform .3s var(--ease); }
.txt-link.rh-arrow:hover::before { transform: translateX(4px); }

:root { --rh-arrow: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222.5%22%3E%3Cpath%20d%3D%22M5%2012h14M13%206l6%206-6%206%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E"); }

/* Estilos que el original tenía en línea en cada elemento */
.rh-s-097521 { margin-inline:auto; }
.rh-s-21aacd { max-width:820px;margin:0 auto; }
.rh-s-23b212 { margin-inline: auto; }
.rh-s-2a4dac { align-items:start; }
.rh-s-511a24 { border-top:1px solid var(--line);margin-top:1.5rem; }
.rh-s-565d97 { border-top:1px solid var(--line); }
.rh-s-831aca { margin-top:2rem; }
.rh-s-b06fb3 { margin-top:1.5rem; }
.rh-s-b43abc { display:flex;justify-content:space-between;align-items:flex-end;max-width:none;gap:2rem;flex-wrap:wrap; }
.rh-s-d2a964 { border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh); }
.rh-s-d47a7c { aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh); }
.rh-s-e7ec54 { margin-bottom:0; }

/* CSS propio de algunas páginas (portada y congreso), movido desde el contenido */
.hc{ position:relative; background:var(--ink-deep); color:var(--on-dark); overflow:hidden;

  padding:clamp(54px,8vh,92px) 0 clamp(50px,7vh,84px); }

.hc__in{ position:relative; z-index:2; display:grid; grid-template-columns:1.02fr .98fr;

  gap:clamp(30px,4.5vw,66px); align-items:center; }

.hc__media{ position:relative; justify-self:center; width:min(430px,100%); }

.hc__media a{ display:block; }

.hc__media img{ display:block; width:100%; height:auto; border-radius:16px;

  border:1px solid rgba(255,255,255,.16); box-shadow:0 46px 90px -34px rgba(0,0,0,.85); }

.hc__seal{ position:absolute; left:-20px; top:-20px; width:98px; height:98px; border-radius:50%;

  background:linear-gradient(125deg,var(--gold),var(--gold-deep)); color:var(--ink-deep);

  display:grid; place-content:center; text-align:center; font-family:var(--display); font-weight:800;

  line-height:1; box-shadow:0 16px 34px -12px rgba(0,0,0,.65); }

.hc__seal b{ display:block; font-size:2rem; }

.hc__seal span{ font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; }

.hc__slides{ display:grid; }

.hc__slide{ grid-area:1 / 1; opacity:0; visibility:hidden; transform:translateY(16px);

  transition:opacity .6s var(--ease), transform .6s var(--ease); }

.hc__slide.is-active{ opacity:1; visibility:visible; transform:none; }

.hc .eyebrow{ color:var(--gold); }

.hc h1,.hc h2{ color:#fff; margin:.22em 0 .34em; font-size:clamp(2.05rem,4.3vw,3.4rem); line-height:1.06; }

.hc__lead{ font-size:clamp(1.04rem,1.35vw,1.22rem); color:var(--on-dark-soft); max-width:54ch; }

.hc__mesas{ list-style:none; margin:1.3rem 0 0; padding:0; display:grid; gap:.45rem;

  grid-template-columns:repeat(2,minmax(0,1fr)); max-width:56ch; }

.hc__mesas li{ display:flex; gap:.55rem; align-items:flex-start; font-size:.93rem; color:var(--on-dark); }

.hc__mesas li::before{ content:""; flex:none; width:7px; height:7px; margin-top:.55em; border-radius:50%;

  background:linear-gradient(120deg,var(--gold),var(--red)); }

.hc__foot{ display:flex; flex-wrap:wrap; align-items:center; gap:1.1rem; margin-top:1.6rem; }

.hc .txt-link{ color:var(--gold); }

.hc .btn--ghost{ --fg:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45); }

.hc .btn--ghost:hover{ background:rgba(255,255,255,.12); box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.75); }

.hc__dots{ display:flex; gap:.5rem; margin-top:2.1rem; }

.hc__dots button{ width:36px; height:5px; padding:0; border:0; border-radius:999px; cursor:pointer;

  background:rgba(255,255,255,.24); transition:background .3s; }

.hc__dots button[aria-selected="true"]{ background:linear-gradient(90deg,var(--gold),var(--red)); }

@media (max-width:900px){

  .hc__in{ grid-template-columns:1fr; }

  .hc__media{ order:-1; width:min(310px,80%); }

  .hc__seal{ width:74px; height:74px; left:auto; right:-10px; top:auto; bottom:-16px; }

  .hc__seal b{ font-size:1.6rem; }

  .hc__mesas{ grid-template-columns:1fr; }

}

#v-congreso .datos{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }

#v-congreso .dato{ background:var(--white); border:1px solid var(--line-soft); border-radius:var(--r-lg);

  padding:1.9rem 1.7rem; box-shadow:var(--sh-sm); }

#v-congreso .dato h3{ margin:.1rem 0 .5rem; font-size:1.18rem; }

#v-congreso .dato p{ margin:0; color:var(--tx-soft); }

#v-congreso .dato .ico{ width:44px; height:44px; border-radius:14px; display:grid; place-content:center;

  background:linear-gradient(120deg,rgba(246,180,30,.20),rgba(224,36,27,.14)); color:var(--red-deep); margin-bottom:1rem; }

#v-congreso .dato .ico svg{ width:23px; height:23px; }

#v-congreso .acciones{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2.2rem; }

@media (max-width:900px){ #v-congreso .datos{ grid-template-columns:1fr; } }

#programa .prog-descarga{ display:flex; flex-wrap:wrap; gap:.9rem; margin:0 0 2.4rem; }

#programa .prog-nota{ margin-top:2rem; font-size:.9rem; color:var(--tx-mute); }

#localizacion .lugar{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem; margin-bottom:1.8rem; }

#localizacion .lugar div{ background:var(--white); border:1px solid var(--line-soft); border-radius:var(--r);

  padding:1.4rem 1.5rem; box-shadow:var(--sh-sm); }

#localizacion .lugar b{ font-family:var(--display); display:block; margin-bottom:.35rem; }

#localizacion .lugar p{ margin:0; color:var(--tx-soft); }

#localizacion .mapa-cta{ margin-top:1.4rem; }

@media (max-width:760px){ #localizacion .lugar{ grid-template-columns:1fr; } }
