@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root{
    --var-font-primary: "Montserrat", sans-serif;
    --var-font-secondary:"Lora", serif;
    --var-color-primary:#252C4E;
    --var-color-secondary:#E7BA61;
    --var-color-white:#fff;
    --var-bg-orange:#E7BA61;
    --var-bg-azul-argentina:#252C4E;
    --var-bg-naranja-argentina:#E7BA61;
    /* Nuevos colores orgánicos */
    --var-color-verde-oscuro:#546635;
    --var-color-verde-claro:#76c044;
}

body{
    font-family: var(--var-font-primary);
}

.bg-azul, .navbar-dark, .bg-azul-argentina {
    background: var(--var-bg-azul-argentina);
    color: rgba(255, 255, 255, 0.7);
}

.bg-naranja-argentina{
    background: var(--var-bg-naranja-argentina);
}

/* Nuevas clases de fondo con colores verdes */
.bg-verde-oscuro{
    background: var(--var-color-verde-oscuro);
    color: var(--var-color-white);
}

.bg-verde-claro{
    background: var(--var-color-verde-claro);
    color: var(--var-color-white);
}

.panel.panel-default{
    transition: all 0.45s ease;
    background: var(--var-color-verde-claro);
    border-left: 4px solid var(--var-color-verde-oscuro);
}

.panel.panel-default:hover{
    background: var(--var-color-verde-oscuro);
    color: var(--var-color-white);
    border-left: 4px solid var(--var-color-verde-claro);
}

.panel.panel-default h2{
    color: var(--var-color-white) !important;
}

#sponsors img{
    border-radius: 50% !important;
    border: 3px solid var(--var-color-verde-claro);
    transition: all 0.3s ease;
}

#sponsors img:hover{
    border-color: var(--var-color-verde-oscuro);
    transform: scale(1.05);
}

#sponsors p{
    text-transform: uppercase;
    letter-spacing: 1.25px;
    font-size: 17px;
    font-weight: 400;
    opacity: 0.8;
}

.h2 {
    color: var(--var-color-white) !important;
    margin-bottom: 40px !important;
}

h1.bg-orange{
    background: var(--var-bg-orange);
    padding: 10px 20px;
    color: var(--var-color-white) !important;
}

p{
    font-family: var(--var-font-primary);
    letter-spacing: -0.3px;
    line-height: 1.5rem;
    text-align: justify;
}

h1,h2,h3,h4,h5,h6 {
    font-family: var(--var-font-secondary);
    font-weight: 700;
    letter-spacing: -0.03px;
    color: var(--var-color-primary) !important;
}

.text-center{
    text-align: center;
}

.btn-outline-secondary {
    font-family: var(--var-font-primary);
    font-size: 13.5px !important;
    font-weight: 500 !important;
    border: 2px solid var(--var-color-verde-claro) !important;
    background: var(--var-color-white) !important;
    padding: 12px 40px !important;
    color: var(--var-color-verde-oscuro) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    outline: none;
    transition: all 0.3s ease;
}

.btn-outline-secondary:hover {
    border: 2px solid var(--var-color-verde-oscuro) !important;
    background: var(--var-color-verde-claro) !important;
    color: var(--var-color-white) !important;
}

.btn-outline-secondary:active{
    outline: none;
}

.btn-outline-secondary-2 {
    font-family: var(--var-font-primary);
    font-size: 13.5px !important;
    font-weight: 500 !important;
    border: 2px solid var(--var-color-verde-claro) !important;
    background: var(--var-color-white) !important;
    padding: 12px 40px !important;
    color: var(--var-color-verde-oscuro) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    outline: none;
    transition: all 0.3s ease;
}

.btn-outline-secondary-2:hover {
    border: 2px solid var(--var-color-verde-oscuro) !important;
    background: var(--var-color-verde-oscuro) !important;
    color: var(--var-color-white) !important;
}

.btn-outline-secondary-2:active{
    outline: none;
}

.btn-outline-primary {
    font-family: var(--var-font-primary);
    background: var(--var-color-verde-oscuro) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    border: 2px solid var(--var-color-verde-oscuro);
    padding: 12px 40px !important;
    color: var(--var-color-white) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    outline: none;
    transition: all 0.3s ease;
}

.btn-outline-primary:hover {
    background: var(--var-color-verde-claro) !important;
    border-color: var(--var-color-verde-claro);
    color: var(--var-color-white) !important;
}

#mapa{
    filter: grayscale(100%);
}

section {
    padding: 100px 0px;
    height: auto;
}

.logo{
    max-width: 210px !important;
}

.jumbotron{
    height: 600px;
    text-align: center;
    place-content: center;
    background: linear-gradient(135deg, var(--var-color-verde-oscuro) 0%, var(--var-color-verde-claro) 100%);
    background-image: url(../imagenes/fondo.png);
    background-position: top right;
    background-repeat: no-repeat;
    background-blend-mode: overlay;
}

@media screen and (max-width: 767px) {
    .jumbotron {
      height: 750px;
    }
    #botonesHome{
        display: flex;
        justify-content: center;
    }
  }

.jumbotron h1 {
    color: var(--var-color-white) !important;
    font-size: 35px;
    font-weight: 300;
}

.jumbotron h4 {
    color: var(--var-color-white) !important;
    font-size: 30px;
    font-weight: 500;
    letter-spacing: 0.75px;
}

.jumbotron h3{
    color: var(--var-color-verde-claro) !important;
    font-size: 38px;
    letter-spacing: 0.03px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.jumbotron p{
    color: var(--var-color-white);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2.1px;
    font-size: 19px;
    font-weight: 500 !important;
}

/*Menú*/
a.nav-link{
    padding: 10px 20px !important;
}

a.nav-link {
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.9px;
    color: var(--var-color-verde-oscuro);
    transition: all 0.3s ease;
}

a.nav-link:hover{
    color: var(--var-color-verde-claro);
    cursor: pointer;
    text-decoration: none;
}

/*Footer*/
.footer p small{
    font-size: 11.5px;
    letter-spacing: 0.15px;
    color: rgba(255, 255, 255, 0.7);
}

.footer img{
    max-width: 280px;
    margin: auto;
}

#home h1{
    padding-top: 120px;
}

/* Estilos para el botón Top */
#btnTop {
    width: 45px;
    height: 45px;
    display: none;
    position: fixed;
    bottom: 5px;
    right: 5px;
    z-index: 99;
    border: none;
    outline: none;
    background-color: var(--var-color-verde-oscuro);
    padding: 20px;
    color: var(--var-color-white);
    cursor: pointer;
    padding: 10px;
    font-size: 10px;
    border-radius: 0px;
    transition: all 0.35s ease;
}

#btnTop:hover {
    background-color: var(--var-color-verde-claro);
    color: var(--var-color-white);
    transition: all 0.5s ease;
}

/* Galeria */
#galeria .gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columnas */
    gap: 1.5rem;
    justify-items: center;
}

#galeria .gallery img {
    width: 100%;
    max-width: 250px;
    height: 180px;
    object-fit: cover;
    border: 4px solid var(--var-color-verde-claro); /* Borde verde */
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.2s;
}

#galeria .gallery img:hover {
    transform: scale(1.05);
    border-color: var(--var-color-verde-oscuro);
}

.modal-img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Estilos adicionales para alertas con temática orgánica */
.alert-warning {
    background-color: rgba(118, 192, 68, 0.1);
    border-left: 4px solid var(--var-color-verde-claro);
}

.alert-info {
    background-color: rgba(84, 102, 53, 0.1);
    border-left: 4px solid var(--var-color-verde-oscuro);
}

.alert-danger {
    border-left: 4px solid #dc3545;
}

/* Ajustes para la sección de evento */
#evento .bg-azul {
    background: linear-gradient(180deg, var(--var-color-verde-oscuro) 0%, #3d4a28 100%);
}

/* Estilo para títulos en secciones con fondo verde */
.bg-verde-oscuro h2,
.bg-verde-oscuro h3,
.bg-verde-oscuro h4 {
    color: var(--var-color-white) !important;
}


/* --- Ajustes responsivos para celulares --- */
/* Oculta imágenes móviles en escritorio */
.img-mobile {
    display: none;
}

@media (max-width: 992px) {
/* Oculta las imágenes laterales grandes */
.container img[alt^="Decoración"] {
    display: none;
}

/* Muestra las imágenes móviles */
.img-mobile {
    display: block;
    margin: 6px auto;
    width: 35px;
    height: auto;
    opacity: 0.9;
}

.img-mobile-top {
    margin-bottom: 10px;
}

.img-mobile-bottom {
    margin-top: 14px;
}

/* Ajustes de texto y botones */
#home .row h1 {
    font-size: 1.35rem;
    line-height: 1.3;
    padding: 0 12px;
}

#home .row h3 {
    font-size: 0.95rem;
    margin-top: 8px;
}

#botonesHome button {
    margin-top: 14px;
    width: 80%;
    max-width: 240px;
}
}

@media (max-width: 576px) {
.img-mobile {
    width: 28px;
}

#home .row h1 {
    font-size: 1.25rem;
}

#home .row h3 {
    font-size: 0.9rem;
}
}