/* =============================================================================
   The Music & Entertainment Co. — Static Site Styles
   ============================================================================= */

/* ── Base ─────────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body.site { overflow-x: hidden; font-family: "Lato", sans-serif; }

/* ── Header ───────────────────────────────────────────────────────────────── */
#sp-header {
  background: #fff;
  border-bottom: 2px solid #e8e8e8;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.site-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 80px;
}

/* ── Logo ─────────────────────────────────────────────────────────────────── */
.site-logo a { display: block; line-height: 0; text-decoration: none; }
.site-logo img { height: 50px; width: auto; display: block; }

/* ── Navigation bar ───────────────────────────────────────────────────────── */
/* Override any portfolio/template CSS that might hide or alter the nav */
.site-nav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.site-nav-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.site-nav-item {
  display: block !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.site-nav-item > a {
  display: block !important;
  padding: 0 16px !important;
  height: 80px !important;
  line-height: 80px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #222 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  border-bottom: 3px solid transparent !important;
  -webkit-transition: color 0.2s, border-bottom-color 0.2s;
          transition: color 0.2s, border-bottom-color 0.2s;
}

.site-nav-item > a:hover {
  color: #c9a84c !important;
  border-bottom-color: #c9a84c !important;
}

.site-nav-item.active > a {
  color: #c9a84c !important;
  border-bottom-color: #c9a84c !important;
}

/* ── Mobile hamburger button ──────────────────────────────────────────────── */
.site-nav-toggle {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5px;
  width: 42px;
  height: 42px;
  background: none;
  border: 2px solid #bbb;
  border-radius: 4px;
  cursor: pointer;
  padding: 7px 9px;
}
.site-nav-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: #444;
  border-radius: 2px;
}

/* ── Off-canvas mobile menu ───────────────────────────────────────────────── */
.offcanvas-menu {
  position: fixed;
  top: 0;
  right: -320px;
  width: 300px;
  height: 100%;
  background: #1a1a1a;
  z-index: 9999;
  -webkit-transition: right 0.3s ease;
          transition: right 0.3s ease;
  padding: 70px 0 30px;
  overflow-y: auto;
}
.offcanvas-menu.open { right: 0; }

.close-offcanvas {
  color: #fff;
  font-size: 26px;
  position: absolute;
  top: 18px;
  right: 20px;
  text-decoration: none;
  line-height: 1;
  opacity: 0.7;
}
.close-offcanvas:hover { opacity: 1; color: #fff; }

.offcanvas-menu .nav { list-style: none; padding: 0; margin: 0; }
.offcanvas-menu .nav li { list-style: none; }
.offcanvas-menu .nav li a {
  color: #ddd;
  display: block;
  padding: 15px 30px;
  border-bottom: 1px solid #2a2a2a;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none;
}
.offcanvas-menu .nav li a:hover { color: #fff; background: #2a2a2a; }

/* ── SP Page Builder layout ───────────────────────────────────────────────── */
.sppb-section { width: 100%; position: relative; z-index: 1; }
.sppb-container { margin: 0 auto; padding: 0 15px; max-width: 1170px; }
.sppb-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}
.sppb-row > [class*="col-"] { padding-left: 15px; padding-right: 15px; }

/* ── Section overlays ─────────────────────────────────────────────────────── */
.sppb-section-overlay::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.38);
  z-index: 0;
}
.sppb-section-overlay > .sppb-container { position: relative; z-index: 1; }

/* ── Addon styles ─────────────────────────────────────────────────────────── */
.sppb-addon { margin-bottom: 15px; }
.sppb-addon-single-image img { max-width: 100%; height: auto; }
.sppb-addon-feature { margin-bottom: 30px; }
.sppb-feature-icon { margin-bottom: 15px; color: #c9a84c; }
.sppb-feature-title { font-size: 13px; letter-spacing: 3px; font-weight: 700; text-transform: uppercase; margin: 5px 0 10px; }
.sppb-feature-text { font-size: 14px; line-height: 1.7; color: #666; }
.sppb-inner-row { margin-bottom: 20px; }

/* ── Contact form ─────────────────────────────────────────────────────────── */
.contact-form .form-control { border-radius: 0; border: 1px solid #ddd; height: 46px; font-size: 14px; }
.contact-form textarea.form-control { height: auto; }
.contact-form .btn-submit { background: #c9a84c; border: none; color: #fff; border-radius: 0; padding: 14px 44px; letter-spacing: 2px; text-transform: uppercase; font-size: 12px; font-weight: 700; cursor: pointer; }
.contact-form .btn-submit:hover { background: #a88a38; }

/* ── Testimonials ─────────────────────────────────────────────────────────── */
.testimonial-item { padding: 20px 30px; }
.testimonial-quote { font-style: italic; font-size: 15px; line-height: 1.8; margin-bottom: 15px; }
.testimonial-name { font-weight: 700; display: block; font-size: 13px; }

/* ── Footer ───────────────────────────────────────────────────────────────── */
#sp-bottom h4 { font-size: 14px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 15px; }
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: 6px; }
.footer-links a { color: #888; text-decoration: none; font-size: 14px; }
.footer-links a:hover { color: #c9a84c; }

/* ── Blog ─────────────────────────────────────────────────────────────────── */
.blog-title a { color: #333; text-decoration: none; }
.blog-title a:hover { color: #c9a84c; }

/* ── Buttons ──────────────────────────────────────────────────────────────── */
.btn-primary { background: #c9a84c !important; border-color: #c9a84c !important; border-radius: 0 !important; color: #fff !important; }
.btn-primary:hover { background: #a88a38 !important; border-color: #a88a38 !important; }
.btn-default { border-radius: 0; }

/* ── Scroll to top ────────────────────────────────────────────────────────── */
.scrollup { position: fixed; bottom: 30px; right: 30px; display: none; width: 42px; height: 42px; background: #c9a84c; color: #fff; font-size: 18px; line-height: 42px; text-align: center; z-index: 999; text-decoration: none; border-radius: 2px; }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 991px) {
  .site-nav { display: none !important; }
  .site-nav-toggle { display: -webkit-box; display: -ms-flexbox; display: flex; }
  .site-header-inner { padding: 0 20px; height: 70px; }
  .site-logo img { height: 42px; }
  .sppb-row > [class*="col-"] { -webkit-box-flex: 0; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; margin-bottom: 20px; }
}

@media (max-width: 767px) {
  .site-header-inner { height: 60px; }
  .site-logo img { height: 36px; }
}
