@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Lato:wght@300;400;700&display=swap');

:root {
    --color-dorado: #d4af37;
    --color-crema: #faf9f6;
}

body {
    font-family: 'Lato', sans-serif;
    color: #333;
    background-color: var(--color-crema);
}

h1, h2, h3, h4, h5, .navbar-brand { font-family: 'Playfair Display', serif; }

.text-dorado { color: var(--color-dorado) !important; }
.border-dorado { border: 1px solid var(--color-dorado) !important; }
.bg-black { background-color: #000 !important; }
.text-shadow { text-shadow: 1px 1px 5px rgba(0,0,0,0.8); }

.transition-nav { transition: all 0.5s ease; }
.hover-dorado:hover { background-color: transparent; color: var(--color-dorado) !important; }

.imagen-carrusel {
    height: 100vh;
    min-height: 600px;
    object-fit: cover;
    filter: brightness(0.6);
}
.carousel-caption { bottom: 20%; }

.animar-oculto { opacity: 0; filter: blur(5px); transform: translateY(50px); transition: all 1s ease; }
.mostrar { opacity: 1; filter: blur(0); transform: translateY(0); }

.bg-white-pattern {
    background-color: #fff;
    background-image: radial-gradient(#d4af37 0.5px, transparent 0.5px);
    background-size: 20px 20px;
}
.card-elegance { border: none; box-shadow: 0 5px 15px rgba(0,0,0,0.05); transition: all 0.4s ease; }
.card-elegance:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0,0,0,0.2); }
.card-elegance img { transition: transform 0.5s ease; }
.card-elegance:hover img { transform: scale(1.05); }

.btn-dorado {
    background: linear-gradient(45deg, var(--color-dorado), #b39025);
    border: none;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: transform 0.3s;
}
.btn-dorado:hover { background: linear-gradient(45deg, #b39025, var(--color-dorado)); transform: scale(1.05); color: #fff; }

.table thead th {
    background-color: #111;
    color: var(--color-dorado);
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
}