/*
Theme Name: Print On Demand AI
Template: generatepress
Description: Child theme and design system for printondemandai.com
Version: 1.0
*/

/* ==========================================================
   Print On Demand AI — design system
   ========================================================== */

:root{
  --ink:#14161c;
  --ink-2:#434a57;
  --ink-3:#6b7280;
  --line:#e3e6ec;
  --line-2:#eef0f4;
  --paper:#ffffff;
  --paper-2:#f7f8fb;
  --paper-3:#f1f3f8;
  --brand:#4338ca;
  --brand-dark:#312b9c;
  --brand-tint:#eef0ff;
  --cta:#d35f05;
  --cta-dark:#a84a00;
  --good:#0f7b4f;
  --good-tint:#e8f6ef;
  --bad:#b4303c;
  --bad-tint:#fdeced;
  --radius:12px;
  --radius-sm:8px;
  --shadow:0 1px 2px rgba(20,22,28,.05), 0 8px 24px -12px rgba(20,22,28,.16);
  --measure:70ch;
  --contrast:#14161c;
  --contrast-2:#434a57;
  --contrast-3:#6b7280;
  --base:#f1f3f8;
  --base-2:#f7f8fb;
  --base-3:#ffffff;
  --accent:#4338ca;
}

/* ---------- Base ---------- */
body{
  background:var(--paper);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:18px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--brand);text-underline-offset:2px;text-decoration-thickness:1px}
a:hover,a:focus{color:var(--brand-dark)}

h1,h2,h3,h4{color:var(--ink);line-height:1.22;letter-spacing:-.018em;font-weight:720}
h1{font-size:clamp(2rem,1.3rem + 2.5vw,2.9rem);margin:0 0 .5em}
h2{font-size:clamp(1.45rem,1.15rem + 1.1vw,1.9rem);margin:2.2em 0 .6em}
h3{font-size:clamp(1.15rem,1.05rem + .5vw,1.3rem);margin:1.9em 0 .5em}
h2 + h3{margin-top:1.2em}

/* ---------- Header / nav ---------- */
.site-header{background:var(--paper);border-bottom:1px solid var(--line);padding:6px 0}
.site-logo{margin-right:.7em;line-height:0}
.site-logo img,
img.header-image,
.site-header img.is-logo-image{
  width:40px!important;height:40px!important;max-width:40px!important;
  border-radius:10px;display:block;
}
.site-header .inside-header{align-items:center}
.main-title{font-size:1.2rem!important;font-weight:760;letter-spacing:-.02em}
.main-title a{color:var(--ink)!important}
.site-description{color:var(--ink-3);font-size:.85rem}
.main-navigation{background:transparent}
.main-navigation .main-nav ul li a{
  color:var(--ink-2);font-weight:600;font-size:.95rem;
  border-bottom:2px solid transparent;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a{
  color:var(--brand);background:transparent;border-bottom-color:var(--brand);
}

/* ---------- Article shell ---------- */
.entry-content{max-width:var(--measure)}
.single .entry-content > *,
.page .entry-content > *{margin-left:auto;margin-right:auto}
.entry-content p{margin:0 0 1.15em}
.entry-content ul,.entry-content ol{margin:0 0 1.3em;padding-left:1.3em}
.entry-content li{margin-bottom:.45em}
.entry-content li::marker{color:var(--brand)}
.entry-content strong{font-weight:680;color:var(--ink)}
.entry-title{letter-spacing:-.022em}
.entry-meta{color:var(--ink-3);font-size:.9rem}

.pod-wide{max-width:min(960px,100%);margin-left:auto;margin-right:auto}

/* ---------- Byline / freshness stamp ---------- */
.pod-stamp{
  display:flex;flex-wrap:wrap;gap:.4em 1.1em;align-items:center;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:.8em 0;margin:0 0 2em;
  font-size:.88rem;color:var(--ink-3);
}
.pod-stamp strong{color:var(--ink-2);font-weight:620}

/* ---------- Answer box (AI citation target) ---------- */
.pod-answer{
  background:var(--brand-tint);
  border:1px solid #d6d9fb;
  border-left:4px solid var(--brand);
  border-radius:var(--radius);
  padding:1.3em 1.4em;
  margin:0 0 2em;
}
.pod-answer p:last-child{margin-bottom:0}
.pod-answer-label{
  display:block;font-size:.72rem;font-weight:740;letter-spacing:.09em;
  text-transform:uppercase;color:var(--brand-dark);margin-bottom:.5em;
}

/* ---------- Key takeaways ---------- */
.pod-takeaways{
  background:var(--paper-2);border:1px solid var(--line);
  border-radius:var(--radius);padding:1.3em 1.5em;margin:0 0 2em;
}
.pod-takeaways h2,.pod-takeaways h3{margin:0 0 .6em!important;font-size:1.05rem}
.pod-takeaways ul{margin:0;padding-left:1.15em}
.pod-takeaways li{margin-bottom:.4em}

/* ---------- Tables ---------- */
.pod-table{overflow-x:auto;margin:0 0 2em;-webkit-overflow-scrolling:touch}
/* Scroll rather than squash narrow screens into eight-line cells */
.pod-table table{min-width:540px}
@media(max-width:620px){
  .pod-table{
    border:1px solid var(--line);border-radius:var(--radius);
    background:linear-gradient(to right,var(--paper) 30%,rgba(255,255,255,0)),
               linear-gradient(to right,rgba(0,0,0,.06),rgba(0,0,0,0) 12px) 100% 0;
    background-repeat:no-repeat;background-size:40px 100%,14px 100%;
    background-attachment:local,scroll;
  }
  .pod-table table{border:0}
  .entry-content td,.entry-content tbody th{padding:.7em .75em;font-size:.9rem}
}
.entry-content table{
  width:100%;border-collapse:collapse;font-size:.94rem;
  background:var(--paper);border:1px solid var(--line);
}
.entry-content thead th{
  background:var(--paper-3);color:var(--ink);text-align:left;
  font-weight:700;font-size:.82rem;letter-spacing:.03em;text-transform:uppercase;
  padding:.8em .9em;border-bottom:1px solid var(--line);
}
.entry-content td,.entry-content tbody th{
  padding:.85em .9em;border-bottom:1px solid var(--line-2);vertical-align:top;
}
.entry-content tbody th{text-align:left;font-weight:660;background:var(--paper-2)}
.entry-content tbody tr:last-child td{border-bottom:0}

/* ---------- Pros & cons ---------- */
.pod-proscons{display:grid;gap:1em;grid-template-columns:1fr 1fr;margin:0 0 2em}
.pod-pros,.pod-cons{border-radius:var(--radius);padding:1.1em 1.25em;border:1px solid}
.pod-pros{background:var(--good-tint);border-color:#c7e8d8}
.pod-cons{background:var(--bad-tint);border-color:#f5cfd3}
.pod-pros h3,.pod-cons h3{margin:0 0 .5em!important;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}
.pod-pros h3{color:var(--good)}
.pod-cons h3{color:var(--bad)}
.pod-pros ul,.pod-cons ul{margin:0;padding-left:1.1em;font-size:.95rem}
.pod-pros li::marker{color:var(--good)}
.pod-cons li::marker{color:var(--bad)}
@media(max-width:680px){.pod-proscons{grid-template-columns:1fr}}

/* ---------- CTA ---------- */
.pod-cta{
  background:var(--ink);color:#fff;border-radius:var(--radius);
  padding:1.5em 1.6em;margin:0 0 2em;box-shadow:var(--shadow);
}
.pod-cta h3{color:#fff;margin:0 0 .4em!important;font-size:1.15rem}
.pod-cta p{color:#c9cedb;margin:0 0 1em;font-size:.97rem}
.pod-btn{
  display:inline-block;background:var(--cta);color:#fff!important;
  font-weight:700;font-size:.97rem;text-decoration:none!important;
  padding:.75em 1.5em;border-radius:var(--radius-sm);
  transition:background .15s ease,transform .15s ease;
}
.pod-btn:hover{background:var(--cta-dark);transform:translateY(-1px);color:#fff!important}
.pod-btn-ghost{
  display:inline-block;background:transparent;color:#fff!important;
  border:1px solid rgba(255,255,255,.4);font-weight:650;
  padding:.72em 1.3em;border-radius:var(--radius-sm);
  text-decoration:none!important;margin-left:.5em;
}
.pod-btn-ghost:hover{border-color:#fff;color:#fff!important}
.pod-cta-note{font-size:.8rem;color:#9aa2b4;margin:.9em 0 0!important}

/* Buttons stack cleanly once they wrap */
@media(max-width:620px){
  .pod-cta .pod-btn,
  .pod-cta .pod-btn-ghost,
  .pod-hero .pod-btn{
    display:block;width:100%;margin-left:0;text-align:center;box-sizing:border-box;
  }
  .pod-cta .pod-btn-ghost{margin-top:.7em}
}

/* ---------- Verdict ---------- */
.pod-verdict{
  border:1px solid var(--line);border-top:4px solid var(--brand);
  border-radius:var(--radius);padding:1.3em 1.5em;margin:0 0 2em;background:var(--paper);
  box-shadow:var(--shadow);
}
.pod-verdict h3{margin:0 0 .5em!important;font-size:1.08rem}
.pod-verdict p:last-child{margin-bottom:0}

/* ---------- FAQ ---------- */
.pod-faq{margin:0 0 2em;border-top:1px solid var(--line)}
.pod-faq details{border-bottom:1px solid var(--line);padding:.2em 0}
.pod-faq summary{
  cursor:pointer;list-style:none;padding:.95em 2em .95em 0;position:relative;
  font-weight:660;font-size:1.02rem;color:var(--ink);
}
.pod-faq summary::-webkit-details-marker{display:none}
.pod-faq summary::after{
  content:"+";position:absolute;right:.2em;top:50%;transform:translateY(-50%);
  font-size:1.3rem;font-weight:400;color:var(--brand);line-height:1;
}
.pod-faq details[open] summary::after{content:"\2212"}
.pod-faq details[open] summary{color:var(--brand)}
.pod-faq-a{padding:0 0 1.1em;color:var(--ink-2);font-size:.98rem}
.pod-faq-a p:last-child{margin-bottom:0}

/* ---------- Cards ---------- */
.pod-cards{display:grid;gap:1.1em;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0 0 2em}
.pod-card{
  border:1px solid var(--line);border-radius:var(--radius);padding:1.3em;
  background:var(--paper);transition:box-shadow .18s ease,transform .18s ease;
}
.pod-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.pod-card h3{margin:0 0 .4em!important;font-size:1.08rem}
.pod-card h3 a{text-decoration:none}
.pod-card p{font-size:.94rem;color:var(--ink-2);margin:0 0 .7em}
.pod-kicker{
  display:inline-block;font-size:.7rem;font-weight:740;letter-spacing:.08em;
  text-transform:uppercase;color:var(--brand);margin-bottom:.6em;
}
.pod-card-link{font-size:.9rem;font-weight:650;text-decoration:none}
.pod-card-link::after{content:" \2192"}

/* ---------- Hero ---------- */
.pod-hero{
  background:linear-gradient(170deg,var(--brand-tint) 0%,var(--paper) 70%);
  border:1px solid var(--line);
  margin:0 0 2.5em;padding:3em 1.5em 2.6em;text-align:center;
  border-radius:var(--radius);
}
.pod-hero h1{max-width:20ch;margin:0 auto .5em}
.pod-hero p{max-width:62ch;margin:0 auto 1.4em;font-size:1.08rem;color:var(--ink-2)}
.pod-hero .pod-btn{box-shadow:var(--shadow)}

/* ---------- Disclosure ---------- */
.pod-disclosure{
  font-size:.83rem;color:var(--ink-3);background:var(--paper-2);
  border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:.7em .95em;margin:0 0 2em;
}
.pod-disclosure p{margin:0!important}

/* ---------- Author box ---------- */
.pod-author{
  border-top:1px solid var(--line);margin:2.5em 0 0;padding:1.4em 0 0;
  font-size:.93rem;color:var(--ink-2);
}
.pod-author strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:.3em}

/* ---------- Footer ---------- */
.site-footer{background:var(--paper-2);border-top:1px solid var(--line);color:var(--ink-3);font-size:.9rem}
.site-footer a{color:var(--ink-2)}

/* ---------- Archive / blog list ---------- */
.blog .site-main article,.archive .site-main article{
  border-bottom:1px solid var(--line);padding-bottom:1.5em;margin-bottom:1.5em;
}
.blog .entry-title,.archive .entry-title{font-size:1.35rem}
.blog .entry-title a,.archive .entry-title a{text-decoration:none}

/* ---------- Suppress the theme byline (the pod-stamp replaces it) ---------- */
.single .entry-header .entry-meta,
.page .entry-header .entry-meta{display:none}
.single .entry-header{margin-bottom:.6em}

/* ---------- Accessibility ---------- */
:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
