/* =========================================================
   ELÉWORA — theme overrides layered on top of bootstrap.min.css
   and the base template stylesheet (style.css).
   Loaded last on purpose: rules here win the cascade.
   ========================================================= */

:root {
    --ew-bg: #111416;          /* page background, near-black anthracite */
    --ew-panel: #1A1D20;       /* slightly lighter panel background */
    --ew-panel-2: #15181B;
    --ew-cream: #F3EEE4;       /* body text on dark */
    --ew-cream-dim: rgba(243, 238, 228, 0.72);
    --ew-gold: #C7973E;
    --ew-gold-soft: rgba(199, 151, 62, 0.25);
    --ew-ink: #14171A;         /* dark text used on top of gold buttons */
}

/* ---------- Base / typography ---------- */
html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--ew-bg);
    color: var(--ew-cream);
}

h1, h2, h3, h4, h5, h6,
.display-1, .display-6 {
    font-family: "Playfair Display", serif;
    color: var(--ew-cream);
}

p, span, li {
    color: inherit;
}

a {
    color: var(--ew-gold);
}

a:hover {
    color: var(--ew-cream);
}

::selection {
    background: var(--ew-gold);
    color: var(--ew-ink);
}

/* neutral utility repaint: everything that assumed a light page now sits on dark */
.bg-white,
.bg-light {
    background-color: var(--ew-panel) !important;
}

.text-dark {
    color: var(--ew-cream) !important;
}

.text-body {
    color: var(--ew-cream-dim) !important;
}

.shadow-sm {
    box-shadow: 0 10px 35px rgba(0, 0, 0, .45) !important;
}

.border-top {
    border-color: rgba(199, 151, 62, .25) !important;
}

/* ---------- Buttons ---------- */
.btn-primary,
.btn-outline-primary:hover {
    color: var(--ew-ink) !important;
    font-weight: 600;
}

.btn-outline-primary {
    color: var(--ew-gold);
}

.btn-outline-light {
    color: var(--ew-cream);
    border-color: rgba(243, 238, 228, .45);
}

.btn-outline-light:hover {
    background-color: var(--ew-cream);
    color: var(--ew-ink);
}

/* ---------- Spinner ---------- */
#spinner {
    background-color: var(--ew-bg) !important;
}

/* ---------- Navbar ---------- */
.navbar-wrap {
    background-color: rgba(17, 20, 22, .92) !important;
    backdrop-filter: blur(6px);
    border-bottom: 1px solid rgba(199, 151, 62, .18);
}

.navbar .navbar-nav .nav-link {
    color: var(--ew-cream) !important;
    letter-spacing: .04em;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
    color: var(--ew-gold) !important;
}

.navbar-toggler {
    border-color: rgba(199, 151, 62, .4) !important;
}

.navbar-toggler-icon {
    filter: invert(80%) sepia(30%) saturate(500%) hue-rotate(360deg);
}

.dropdown-menu {
    background-color: var(--ew-panel) !important;
    border: 1px solid rgba(199, 151, 62, .18) !important;
}

.dropdown-item {
    color: var(--ew-cream);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: rgba(199, 151, 62, .15);
    color: var(--ew-gold);
}

@media (max-width: 991.98px) {
    .navbar .navbar-nav {
        border-top: 1px solid rgba(199, 151, 62, .18);
    }
}

/* ---------- Hero / Carousel ---------- */
.carousel-caption {
    background: linear-gradient(180deg, rgba(10, 12, 13, .25) 0%, rgba(10, 12, 13, .82) 78%);
}

#header-carousel .carousel-item img {
    filter: brightness(.72) saturate(1.05);
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: rgba(17, 20, 22, .55) !important;
    border-color: rgba(199, 151, 62, .5) !important;
}

/* ---------- Section titles ---------- */
.section-title::after {
    background: var(--ew-gold);
    border-color: var(--ew-bg);
}

.eyebrow {
    color: var(--ew-gold);
}

/* ---------- Products ---------- */
.product {
    background: radial-gradient(circle at 25% 15%, rgba(199, 151, 62, .10), transparent 55%), var(--ew-panel-2);
}

.product-item .bg-white {
    background-color: var(--ew-panel) !important;
}

/* ---------- Video ---------- */
.video {
    background: linear-gradient(rgba(10, 12, 13, .82), rgba(10, 12, 13, .88)), url(../img/placeholders/video-bg.jpg) center center / cover no-repeat;
}

/* ---------- Testimonials ---------- */
.testimonial {
    background: var(--ew-panel-2);
    border-top: 1px solid rgba(199, 151, 62, .2);
    border-bottom: 1px solid rgba(199, 151, 62, .2);
}

.testimonial-item {
    background: var(--ew-cream) !important;
    color: var(--ew-ink);
}

.testimonial-item h5 {
    color: var(--ew-ink) !important;
    font-family: "Playfair Display", serif;
}

.testimonial-item p {
    color: var(--ew-ink);
}

/* ---------- Contact ---------- */
.contact .info-icon {
    border: 14px solid var(--ew-panel);
    background: var(--ew-gold);
}

.map-frame {
    border: 1px solid rgba(199, 151, 62, .25);
    background: var(--ew-panel);
}

.form-control {
    background-color: var(--ew-panel) !important;
    border: 1px solid rgba(199, 151, 62, .25) !important;
    color: var(--ew-cream) !important;
}

.form-control::placeholder {
    color: rgba(243, 238, 228, .45);
}

.form-control:focus {
    border-color: var(--ew-gold) !important;
    box-shadow: 0 0 0 .2rem rgba(199, 151, 62, .18) !important;
}

/* ---------- Footer ---------- */
.bg-dark {
    background-color: #0E1113 !important;
}

.footer h4 {
    font-family: "Playfair Display", serif;
}

.copyright {
    background: #0B0D0E !important;
    border-top: 1px solid rgba(199, 151, 62, .12);
}

/* ---------- Modal (video) ---------- */
.modal-content {
    background-color: var(--ew-panel);
    color: var(--ew-cream);
    border: 1px solid rgba(199, 151, 62, .25);
}

.modal-header {
    border-bottom-color: rgba(199, 151, 62, .2);
}

.btn-close {
    filter: invert(1) grayscale(1);
}

/* ---------- Language switcher ---------- */
.lang-switch a {
    color: var(--ew-cream-dim);
    padding: 0 6px;
    font-size: .85rem;
    letter-spacing: .05em;
}

.lang-switch a.active,
.lang-switch a:hover {
    color: var(--ew-gold);
}

.lang-switch span {
    color: rgba(243, 238, 228, .3);
}

/* ---------- Misc ---------- */
.divider-leaf {
    color: var(--ew-gold);
    opacity: .8;
}

.olive-tagline {
    font-family: "Playfair Display", serif;
    font-style: italic;
    color: var(--ew-gold);
}
