/*
Theme Name: Big Apple Baby
Theme URI: https://bigapplebaby.com
Description: Editorial child theme of GeneratePress for Big Apple Baby — warm magazine look (cream paper, Georgia, terracotta) with the advertorial/article component library.
Author: Big Apple Baby
Template: generatepress
Version: 1.0.8
Text Domain: bigapplebaby
*/

/* ===== Tokens ===== */
:root{
  --bab-ink:#1d1b16; --bab-soft:#4a463d; --bab-muted:#8a8472;
  --bab-cream:#f7f3ea; --bab-paper:#fffdf8; --bab-line:#e3dccb;
  --bab-green:#3f6b4c; --bab-green-dark:#2c4d37; --bab-gold:#e0a200;
  --bab-cta:#c2492d; --bab-cta-dark:#a23a21;
}

/* ===== Base ===== */
body{ background:var(--bab-cream); color:var(--bab-ink); font-family:Georgia,"Times New Roman",serif; }
a{ color:var(--bab-green); transition:color .15s ease; }
a:hover{ color:var(--bab-cta); }
.entry-content p a, .entry-content li a{ text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; }

/* ===== Header / branding ===== */
.site-header{ background:var(--bab-paper); border-bottom:1px solid var(--bab-line); }
.main-title, .main-title a{ font-family:Georgia,serif !important; font-weight:700; color:var(--bab-ink); letter-spacing:-.01em; text-transform:none; }
.main-title a:hover{ color:var(--bab-cta); }
.site-description{ font-family:-apple-system,"Segoe UI",sans-serif; font-style:italic; color:var(--bab-soft); font-size:14px; letter-spacing:.02em; }
.site-header .inside-header{ flex-wrap:wrap; align-items:center; }
.bab-tagline{ flex-basis:100%; width:100%; margin:5px 0 0; }

/* apple logo lockup (left of the wordmark) */
.bab-logo-link{ display:inline-flex; align-items:center; flex:0 0 auto; margin-right:13px; line-height:0; text-decoration:none; }
.bab-logo{ width:auto; height:52px; display:block; }
@media(max-width:600px){ .bab-logo{ height:42px; } .bab-logo-link{ margin-right:10px; } }

/* ===== Navigation (editorial, sticky) ===== */
.main-navigation{ background:var(--bab-paper); border-bottom:1px solid var(--bab-line); position:sticky; top:0; z-index:60; }
.main-navigation .inside-navigation{ justify-content:center; }
.main-navigation .main-nav ul li a{
  font-family:-apple-system,"Segoe UI",sans-serif; text-transform:uppercase; letter-spacing:.14em;
  font-size:12.5px; font-weight:600; color:var(--bab-soft);
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item a{ color:var(--bab-cta); background:transparent; }
.main-navigation .menu-toggle{ font-family:-apple-system,sans-serif; }

/* ===== Homepage author intro ===== */
.bab-home-intro{ display:flex; gap:18px; align-items:center; background:var(--bab-paper); border:1px solid var(--bab-line); border-radius:12px; padding:22px 26px; margin:0 0 30px; }
.bab-home-intro img{ width:84px; height:84px; border-radius:50%; object-fit:cover; flex:0 0 auto; border:1px solid var(--bab-line); }
.bab-home-intro-h{ font-family:Georgia,"Times New Roman",serif; font-weight:700; font-size:20px; color:var(--bab-ink); margin:0 0 4px; }
.bab-home-intro-t{ font-family:Georgia,"Times New Roman",serif; font-size:16px; line-height:1.55; color:var(--bab-soft); margin:0; }
.bab-home-intro-t a{ font-family:-apple-system,"Segoe UI",sans-serif; font-weight:600; font-size:14px; white-space:nowrap; text-decoration:none; }
@media(max-width:600px){ .bab-home-intro{ flex-direction:column; text-align:center; gap:12px; padding:20px; } }

/* ===== Feed / archive cards ===== */
.generate-columns-container article, .blog .site-main > article, .archive .site-main > article{ margin-bottom:8px; }
.inside-article{ }
.blog .inside-article, .archive .inside-article, .search .inside-article{
  background:var(--bab-paper); border:1px solid var(--bab-line); border-radius:10px;
  padding:26px 30px; margin-bottom:30px;
}
.entry-title{ font-family:Georgia,serif; line-height:1.25; letter-spacing:-.01em; text-wrap:balance; }
.entry-title a{ color:var(--bab-ink); }
.entry-title a:hover{ color:var(--bab-cta); }
.blog .entry-title, .archive .entry-title{ font-size:28px; }

/* ===== Single post / page = magazine paper column ===== */
.single .inside-article, .page .inside-article{
  max-width:720px; margin-left:auto; margin-right:auto;
  background:var(--bab-paper); border:none; border-radius:0;
  padding:40px 48px; box-shadow:0 0 50px rgba(60,50,30,.05);
}
.single .entry-header, .page .entry-header{ }
.single .entry-title, .page .entry-title{ font-size:36px; margin-bottom:14px; }

/* Body copy */
.entry-content{ font-family:Georgia,serif; color:var(--bab-ink); }
.entry-content, .entry-content p, .entry-content li{ font-size:19px; line-height:1.65; letter-spacing:normal; }
.entry-content p{ text-wrap:pretty; }
.entry-content h2{ font-family:Georgia,serif; font-size:24px; font-weight:700; line-height:1.3; color:var(--bab-ink); margin:38px 0 12px; text-wrap:balance; }
.entry-content h3{ font-family:Georgia,serif; font-size:20px; font-weight:700; line-height:1.35; color:var(--bab-green); margin:28px 0 10px; }
.entry-content img{ height:auto; }
.entry-content figure{ margin:24px 0; }
.entry-content figcaption{ font-size:14px; font-style:italic; color:var(--bab-muted); text-align:center; padding-top:7px; }
.entry-content blockquote{
  font-family:Georgia,"Times New Roman",serif; font-style:italic; font-weight:400; font-size:22px; line-height:1.45;
  color:var(--bab-soft); border:0; border-top:1px solid var(--bab-line); border-bottom:1px solid var(--bab-line);
  padding:18px 24px; margin:26px auto; max-width:92%; text-align:center;
}

/* ===== Byline / entry meta ===== */
.entry-meta, .entry-meta a, .byline, .posted-on{
  font-family:-apple-system,"Segoe UI",sans-serif; color:var(--bab-muted); font-size:14px;
}
.entry-meta a{ color:var(--bab-muted); }
.entry-meta a:hover{ color:var(--bab-cta); }
.entry-meta .byline{ margin-left:.4em; }
.entry-meta .byline a{ font-weight:600; }

/* ===== Author box (injected after content on single posts) ===== */
.bab-author-box{ display:flex; gap:18px; align-items:flex-start; max-width:720px; margin:42px auto 4px; padding-top:28px; border-top:1px solid var(--bab-line); }
.bab-author-img{ width:72px; height:72px; border-radius:50%; object-fit:cover; flex:0 0 auto; border:1px solid var(--bab-line); display:block; }
.bab-author-eyebrow{ font-family:-apple-system,"Segoe UI",sans-serif; text-transform:uppercase; letter-spacing:.12em; font-size:11px; color:var(--bab-muted); margin:0 0 5px; }
.bab-author-name{ font-family:Georgia,"Times New Roman",serif; font-weight:700; font-size:18px; color:var(--bab-ink); margin:0 0 6px; }
.bab-author-bio{ font-family:Georgia,"Times New Roman",serif; font-size:16px; line-height:1.55; color:var(--bab-soft); margin:0 0 9px; }
.bab-author-links{ display:flex; flex-wrap:wrap; gap:7px 20px; margin:0; }
.bab-author-link{ font-family:-apple-system,"Segoe UI",sans-serif; font-weight:600; font-size:14px; letter-spacing:.02em; color:var(--bab-cta) !important; text-decoration:none !important; }
.bab-author-link:hover{ text-decoration:underline !important; }

/* ===== "Not medical advice" note (feeding / sponsored posts) ===== */
.bab-medical-note{ display:flex; gap:12px; align-items:flex-start; max-width:720px; margin:34px auto 0; background:#eef3ec; border:1px solid #d6e2d2; border-radius:9px; padding:15px 18px; }
.bab-medical-note .ic{ flex:0 0 auto; font-size:17px; line-height:1.5; }
.bab-medical-note p{ font-family:-apple-system,"Segoe UI",sans-serif; font-size:13.5px; line-height:1.62; color:var(--bab-soft); margin:0; }
.bab-medical-note strong{ color:var(--bab-green-dark); }

/* ===== Share row (single posts) ===== */
.bab-share{ display:flex; align-items:center; flex-wrap:wrap; gap:9px; max-width:720px; margin:34px auto 0; padding-top:24px; border-top:1px solid var(--bab-line); }
.bab-share-label{ font-family:-apple-system,"Segoe UI",sans-serif; text-transform:uppercase; letter-spacing:.12em; font-size:11px; color:var(--bab-muted); margin-right:4px; }
.bab-share-btn{ font-family:-apple-system,"Segoe UI",sans-serif; font-size:13px; font-weight:600; letter-spacing:.02em; color:var(--bab-soft) !important; background:var(--bab-paper); border:1px solid var(--bab-line); border-radius:999px; padding:7px 16px; text-decoration:none !important; cursor:pointer; transition:color .15s ease, border-color .15s ease; }
.bab-share-btn:hover{ color:var(--bab-cta) !important; border-color:var(--bab-cta); }
.bab-copy.bab-copied{ color:var(--bab-green) !important; border-color:var(--bab-green); }

/* ===== Footer ===== */
.site-footer, .site-info{ background:#efe9db; color:var(--bab-soft); }
.site-info{ text-align:center; }
.site-info a{ color:var(--bab-green); }
.bab-footer-legal{ display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:center; margin-bottom:10px; }
.bab-footer-legal a{ font-family:-apple-system,"Segoe UI",sans-serif; font-size:12.5px; text-transform:uppercase; letter-spacing:.12em; color:var(--bab-soft); }
.bab-footer-legal a:hover{ color:var(--bab-cta); }
.bab-footer-copy{ font-family:-apple-system,"Segoe UI",sans-serif; font-size:13px; color:var(--bab-muted); margin:0; }

/* ============================================================
   Article / advertorial component library  (scoped to .entry-content)
   ============================================================ */
.bab-adbar{ background:#ece6d8; border:1px solid var(--bab-line); font-family:-apple-system,"Segoe UI",sans-serif; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--bab-muted); text-align:center; padding:7px 16px; margin:0 0 16px; display:flex; justify-content:space-between; }
.entry-content p.bab-sponsor-note{ font-family:-apple-system,"Segoe UI",sans-serif; font-size:13.5px; line-height:1.6; font-style:normal; color:var(--bab-soft); background:#f5f0e4; border:1px solid var(--bab-line); border-radius:8px; padding:14px 16px; margin:0 0 24px; }
.entry-content .bab-kicker{ font-family:-apple-system,"Segoe UI",sans-serif; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--bab-green); font-weight:700; margin:0 0 14px; }
.entry-content p.bab-dek{ font-family:Georgia,"Times New Roman",serif; font-size:21px; font-style:italic; color:var(--bab-soft); line-height:1.5; margin:0 0 22px; }
.entry-content p.bab-lead-emph{ font-size:21px; line-height:1.5; }
/* mechanism comparison */
.entry-content .bab-mech{ display:grid; grid-template-columns:1fr; border:1.5px solid var(--bab-ink); border-radius:8px; overflow:hidden; margin:28px 0; background:var(--bab-paper); }
.entry-content .bab-mech .col{ padding:22px 20px; }
.entry-content .bab-mech h4{ font-family:-apple-system,sans-serif; font-size:12px; letter-spacing:.12em; text-transform:uppercase; margin:0 0 10px; color:var(--bab-muted); font-weight:700; }
.entry-content .bab-mech .good{ background:#eef3ec; }
.entry-content .bab-mech .good .big{ color:var(--bab-green-dark); }
.entry-content .bab-mech .bad{ background:#f6efe6; }
.entry-content .bab-mech .big{ font-size:21px; font-weight:700; line-height:1.3; font-family:Georgia,serif; }
.entry-content .bab-mech .sub{ font-size:14.5px; color:var(--bab-soft); margin-top:6px; }
.entry-content .bab-mech .vs{ display:flex; align-items:center; justify-content:center; font-family:-apple-system,sans-serif; font-weight:700; color:#b3a988; font-size:18px; border-top:1px solid var(--bab-line); border-bottom:1px solid var(--bab-line); }
@media(min-width:560px){ .entry-content .bab-mech{ grid-template-columns:1fr 56px 1fr; align-items:stretch; } .entry-content .bab-mech .vs{ border:none; border-left:1px solid var(--bab-line); border-right:1px solid var(--bab-line); } }
/* feature checklist */
.entry-content ul.bab-feat{ list-style:none; padding:0; margin:18px 0; }
.entry-content ul.bab-feat li{ position:relative; padding:11px 0 11px 34px; border-bottom:1px solid var(--bab-line); font-size:18px; }
.entry-content ul.bab-feat li:before{ content:"\2713"; position:absolute; left:4px; top:10px; color:var(--bab-green); font-weight:700; font-size:18px; }
/* product strip */
.entry-content .bab-prod{ display:flex; gap:18px; align-items:center; background:#eef3ec; border:1px solid #d6e2d2; border-radius:10px; padding:18px; margin:26px 0; }
.entry-content .bab-prod img{ width:120px; height:auto; border-radius:6px; flex:0 0 auto; background:#fff; }
.entry-content .bab-prod .pmeta{ font-size:15px; line-height:1.45; }
.entry-content .bab-prod .rev{ color:var(--bab-gold); font-weight:700; }
/* testimonial cards */
.entry-content .bab-tcard{ background:var(--bab-paper); border:1px solid var(--bab-line); border-radius:8px; padding:20px 22px; margin:16px 0; }
.entry-content .bab-tcard .stars{ color:var(--bab-gold); font-size:16px; letter-spacing:2px; margin-bottom:8px; }
.entry-content .bab-tcard .th{ font-weight:700; margin-bottom:8px; font-size:18px; }
.entry-content .bab-tcard .tq{ font-style:italic; color:var(--bab-soft); margin:0 0 10px; font-size:17px; }
.entry-content .bab-tcard .vb{ font-family:-apple-system,sans-serif; font-size:12px; letter-spacing:.05em; text-transform:uppercase; color:var(--bab-green); font-weight:700; }
/* FAQ */
.entry-content .bab-faq .q{ font-weight:700; margin:20px 0 6px; }
/* pull quote */
.entry-content .bab-pull{ border-left:4px solid var(--bab-green); padding:6px 0 6px 22px; margin:26px 0; font-size:24px; line-height:1.4; font-style:italic; color:var(--bab-green-dark); font-weight:600; }
/* photo set (plain, self-inserted look) */
.entry-content .bab-polas{ display:flex; flex-wrap:wrap; gap:18px 14px; margin:28px 0; }
.entry-content .bab-pola{ flex:1 1 calc(50% - 7px); min-width:150px; }
.entry-content .bab-pola img{ width:100%; height:auto; display:block; border-radius:2px; }
.entry-content .bab-pola .cap{ font-size:14px; font-style:italic; color:var(--bab-muted); text-align:center; padding:7px 2px 0; }
/* in-body CTA */
.entry-content .bab-cta-wrap{ margin:32px 0; text-align:center; }
.entry-content a.bab-cta{ display:block; background:var(--bab-cta) !important; color:#fff !important; text-decoration:none !important; font-family:-apple-system,sans-serif !important; font-weight:800; font-size:19px; line-height:1.3; padding:20px 22px; border-radius:10px; box-shadow:0 8px 22px rgba(194,73,45,.28); transition:transform .15s ease, background .15s ease; }
.entry-content a.bab-cta:hover{ background:var(--bab-cta-dark) !important; transform:translateY(-2px); color:#fff !important; }
.entry-content a.bab-cta:focus-visible{ outline:3px solid var(--bab-ink); outline-offset:3px; }
.entry-content .bab-cta-sub{ font-family:-apple-system,sans-serif; font-size:13.5px; color:var(--bab-muted); margin-top:11px; }
/* disclaimer */
.entry-content .bab-disc{ font-family:-apple-system,sans-serif; font-size:12.5px; line-height:1.6; color:#9a917b; background:#f1ece0; border:1px solid var(--bab-line); border-radius:8px; padding:18px 20px; margin-top:34px; }
.entry-content .bab-disc strong{ color:#6f6750; }

/* sticky mobile CTA (advertorial) */
.bab-sticky-cta{ position:fixed; left:0; right:0; bottom:0; z-index:120; background:rgba(255,253,248,.97); border-top:1px solid var(--bab-line); box-shadow:0 -4px 18px rgba(60,50,30,.08); padding:10px 14px; display:none; }
.bab-sticky-cta a{ display:block; max-width:680px; margin:0 auto; background:var(--bab-cta); color:#fff !important; text-align:center; text-decoration:none; font-family:-apple-system,sans-serif; font-weight:800; font-size:16px; padding:14px; border-radius:9px; }
@media(max-width:719px){ .bab-sticky-cta{ display:block; } }

/* ===== Mobile ===== */
@media (max-width:600px){
  .single .inside-article, .page .inside-article{ padding:30px 20px; }
  .single .entry-title, .page .entry-title{ font-size:28px; line-height:1.2; }
  .blog .inside-article, .archive .inside-article{ padding:24px 20px; }
  .entry-content, .entry-content p, .entry-content li{ font-size:18px; line-height:1.6; }
  .entry-content ul, .entry-content ol{ padding-left:22px; }
  .entry-content blockquote{ padding:16px 12px; font-size:20px; max-width:100%; }
  .entry-content p.bab-dek{ font-size:19px; }
  .entry-content .bab-pull{ font-size:20px; }
  .entry-content .bab-prod{ flex-direction:column; text-align:center; }
  .entry-content .bab-prod img{ width:140px; }
  .bab-author-box{ gap:14px; padding-top:22px; }
  .bab-author-img{ width:60px; height:60px; }
}

@media (prefers-reduced-motion: reduce){
  a, .entry-content a.bab-cta{ transition:none; }
  .entry-content a.bab-cta:hover{ transform:none; }
}
