body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: #ffffff;
}
/* Sección con fondo */
.logos-gallery-section {
    position: relative;
    background-color: #f5f0e1;
    min-height: 100vh;
    padding: 50px 20px;
    overflow: hidden;
}

/* Marca de agua repetida en vertical */
.logos-gallery-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('../images/isologoacvRecurso.png');
    background-repeat: repeat-y;
    background-position: center top;
    background-size: auto;
    opacity: 0.8;  /* Ajustá a gusto */
    pointer-events: none;
    z-index: 0;
}

/* Contenido encima de la marca de agua */
.logos-gallery-section > * {
    position: relative;
    z-index: 1;
}


.logos-gallery,
.galeria-enlace,
.logos-gallery-title {
    position: relative;
    z-index: 1;
    /* asegura que todo el contenido esté encima del logo */
}

.hero-logo {
    display: block;
    max-width: 200px;
    /* ajusta el tamaño */
    height: auto;
    margin: 0 auto 20px auto;
    /* centrado y separa del H1 */
}

.hero-title {
  font-family: 'Montserrat', Arial, sans-serif;
}


html,
body {
    height: 100%;
    margin: 0;
    font-family: sans-serif;
    background-color: #f5f0e1;
    /* beige claro */
}



h1 {
    text-align: center;
    margin-bottom: 20px;
}

p {
    text-align: center;
    font-size: 1.1rem;
}

/* MENU SUPERIOR */
.topmenu {
    background: transparent;
    /* fondo transparente */
    padding: 15px 0;
    border-bottom: none;
    /* sin línea gris */
    position: absolute;
    /* se coloca sobre la imagen */
    top: 0;
    width: 100%;
    z-index: 999;
}

.topmenu ul {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 30px;
    padding: 0;
    margin: 0;
}

.topmenu li a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
    font-size: 15px;
}

.topmenu li a:hover {
    color: #000;
}

/* HERO */
.hero-container {
    height: 90vh;
    background-image: url("../images/img-20240130-wa0006-2.jpg");
    background-size: cover;
    background-position: center;
    position: relative;
}


.hero-overlay {
    background: rgba(0, 0, 0, 0.45);
    position: absolute;
    width: 100%;
    height: 100%;
}

.hero-content {
    position: relative;
    text-align: center;
    color: white;
    top: 30%;
    
}



.hero-title {
    font-size: 48px;
    margin-bottom: 10px;
}
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');

.hero-title {
    font-family: 'Great Vibes', cursive;
    font-size: 4rem;
    color: white;
    text-align: center;
    margin: 0;
    line-height: 1.1;
}

.hero-subtitle {
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 40px;
    
}
.hero-subtitle {
    font-family: 'Times New Roman', Times, serif;
    font-variant: small-caps;
    font-size: 1.5rem;
    color: white;
    text-align: center;
    margin: 0;
    letter-spacing: 0.05em;
}
/* BOTONES */
.hero-menu {
    display: flex;
    justify-content: center;
    gap: 25px;
    margin-bottom: 40px;
}

/* BOTONES — versión transparente borde blanco */
.hero-menu-item {
    padding: 15px 25px;
    background: transparent;
    color: #ffffff;
    border: 2px solid #ffffff;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    width: 200px;
    transition: 0.25s ease;

   
}





.hero-menu-item:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    border-color: #ffffff;
}

/* ICONOS */
.hero-icons {

  bottom: 20px;
  
  
  display: flex;
  gap: 15px;
  
    transform: none !important;
    position: relative;
    margin-top: 20px;
    left: 45%;
  
}

/*.hero-icons {
    display: flex;
    justify-content: center;
    gap: 25px;
}*/

.hero-icons img {
    width: 48px;
    height: 48px;
}

/* PÁGINA COMÚN */
.page-section {
    max-width: 1200px;
    margin: 80px auto;
    padding: 0 20px;
    text-align: center;
}

.section-title {
    font-size: 32px;
    margin-bottom: 40px;
    color: #333;
}

/* GALERÍA */
.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
}

.gallery-item img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0px 4px 14px rgba(0, 0, 0, 0.15);
    transition: transform 0.2s ease;
}

.gallery-item img:hover {
    transform: scale(1.04);
}

/* Sección FAQ con degradado */
.faq-section {
    background: linear-gradient(to bottom, #8a5a55, #d58f63);
    padding: 80px 20px;
    color: white;
}

/* Título principal */
.faq-section .logos-gallery-title {
    text-align: center;
    color: white;
    font-size: 32px;
    margin-bottom: 60px;
}

/* Contenedor de columnas */
.faq-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px;
}

/* Cada bloque */
.faq-item {
    flex: 1 1 calc(25% - 40px);
    min-width: 260px;
}

/* Título de cada columna */
.faq-item h3 {
    color: white;
    font-size: 22px;
    margin-bottom: 15px;
}

/* Texto */
.faq-item p {
    color: white;
    line-height: 1.6;
    font-size: 16px;
}

/* === GALERÍAS (logos, souvenirs, etc.) === */

#logos  {
    background-color: #f5f0e1;
    /* beige */
    background-image: url('images/isologoRecurso.png');
    /* tu logo */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    /* se asegura que se vea completo */
    min-height: 400px;
        /* asegura altura visible */
        padding: 50px 0;
        /* espacio arriba y abajo */

    .logo-bg {
            background-color: #f5f0e1;
            position: relative;
        }
    
        .logo {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            max-width: 50%;
            opacity: 0.2;
            /* opcional, para que no tape las fotos */
            pointer-events: none;
            /* para que no interfiera con clics */
        }
    
        .logos-gallery {
            position: relative;
            /* para que las imágenes estén sobre el logo */
            z-index: 1;
        }
}

#souvenirs  {
    background-color: #f5f0e1;
    /* beige */
    background-image: url('images/isologoRecurso.png');
    /* tu logo */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    /* se asegura que se vea completo */
}

#info  {
    background-color: #f5f0e1;
    /* beige */
    background-image: url('images/isologoRecurso.png');
    /* tu logo */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    /* se asegura que se vea completo */
}

.logos-gallery-section,
.souvenirs-gallery-section,
.info-gallery-section {
    padding: 40px 20px;
    max-width: 1200px;
    margin: auto;
}

.logos-gallery-title,
.souvenirs-gallery-title,
.info-gallery-title {
    text-align: center;
    font-size: 26px;
    margin-bottom: 30px;
    color: #444;
}

/* GRILLA DE IMÁGENES */
.logos-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 25px;
}

.logo-item {
    text-align: center;
    font-size: 14px;
    color: #555;
}

.logo-item img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* ENLACE A GALERÍA COMPLETA */
.galeria-enlace {
    text-align: center;
    margin-top: 35px;
}

.galeria-enlace a {
    text-decoration: none;
    color: #3366cc;
    font-weight: bold;
}

.galeria-enlace a:hover {
    text-decoration: underline;
}

/* GALERÍAS */

.logos-gallery-section,
.souvenirs-gallery-section {
    padding: 40px 20px;
    max-width: 1200px;
    margin: auto;
}

.logos-gallery-title {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    color: #555;
    margin-bottom: 30px;
}

/* GRID DE IMÁGENES */
.logos-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 25px;
    justify-items: center;
}

/* ITEMS */
.logo-item {
    text-align: center;
    font-size: 14px;
    color: #444;
}

.logo-item img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
    margin-bottom: 5px;
}

/* ENLACE A GALERÍA COMPLETA */
.galeria-enlace {
    text-align: center;
    margin-top: 35px;
}

.galeria-enlace a {
    font-size: 16px;
    color: #0066cc;
    text-decoration: none;
}

.galeria-enlace a:hover {
    text-decoration: underline;
}

/* Fondo general para logos.html */
body.logos-gallery-section {
  background-color: #f5f0e8;        /* beige claro */
  background-image: url("images/isologoacvRecurso104x.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.titulo-con-icono {
    text-align: center;
    margin-bottom: 30px;
}

.titulo-con-icono i {
    font-size: 32px;
    color: #f0b100; /* dorado */
    display: block;
    margin-bottom: 10px;
}

/* ---- Marca de agua reutilizable ---- */
.watermark-section {
    position: relative;
    background-color: #f5f0e1;
    min-height: 100vh;
    padding: 50px 20px;
    overflow: hidden;
}

.watermark-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('images/isologoacvRecurso.png');
    background-repeat: repeat-y;
    background-position: center top;
    background-size: auto;
    opacity: 0.08;
    pointer-events: none;
    z-index: 0;
}

.watermark-section>* {
    position: relative;
    z-index: 1;
}

/* Sección con fondo */
.watermark-section {
    position: relative;
    background-color: #f5f0e1;
    min-height: 100vh;
    padding: 50px 20px;
    overflow: hidden;
}

/* Marca de agua repetida en Y */
.watermark-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('images/isologoacvRecurso.png');
    background-repeat: repeat-y;
    background-position: center top;
    background-size: auto;

    opacity: 0.08;
    /* ajustable */
    pointer-events: none;
    z-index: 0;
}

/* Todo el contenido va encima del fondo */
.watermark-section>* {
    position: relative;
    z-index: 1;
}

/* Marca de agua solo dentro de cada bloque .item */
.item {
    position: relative;
    overflow: hidden;
    /* evita que el pseudo-bg estorbe */
}

/* Marca de agua */
.item::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('images/isologoacvRecurso.png');
    background-repeat: repeat-y;
    background-position: center top;
    background-size: auto;

    opacity: 0.08;
    pointer-events: none;
    z-index: 0;
}

/* El contenido real va por encima */
.item>* {
    position: relative;
    z-index: 1;
}

/* Marca de agua solo dentro de los bloques de texto (columna .texto) */
.item .columna.texto {
    position: relative;
    overflow: hidden;
}

.item .columna.texto::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url('images/isologoacvRecurso.png');
    background-repeat: repeat-y;
    background-position: center top;
    background-size: 220px auto;
    /* ajustable */
    opacity: 0.08;
    pointer-events: none;
    z-index: 0;
}

/* el contenido real debe ir arriba */
.item .columna.texto>* {
    position: relative;
    z-index: 1;
}

/* === TÍTULOS DE SECCIÓN PRINCIPALES (H2) === */
/* Aplica a las secciones completas, NO a los h2 dentro de cada item */

#logos h2,
#souvenirs h2,
#info>h2,
.faq-section h2,
.logos-gallery-title,
.souvenirs-gallery-title,
.info-gallery-title {
    font-family: "Times New Roman", serif;
    font-variant: small-caps;
    /* Versalitas */
    font-size: 2.8rem;
    /* tamaño grande */
    letter-spacing: 0.04em;
    text-align: center;
    color: #d4a64c;
    /* dorado */
    margin-bottom: 40px;
}

/* === TITULO PRINCIPAL DE INFO.HTML === */
#info>h2 {
    font-family: "Times New Roman", serif !important;
    font-variant: small-caps !important;
    font-size: 2.8rem !important;
    letter-spacing: 0.04em;
    color: #d4a64c !important;
    /* dorado */
    text-align: center;
    margin-bottom: 40px;
}

.gallery-box {
    background-color: #001A33;
    /* azul marino */
    padding: 12px 20px;
    display: inline-block;
    margin-top: 30px;
    border-radius: 6px;

    /* tipografía */
    color: #d4af37;
    /* dorado */
    font-family: "Times New Roman", serif;
    font-variant: small-caps;
    font-size: 1.4rem;
    text-decoration: none;
}

.gallery-box a {
    color: #d4af37;
    text-decoration: none;
}

.gallery-box a:hover {
    text-decoration: underline;
}

.gallery-box-wrapper {
    text-align: center;
    margin-top: 40px;
}