@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Inter:wght@300;400;600;700&display=swap');
:root{
--primary:#c4a35a;
--primary-dark:#b08d42;
--accent:#d4af37;
--secondary:#2c2c2c;
--light-bg:#f8f5f0;
--dark-bg:#1a1a1a;
--white:#ffffff;
--text-light:#4a4a4a;
--text-dark:#222;
--body-font:'Inter',sans-serif;
--heading-font:'Playfair Display',serif;
--transition:0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
body{
font-family:var(--body-font);
color:var(--text-light);
background:var(--white);
overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6{
font-family:var(--heading-font);
font-weight:700;
color:var(--text-dark);
}
a{
color:var(--primary);
transition:var(--transition);
}
a:hover{
color:var(--primary-dark);
text-decoration:none;
}
.btn-primary{
background:var(--primary);
border:none;
color:var(--white);
font-weight:600;
padding:0.8rem 2rem;
border-radius:0;
transition:var(--transition);
font-family:var(--body-font);
}
.btn-primary:hover{
background:var(--primary-dark);
transform:translateY(-2px);
box-shadow:0 10px 25px rgba(196,163,90,0.3);
}
.btn-outline-light{
border:2px solid var(--white);
color:var(--white);
border-radius:0;
padding:0.8rem 2rem;
font-weight:600;
transition:var(--transition);
}
.btn-outline-light:hover{
background:var(--white);
color:var(--dark-bg);
}
.section-padding{
padding:5rem 0;
}
.bg-dark-overlay{
background-image:linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.6)),url();
background-size:cover;
background-position:center;
background-attachment:fixed;
position:relative;
color:var(--white);
}
.bg-dark-overlay h1,.bg-dark-overlay h2,.bg-dark-overlay h3{
color:var(--white);
}
.bg-light{
background:var(--light-bg);
}
.text-gold{
color:var(--primary);
}
.navbar{
background:var(--dark-bg);
padding:0.8rem 0;
}
.navbar-brand img{
height:40px;
}
.navbar-nav .nav-link{
color:rgba(255,255,255,0.9) !important;
font-weight:400;
padding:0.5rem 1.2rem;
transition:var(--transition);
}
.navbar-nav .nav-link:hover{
color:var(--primary) !important;
}
.navbar .phone,.navbar .email{
color:var(--white);
font-size:0.9rem;
}
.footer{
background:var(--dark-bg);
color:rgba(255,255,255,0.8);
padding:4rem 0 2rem;
}
.footer h5,.footer h4{
color:var(--white);
font-family:var(--heading-font);
}
.footer a{
color:rgba(255,255,255,0.7);
}
.footer a:hover{
color:var(--primary);
}
.cookie-banner{
position:fixed;
bottom:0;
left:0;
right:0;
background:var(--dark-bg);
color:var(--white);
padding:1rem 2rem;
z-index:9999;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:1rem;
}
.cookie-banner p{
margin:0;
font-size:0.95rem;
}
.cookie-banner .btn{
background:var(--primary);
color:var(--white);
border:none;
padding:0.5rem 1.5rem;
font-weight:600;
}
.carousel-item{
height:70vh;
background-size:cover;
background-position:center;
}
.carousel-item .carousel-caption{
bottom:10%;
text-shadow:0 2px 10px rgba(0,0,0,0.5);
}
.carousel-caption h2{
font-size:3rem;
font-family:var(--heading-font);
color: var(--accent);
}
.card{
border:none;
border-radius:0;
overflow:hidden;
transition:var(--transition);
box-shadow:0 5px 15px rgba(0,0,0,0.08);
}
.card:hover{
transform:translateY(-5px);
box-shadow:0 15px 30px rgba(0,0,0,0.15);
}
.service-card .card-title{
font-family:var(--heading-font);
color:var(--text-dark);
}
.testimonial{
background:var(--white);
padding:2rem;
border-left:4px solid var(--primary);
margin-bottom:2rem;
}
.map iframe{
width:100%;
height:350px;
border:0;
}
.accordion-button:not(.collapsed){
background:var(--light-bg);
color:var(--primary);
font-weight:600;
}
.accordion-button:focus{
box-shadow:none;
border-color:var(--primary);
}
.social-links a{
display:inline-block;
width:40px;
height:40px;
background:rgba(255,255,255,0.1);
border-radius:50%;
text-align:center;
line-height:40px;
margin:0 5px;
color:var(--white);
transition:var(--transition);
}
.social-links a:hover{
background:var(--primary);
color:var(--white);
}
@media(max-width:768px){
.carousel-item{height:50vh;}
.carousel-caption h2{font-size:2rem;}
}