/* Declaración de fuentes locales */
@font-face {
    font-family: 'TuFuenteLocal1';
    src: url('assets/fonts/nombre-fuente-1.woff2') format('woff2'),
         url('assets/fonts/nombre-fuente-1.woff') format('woff'),
         url('assets/fonts/nombre-fuente-1.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'TuFuenteLocal2';
    src: url('assets/fonts/nombre-fuente-2.woff2') format('woff2'),
         url('assets/fonts/nombre-fuente-2.woff') format('woff'),
         url('assets/fonts/nombre-fuente-2.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

/* Fuentes de Google como respaldo */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Source+Sans+Pro:wght@300;400;600&display=swap');

:root {
    --color-oro-principal: #D5AC34;
    --color-oro-destacado: #FEC215;
    --color-oro-suave: #AA9146;
    --color-tierra-oscuro: #55503F;
    --color-tierra-medio: #80724A;

    --color-fondo: #FDFBF5;
    --color-superficie: #FFFFFF;
    --color-texto: var(--color-tierra-oscuro);
    --color-borde-sutil: #EAEAEA;
    
    /* Stack de fuentes mejorado */
    --font-heading: 'TuFuenteLocal1', 'Playfair Display', serif;
    --font-body: 'TuFuenteLocal2', 'Source Sans Pro', sans-serif;
}

body {
    font-family: var(--font-body);
    background-color: var(--color-fondo);
    color: var(--color-texto);
    transition: background-color 0.3s ease;
}


.navbar.bg-body-tertiary {
    background-color: var(--color-superficie) !important;
    border-bottom: 3px solid var(--color-oro-principal);
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.navbar-brand, .nav-link {
    transition: color 0.3s ease;
}

.nav-link:hover, .nav-link.active {
    color: var(--color-oro-principal) !important;
}

.navbar-logo {
    height: 40px;
}


.display-4 {
    color: var(--color-tierra-oscuro);
    font-weight: 300;
}

.gallery h2 {
    color: var(--color-tierra-medio);
    font-weight: 400;
}

.card {
    background-color: var(--color-superficie);
    border: 1px solid var(--color-borde-sutil);
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 20px rgba(85, 80, 63, 0.12);
}

.card-img-top {
    object-fit: cover;
    height: 220px;
}

.card-title {
    color: var(--color-tierra-medio);
    transition: color 0.3s ease;
}

.card:hover .card-title {
    color: var(--color-oro-principal);
}


.bg-light {
    background-color: var(--color-superficie) !important;
}


.gallery-item {
    position: relative;
    overflow: hidden; 
    cursor: pointer;
    border-radius: 0.375rem; 
    box-shadow: 0 4px 8px rgba(85, 80, 63, 0.08);
    transition: box-shadow 0.3s ease;
}

.gallery-item:hover {
    box-shadow: 0 8px 20px rgba(85, 80, 63, 0.15); /* Sombra más pronunciada al pasar el ratón */
}

.gallery-item img {
    transition: transform 0.4s ease;
    width: 100%;
    display: block;
}

.gallery-item:hover img {
    transform: scale(1.1); /* Efecto de zoom suave */
}

.gallery-item .gallery-item-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
    color: white;
    padding: 2rem 1rem 1rem;
    transition: opacity 0.4s ease;
    opacity: 1;
}

.gallery-item .gallery-item-info h5 {
    margin-bottom: 0.25rem;
    font-weight: 600;
    color: var(--color-superficie);
}

.gallery-item .gallery-item-info p {
    margin-bottom: 0;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
}

/* --- Estilos para el Modal --- */
.modal-content {
    border: none;
}
.modal-header {
    border-bottom: 1px solid var(--color-borde-sutil);
}