/* =====================================================================
   Runacay — orden visual de secciones interiores
   Galerías uniformes · fotos de una misma medida · lightbox · menú fijo
   ===================================================================== */
:root{
  --rcy-ancho: 800px;          /* mismo ancho para galerías y fotos en todas las secciones */
  --rcy-gap: 12px;
  --rcy-radio: 6px;
  --rcy-acento: #cc3300;
}

/* ---------- Galerías ---------- */
.gallery.rcy-galeria{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--rcy-gap);
  width:100%;
  max-width:var(--rcy-ancho);
  margin:30px auto 40px!important;
  padding:0!important;
}
.gallery.rcy-galeria::before,.gallery.rcy-galeria::after{display:none!important}
.gallery.rcy-galeria > br{display:none!important}
.gallery.rcy-galeria .gallery-item{
  float:none!important;width:auto!important;max-width:none!important;
  margin:0!important;padding:0!important;text-align:left;
}
.gallery.rcy-galeria .gallery-icon{display:block!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;line-height:0}
.gallery.rcy-galeria .gallery-icon a{
  position:relative;display:block;overflow:hidden;border-radius:var(--rcy-radio);
  width:100%!important;max-width:none!important;aspect-ratio:4/3;background:#cfcfcf;box-shadow:none!important;cursor:zoom-in;margin:0!important;padding:0!important;border:0!important;
}
.gallery.rcy-galeria img{
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover;display:block;border:0!important;margin:0!important;padding:0!important;
  transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s;
}
/* El tema envuelve cada foto en un marco con borde: se neutraliza */
.gallery.rcy-galeria .image_frame,.gallery.rcy-galeria .image_wrapper{
  display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;
  border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;
}
.gallery.rcy-galeria .mask{display:none!important}
/* Hover propio de galería: zoom interno + velo con lupa (sin "levantar" la foto) */
.gallery.rcy-galeria .gallery-icon a::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(0,0,0,.45),rgba(0,0,0,0) 60%);
  opacity:0;transition:opacity .35s;
}
.gallery.rcy-galeria .gallery-icon a::after{
  content:"";position:absolute;z-index:2;right:12px;bottom:12px;width:34px;height:34px;border-radius:50%;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='M20 20l-4.2-4.2M11 8.5v5M8.5 11h5'/%3E%3C/svg%3E") center/18px no-repeat;
  transform:scale(.6);opacity:0;transition:transform .35s,opacity .35s;
}
.gallery.rcy-galeria .gallery-icon a:hover img{transform:scale(1.07)}
.gallery.rcy-galeria .gallery-icon a:hover::before{opacity:1}
.gallery.rcy-galeria .gallery-icon a:hover::after{opacity:1;transform:scale(1)}
.gallery.rcy-galeria .gallery-icon a:focus-visible{outline:3px solid var(--rcy-acento);outline-offset:2px}
.gallery.rcy-galeria .gallery-caption{font-size:13px;line-height:1.35;color:#555;margin:6px 2px 0;padding:0}

@media (max-width:767px){
  .gallery.rcy-galeria{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px auto 30px!important}
  .gallery.rcy-galeria .gallery-icon a::after{display:none}
}

/* ---------- Fotos sueltas: todas de la misma medida ---------- */
.rcy-foto-marco{
  display:block!important;width:100%!important;max-width:var(--rcy-ancho)!important;
  margin:30px auto!important;padding:0!important;border:0!important;background:none!important;
  box-shadow:none!important;float:none!important;
}
.rcy-foto-marco .image_wrapper{display:block;width:100%;line-height:0;border-radius:var(--rcy-radio);overflow:hidden;border:0!important;padding:0!important}
.rcy-foto-marco .mask{display:none!important}
.photo_box:has(.rcy-foto-marco){margin:0!important;padding:0!important;border:0!important;background:none!important}
img.rcy-foto{
  display:block!important;width:100%!important;max-width:var(--rcy-ancho)!important;height:auto!important;
  aspect-ratio:3/2;object-fit:cover;object-position:center;
  margin:30px auto!important;padding:0!important;border:0!important;border-radius:var(--rcy-radio);
  cursor:zoom-in;transition:filter .35s;
}
.rcy-foto-marco img.rcy-foto{margin:0 auto!important;border-radius:0}
img.rcy-foto:hover{filter:brightness(1.06) saturate(1.08)}
/* La columna que contiene una foto ocupa todo el ancho y la foto queda centrada:
   así todas quedan alineadas igual, sin importar cómo estaba armada la sección */
.mcb-wrap:has(.rcy-foto){float:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
.mcb-wrap:has(.rcy-foto) .mcb-column{float:none!important;width:auto!important;margin-left:0!important;margin-right:0!important}
/* Mapas y gráficos: mismo ancho, sin recortar */
img.rcy-foto.rcy-entera{aspect-ratio:auto;object-fit:contain}

/* ---------- Lightbox ---------- */
.rcy-lb{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;
  background:rgba(10,10,10,.94);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s}
.rcy-lb.abierto{opacity:1;visibility:visible;transition:opacity .3s}
.rcy-lb-fig{margin:0;max-width:92vw;max-height:86vh;display:flex;flex-direction:column;align-items:center}
.rcy-lb-img{max-width:92vw;max-height:80vh;width:auto;height:auto;object-fit:contain;border-radius:4px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);transition:opacity .25s;user-select:none;-webkit-user-drag:none}
.rcy-lb-img.cargando{opacity:.15}
.rcy-lb-cap{color:#ddd;font:14px/1.4 Arial,sans-serif;margin-top:12px;text-align:center;min-height:1em}
.rcy-lb-cont{position:absolute;top:18px;left:22px;color:#bbb;font:13px Arial,sans-serif;letter-spacing:.08em}
.rcy-lb button{position:absolute;border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;
  width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .25s}
.rcy-lb button:hover{background:var(--rcy-acento)}
.rcy-lb button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.rcy-lb button svg{width:24px;height:24px}
.rcy-lb-cerrar{top:12px;right:14px}
.rcy-lb-ant{left:18px;top:50%;margin-top:-26px}
.rcy-lb-sig{right:18px;top:50%;margin-top:-26px}
.rcy-lb.solo .rcy-lb-ant,.rcy-lb.solo .rcy-lb-sig,.rcy-lb.solo .rcy-lb-cont{display:none}
@media (max-width:767px){
  .rcy-lb-ant,.rcy-lb-sig{top:auto;bottom:18px;margin-top:0}
  .rcy-lb-img{max-height:72vh}
}
html.rcy-lb-on,html.rcy-lb-on body{overflow:hidden!important}

/* Páginas a las que se les agregó cabecera: aire entre la imagen y el título */
.rcy-cabecera-nueva #Content{padding-top:40px}

/* ---------- Menú fijo (sticky) ---------- */
#Top_bar.rcy-fijo{
  position:fixed!important;top:0!important;left:0;right:0;width:100%;z-index:9990;
  background:rgba(12,12,12,.9)!important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:0 2px 18px rgba(0,0,0,.35);
  animation:rcyBaja .35s ease-out;
}
@keyframes rcyBaja{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@media (min-width:1240px){
  #Top_bar.rcy-fijo .top_bar_left,#Top_bar.rcy-fijo .top_bar_right{height:70px!important}
  #Top_bar.rcy-fijo #logo{height:50px!important;line-height:50px!important;padding:10px 0!important}
  #Top_bar.rcy-fijo #logo img{max-height:50px!important;height:50px;width:auto}
  #Top_bar.rcy-fijo .menu_wrapper{margin-top:0}
  #Top_bar.rcy-fijo #menu > ul > li{height:70px}
  #Top_bar.rcy-fijo #menu > ul > li > a{margin-top:10px!important;padding-top:0!important;padding-bottom:0!important}
  #Top_bar.rcy-fijo #menu > ul > li > ul{top:70px!important}
  #Top_bar.rcy-fijo .top_bar_right_wrapper{top:16px!important}
}
@media (max-width:1239px){
  #Top_bar.rcy-fijo .top_bar_left{height:64px!important}
  #Top_bar.rcy-fijo #logo{height:44px!important;line-height:44px!important;padding:0!important;margin-top:10px}
  #Top_bar.rcy-fijo #logo img{max-height:44px!important;height:44px;width:auto}
  #Top_bar.rcy-fijo .top_bar_right{display:none!important}
  #Top_bar.rcy-fijo a.responsive-menu-toggle{top:32px!important}
}
@media (prefers-reduced-motion:reduce){#Top_bar.rcy-fijo{animation:none}}

/* ---------- Menú con submenús (escritorio y celular) ---------- */
:root{--rcy-menu-acento:#cc3300}
@media (min-width:1240px){
  /* Primer nivel: texto con una línea de acento debajo, sin caja negra */
  #Top_bar #menu > ul > li > a{background:none!important}
  /* (la flechita del tema, que es span::after, se deja como está) */
  #Top_bar #menu > ul > li > a > span{transition:color .2s ease,background-size .25s ease;
    background-image:linear-gradient(var(--rcy-menu-acento),var(--rcy-menu-acento));background-repeat:no-repeat;
    background-origin:content-box;background-clip:content-box;background-position:0 100%;background-size:0 3px;padding-bottom:6px!important}
  #Top_bar #menu > ul > li.hover > a > span,#Top_bar #menu > ul > li > a:hover > span,
  #Top_bar #menu > ul > li.current-menu-item > a > span,#Top_bar #menu > ul > li.current-menu-ancestor > a > span{color:var(--rcy-menu-acento)!important;background-size:100% 3px}
  #Top_bar #menu > ul > li.hover > a > span::after,#Top_bar #menu > ul > li > a:hover > span::after{border-top-color:var(--rcy-menu-acento)!important}

  /* Las cajas de los submenús */
  #Top_bar #menu ul.sub-menu{
    width:auto!important;min-width:250px;max-width:320px;padding:8px!important;margin:0;box-sizing:border-box;
    background:rgba(16,16,16,.97)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.08);border-radius:12px;
    box-shadow:0 22px 48px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3)}
  #Top_bar #menu > ul > li > ul.sub-menu{margin-top:10px;border-top:3px solid var(--rcy-menu-acento)}
  /* Puente invisible: el mouse no pierde el submenú al cruzar el espacio */
  #Top_bar #menu > ul > li > ul.sub-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
  #Top_bar #menu ul.sub-menu ul.sub-menu{left:100%!important;top:-9px!important;margin-left:10px}
  #Top_bar #menu ul.sub-menu ul.sub-menu::before{content:"";position:absolute;top:0;bottom:0;left:-14px;width:14px}
  #Top_bar #menu li.hover > ul.sub-menu{animation:rcyMenuIn .2s ease-out}
  @keyframes rcyMenuIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  #Top_bar #menu ul.sub-menu ul.sub-menu{animation-name:rcyMenuInLado}
  @keyframes rcyMenuInLado{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}

  /* Cada opción */
  #Top_bar #menu ul.sub-menu li{width:100%!important;float:none!important;border:0!important;position:relative}
  #Top_bar #menu ul.sub-menu li a{display:flex!important;align-items:center;gap:10px;box-sizing:border-box;width:100%;
    padding:10px 14px!important;border:0!important;border-radius:8px;background:none;
    color:#ececec!important;font-size:15.5px!important;line-height:1.3!important;font-weight:400;white-space:normal;
    transition:background .18s ease,color .18s ease,padding-left .18s ease}
  #Top_bar #menu ul.sub-menu li a span{flex:1;padding:0!important}
  #Top_bar #menu ul.sub-menu li.hover > a,#Top_bar #menu ul.sub-menu li a:hover{background:rgba(204,51,0,.18)!important;color:#fff!important;padding-left:18px!important}
  #Top_bar #menu ul.sub-menu li.current-menu-item > a,#Top_bar #menu ul.sub-menu li.current-menu-ancestor > a{color:var(--rcy-menu-acento)!important;font-weight:700}
  /* Flechita en las opciones que abren otro submenú */
  #Top_bar #menu ul.sub-menu li.menu-item-has-children > a::after{content:"";flex:0 0 auto;width:7px!important;height:7px!important;margin-left:6px;
    position:static!important;background:none!important;border:0!important;
    border-right:2px solid currentColor!important;border-top:2px solid currentColor!important;transform:rotate(45deg);opacity:.7;transition:transform .18s ease}
  #Top_bar #menu ul.sub-menu li.menu-item-has-children.hover > a::after{transform:translateX(3px) rotate(45deg);opacity:1}
  #Top_bar #menu ul.sub-menu .menu-arrow,#Top_bar #menu ul.sub-menu li > .menu-toggle{display:none!important}
  /* Separador fino entre opciones */
  #Top_bar #menu ul.sub-menu li + li{margin-top:2px}
}

/* Celular y tablet: el panel lateral (se suma al del tema, sin moverlo) */
#Side_slide #menu ul li.current-menu-item > a,#Side_slide #menu ul li.current-menu-ancestor > a,
#Side_slide #menu ul li.hover > a{color:var(--rcy-menu-acento)!important}
#Side_slide #menu ul ul{box-shadow:inset 2px 0 0 rgba(204,51,0,.6)}
#Side_slide #menu ul ul ul{box-shadow:inset 2px 0 0 rgba(255,255,255,.18)}
#Side_slide #menu ul ul li a{color:#cfcfcf}
