/* ================================================================
   DAV WORKROOM — additional-styles.css  v4.0
   This file must exist at assets/css/additional-styles.css
   Core component styles loaded by functions.php
   ================================================================ */

/* ── Hero background ─────────────────────────────────────── */
.hero, .hero-shell {
  background:
    linear-gradient(90deg, rgba(3,8,16,.92) 0%, rgba(5,14,26,.82) 36%, rgba(5,14,26,.44) 68%, rgba(5,14,26,.18) 100%),
    url('https://davstrains.com/wp-content/uploads/2026/05/hero.jpg') center / cover no-repeat !important;
}

/* ── PMPro page heroes ───────────────────────────────────── */
.pmpro-account .entry-hero,
.pmpro-levels  .entry-hero,
.pmpro-checkout .entry-hero,
.page .entry-hero {
  position: relative !important; isolation: isolate !important;
  min-height: 330px !important;
  background:
    linear-gradient(90deg, rgba(3,8,18,.28) 0%, rgba(3,8,18,.06) 100%),
    url('https://davstrains.com/wp-content/uploads/2026/05/hero.jpg') center 54% / cover no-repeat !important;
}
.pmpro-account .entry-hero h1,
.pmpro-levels  .entry-hero h1,
.pmpro-checkout .entry-hero h1 {
  color: #fff !important;
  text-shadow: 0 8px 28px rgba(0,0,0,.45) !important;
  font-size: clamp(48px,7vw,92px) !important;
}

/* ── PMPro upgrade button ────────────────────────────────── */
.pmpro_account-membership a[href*="levels"]:not(.btn) {
  display: inline-flex !important; align-items: center !important;
  justify-content: center !important; min-height: 48px !important;
  padding: 12px 22px !important; border-radius: 999px !important;
  background: linear-gradient(135deg, #f0c46c, #fff0c9) !important;
  color: #0c1422 !important; font-weight: 950 !important;
  font-size: 0 !important;
  border: 1px solid rgba(240,196,108,.65) !important;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(240,196,108,.18) !important;
}
.pmpro_account-membership a[href*="levels"]:not(.btn)::before {
  content: "⬆ Upgrade membership"; font-size: 15px !important;
}

/* ── WooCommerce checkout ────────────────────────────────── */
.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-product-price { display: none !important; }
.woocommerce-checkout .wc-block-components-order-summary { color: #111827 !important; }

/* ── WooCommerce: remove sidebar on store pages ─────────── */
.woocommerce .widget-area,
.woocommerce-page .widget-area { display: none !important; }
.woocommerce .content-area,
.woocommerce-page .content-area,
.woocommerce main,
.woocommerce-page main { width: 100% !important; max-width: 100% !important; }

/* ── PMPro table: hide default when custom cards shown ───── */
.pmpro_levels_table, .pmpro_table { display: none !important; }

/* ── Books upgrade section ───────────────────────────────── */
.books-upgrade-section { background: linear-gradient(180deg,#fff8ed,#f5efe5) !important; }
.books-upgrade-card {
  text-align: center; max-width: 760px; margin: 0 auto; padding: 52px 36px;
  border-radius: 32px; background: linear-gradient(160deg,#fff,#faf3e2);
  border: 1px solid rgba(210,160,59,.20); box-shadow: 0 22px 70px rgba(8,21,39,.09);
}

/* ── Gate card ───────────────────────────────────────────── */
.gate-card {
  text-align: center; padding: 36px; border-radius: 26px;
  background: linear-gradient(180deg,#fff,#faf4e8);
  border: 1px solid rgba(210,160,59,.22); box-shadow: 0 18px 55px rgba(8,21,39,.08);
}
.gate-icon { font-size: 40px; display: block; margin-bottom: 14px; }
.gate-card h3 { font-size: 26px; margin-bottom: 10px; color: #111827; }
.gate-card p  { color: #4d5b6a; font-size: 16px; line-height: 1.72; max-width: 480px; margin: 0 auto 22px; }
.btn.dark { background: #071524; color: #fff; border-color: #071524; }

/* ── Reader panel always visible ────────────────────────── */
.reader-panel.reveal,
article.reader-panel { opacity: 1 !important; transform: none !important; }

/* ── Font rendering ──────────────────────────────────────── */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
h1, h2, h3, h4 { -webkit-font-smoothing: antialiased; }

/* =====================================================
   DAV SHARE BUTTONS
===================================================== */

.dav-share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(232,190,100,.45);
  background: rgba(255,255,255,.06);
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.dav-share-btn:hover {
  transform: translateY(-1px);
  background: rgba(232,190,100,.15);
  border-color: rgba(232,190,100,.9);
}

.dav-share-btn.is-copied {
  background: rgba(34,197,94,.18);
  border-color: rgba(34,197,94,.75);
  color: #ffffff;
}

@media (max-width: 700px) {
  .dav-share-btn {
    min-height: 40px;
    padding: 0 14px;
    font-size: 12px;
  }
}

/* =====================================================
   DAV MUSIC PAGE — MOOD-FIRST REPAIR
   Hide visible song catalogue on music/home sections.
   Songs remain available in store and hidden player data.
===================================================== */

body:not(.dav-is-store) #musicGrid,
body:not(.dav-is-store) #genreFilter,
body:not(.dav-is-store) .music-grid,
body:not(.dav-is-store) .track-vault,
body:not(.dav-is-store) #trackGrid {
  display: none !important;
}

.dav-mood-room {
  background: linear-gradient(180deg, #071524, #050810) !important;
}

.dav-mood-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 auto 34px;
}

.dav-mood-block {
  max-width: 980px;
  margin: 0 auto 34px;
  padding: 24px;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.045);
  box-shadow: 0 18px 55px rgba(0,0,0,.22);
}

.dav-mood-block h3 {
  margin: 0 0 6px;
  color: #ffffff;
  font-size: clamp(22px, 3vw, 32px);
  letter-spacing: -0.03em;
}

.dav-mood-block p {
  margin: 0 0 18px;
  color: rgba(245,248,255,.68);
  font-size: 14px;
  line-height: 1.6;
}

.dav-mood-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.dav-mood-card {
  min-height: 96px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.07);
  color: #ffffff;
  padding: 14px;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.dav-mood-card:hover,
.dav-mood-card.is-active {
  transform: translateY(-2px);
  border-color: rgba(240,196,108,.55);
  background: rgba(240,196,108,.12);
}

.dav-mood-card span {
  display: block;
  font-size: 22px;
  margin-bottom: 8px;
}

.dav-mood-card strong {
  display: block;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 900;
}

.dav-mood-card small {
  display: block;
  margin-top: 5px;
  color: rgba(245,248,255,.58);
  font-size: 11px;
  line-height: 1.3;
}

@media (max-width: 720px) {
  .dav-mood-block {
    padding: 18px;
    border-radius: 22px;
  }

  .dav-mood-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .dav-mood-card {
    min-height: 88px;
    padding: 12px;
  }
}
