/* ============================================================
   TidyUpQuick Child Theme — Main CSS
   Dark editorial design matching static site
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

/* ── VARIABLES ── */
:root {
  --tq-bg:      #0c0d0d;
  --tq-bg2:     #141516;
  --tq-bg3:     #1c1e1f;
  --tq-ink:     #e8e9e4;
  --tq-dim:     #7a7d75;
  --tq-accent:  #c8f135;
  --tq-line:    #2a2c2d;
  --tq-serif:   'Instrument Serif', Georgia, serif;
  --tq-sans:    'Inter', system-ui, sans-serif;
  --tq-mono:    'JetBrains Mono', monospace;
  --tq-r:       16px;
  --tq-shell:   min(1200px, 100% - 48px);
}

/* ── RESET BASE ── */
html { color-scheme: dark; }

body {
  background: var(--tq-bg) !important;
  color: var(--tq-ink) !important;
  font-family: var(--tq-sans) !important;
  -webkit-font-smoothing: antialiased;
}

* { box-sizing: border-box; }

::selection { background: var(--tq-accent); color: #0c0d0d; }

::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--tq-bg); }
::-webkit-scrollbar-thumb { background: var(--tq-line); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--tq-accent); }

/* ── LINKS ── */
a { color: var(--tq-ink) !important; text-decoration: none !important; }
a:hover { color: var(--tq-accent) !important; }

/* ── HEADINGS ── */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--tq-serif) !important;
  color: var(--tq-ink) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
}
em, i { font-style: italic; color: var(--tq-accent); }

/* ── HEADER ── */
.ct-header,
#header,
.site-header {
  background: rgba(12,13,13,.96) !important;
  border-bottom: 1px solid var(--tq-line) !important;
  backdrop-filter: blur(16px) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

.ct-menu > li > a,
.main-navigation a {
  color: var(--tq-dim) !important;
  font-family: var(--tq-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: color .2s !important;
}
.ct-menu > li > a:hover,
.ct-menu > li.current-menu-item > a,
.main-navigation a:hover {
  color: var(--tq-ink) !important;
}

/* CTA button in nav */
.ct-header .wp-block-button__link,
.header-button a {
  background: var(--tq-accent) !important;
  color: #0c0d0d !important;
  font-family: var(--tq-mono) !important;
  font-size: 12px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  border-radius: 999px !important;
  padding: 10px 20px !important;
  border: none !important;
}

/* ── MAIN / CONTENT ── */
.site-content,
#content,
main,
.ct-container {
  background: var(--tq-bg) !important;
}

/* ── BREADCRUMBS ── */
.rank-math-breadcrumb,
.breadcrumbs,
.ct-breadcrumbs {
  background: var(--tq-bg) !important;
  padding: 14px 0 !important;
  font-family: var(--tq-mono) !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}
.rank-math-breadcrumb a,
.breadcrumbs a {
  color: var(--tq-dim) !important;
}
.rank-math-breadcrumb a:hover { color: var(--tq-ink) !important; }
.rank-math-breadcrumb .separator { color: var(--tq-line) !important; margin: 0 6px; }

/* ── SINGLE REVIEW PAGE ── */
.single-review .entry-header,
.single .entry-header {
  background: var(--tq-bg) !important;
  padding: 48px 0 32px !important;
  border-bottom: 1px solid var(--tq-line) !important;
  margin-bottom: 0 !important;
}

.entry-title {
  font-family: var(--tq-serif) !important;
  font-size: clamp(2rem, 5vw, 3.6rem) !important;
  color: var(--tq-ink) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  margin-bottom: 20px !important;
}

.entry-meta,
.posted-on,
.byline,
.author,
.reading-time {
  font-family: var(--tq-mono) !important;
  font-size: 12px !important;
  color: var(--tq-dim) !important;
  letter-spacing: .08em !important;
}
.entry-meta a { color: var(--tq-dim) !important; }

/* ── FEATURED IMAGE ── */
.post-thumbnail img,
.wp-post-image,
.entry-content img {
  border-radius: var(--tq-r) !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 28px 0 !important;
}

/* ── ENTRY CONTENT ── */
.entry-content {
  color: var(--tq-ink) !important;
  font-family: var(--tq-sans) !important;
  font-size: 17px !important;
  line-height: 1.85 !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  padding: 48px 24px !important;
  background: var(--tq-bg) !important;
}

.entry-content p { color: var(--tq-ink) !important; margin-bottom: 1.5em !important; }
.entry-content strong { color: var(--tq-ink) !important; font-weight: 600 !important; }
.entry-content ul, .entry-content ol { color: var(--tq-ink) !important; padding-left: 1.4em !important; }
.entry-content li { margin-bottom: .7em !important; }

.entry-content h2,
.entry-content h3,
.entry-content h4 {
  font-family: var(--tq-serif) !important;
  color: var(--tq-ink) !important;
  margin-top: 48px !important;
  padding-top: 32px !important;
  border-top: 1px solid var(--tq-line) !important;
}

/* ── TABLE OF CONTENTS ── */
.ez-toc-v2_0_83,
#ez-toc-container,
.table-of-contents {
  background: var(--tq-bg2) !important;
  border: 1px solid var(--tq-line) !important;
  border-radius: var(--tq-r) !important;
  padding: 24px 28px !important;
  margin: 32px 0 !important;
}
.ez-toc-title {
  color: var(--tq-ink) !important;
  font-family: var(--tq-mono) !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
.ez-toc-list li { margin-bottom: 8px !important; }
.ez-toc-list a {
  color: var(--tq-dim) !important;
  font-size: 14px !important;
  transition: color .2s !important;
}
.ez-toc-list a:hover { color: var(--tq-accent) !important; }

/* ── DISCLOSURE BOX ── */
p[style*="border-left"],
div[style*="border-left: 4px solid #ff9900"] {
  background: var(--tq-bg2) !important;
  border-left: 4px solid var(--tq-accent) !important;
  border-radius: 0 var(--tq-r) var(--tq-r) 0 !important;
  color: var(--tq-dim) !important;
  font-family: var(--tq-mono) !important;
  font-size: 12px !important;
  padding: 16px 20px !important;
}

/* ── BLOCKQUOTE ── */
blockquote {
  background: var(--tq-bg2) !important;
  border-left: 4px solid var(--tq-accent) !important;
  border-radius: 0 var(--tq-r) var(--tq-r) 0 !important;
  padding: 20px 24px !important;
  color: var(--tq-dim) !important;
  font-style: italic !important;
  margin: 28px 0 !important;
}

/* ── AFFILIATE / AMAZON LINKS ── */
.entry-content a[href*="amazon"] {
  color: var(--tq-accent) !important;
  border-bottom: 1px solid rgba(200,241,53,.3) !important;
}

/* ── ARCHIVE / BLOG GRID ── */
.ct-blog-card,
.ct-post-card,
article.post,
article.review {
  background: var(--tq-bg2) !important;
  border: 1px solid var(--tq-line) !important;
  border-radius: var(--tq-r) !important;
  overflow: hidden !important;
  transition: border-color .25s, transform .25s !important;
}
.ct-blog-card:hover,
article.post:hover,
article.review:hover {
  border-color: var(--tq-accent) !important;
  transform: translateY(-3px) !important;
}

.ct-blog-card .entry-title,
.ct-post-card .entry-title {
  font-size: 1.1rem !important;
  line-height: 1.3 !important;
}

/* ── PAGINATION ── */
.ct-pagination a,
.page-numbers {
  background: var(--tq-bg2) !important;
  border: 1px solid var(--tq-line) !important;
  color: var(--tq-dim) !important;
  border-radius: 12px !important;
  padding: 8px 16px !important;
  font-family: var(--tq-mono) !important;
  font-size: 13px !important;
  transition: all .2s !important;
}
.ct-pagination a:hover,
.page-numbers:hover,
.page-numbers.current {
  background: var(--tq-accent) !important;
  color: #0c0d0d !important;
  border-color: var(--tq-accent) !important;
}

/* ── SIDEBAR ── */
.ct-sidebar,
#secondary,
.widget-area {
  background: var(--tq-bg2) !important;
  border: 1px solid var(--tq-line) !important;
  border-radius: var(--tq-r) !important;
  padding: 28px !important;
}
.widget-title {
  font-family: var(--tq-mono) !important;
  font-size: 11px !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: var(--tq-dim) !important;
  margin-bottom: 16px !important;
}

/* ── FORMS ── */
input[type="text"],
input[type="email"],
input[type="search"],
textarea,
select {
  background: var(--tq-bg2) !important;
  border: 1px solid var(--tq-line) !important;
  color: var(--tq-ink) !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-family: var(--tq-sans) !important;
  width: 100% !important;
  transition: border-color .2s !important;
}
input:focus, textarea:focus {
  border-color: var(--tq-accent) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(200,241,53,.15) !important;
}

/* ── BUTTONS ── */
.wp-block-button__link,
button[type="submit"],
input[type="submit"],
.ct-button {
  background: var(--tq-accent) !important;
  color: #0c0d0d !important;
  font-family: var(--tq-mono) !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 12px 28px !important;
  cursor: pointer !important;
  transition: opacity .2s, transform .2s !important;
}
.wp-block-button__link:hover,
button[type="submit"]:hover { opacity: .85 !important; transform: translateY(-1px) !important; }

/* ── COMMENTS ── */
#comments {
  max-width: 780px !important;
  margin: 0 auto !important;
  padding: 48px 24px !important;
  border-top: 1px solid var(--tq-line) !important;
}
.comments-title {
  font-family: var(--tq-serif) !important;
  color: var(--tq-ink) !important;
  font-size: 1.6rem !important;
}
.comment-body {
  background: var(--tq-bg2) !important;
  border: 1px solid var(--tq-line) !important;
  border-radius: var(--tq-r) !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
}
.comment-author b { color: var(--tq-ink) !important; }
.comment-metadata {
  font-family: var(--tq-mono) !important;
  font-size: 11px !important;
  color: var(--tq-dim) !important;
}
.comment-content p { color: var(--tq-ink) !important; }

/* ── FOOTER ── */
.ct-footer,
.site-footer,
#colophon {
  background: var(--tq-bg2) !important;
  border-top: 1px solid var(--tq-line) !important;
  color: var(--tq-dim) !important;
}
.ct-footer a { color: var(--tq-dim) !important; }
.ct-footer a:hover { color: var(--tq-ink) !important; }
.ct-footer-bottom {
  background: var(--tq-bg) !important;
  border-top: 1px solid var(--tq-line) !important;
  font-family: var(--tq-mono) !important;
  font-size: 12px !important;
  color: var(--tq-dim) !important;
}

/* ── MOBILE ── */
@media (max-width: 768px) {
  .entry-content { font-size: 16px !important; padding: 32px 16px !important; }
  .entry-title { font-size: clamp(1.8rem, 8vw, 2.4rem) !important; }
  #comments { padding: 32px 16px !important; }
}
