/* Variables */
:root {
    --blue: #132043;
    --gold: #CBB26A;
    --white: #fff;
    --gray: #f8f9fa;
    --transition: all 0.22s cubic-bezier(.4,2,.7,1);
}

/* Fonts */
body {
    font-family: 'Lora', 'Merriweather', 'Montserrat', serif;
    background: var(--gray);
    color: var(--blue);
}
.logo-text {
    font-family: 'Merriweather', serif;
    letter-spacing: 1px;
    font-size: 1.3rem;
}
.notaire-title { font-size: 0.95rem; font-family: 'Montserrat', sans-serif; color: var(--gold);}
.text-blue { color: var(--blue) !important;}
.text-gold { color: var(--gold) !important;}
.bg-blue { background: var(--blue) !important;}
.bg-gold { background: var(--gold) !important;}
.btn-gold {
    background: var(--gold);
    color: var(--blue);
    border: none;
    transition: var(--transition);
}
.btn-gold:hover, .btn-outline-gold:hover {
    background: var(--blue);
    color: var(--gold);
    border-color: var(--gold);
}
.btn-outline-gold {
    background: transparent;
    border: 2px solid var(--gold);
    color: var(--blue);
    transition: var(--transition);
}
.btn-blue {
    background: var(--blue);
    color: var(--white);
    border: none;
    transition: var(--transition);
}
.btn-blue:hover {
    background: var(--gold);
    color: var(--blue);
}
.link-blue {
    color: var(--blue);
    font-weight: 600;
    text-decoration: none;
    transition: color .2s;
}
.link-blue:hover { color: var(--gold);}

/* Top bar */
.top-bar { font-family: 'Montserrat', sans-serif; }
.lang-btn { color: var(--blue); text-decoration: none; font-weight: 600; }
.lang-btn.active, .lang-btn:hover { color: var(--gold);}
.access-icons i { font-size: 1.15rem; vertical-align: middle; }

/* Hero section */
.hero {
    min-height: 550px;
    overflow: hidden;
    position: relative;
    background: var(--blue);
}
.hero-bg-img {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    object-fit: cover; z-index: 1; opacity: 0.32;
}
.hero-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(80deg, var(--blue) 55%, rgba(19,32,67,0.65) 100%);
    opacity: 0.85; z-index: 1;
}
.hero .container { position: relative; z-index: 2; }
.hero-img img { max-width: 370px; border: 4px solid var(--gold);}
.text-shadow { text-shadow: 2px 4px 14px rgba(0,0,0,0.15);}
@media (max-width: 767px) {
    .hero { min-height: 340px;}
    .hero-img img { max-width: 180px;}
}

/* Animations */
.animate-fadein { animation: fadein 1.3s both;}
.animate-fadein-delay { animation: fadein 1.8s 0.7s both;}
.animate-slidein { animation: slidein 1.5s both;}
.animate-hover { transition: var(--transition);}
.animate-hover:hover { transform: translateY(-6px) scale(1.025); box-shadow: 0 6px 28px 0 rgba(19,32,67,0.07);}
@keyframes fadein { from {opacity:0;transform:translateY(30px);} to {opacity:1;transform:translateY(0);} }
@keyframes slidein { from {opacity:0;transform:translateX(90px);} to {opacity:1;transform:translateX(0);} }

/* Cards */
.card { border-radius: 1.1rem; }
.card-title { color: var(--blue);}
.card-footer { background: none;}
.border-gold { border: 2px solid var(--gold) !important;}

/* Footer */
.footer { font-family: 'Montserrat', sans-serif; font-size: 1rem;}
.footer-link {
    color: var(--gold); text-decoration: none; font-weight: 600;
    transition: color 0.18s;
}
.footer-link:hover { color: var(--white);}
.footer .bi { vertical-align: middle; font-size: 1.2em; }
.bg-blue a, .bg-blue .footer-link { color: var(--gold);}
.bg-blue a:hover { color: var(--white);}

/* Section titles */
section h2 { font-family: 'Merriweather', serif; letter-spacing: 0.5px;}
blockquote { border-left: 4px solid var(--gold); padding-left: 1rem;}
.list-unstyled li { margin-bottom: 0.5rem;}
/* Forms */
.form-label { color: var(--blue);}
.form-control:focus { border-color: var(--gold); box-shadow: 0 0 0 0.07rem var(--gold);}
.btn[disabled] { opacity: .72; }
.contact-infos p, .contact-infos a { color: var(--blue);}
.contact-infos i { color: var(--gold);}

/* Responsive tweaks */
@media (max-width: 991px) {
    .footer .text-md-end { text-align: left !important;}
    .footer .text-md-center { text-align: left !important;}
}

@media (max-width: 767px) {
    .footer .fw-bold { font-size: 1.1rem;}
    .footer .col-md-4 { margin-bottom: 1rem; }
}

::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-thumb {
  background: var(--gold);
  border-radius: 6px;
}