/*
Theme Name: The Unfiltered Mind
Theme URI: https://unfilteredmind.co.za
Author: The Unfiltered Mind
Description: Premium behavioral analysis and media intelligence WordPress theme.
Version: 1.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: the-unfiltered-mind
*/

:root{
  --bg:#05070d; --bg2:#0a101b; --panel:#121b2b; --panel2:#19253a;
  --text:#f5f7fb; --muted:#aeb8c9; --gold:#f6c75a; --blue:#39bdf8;
  --line:rgba(255,255,255,.12); --line-gold:rgba(246,199,90,.30);
  --shadow:0 24px 80px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at top left,rgba(57,189,248,.14),transparent 28%),radial-gradient(circle at bottom right,rgba(246,199,90,.12),transparent 32%),linear-gradient(180deg,var(--bg),var(--bg2));color:var(--text)}
a{color:inherit;text-decoration:none}.tum-wrap{width:min(1180px,calc(100% - 32px));margin:auto}
.tum-site-header{border-bottom:1px solid var(--line);background:rgba(5,7,13,.92);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50}
.tum-nav{display:flex;justify-content:flex-start;align-items:center;padding:14px 0;gap:24px}
.tum-logo-area{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;margin-right:auto;min-width:0}
.tum-logo-area .custom-logo-link{display:flex;align-items:center;justify-content:flex-start;line-height:0}
.tum-logo-area img,.tum-logo-area .custom-logo{max-height:72px;width:auto;max-width:280px;display:block;object-fit:contain;object-position:left center}
.tum-logo-text{font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-size:20px;white-space:nowrap}
.tum-menu{display:flex;align-items:center;justify-content:flex-end;margin-left:auto}.tum-menu-list{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:0;padding:0;align-items:center;justify-content:flex-end}
.tum-menu-list li{margin:0;padding:0}.tum-menu-list a{display:inline-flex;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:14px;color:var(--text);transition:.18s ease}.tum-menu-list a:hover{border-color:var(--line-gold);background:rgba(246,199,90,.09);color:var(--gold)}
.hero{padding:90px 0 42px}.hero-panel,.content-panel{background:linear-gradient(135deg,rgba(18,27,43,.95),rgba(10,14,24,.95));border:1px solid var(--line);border-radius:30px;padding:40px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero-panel:after{content:"";position:absolute;right:-120px;top:-120px;width:320px;height:320px;background:radial-gradient(circle,rgba(246,199,90,.16),transparent 68%);pointer-events:none}
.kicker,.mini-label{display:inline-block;padding:7px 12px;border-radius:999px;background:rgba(57,189,248,.12);border:1px solid rgba(57,189,248,.28);color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.mini-label{background:rgba(246,199,90,.10);border-color:rgba(246,199,90,.28);color:var(--gold)}
h1{font-size:clamp(42px,7vw,84px);line-height:.94;margin:18px 0;letter-spacing:-.06em}h2{font-size:34px;margin:16px 0;letter-spacing:-.03em}.gold{color:var(--gold)}.lead{color:var(--muted);font-size:18px;line-height:1.7;max-width:850px}.section{padding:0 0 32px}
.grid,.post-grid,.model-grid,.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card,.post-card,.model-card,.price-card{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:24px;padding:24px;transition:.18s ease}.card:hover,.post-card:hover,.model-card:hover,.price-card:hover{transform:translateY(-2px);border-color:var(--line-gold);background:rgba(255,255,255,.06)}.card h3,.post-card h3,.model-card h3,.price-card h3{margin-top:0;color:var(--gold)}
.muted{color:var(--muted);line-height:1.6}.btn,.read-more{display:inline-block;margin-top:16px;background:var(--gold);color:#111;padding:12px 18px;border-radius:14px;font-weight:900;border:1px solid transparent}.btn.secondary,.read-more{background:rgba(255,255,255,.07);color:var(--gold);border-color:var(--line-gold)}.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}.button-row{display:flex;gap:12px;flex-wrap:wrap}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}
.page-wrap{padding:48px 0}.entry-content{color:#d9e2f0;line-height:1.75;font-size:17px}.entry-content p{margin-bottom:1.25em}.entry-meta{margin-bottom:24px}.category-strip{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.category-strip a{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:14px}.pagination{margin-top:28px}.price{font-size:32px;font-weight:900;color:var(--gold);margin:8px 0}.featured{border-color:var(--line-gold);box-shadow:0 0 40px rgba(246,199,90,.08)}.video-placeholder{border:1px dashed var(--line-gold);border-radius:24px;padding:30px;background:rgba(246,199,90,.05)}
footer{border-top:1px solid var(--line);margin-top:40px;padding:28px 0;color:var(--muted);text-align:center}
@media(max-width:900px){.grid,.post-grid,.model-grid,.pricing-grid{grid-template-columns:1fr}.tum-nav{flex-direction:column;align-items:flex-start}.tum-logo-area{margin-right:0}.tum-menu{margin-left:0;justify-content:flex-start}.tum-menu-list{justify-content:flex-start}.tum-logo-area img,.tum-logo-area .custom-logo{max-height:64px;max-width:240px}.hero{padding-top:48px}.hero-panel,.content-panel{padding:26px}.section-head{flex-direction:column;align-items:flex-start}}


/* Behavioral Models V4.2 */
.behavioral-models-page .models-hero-panel {
  margin-bottom: 32px;
}

.models-intro-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 28px;
}

.models-intro-grid article {
  background: rgba(255,255,255,.045);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 22px;
}

.models-intro-grid h3 {
  color: var(--gold);
  margin-top: 0;
}

.models-section {
  margin-bottom: 34px;
}

.models-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.models-section-head h2 {
  margin-bottom: 0;
}

.model-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.model-grid-featured {
  grid-template-columns: repeat(2, 1fr);
}

.model-card {
  background: linear-gradient(135deg, rgba(18,27,43,.95), rgba(10,14,24,.94));
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: 24px;
  box-shadow: 0 18px 50px rgba(0,0,0,.24);
  transition: .18s ease;
}

.model-card:hover {
  transform: translateY(-3px);
  border-color: var(--line-gold);
  background: linear-gradient(135deg, rgba(24,36,56,.95), rgba(10,14,24,.96));
}

.model-card h3 {
  color: var(--gold);
  font-size: 28px;
  margin: 14px 0 4px;
}

.model-card h4 {
  color: #f2f5fa;
  margin: 0 0 14px;
  font-size: 16px;
}

.featured-model {
  border-color: rgba(246,199,90,.24);
}

.model-basic {
  margin-top: 16px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(246,199,90,.075);
  border: 1px solid rgba(246,199,90,.20);
}

.model-basic strong {
  color: var(--gold);
}

.model-basic p {
  color: var(--muted);
  line-height: 1.55;
  margin-bottom: 0;
}

.models-footer-panel {
  margin-top: 10px;
}

@media(max-width: 980px) {
  .model-grid,
  .model-grid-featured,
  .models-intro-grid {
    grid-template-columns: 1fr;
  }

  .models-section-head {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* The Unfiltered Mind Typography Fix V4.4 */
body {
  font-size: 16px;
}

.hero-panel h1,
.hero h1 {
  font-size: clamp(38px, 5.4vw, 72px);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.page-wrap .content-panel > h1,
.content-panel > h1 {
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  letter-spacing: -0.035em;
  margin-bottom: 18px;
}

.single .content-panel h1,
.article-panel h1 {
  font-size: clamp(34px, 4.6vw, 58px);
  line-height: 1.05;
  letter-spacing: -0.035em;
  max-width: 920px;
}

.archive .content-panel h1,
.category .content-panel h1,
.blog .content-panel h1 {
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.06;
  letter-spacing: -0.03em;
}

.content-panel h2,
.section h2,
.models-section-head h2 {
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.post-card h3,
.card h3,
.model-card h3,
.price-card h3 {
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.18;
  letter-spacing: -0.015em;
  margin-bottom: 10px;
}

.featured-model h3 {
  font-size: clamp(24px, 2.4vw, 32px);
}

.model-card h4,
.post-card h4,
.card h4 {
  font-size: 16px;
  line-height: 1.35;
  margin-bottom: 12px;
}

.entry-content h2 {
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.16;
  letter-spacing: -0.02em;
  margin-top: 34px;
}

.entry-content h3 {
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.2;
  margin-top: 28px;
  color: var(--gold);
}

.entry-content h4 {
  font-size: 20px;
  line-height: 1.25;
}

.entry-content,
.content-panel p,
.post-card p,
.card p,
.model-card p {
  font-size: 16.5px;
  line-height: 1.68;
}

.kicker,
.mini-label {
  font-size: 11px;
  line-height: 1;
}

.post-card {
  display: flex;
  flex-direction: column;
}

.post-card .read-more {
  margin-top: auto;
  align-self: flex-start;
}

@media(max-width: 900px) {
  .hero-panel h1,
  .hero h1 {
    font-size: clamp(34px, 9vw, 48px);
    line-height: 1;
  }

  .page-wrap .content-panel > h1,
  .content-panel > h1,
  .single .content-panel h1,
  .article-panel h1,
  .archive .content-panel h1,
  .category .content-panel h1,
  .blog .content-panel h1 {
    font-size: clamp(30px, 8vw, 42px);
    line-height: 1.06;
  }

  .content-panel h2,
  .section h2,
  .models-section-head h2 {
    font-size: clamp(24px, 6vw, 32px);
  }

  .post-card h3,
  .card h3,
  .model-card h3,
  .price-card h3 {
    font-size: 22px;
  }
}


/* The Unfiltered Mind Theme Polish V4.5 */

/* Slightly calmer page typography */
.page-wrap .content-panel > h1,
.content-panel > h1 {
  font-size: clamp(30px, 3.5vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
}

.single .content-panel h1,
.article-panel h1 {
  font-size: clamp(31px, 4vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
}

.archive .content-panel h1,
.category .content-panel h1,
.blog .content-panel h1 {
  font-size: clamp(30px, 3.7vw, 48px) !important;
  line-height: 1.08 !important;
}

.content-panel h2,
.section h2,
.models-section-head h2 {
  font-size: clamp(24px, 2.7vw, 34px) !important;
  line-height: 1.14 !important;
}

.post-card h3,
.card h3,
.model-card h3,
.price-card h3 {
  font-size: clamp(19px, 1.75vw, 24px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.01em !important;
}

.featured-model h3 {
  font-size: clamp(22px, 2.1vw, 28px) !important;
}

.entry-content,
.content-panel p,
.post-card p,
.card p,
.model-card p {
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* Date/category badges must only wrap their text, not stretch across cards */
.mini-label,
.kicker {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  align-self: flex-start !important;
  padding: 6px 10px !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.post-card .mini-label,
.model-card .mini-label,
.card .mini-label {
  margin-bottom: 12px !important;
}

/* Slightly smaller, neater buttons */
.btn,
.read-more,
button,
input[type="submit"] {
  padding: 10px 15px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
}

.read-more {
  margin-top: 14px !important;
}

/* More natural breathing room on content pages */
.page-wrap {
  padding: 42px 0 !important;
}

.content-panel {
  padding: clamp(26px, 4vw, 38px) !important;
}

.entry-content {
  max-width: 920px;
}

.article-panel .entry-content {
  max-width: 880px;
}

/* Article cards should not feel squeezed */
.post-card,
.card,
.model-card {
  padding: 22px !important;
}

/* Footer logo */
.tum-footer-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.tum-footer-logo {
  width: min(260px, 80vw);
  height: auto;
  display: block;
  opacity: 0.92;
  filter: drop-shadow(0 8px 22px rgba(0,0,0,.35));
}

.tum-footer-text {
  color: var(--muted);
  line-height: 1.55;
}

/* About page readability */
body.page-id-about .entry-content,
body.page .entry-content {
  color: #dbe4f1;
}

.entry-content blockquote {
  margin: 28px 0;
  padding: 20px 24px;
  border-left: 4px solid var(--gold);
  background: rgba(246,199,90,.07);
  border-radius: 0 18px 18px 0;
  color: #eef3fb;
}

.entry-content ul,
.entry-content ol {
  color: #dbe4f1;
  line-height: 1.7;
}

@media(max-width: 900px) {
  .page-wrap .content-panel > h1,
  .content-panel > h1,
  .single .content-panel h1,
  .article-panel h1,
  .archive .content-panel h1,
  .category .content-panel h1,
  .blog .content-panel h1 {
    font-size: clamp(28px, 7vw, 38px) !important;
  }

  .post-card h3,
  .card h3,
  .model-card h3,
  .price-card h3 {
    font-size: 20px !important;
  }

  .tum-footer-logo {
    width: min(220px, 82vw);
  }
}


/* TUM Structure & Security Polish V4.6 */
.tum-footer-logo{width:min(170px,58vw)!important;max-width:170px!important;opacity:.86!important}
.category-strip{display:none!important}
.archive-grid,.post-grid{margin-top:20px}
.tum-footer-inner{gap:10px!important}
.tum-footer-text{font-size:14px}
.btn,.read-more,button,input[type="submit"]{padding:9px 14px!important;border-radius:11px!important;font-size:13.5px!important}
.post-card h3,.card h3,.model-card h3,.price-card h3{font-size:clamp(18px,1.65vw,23px)!important;line-height:1.24!important}
.page-wrap .content-panel>h1,.content-panel>h1{font-size:clamp(29px,3.3vw,46px)!important;line-height:1.09!important}
.single .content-panel h1,.article-panel h1{font-size:clamp(30px,3.8vw,50px)!important;line-height:1.09!important}
.content-panel{padding:clamp(25px,3.8vw,36px)!important}
.mini-label,.kicker{display:inline-flex!important;width:auto!important;max-width:max-content!important;align-self:flex-start!important;padding:6px 10px!important;font-size:10.5px!important;line-height:1!important;white-space:nowrap!important}
.post-card .mini-label,.model-card .mini-label,.card .mini-label{margin-bottom:12px!important}
.tum-secure-notice{padding:18px 20px;border-radius:18px;background:rgba(246,199,90,.08);border:1px solid rgba(246,199,90,.28);color:#eef3fb;margin:20px 0}
.tum-secure-notice strong{color:var(--gold)}
@media(max-width:900px){.tum-footer-logo{width:min(145px,55vw)!important}.post-card h3,.card h3,.model-card h3{font-size:20px!important}}


/* The Unfiltered Mind Menu Dropdown Fix V4.7 */

.tum-site-header,
.tum-nav,
.tum-menu {
  overflow: visible !important;
}

.tum-site-header {
  z-index: 99999 !important;
}

.tum-nav {
  position: relative !important;
}

.tum-menu {
  position: relative !important;
  z-index: 1000 !important;
}

.tum-menu-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.tum-menu-list > li {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tum-menu-list > li > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 9px 13px !important;
  border-radius: 999px !important;
  border: 1px solid var(--line) !important;
  background: rgba(255,255,255,.04) !important;
  font-size: 13.5px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.tum-menu-list > li.menu-item-has-children > a::after {
  content: "▾";
  font-size: 10px;
  margin-left: 7px;
  opacity: .72;
}

.tum-menu-list .sub-menu {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 0 !important;
  width: 260px !important;
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 10px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, rgba(18,27,43,.98), rgba(8,12,20,.98)) !important;
  border: 1px solid rgba(246,199,90,.22) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.48) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(8px) !important;
  pointer-events: none !important;
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
  z-index: 9999 !important;
}

.tum-menu-list > li:hover > .sub-menu,
.tum-menu-list > li:focus-within > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

.tum-menu-list .sub-menu li {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.tum-menu-list .sub-menu a {
  display: block !important;
  width: 100% !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border: 0 !important;
  background: transparent !important;
  color: #e8edf6 !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  white-space: normal !important;
}

.tum-menu-list .sub-menu a:hover,
.tum-menu-list .sub-menu a:focus {
  background: rgba(246,199,90,.10) !important;
  color: var(--gold) !important;
}

.hero,
.hero-panel,
.content-panel {
  position: relative;
  z-index: 1;
}

@media (max-width: 980px) {
  .tum-nav {
    align-items: flex-start !important;
    gap: 14px !important;
  }

  .tum-menu {
    width: 100% !important;
    margin-left: 0 !important;
    justify-content: flex-start !important;
  }

  .tum-menu-list {
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }

  .tum-menu-list > li > a {
    font-size: 13px !important;
    padding: 9px 12px !important;
  }

  .tum-menu-list .sub-menu {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    min-width: 240px !important;
    margin-top: 8px !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    display: none !important;
    box-shadow: none !important;
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(246,199,90,.18) !important;
  }

  .tum-menu-list > li:hover > .sub-menu,
  .tum-menu-list > li:focus-within > .sub-menu {
    display: block !important;
  }
}

@media (max-width: 560px) {
  .tum-menu-list {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .tum-menu-list > li > a {
    width: 100% !important;
    justify-content: space-between !important;
  }

  .tum-menu-list .sub-menu {
    width: 100% !important;
  }
}


/* TUM Tools Access Lock V4.8 */
.model-card .read-more[href*="membership"],
.models-footer-panel .read-more[href*="membership"] {
  background: rgba(246,199,90,.14) !important;
  color: var(--gold) !important;
  border: 1px solid rgba(246,199,90,.32) !important;
}

.model-card .mini-label {
  max-width: max-content !important;
}
