:root {
  --brand-charcoal: #3f3c35;
  --brand-charcoal-dark: #292720;
  --brand-gold: #aa9253;
  --brand-gold-light: #d2c187;
  --brand-beige: #ded2aa;
  --brand-cream: #f4eedb;
  --brand-ivory: #fffdf7;
  --brand-ink: #302e29;
}

body { background: var(--brand-ivory); color: var(--brand-ink); overflow-x:hidden; overflow-y:auto; }
a { color: #75632f; transition: color .2s ease; }
a:hover, a:focus { color: var(--brand-charcoal-dark); }

/* Sidebar and navigation */
#sidebar,
#sidebar.split,
#sidebar .affix-sidebar,
#sidebar .navbar-default,
#sidebar .navbar-collapse { background: var(--brand-beige) !important; }
#sidebar { box-shadow: 3px 0 20px rgba(63, 60, 53, .15); }
#sidebar .navbar-default .navbar-nav > li > a { color: var(--brand-charcoal-dark) !important; }
#sidebar .navbar-default .navbar-nav > li:hover,
#sidebar .navbar-default .navbar-nav > li.active,
#sidebar .navbar-default .navbar-nav > li > a:focus { background: var(--brand-charcoal) !important; }
#sidebar .navbar-default .navbar-nav > li:hover > a,
#sidebar .navbar-default .navbar-nav > li.active > a,
#sidebar .navbar-default .navbar-nav > li.active > a:focus,
#sidebar .navbar-default .navbar-nav > li.active > a:hover { color: var(--brand-ivory) !important; }
#sidebar .navbar-default .navbar-nav > li > a::after { background: var(--brand-gold) !important; }
.navbar-info, .navbar-info a { color: var(--brand-charcoal-dark) !important; }
.navbar-info i, .margin-icon, .brand, .brand i { color: #75632f !important; }
.navbar-default .navbar-toggle,
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus { background: var(--brand-charcoal) !important; }
.navbar-default .navbar-toggle .icon-bar { background-color: var(--brand-ivory) !important; }

/* Typography, highlights, cards and controls */
h1, h2, h3, h4, h5, h6,
.contact-icon .top-icon,
.box-hover i,
.menu-item-price { color: var(--brand-charcoal) !important; }
.ls-slide h1, .ls-slide h2, .ls-slide h3,
.header-text h1, .header-text h2, .header-text h3,
.header-text p { color: #fff !important; }
h3.title::after, .menu-item-name, .form-control:focus { border-color: var(--brand-gold) !important; }
.bg-light, .contact-info, .panel-heading, .well { background-color: var(--brand-cream) !important; }
.box-hover { border-color: rgba(117, 99, 47, .18); }
.box-hover i.circle { background: var(--brand-beige) !important; }
.social-media i, .back-to-top i, .spinner > div { background: var(--brand-charcoal) !important; }
.social-media i:hover, .back-to-top i:hover { background: var(--brand-gold) !important; }

.btn, .btn-primary, .mobile-order-bar a:first-child {
  background: var(--brand-charcoal) !important;
  border-color: var(--brand-charcoal) !important;
}
.btn::before { background: var(--brand-gold) !important; }
.btn:hover, .btn:focus, .btn-primary:hover, .btn-primary:focus {
  background: var(--brand-gold) !important;
  border-color: var(--brand-gold) !important;
  color: var(--brand-charcoal-dark) !important;
}

/* Section transitions and footer */
.divider-top::before, .divider-top::after { background: var(--brand-ivory) !important; }
.footer { background-color: var(--brand-charcoal-dark) !important; color: var(--brand-cream); }
.footer .gradient-overlay {
  background: linear-gradient(to top, rgba(41, 39, 32, .98), rgba(63, 60, 53, .78)) !important;
}
.footer h4, .footer p, .footer a, .footer .navbar-info,
.footer .navbar-info a { color: var(--brand-cream) !important; }
.footer .margin-icon { color: var(--brand-gold-light) !important; }
.address-link { color: inherit; }
.map-wrap { background: var(--brand-charcoal-dark); }
.map-wrap iframe { display: block; width: 100%; border-radius: 10px; }

/* Local content */
.local-seo-section { background: var(--brand-cream) !important; }
.local-seo-section details { margin: 12px 0; padding: 14px 18px; background: var(--brand-ivory); border: 1px solid rgba(117, 99, 47, .3); border-radius: 8px; }
.local-seo-section summary { cursor: pointer; font-weight: 800; color: var(--brand-charcoal); }
.local-seo-section details p { margin: 10px 0 0; }
.mobile-order-bar { display: none; }

@media (max-width: 767px) {
  body { padding-bottom: 72px; }
  #sidebar, #sidebar.split { background: var(--brand-beige) !important; }
  .mobile-order-bar { position: fixed; left: 76px; right: 10px; bottom: 10px; z-index: 99999; display: grid; grid-template-columns: 1.35fr 1fr; gap: 8px; padding: 7px; background: var(--brand-ivory); border: 1px solid rgba(63, 60, 53, .18); border-radius: 14px; box-shadow: 0 8px 24px rgba(41, 39, 32, .22); }
  .mobile-order-bar a { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 8px 10px; border-radius: 10px; color: #fff !important; font-weight: 800; text-align: center; }
  .mobile-order-bar a:last-child { background: var(--brand-gold); color: var(--brand-charcoal-dark) !important; }
}
