/*
Theme Name: Hello Elementor Child
Theme URI: https://irisarripiñeira.com/
Description: Tema hijo de Hello Elementor para personalizaciones seguras.
Author: Juan
Author URI: https://gruposicom.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* Accesibilidad: solo para lectores de pantalla */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/* ===== Estilos personalizados ===== */
/* =========================
   ARCHIVE PROYECTOS – BASE
   ========================= */

.site-main.archivo-proyectos {
    max-width: 100% !important;
}

.archivo-proyectos {
  padding: 0 2rem;
}

.archivo-proyectos__header-inner {
  max-width: 100%;
  margin: 0 auto 0;
}

.archivo-proyectos__title {
  font-size: 2.2rem;
  font-weight: 400;
  margin: 0;
}

/* =========================
   LISTADO
   ========================= */

.archivo-proyectos__listado {
  max-width: 100%;
  margin: 0 auto;
}

.archivo-proyectos__item {
  margin-bottom: 1.5rem;
}

/* =========================
   GRID 4 COLUMNAS
   ========================= */

.archivo-proyectos__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  text-decoration: none;
  color: inherit;
}

/* Columnas vacías */
.archivo-proyectos__col--1,
.archivo-proyectos__col--4 {
  min-height: 1px;
}

/* =========================
   IMAGEN (COLUMNA 3)
   ========================= */

.archivo-proyectos__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.archivo-proyectos__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* =========================
   TÍTULO
   ========================= */

.archivo-proyectos__item-title {
  font-size: 14px;
  font-weight: 400;
  margin: 0;
  font-family: "Arial", Sans-serif;
  font-weight: 500;
}
/* =========================
   TÍTULO PEGADO A LA IMAGEN
   ========================= */

/* Columnas de título como contenedores flex */
.archivo-proyectos__col--2,
.archivo-proyectos__col--4 {
  display: flex;
  align-items: flex-end; /* abajo */
  height: 100%;
  padding-bottom: 20px;
  color:#000;
}

/* Columna 2 → título abajo a la derecha */
.archivo-proyectos__col--2 {
  justify-content: flex-end; /* derecha */
  padding-right: 1rem;       /* respiración respecto a la imagen */
}

/* Columna 4 → título abajo a la izquierda */
.archivo-proyectos__col--4 {
  justify-content: flex-start; /* izquierda */
  padding-left: 1rem;          /* respiración respecto a la imagen */
}

/* =========================
   ALTERNANCIA POR FILA
   ========================= */

/* Fila impar → título en columna 2 */
.archivo-proyectos__item.is-odd .archivo-proyectos__col--4 h2{
  display: none;
}

/* Fila par → título en columna 4 */
.archivo-proyectos__item.is-even .archivo-proyectos__col--2 h2{
  display: none;
}


/* =========================
   SINGLE PROYECTO BLOQUES (ADAPTATIVO)
   ========================= */
/* HERO */
.proyecto__bloque.is-hero {
    margin-bottom: 10rem;
}

.proyecto__texto--hero {
    font-size: 15px;
    line-height: 1.7;
    max-width: 320px;
    font-family: "Arial", Sans-serif;
}


.proyecto__bloque {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 8rem;
    align-items: end;
    text-align: right;
}

/* columna vacía */
.proyecto__col--1 {
    min-height: 1px;
}

/* LEYENDA */
.proyecto__leyenda {
    display: flex;
    align-items: center;
    grid-column: 2;
    padding-right: 2rem;
}

.proyecto__texto {
    font-size: 13px;
    line-height: 1.6;
    max-width: 280px;
    font-family: "Arial", Sans-serif;
}

/* IMAGEN BASE */
.proyecto__media {
    grid-column: 3;
}

.proyecto__media img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

/* =========================
   ORIENTACIÓN AUTOMÁTICA
   ========================= */

/* VERTICAL */
.proyecto__bloque.is-vertical .proyecto__media {
    grid-column: 3 / span 2;
}

/* HORIZONTAL */
.proyecto__bloque.is-horizontal .proyecto__media {
    grid-column: 3 / span 2;
}

/* CUADRADA */
.proyecto__bloque.is-cuadrada .proyecto__media {
   grid-column: 3 / span 2;
}

/* =========================
   VARIACIÓN EDITORIAL (ritmo)
   ========================= */

.proyecto__bloque:nth-child(3n) .proyecto__media {
    transform: translateY(40px);
}

/* =========================
   ESPACIADO PRO
   ========================= */

.proyecto__bloque figure {
    margin: 0;
}


/* =========================
   RESPONSIVE
   ========================= */

@media (max-width: 768px) {

  .archivo-proyectos {
    padding: 4rem 1.5rem;
  }

  .archivo-proyectos__grid {
    grid-template-columns: 1fr;
    row-gap: 1.5rem;
  }

  .archivo-proyectos__col--1,
  .archivo-proyectos__col--2,
  .archivo-proyectos__col--3,
  .archivo-proyectos__col--4 {
    display: block;
  }

}
/* contenedor */
.menu-proyectos{
    position: relative;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1.2;
    list-style: none;
    padding: 0;
    margin: 0;
    display:flex;
    gap:20px;
    align-items:center;
}

/* enlaces */
.menu-proyectos a{
    text-decoration: none;
    color: #000;
}

.menu-proyectos a:hover{
    color:#555;
}

.menu-root{
    position:relative;
}

/* proyectos + */
.menu-info a,
.menu-root > a{
    font-weight: 700;
    display: flex;
    align-items: center;
    height: 25px;
}

/* panel desplegable */
.menu-categorias{
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    padding-top: 6px;

    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
}

/* abrir menú */
.menu-root:hover .menu-categorias{
    opacity: 1;
    pointer-events: auto;
}

/* categorías principales */
.menu-categorias > li{
    list-style: none;
    margin: 2px 0;
}

.menu-categorias > li > a{
    font-weight: 700;
}

/* subcategorías ocultas por defecto */
.menu-subcategorias{
    padding-left:14px;
    margin:2px 0 6px 0;
    display:none;
}

/* mostrar subcategorías solo de la categoría activa */
.menu-categorias li.active > .menu-subcategorias{
    display:block;
}

/* estilo */
.menu-subcategorias li{
    list-style:none;
    margin:1px 0;
}

.menu-subcategorias a{
    font-weight:400;
    color:#9a9a9a;
}

.menu-subcategorias a:hover{
    color:#000;
}

.subactive a{
    color:#000;
}

@media (max-width:1024px){
 
.menu-categorias li.has-submenu > a::after{
    content:" +";
  }
  .menu-categorias a,
  .menu-subcategorias a{
    display:block;
    padding:12px 0;
    line-height:1.4;
  }
}

/* =========================
   TABLET ARCHIVE
   ========================= */

@media (max-width:1024px){

  .archivo-proyectos{
    padding:0 1.5rem;
  }

  .archivo-proyectos__grid{
    grid-template-columns:1fr 1fr;
    column-gap:1rem;
  }

  .archivo-proyectos__col--1,
  .archivo-proyectos__col--4{
    display:none;
  }

  .archivo-proyectos__col--2{
    justify-content:flex-start;
    padding:0;
  }

  .archivo-proyectos__media{
    grid-column:2;
  }

}


/* =========================
   MOBILE ARCHIVE
   ========================= */

@media (max-width:768px){

  .archivo-proyectos__grid{
    grid-template-columns:1fr;
    row-gap:0.6rem;
  }

  .archivo-proyectos__media{
    grid-column:auto;
  }

  .archivo-proyectos__col--2{
    justify-content:flex-start;
    padding:0;
  }

  .archivo-proyectos__item-title{
    font-size:14px;
  }

}


/* =========================
   TABLET SINGLE
   ========================= */

@media (max-width:1024px){

  .proyecto__bloque{
    display:block;          /* desactiva el grid */
    margin-bottom:4rem;
    text-align:left;
  }
  .proyecto__bloque.is-hero {
    margin-bottom: 4rem;
  }

  .proyecto__col--1{
    display:none;
  }

  .proyecto__media{
    width:100%;
  }
  .proyecto__texto {
    max-width: inherit;
    padding-bottom:20px;
}

  .proyecto__leyenda{
    padding:0;
    margin-top:0.6rem;
  }


}


/* =========================
   MOBILE SINGLE
   ========================= */

@media (max-width:768px){

  .proyecto__bloque{
    display:block;
    margin-bottom:3rem;
  }
    .proyecto__bloque.is-hero {
    margin-bottom: 3rem;
  }

  .proyecto__media{
    width:100%;
  }

  .proyecto__leyenda{
    margin-top:0.6rem;
  }

  .proyecto__texto{
    max-width:100%;
  }

  /* eliminar ritmo editorial en móvil */
  .proyecto__bloque:nth-child(3n) .proyecto__media{
    transform:none;
  }

  /* HERO */
  .proyecto__bloque.is-hero{
    margin-bottom:4rem;
  }

  .proyecto__texto--hero{
    max-width:100%;
    font-size:14px;
  }

}

/* =========================
   TABLET ARCHIVE
   ========================= */

@media (max-width:1024px){

  .archivo-proyectos{
    padding:0 1.5rem;
  }

  .archivo-proyectos__grid{
    grid-template-columns: 1fr 1fr;
    column-gap:1rem;
    align-items:end;
  }

  /* quitamos columnas vacías */
  .archivo-proyectos__col--1,
  .archivo-proyectos__col--4{
    display:none;
  }

  /* título */
  .archivo-proyectos__col--2{
    justify-content:flex-start;
    padding:0;
  }

  /* imagen */
  .archivo-proyectos__media{
    grid-column:1;
  }

  .archivo-proyectos__col--2{
    grid-column:2;
  }

}


/* =========================
   MOBILE ARCHIVE
   ========================= */

@media (max-width:768px){

  .archivo-proyectos__grid{
    grid-template-columns:1fr;
    row-gap:0.4rem;
  }

  .archivo-proyectos__media{
    grid-column:auto;
  }

  .archivo-proyectos__col--2{
    grid-column:auto;
    justify-content:flex-start;
    padding:0;
  }
  
  .archivo-proyectos__item{
  margin-bottom:1.2rem;
}

  .archivo-proyectos__item-title{
    font-size:14px;
    margin-top:4px;
  }

}


/* =========================
   RESET TITULOS RESPONSIVE
   ========================= */

@media (max-width:1024px){

  .archivo-proyectos__item.is-odd .archivo-proyectos__col--4 h2,
  .archivo-proyectos__item.is-even .archivo-proyectos__col--2 h2{
    display:block;
  }

  /* ocultamos la duplicación que queda arriba */
  .archivo-proyectos__col--4{
    display:none;
  }

  /* título debajo de la imagen */
  .archivo-proyectos__col--2{
    grid-column:1;
  }

}

/* =========================
   ACCESIBILIDAD MENÚ MÓVIL
   ========================= */

@media (max-width:1024px){

  /* espacio vertical seguro */
  .menu-categorias li,
  .menu-subcategorias li{
    margin:0;
  }

  /* área táctil */
  .menu-categorias a,
  .menu-subcategorias a{
    display:block;
    padding:10px 10px;
    line-height:1.4;
  }
  
  .menu-categorias li:active > .menu-subcategorias{
    display:block;
  }


  /* más separación entre grupos */
  .menu-subcategorias{
    margin:4px 0 10px 0;
    padding-left:16px;

  }

  /* separación entre categorías */
  .menu-categorias > li{
    margin-bottom:6px;
  }

  .menu-categorias a:active,
  .menu-subcategorias a:active{
    background:rgba(0,0,0,0.04);
  }

}
