/*
 Theme Name:   KatchingStacks Child
 Theme URI:    https://katchingstacks.com
 Description:  KatchingStacks child theme for Kadence
 Author:       KatchingStacks
 Template:     kadence
 Version:      1.0.0
 Text Domain:  katchingstacks-child
*/

:root {
  --ks-paper: #F4EEE2;
  --ks-paper-2: #EFE7D6;
  --ks-ink: #1A1613;
  --ks-ink-2: #3A342C;
  --ks-muted: #7A7164;
  --ks-rule: #1A1613;
  --ks-rule-soft: #C9BEA8;
  --ks-accent: #8B1E2D;
  --ks-accent-ink: #F4EEE2;
  --ks-positive: #2D5A3D;
  --ks-f-display: 'Newsreader', 'Times New Roman', serif;
  --ks-f-body: 'Geist', -apple-system, sans-serif;
  --ks-f-mono: 'JetBrains Mono', ui-monospace, monospace;
  --ks-container: 1240px;
  --ks-gutter: 32px;
  --ks-section-pad: 72px;
}

.palette-forest{--ks-paper:#F1EDE4;--ks-paper-2:#E6E1D3;--ks-ink:#18201C;--ks-ink-2:#344038;--ks-muted:#7A7A6E;--ks-rule:#18201C;--ks-rule-soft:#C5C0AF;--ks-accent:#1F5A3A;--ks-accent-ink:#F1EDE4;--ks-positive:#8B1E2D}
.palette-navy{--ks-paper:#F2EDE3;--ks-paper-2:#EAE3D4;--ks-ink:#131C2B;--ks-ink-2:#2A3648;--ks-muted:#6E7688;--ks-rule:#131C2B;--ks-rule-soft:#C2C0BC;--ks-accent:#C2410C;--ks-accent-ink:#F2EDE3;--ks-positive:#1F5A3A}
.palette-mono{--ks-paper:#F6F4EF;--ks-paper-2:#ECE9E1;--ks-ink:#0E0E0E;--ks-ink-2:#2A2A2A;--ks-muted:#7A7672;--ks-rule:#0E0E0E;--ks-rule-soft:#C9C5BE;--ks-accent:#0E0E0E;--ks-accent-ink:#F6F4EF;--ks-positive:#2D5A3D}
.palette-dusk{--ks-paper:#1E1A22;--ks-paper-2:#2A2430;--ks-ink:#F0EAD6;--ks-ink-2:#CEC7B2;--ks-muted:#8A8498;--ks-rule:#F0EAD6;--ks-rule-soft:#4A4555;--ks-accent:#E8A547;--ks-accent-ink:#1E1A22;--ks-positive:#8CCF9C}

*,*::before,*::after{box-sizing:border-box}
body{background-color:var(--ks-paper);color:var(--ks-ink);font-family:var(--ks-f-body);font-size:17px;line-height:1.65}
a{color:var(--ks-ink);text-decoration:none}
a:hover{color:var(--ks-accent)}
h1,h2,h3,h4,h5,h6{font-family:var(--ks-f-display);color:var(--ks-ink);line-height:1.15;font-weight:400}
h1{font-size:clamp(36px,5.5vw,72px);letter-spacing:-0.02em}
h2{font-size:clamp(26px,3.5vw,42px);letter-spacing:-0.01em}
h3{font-size:clamp(20px,2.5vw,28px)}
h4{font-size:20px;font-weight:500}
h5{font-size:12px;font-family:var(--ks-f-mono);text-transform:uppercase;letter-spacing:0.14em;color:var(--ks-muted)}
h1 em,h2 em,h3 em{font-style:italic;color:var(--ks-accent)}
p{color:var(--ks-ink-2);margin:0 0 1.2em}
blockquote{font-family:var(--ks-f-display);font-style:italic;font-size:clamp(18px,2vw,24px);line-height:1.5;border-left:3px solid var(--ks-accent);padding:12px 0 12px 24px;margin:32px 0;color:var(--ks-ink)}

.site,.entry-content,.wp-site-blocks{background:var(--ks-paper)!important}
.site-header,.main-navigation{background:var(--ks-paper)!important;border-bottom:1.5px solid var(--ks-rule)!important}
.main-navigation a{font-family:var(--ks-f-mono)!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:0.14em!important;color:var(--ks-muted)!important}
.main-navigation a:hover,.main-navigation .current-menu-item>a{color:var(--ks-ink)!important}
.site-footer{background:var(--ks-paper-2)!important;border-top:1.5px solid var(--ks-rule)!important}

.wp-block-button.is-style-ks-accent .wp-block-button__link{background:var(--ks-accent)!important;color:var(--ks-accent-ink)!important;border:1.5px solid var(--ks-accent)!important;font-family:var(--ks-f-mono)!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:0.14em!important;padding:12px 22px!important;border-radius:0!important}
.wp-block-button.is-style-ks-accent .wp-block-button__link:hover{background:var(--ks-ink)!important;border-color:var(--ks-ink)!important}
.wp-block-button.is-style-ks-ghost .wp-block-button__link{background:transparent!important;color:var(--ks-ink)!important;border:1.5px solid var(--ks-ink)!important;font-family:var(--ks-f-mono)!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:0.14em!important;padding:12px 22px!important;border-radius:0!important}
.wp-block-button.is-style-ks-ghost .wp-block-button__link:hover{background:var(--ks-ink)!important;color:var(--ks-paper)!important}
.wp-block-button.is-style-ks-inverted .wp-block-button__link{background:var(--ks-accent)!important;color:var(--ks-accent-ink)!important;border:1px solid var(--ks-accent)!important;font-family:var(--ks-f-mono)!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:0.12em!important;padding:7px 14px!important;border-radius:0!important}

.ks-index-strip{background:var(--ks-ink);padding:var(--ks-section-pad) 0;color:var(--ks-paper)}
.ks-index-strip .ks-section-head{border-bottom-color:rgba(255,255,255,.15)}
.ks-index-strip .ks-section-head h2{color:var(--ks-paper)}
.ks-picks-table{width:100%;border-collapse:collapse;color:var(--ks-paper);font-size:15px}
.ks-picks-table thead tr{border-bottom:1px solid rgba(255,255,255,.15)}
.ks-picks-table th{font-family:var(--ks-f-mono);font-size:10px;text-transform:uppercase;letter-spacing:0.14em;color:rgba(255,255,255,.45);padding:0 16px 14px 0;text-align:left;font-weight:400}
.ks-picks-table tbody tr{border-bottom:1px solid rgba(255,255,255,.08)}
.ks-picks-table td{padding:18px 16px 18px 0;vertical-align:top}
.ks-picks-table .rank{font-family:var(--ks-f-display);font-style:italic;font-size:22px;color:rgba(255,255,255,.35);width:60px}
.ks-picks-table .name{font-family:var(--ks-f-display);font-weight:500;font-size:18px}
.ks-picks-table .name .tag{display:block;font-family:var(--ks-f-mono);font-size:10px;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,.4);font-style:normal;font-weight:400;margin-top:3px}
.ks-go-btn{font-family:var(--ks-f-mono);font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:var(--ks-accent);border:1px solid var(--ks-accent);padding:7px 14px;white-space:nowrap;display:inline-block;transition:background .15s,color .15s}
.ks-go-btn:hover{background:var(--ks-accent);color:var(--ks-accent-ink)}
.ks-disclosure{font-family:var(--ks-f-mono);font-size:10px;letter-spacing:0.1em;color:rgba(255,255,255,.3);margin-top:20px}

.ks-scorecard{background:var(--ks-paper-2);border:1px solid var(--ks-rule-soft);padding:32px;margin:40px 0}
.ks-scorecard-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px}
.ks-score{font-family:var(--ks-f-display);font-size:64px;font-weight:700;letter-spacing:-0.03em;color:var(--ks-ink);line-height:1}
.ks-score small{font-size:22px;color:var(--ks-muted);font-weight:300}
.ks-scorecard-row{display:grid;grid-template-columns:90px 1fr 40px;align-items:center;gap:16px;margin-bottom:14px}
.ks-scorecard-row .label{font-family:var(--ks-f-mono);font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:var(--ks-muted)}
.ks-bar{height:6px;background:var(--ks-rule-soft);border-radius:0}
.ks-bar-fill{height:100%;background:var(--ks-accent);transition:width .6s ease}
.ks-scorecard-row .val{font-family:var(--ks-f-mono);font-size:12px;color:var(--ks-ink);text-align:right}

.ks-pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ks-rule-soft);margin:40px 0}
.ks-pros{padding:28px;border-right:1px solid var(--ks-rule-soft)}
.ks-cons{padding:28px}
.ks-pros h4{color:var(--ks-positive);margin-bottom:16px}
.ks-cons h4{color:var(--ks-accent);margin-bottom:16px}
.ks-pros ul,.ks-cons ul{list-style:none;padding:0;margin:0}
.ks-pros ul li,.ks-cons ul li{font-size:14px;color:var(--ks-ink-2);padding:7px 0;border-bottom:1px solid var(--ks-rule-soft);display:flex;gap:10px;align-items:flex-start}
.ks-pros ul li:last-child,.ks-cons ul li:last-child{border-bottom:0}
.ks-pros ul li::before{content:"+";color:var(--ks-positive);font-family:var(--ks-f-mono);font-size:13px;flex-shrink:0;margin-top:1px}
.ks-cons ul li::before{content:"-";color:var(--ks-accent);font-family:var(--ks-f-mono);font-size:13px;flex-shrink:0;margin-top:1px}

.ks-cta-card{background:var(--ks-ink);color:var(--ks-paper);padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:32px;margin:40px 0;flex-wrap:wrap}
.ks-cta-card h4{color:var(--ks-paper);margin-bottom:6px}
.ks-cta-card p{color:rgba(255,255,255,.6);margin:0;font-size:14px}

.ks-newsletter{background:var(--ks-paper-2);border-top:1.5px solid var(--ks-rule);border-bottom:1.5px solid var(--ks-rule);padding:var(--ks-section-pad) 0}
.ks-newsletter-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ks-form{display:flex;gap:0}
.ks-form input[type="email"]{flex:1;background:var(--ks-paper);border:1.5px solid var(--ks-rule);border-right:0;padding:13px 16px;font-family:var(--ks-f-body);font-size:15px;color:var(--ks-ink);outline:none}
.ks-form input[type="email"]::placeholder{color:var(--ks-muted)}
.ks-form input[type="email"]:focus{border-color:var(--ks-accent)}
.ks-form button{background:var(--ks-ink);color:var(--ks-paper);border:1.5px solid var(--ks-ink);padding:13px 22px;font-family:var(--ks-f-mono);font-size:12px;text-transform:uppercase;letter-spacing:0.14em;cursor:pointer;transition:background .15s}
.ks-form button:hover{background:var(--ks-accent);border-color:var(--ks-accent)}
.ks-fine-print{font-family:var(--ks-f-mono);font-size:10px;letter-spacing:0.1em;color:var(--ks-muted);margin-top:12px}

.ks-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.ks-footer-mark{font-family:var(--ks-f-display);font-size:26px;font-weight:700;color:var(--ks-ink);margin-bottom:12px}
.ks-footer-mark span{color:var(--ks-accent);font-style:italic}
.ks-footer-legal{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--ks-rule-soft);font-family:var(--ks-f-mono);font-size:10px;text-transform:uppercase;letter-spacing:0.1em;color:var(--ks-muted);flex-wrap:wrap;gap:12px}

@media(max-width:900px){
  :root{--ks-section-pad:40px;--ks-gutter:20px}
  .ks-hero-grid,.ks-newsletter-inner,.ks-about-hero-grid,.ks-methodology-grid{grid-template-columns:1fr;gap:32px}
  .ks-story-grid{grid-template-columns:1fr;gap:0}
  .ks-story-divider{display:none}
  .ks-article-body{grid-template-columns:1fr;gap:0}
  .ks-sidebar-left{display:none}
  .ks-sidebar-right{margin-top:40px}
  .ks-learn-grid{grid-template-columns:1fr}
  .ks-footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .ks-masthead-main{grid-template-columns:1fr;text-align:center;gap:6px}
  .ks-pros-cons{grid-template-columns:1fr}
  .ks-pros{border-right:0;border-bottom:1px solid var(--ks-rule-soft)}
  .ks-cta-card{flex-direction:column;align-items:flex-start}
}
@media(max-width:600px){
  .ks-footer-grid{grid-template-columns:1fr}
}

/* ── Override Kadence body background to match KatchingStacks design ── */
:root {
  --global-palette8: #F4EEE2;
}
body {
  background-color: var(--ks-paper) !important;
}
