/*
Theme Name: AskBibleQuestions
Description: Child theme of GeneratePress carrying the ABQ design system. Colors and typography are controlled in the Customizer (Global Colors + Typography). This stylesheet defines the ABQ component classes used by block patterns and Elements (classes beginning with abq-). Routine content changes never require editing this file.
Author: AskBibleQuestions.com
Template: generatepress
Version: 1.1.0
*/

/* ================= Paper grain ================= */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.28;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.48 0 0 0 0 0.36 0 0 0 0.03 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ================= Shared tokens ================= */
:root{
  --abq-shadow:0 10px 30px rgba(84,62,20,.10), 0 2px 8px rgba(84,62,20,.08);
  --abq-shadow-lg:0 24px 70px rgba(60,42,10,.16);
}

/* ================= Kickers & labels ================= */
.abq-kicker{
  display:inline-flex;align-items:center;gap:14px;
  font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:11.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--rubric);
}
.abq-kicker::before,.abq-kicker::after{content:'';width:44px;height:1px;background:currentColor;opacity:.45}
.abq-toplabel{
  font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:11.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--rubric);
}

/* ================= Question page hero ================= */
.abq-qhero{position:relative}
.abq-qhero .wp-block-cover__background{
  background:linear-gradient(180deg, rgba(42,33,24,.18) 0%, rgba(251,247,239,.60) 55%, var(--base) 96%) !important;
  opacity:1 !important;
}
.abq-qhero .wp-block-post-title{
  font-size:clamp(30px,4.5vw,46px);line-height:1.1;letter-spacing:-.015em;
  text-shadow:0 1px 0 rgba(251,247,239,.5);margin:14px 0 10px;
}
.abq-qhero .wp-block-post-terms{
  font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
}
.abq-qhero .wp-block-post-terms a{
  color:var(--gold-2);background:rgba(255,253,248,.85);border:1px solid var(--line-2);
  padding:6px 14px;border-radius:100px;text-decoration:none;backdrop-filter:blur(6px);
}
.abq-byline{
  font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:13px;color:var(--contrast-2);
}
.abq-byline strong{color:var(--contrast)}
.abq-byline .ok{color:var(--gold-2);font-weight:700}

/* ================= Clear Answer box ================= */
.abq-clear{
  background:var(--base-3);border:1px solid var(--line-2);border-left:4px solid var(--accent);
  border-radius:14px;padding:22px 26px;box-shadow:var(--abq-shadow);margin:6px 0 26px;
}
.abq-clear .abq-clear-label{
  font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);margin:0 0 8px;
}
.abq-clear p{font-size:19px;line-height:1.6;margin:0}
.abq-clear p:empty{display:none}

/* ================= Verse box & rubricated details ================= */
.abq-versebox{
  background:var(--base-2);border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin:24px 0;
}
.abq-versebox p{font-style:italic;font-size:17.5px;line-height:1.7;margin:0}
.abq-versebox cite{
  display:block;margin-top:10px;font-style:normal;
  font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2);
}
.abq-versebox sup{font-style:normal;font-weight:700;font-size:.62em;color:var(--rubric);margin-right:.35em}
.abq-vref{font-style:italic;color:var(--gold-2)}

/* ================= Question cards (query loops & manual grids) ================= */
.abq-qgrid .wp-block-post,
.abq-qcard{
  background:var(--base-3);border:1px solid var(--line);padding:24px 24px 18px;
  box-shadow:var(--abq-shadow);transition:transform .2s ease, box-shadow .2s ease;position:relative;height:100%;
}
.abq-qgrid .wp-block-post:hover,
.abq-qcard:hover{transform:translateY(-3px);box-shadow:var(--abq-shadow-lg)}
.abq-qgrid .wp-block-post-title{font-size:20px;line-height:1.28;letter-spacing:-.01em;margin:6px 0 8px}
.abq-qgrid .wp-block-post-title a{color:var(--contrast);text-decoration:none}
.abq-qgrid .wp-block-post-title a:hover{color:var(--rubric)}
.abq-qgrid .wp-block-post-excerpt{font-size:15px;color:var(--contrast-2);line-height:1.55}
.abq-qgrid .wp-block-post-excerpt__more-text{display:none}
.abq-qgrid .wp-block-post-terms{
  font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
}
.abq-qgrid .wp-block-post-terms a{color:var(--rubric);text-decoration:none}
.abq-qgrid .wp-block-post-featured-image{margin:-24px -24px 14px}
.abq-qgrid .wp-block-post-featured-image img{
  aspect-ratio:16/7;object-fit:cover;width:100%;
  filter:sepia(.14) saturate(1.05);
}

/* ================= Ink buttons ================= */
.abq-ink-btn .wp-block-button__link,
.wp-block-button.abq-ink-btn > a{
  background:var(--contrast);color:var(--base);border-radius:0;
  font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:15px 30px;transition:background-color .15s ease;
}
.abq-ink-btn .wp-block-button__link:hover{background:var(--rubric);color:var(--base)}
.abq-gold-btn .wp-block-button__link{
  background:var(--amber-soft);color:var(--contrast);border-radius:0;
  font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:15px 30px;transition:background-color .15s ease;
}
.abq-gold-btn .wp-block-button__link:hover{background:#F7DA8E;color:var(--contrast)}

/* ================= Ask CTA panel ================= */
.abq-askcta{
  background:var(--contrast);color:#F2E8D5;border-radius:16px;padding:32px 34px;box-shadow:var(--abq-shadow-lg);
}
.abq-askcta h2,.abq-askcta h3{color:#FBF3DF;margin-top:0}
.abq-askcta p{color:#D8C9A8}

/* ================= Credo strip ================= */
.abq-credo{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-size:13px;color:var(--contrast-2);
}
.abq-credo p{margin:0}
.abq-credo .rub{color:var(--rubric)}

/* ================= Topics hub ================= */
.abq-topic-group h3{
  display:flex;align-items:center;gap:12px;color:var(--gold-2);font-size:20px;margin:34px 0 14px;
}
.abq-topic-group h3::after{content:'';flex:1;height:1px;background:var(--line-2)}
.abq-tcard{
  background:var(--base-3);border:1px solid var(--line);border-radius:13px;padding:16px 18px;height:100%;
  transition:transform .18s ease, box-shadow .18s ease;
}
.abq-tcard:hover{transform:translateY(-2px);box-shadow:var(--abq-shadow)}
.abq-tcard h4{font-size:17px;margin:0 0 4px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.abq-tcard h4 a{color:var(--contrast);text-decoration:none}
.abq-tcard h4 a:hover{color:var(--rubric)}
.abq-tcard .cnt{
  font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:11.5px;font-weight:700;color:var(--gold-2);background:var(--amber-soft);
  padding:2px 8px;border-radius:100px;white-space:nowrap;
}
.abq-tcard p{font-size:13px;color:var(--contrast-2);line-height:1.5;margin:0}

/* ================= Footer ================= */
.site-footer{border-top:3px double var(--line-2)}

/* ================= Misc ================= */
.abq-fleuron{color:var(--rubric);font-size:18px}
.entry-content a{text-underline-offset:2px}
@media (prefers-reduced-motion: reduce){*{transition:none !important;animation:none !important}}
