/*
Theme Name: Kadence Child
Template: kadence
Version: 1.0.0
Description: Disco Boomer child theme
*/

/* ── Tokens ── */
:root {
  --db-black:  #120e07;
  --db-brown:  #1e1608;
  --db-cream:  #f0e6cc;
  --db-warm:   #f5efe0;
  --db-gold:   #c9973a;
  --db-gold-dk:#b8882a;
  --db-muted:  rgba(240,230,204,0.5);
}

/* ── Base ── */
body {
  background-color: var(--db-black);
  color: var(--db-cream);
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
}

/* ── Headings ── */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
  font-family: 'DM Serif Display', serif;
  color: var(--db-cream);
  font-weight: 400;
}

/* ── Links ── */
a {
  color: var(--db-gold);
  text-decoration: none;
}
a:hover {
  color: var(--db-cream);
}

/* ── Meta / labels ── */
.db-meta {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--db-gold);
}

/* ── Site header ── */
.site-header,
#masthead {
  background-color: var(--db-black);
  border-bottom: 1px solid rgba(201,151,58,0.2);
}

/* ── Site logo / wordmark ── */
.site-title a,
.custom-logo-link,
.site-branding .site-title a,
.site-branding a,
.kadence-site-branding a,
header .site-title a {
  font-family: 'DM Serif Display', serif !important;
  color: var(--db-gold) !important;
  font-size: 1.5rem !important;
  text-decoration: none;
}

/* ── Navigation ── */
.main-navigation a,
.nav-primary a {
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--db-cream);
}
.main-navigation a:hover,
.nav-primary a:hover {
  color: var(--db-gold);
}
.current-menu-item > a,
.current_page_item > a {
  color: var(--db-gold) !important;
}

/* ── Buttons ── */
.wp-block-button__link,
.button,
button[type="submit"] {
  background-color: var(--db-gold);
  color: var(--db-black);
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: none;
  border-radius: 2px;
  padding: 0.75rem 1.5rem;
}
.wp-block-button__link:hover,
.button:hover,
button[type="submit"]:hover {
  background-color: var(--db-cream);
  color: var(--db-black);
}

/* ── Footer ── */
.site-footer,
#colophon {
  background-color: var(--db-brown);
  border-top: 1px solid rgba(201,151,58,0.2);
  color: var(--db-muted);
  font-size: 0.85rem;
}

/* ── Kadence overrides ── */

/* Kill the light hero/title area */
.wp-block-kadence-header,
.entry-hero,
.page-hero,
.kadence-page-header,
.site-main .page-header,
.kadence-inner-column-inner,
div.wp-site-blocks > header,
.wp-block-template-part {
  background-color: var(--db-black) !important;
}

/* Page title bar */
.entry-header,
.page-title-bar,
.kadence-page-title-wrap,
.kadence-page-header-wrap {
  background-color: var(--db-black) !important;
  color: var(--db-cream) !important;
}

/* White content area background */
.content-bg,
.site-content,
.entry-content,
.kadence-inner-column-inner,
.wp-block-group,
.is-layout-constrained {
  background-color: var(--db-black) !important;
}

/* White card / block overrides */
.wp-block-post-content,
.entry,
.hentry {
  background-color: transparent !important;
}

/* ── Logo / site title force gold ── */
#site-logo a,
#site-logo span,
.site-branding,
.site-branding *,
.kadence-site-branding,
.kadence-site-branding *,
.site-header .site-title,
.site-header .site-title a,
.site-header .site-title a:visited {
  color: var(--db-gold) !important;
  font-family: 'DM Serif Display', serif !important;
}

/* ── Kill white sidebars ── */
.widget-area,
#secondary,
.kadence-sidebar,
.wp-block-column,
.entry-content-wrap + aside,
.content-area + .widget-area {
  background-color: var(--db-black) !important;
  border: none !important;
}

/* ── Kill white page hero ── */
.entry-hero,
.page-hero-section,
.entry-hero-container-inner,
.hero-section-overlay,
.hero-container,
.entry-hero .hero-section-overlay {
  background-color: var(--db-black) !important;
  background-image: none !important;
  opacity: 1 !important;
}

/* ── Contact Form 7 ── */
.wpcf7-form,
.wpcf7 {
  max-width: 600px;
  margin: 2rem auto 0;
}
.wpcf7-form p {
  margin-bottom: 1.25rem;
}
.wpcf7-form label {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--db-cream);
  margin-bottom: 0.4rem;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  width: 100%;
  background-color: #1e1608;
  border: 1px solid rgba(201,151,58,0.3);
  border-radius: 2px;
  color: var(--db-cream);
  font-family: 'DM Sans', sans-serif;
  font-size: 1rem;
  padding: 0.65rem 0.85rem;
  box-sizing: border-box;
  transition: border-color 0.2s;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
  border-color: var(--db-gold);
  outline: none;
}
.wpcf7-form textarea {
  min-height: 140px;
  resize: vertical;
}
.wpcf7-form input[type="submit"] {
  background-color: var(--db-gold);
  color: var(--db-black);
  font-family: 'DM Sans', sans-serif;
  font-weight: 500;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: none;
  border-radius: 2px;
  padding: 0.75rem 2rem;
  cursor: pointer;
  margin-top: 0.5rem;
}
.wpcf7-form input[type="submit"]:hover {
  background-color: var(--db-cream);
  color: var(--db-black);
}

/* ── Homepage ── */

.db-hero {
  min-height: 520px;
  align-items: stretch !important;
}
.db-hero-text {
  padding: 5rem 3rem 4rem !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.25rem;
}
.db-hero-text h1 {
  font-size: 3.2rem !important;
  line-height: 1.1 !important;
}
.db-hero-text h1 em {
  font-style: italic;
  color: var(--db-gold);
}
.db-hero-sub {
  color: rgba(240,230,204,0.7) !important;
  max-width: 400px;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}
.db-hero-image {
  background-color: var(--db-brown) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem !important;
}
.db-vinyl-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.db-vinyl-svg {
  width: 280px;
  height: 280px;
  animation: db-spin 12s linear infinite;
}
@keyframes db-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.db-eyebrow {
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--db-gold) !important;
  margin-bottom: 0 !important;
}
.db-divider {
  border-color: rgba(201,151,58,0.15) !important;
  margin: 0 !important;
}
.db-mixes-section {
  padding: 4rem 3rem !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.db-section-header {
  margin-bottom: 2rem !important;
}
.db-section-header h2 {
  font-size: 2rem !important;
  margin-top: 0.25rem !important;
}
.db-mix-list {
  display: flex;
  flex-direction: column;
}
.db-mix-row {
  display: grid;
  grid-template-columns: 2rem 1fr auto auto;
  align-items: center;
  gap: 1.5rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(201,151,58,0.1);
}
.db-mix-num {
  font-size: 0.75rem;
  color: rgba(201,151,58,0.4);
  font-weight: 500;
  text-align: right;
}
.db-mix-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.db-mix-title {
  font-family: 'DM Serif Display', serif;
  font-size: 1.05rem;
  color: var(--db-cream);
}
.db-mix-meta {
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(240,230,204,0.4);
}
.db-mix-duration {
  font-size: 0.8rem;
  color: rgba(240,230,204,0.4);
}
.db-mix-dl {
  font-size: 0.7rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--db-gold) !important;
  border: 1px solid rgba(201,151,58,0.3) !important;
  padding: 0.35rem 0.85rem !important;
  border-radius: 2px !important;
  text-decoration: none !important;
}
.db-mix-dl:hover {
  background: rgba(201,151,58,0.1) !important;
  color: var(--db-gold) !important;
}
.db-see-all a {
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--db-gold) !important;
}
.db-about-section {
  border-top: 1px solid rgba(201,151,58,0.15) !important;
  align-items: stretch !important;
}
.db-about-image {
  background-color: var(--db-brown) !important;
  min-height: 320px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.db-photo-placeholder {
  width: 160px;
  height: 200px;
  border: 1px solid rgba(201,151,58,0.2);
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(201,151,58,0.3);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.db-about-text {
  padding: 4rem 3rem !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.25rem;
}
.db-about-text h2 {
  font-size: 2rem !important;
  line-height: 1.2 !important;
}
.db-about-body {
  color: rgba(240,230,204,0.75) !important;
  line-height: 1.8 !important;
}

/* ── Hide page title on home page ── */
.home .entry-hero,
.home .page-hero-section,
.home .entry-header {
  display: none !important;
}

/* ── Hero max-width container ── */
.db-hero .wp-block-columns {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}
.db-hero .wp-block-column {
  flex-basis: 50% !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
}
.db-hero-text {
  padding-left: min(15vw, 14rem) !important;
  padding-right: 3rem !important;
}
.db-hero-image {
  padding-left: 3rem !important;
  padding-right: min(15vw, 14rem) !important;
}

/* ── Hero spacing fix ── */
.home .site-main,
.home .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.db-hero.wp-block-group,
.db-hero .wp-block-columns,
.wp-block-columns.db-hero {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.db-hero-text {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

/* ── Vinyl centering ── */
.db-hero-image,
.db-hero-image.wp-block-column {
  background-color: var(--db-brown) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 400px !important;
  padding: 2rem !important;
}
.db-hero-image > *,
.db-hero-image .wp-block-html {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}
.db-vinyl-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}
.db-vinyl-svg {
  width: 300px !important;
  height: 300px !important;
  display: block !important;
  margin: 0 auto !important;
  flex-shrink: 0 !important;
}

/* ── Full width layout ── */
.content-container,
.kadence-content-wrap,
.page-layout-sidebar-right .content-container,
.page-layout-sidebar-left .content-container {
  max-width: 100% !important;
}
.secondary-sidebar,
.kadence-sidebar-wrap {
  display: none !important;
}
