/* ================================================================
   DARK THEME — Dan & Siân Wedding
   Neutral near-blacks so ruby red stays the only warm accent.
   All rules carry !important to beat Bootstrap and template CSS.
   ================================================================ */

/* ---- Preloader ---- */
#preloader { background-color: #111111 !important; }

/* ---- Nav header & main slider: must stay transparent ---- */
#nav-header { background: transparent !important; }
#main-slider,
#main-slider.flexslider { background: transparent !important; }

/* ---- Base ---- */
body {
    background-color: #111111 !important;
    color: #C8BEB9 !important;
}

h1, h2, h3, h4, h5, h6,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: #E0D5D0 !important;
}

a { color: #C8BEB9 !important; }

/* ---- Layout sections ---- */
#content,
section {
    background-color: #111111 !important;
}

#rsvp,
#gift-section {
    background-color: #1a1a1a !important;
}

/* ---- Navigation ---- */
#nav-bar.top-bar.stick-it {
    background-color: rgba(0, 0, 0, 0.97) !important;
}

#nav-bar.bottom-bar.stick-it,
#nav-bar.block-color {
    background-color: #111111 !important;
}

#nav-menu > li a,
#nav-menu li a,
.transparent #nav-menu > li a,
.transparent #nav-menu li a,
.transparent.stick-it #nav-menu > li a {
    color: #C8BEB9 !important;
}

/* Only darken nav-menu background once scrolled/sticky — keeps hero overlay transparent */
.stick-it #nav-menu,
.block-color #nav-menu,
.bottom-bar.transparent #nav-menu {
    background-color: #1a1a1a !important;
}

#nav-menu ul li a {
    background-color: #1a1a1a !important;
    color: #C8BEB9 !important;
    border-bottom-color: #2a2a2a !important;
}

#nav-menu ul li a:hover {
    background-color: #882336 !important;
    color: #FFF !important;
}

.transparent.stick-it #mobile-nav,
#menu-icon a i,
#sticky-menuicon a i {
    color: #C8BEB9 !important;
}

#sticky-menuicon a { background-color: #222222 !important; }

/* ---- Slide-out sidebar ---- */
.sb-slidebar        { background-color: #1a1a1a !important; }
#close-button i     { color: #C8BEB9 !important; }
#side-nav-menu > li a { color: #C8BEB9 !important; }

.sidebar-wrapper    { background-color: #1a1a1a !important; }
.sidebar-menu li,
.sidebar-menu li a  { color: #C8BEB9 !important; }

/* ---- Content boxes ---- */
.title-excerpt               { background-color: #1a1a1a !important; }
.title-excerpt .custom-heart-icon {
    background-color: #252525 !important;
    color: #882336 !important;
}
.white-box-content-wrapper   { background-color: #1a1a1a !important; }

/* ---- Dividers & timeline ---- */
hr.line-divider { color: #333333 !important; background-color: #333333 !important; }
.arrow-right    { border-left-color:  #2a2a2a !important; }
.arrow-left     { border-right-color: #2a2a2a !important; }
.vertical-line  { border-left-color:  #333333 !important; }

/* ---- Parallax overlay ---- */
.image-divider .divider-overlay,
.video-divider .divider-overlay { opacity: 0.55 !important; }

/* Map section: no overlay needed — text has its own dark box */
#location-countdown .divider-overlay { opacity: 0 !important; }

/* ---- Banner text dark variant ---- */
.banner-text.dark,
.banner-text.dark * {
    color: #C8BEB9 !important;
    border-color: #C8BEB9 !important;
}

/* ---- Icons ---- */
.de-icon.default { color: #C8BEB9 !important; }
.de-icon.outline { color: #C8BEB9 !important; border-color: #C8BEB9 !important; }
.de-icon.square.light,
.de-icon.circle.light,
.de-icon.rounded.light {
    background-color: #222222 !important;
    color: #C8BEB9 !important;
}

/* ---- Photo frames ---- */
.photo-item.frame-border {
    background-color: #222222 !important;
    border-color: #222222 !important;
}

/* ---- Buttons ---- */
a.de-button,
span.de-button {
    background-color: #222222 !important;
    color: #C8BEB9 !important;
    border-color: #333333 !important;
}

a.de-button:hover,
span.de-button:hover {
    background-color: #882336 !important;
    color: #FFF !important;
}

a.de-button.reverse:hover,
span.de-button.reverse:hover {
    background-color: #222222 !important;
    color: #C8BEB9 !important;
}

a.de-button.outline,
span.de-button.outline {
    background-color: transparent !important;
    border-color: rgba(255,255,255,0.7) !important;
    color: #FFF !important;
}

/* ---- Forms ---- */
input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]):not([type="range"]),
textarea,
select {
    background-color: #222222 !important;
    color: #C8BEB9 !important;
    border-color: #333333 !important;
}

input::placeholder,
textarea::placeholder { color: #666666 !important; }

.option-label  { color: #C8BEB9 !important; }
.rsvp-wrapper  { border-color: #333333 !important; }

form .btn-primary {
    background-color: #222222 !important;
    border-color: #333333 !important;
    color: #C8BEB9 !important;
}

/* Bootstrap table override */
.table td,
.table th { background-color: #1a1a1a !important; color: #C8BEB9 !important; }

/* ---- Popup ---- */
#popup-template {
    background-color: #1a1a1a !important;
    color: #C8BEB9 !important;
}

/* ---- Countdown box ---- */
.countdown-content-box {
    background: rgba(0, 0, 0, 0.72) !important;
    display: inline-block !important;
    max-width: 680px !important;
    width: auto !important;
    padding-bottom: 50px !important;
    overflow: visible !important;
}
.countdown-content-box .banner-text { background: none !important; }
