/* ============================================================
   Growth Sanctuary Blog Plugin v3
   ============================================================ */

/* ── CSS Variable Defaults ─────────────────────────────── */
:root {
    --gs-page-bg:           #F5F2ED;
    --gs-heading-color:     #141414;
    --gs-body-color:        #3a3a3a;
    --gs-muted-color:       rgba(20,20,20,0.42);
    --gs-border-color:      rgba(20,20,20,0.11);
    --gs-blockquote-border: #141414;
    --gs-insight-bg:        #ECEAE4;
    --gs-insight-stat-color:#141414;
    --gs-insight-text-color:#3a3a3a;
    --gs-cta-section-bg:    #ECEAE4;
    --gs-cta-title-color:   #141414;
    --gs-cta-sub-color:     #3a3a3a;
    --gs-cta-btn-bg:        #141414;
    --gs-cta-btn-text:      #ffffff;
    --gs-author-bg:         transparent;
    --gs-author-name-color: #141414;
    --gs-author-role-color: rgba(20,20,20,0.42);
    --gs-takeaway-check-color: #141414;
    --gs-takeaway-text-color:  #3a3a3a;
    /* sizes */
    --gs-title-size:        clamp(2.4rem,6vw,5rem);
    --gs-h2-size:           clamp(1.4rem,2.5vw,1.9rem);
    --gs-body-size:         0.97rem;
    --gs-insight-stat-size: 3rem;
    --gs-cta-title-size:    clamp(2rem,5vw,3.4rem);
    --gs-check-size:        0.85rem;
    --gs-takeaway-size:     0.88rem;
    --gs-author-name-size:  0.9rem;
    --gs-author-role-size:  0.68rem;
    /* archive */
    --gs-card-bg:           transparent;
    --gs-featured-bg:       #ECEAE4;
    --gs-newsletter-bg:     #ECEAE4;
    /* shared */
    --gs-display: 'Playfair Display', Georgia, serif;
    --gs-sans:    'IBM Plex Sans', 'Helvetica Neue', sans-serif;
    --gs-max:     1100px;
    --gs-gutter:  clamp(20px,5vw,60px);
}

/* ── Global resets scoped to plugin ─────────────────────── */
.gsb-archive,.gsb-single,.gsb-cta {
    font-family: var(--gs-sans);
    color: var(--gs-heading-color);
    background: var(--gs-page-bg);
    -webkit-font-smoothing: antialiased;
}
.gsb-archive a,.gsb-single a { color:inherit; text-decoration:none; }

/* ── Shared utilities ────────────────────────────────────── */
.gsb-label {
    font-family: var(--gs-sans);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gs-muted-color);
    margin: 0 0 8px;
    display:block;
}
.gsb-meta-dash { color: var(--gs-muted-color); font-size:.75rem; }

.gsb-read-more {
    display:inline-block;
    font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
    border-bottom:1.5px solid currentColor; padding-bottom:2px; margin-top:14px;
    transition:opacity .2s; color:var(--gs-heading-color);
}
.gsb-read-more:hover { opacity:.5; }

/* ══════════════════════════════════════════════════════════
   ARCHIVE / INSIGHTS PAGE
   ══════════════════════════════════════════════════════════ */
.gsb-archive { background:var(--gs-page-bg); }

.gsb-archive__header-wrap {
    background:var(--gs-page-bg);
    padding:60px var(--gs-gutter) 48px;
    max-width:var(--gs-max); margin:0 auto;
}
.gsb-archive__title {
    font-family:var(--gs-display);
    font-size:clamp(3rem,7vw,6rem);
    font-weight:900; line-height:1.0; letter-spacing:-0.03em;
    margin:12px 0 16px; color:var(--gs-heading-color);
}
.gsb-archive__subtitle {
    font-size:1rem; line-height:1.6; max-width:500px;
    color:var(--gs-body-color); margin:0;
}

/* Featured */
.gsb-featured-wrap { background:var(--gs-featured-bg); padding:60px var(--gs-gutter); }
.gsb-featured {
    max-width:var(--gs-max); margin:0 auto;
    display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
}
@media(max-width:720px){ .gsb-featured{grid-template-columns:1fr;gap:32px;} }
.gsb-featured__image img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.gsb-featured__title {
    font-family:var(--gs-display);
    font-size:clamp(1.7rem,3.5vw,2.6rem); font-weight:700; line-height:1.1;
    letter-spacing:-0.02em; margin:12px 0 16px; color:var(--gs-heading-color);
}
.gsb-featured__title a:hover { opacity:.65; transition:opacity .2s; }
.gsb-featured__excerpt { font-size:.92rem; line-height:1.65; color:var(--gs-body-color); margin:0; }

/* Grid */
.gsb-grid-wrap { background:var(--gs-page-bg); padding:60px var(--gs-gutter); }
.gsb-grid {
    max-width:var(--gs-max); margin:0 auto;
    display:grid; grid-template-columns:repeat(2,1fr); gap:56px 44px;
}
@media(max-width:600px){ .gsb-grid{grid-template-columns:1fr;gap:44px;} }
.gsb-card { background:var(--gs-card-bg); }
.gsb-card__image-link img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; transition:opacity .3s; }
.gsb-card__image-link:hover img { opacity:.85; }
.gsb-card__cat { margin-top:18px; }
.gsb-card__title {
    font-family:var(--gs-display);
    font-size:clamp(1.1rem,2vw,1.45rem); font-weight:700; line-height:1.15;
    letter-spacing:-0.01em; margin:8px 0 10px; color:var(--gs-heading-color);
}
.gsb-card__title a:hover { opacity:.65; transition:opacity .2s; }
.gsb-card__excerpt { font-size:.88rem; line-height:1.6; color:var(--gs-body-color); margin:0; }

/* Newsletter */
.gsb-newsletter { background:var(--gs-newsletter-bg); text-align:center; padding:80px var(--gs-gutter); }
.gsb-newsletter__title {
    font-family:var(--gs-display); font-size:clamp(2rem,5vw,3.6rem);
    font-weight:700; margin:0 0 12px; color:var(--gs-heading-color);
}
.gsb-newsletter__sub { font-size:.95rem; line-height:1.65; color:var(--gs-body-color); max-width:420px; margin:0 auto 32px; }
.gsb-newsletter__form { display:flex; justify-content:center; max-width:460px; margin:0 auto; }
.gsb-newsletter__input {
    flex:1; padding:14px 18px; font-family:var(--gs-sans); font-size:.88rem;
    border:1px solid var(--gs-border-color); border-right:none; background:#fff;
    outline:none; color:var(--gs-heading-color);
}
.gsb-newsletter__btn {
    padding:14px 24px; background:var(--gs-cta-btn-bg); color:var(--gs-cta-btn-text);
    font-family:var(--gs-sans); font-size:.72rem; font-weight:600;
    letter-spacing:.1em; border:none; cursor:pointer; transition:opacity .2s;
}
.gsb-newsletter__btn:hover { opacity:.75; }

/* Pagination */
.gsb-pagination { text-align:center; padding:20px 0 40px; }
.gsb-pagination .page-numbers {
    display:inline-block; padding:8px 14px; font-size:.8rem; font-weight:600;
    letter-spacing:.05em; border:1px solid var(--gs-border-color); margin:0 3px;
    color:var(--gs-heading-color);
}
.gsb-pagination .page-numbers.current {
    background:var(--gs-heading-color); color:#fff; border-color:var(--gs-heading-color);
}

/* ══════════════════════════════════════════════════════════
   SINGLE POST
   ══════════════════════════════════════════════════════════ */
.gsb-single {
    max-width:var(--gs-max); margin:0 auto;
    padding:56px var(--gs-gutter) 0; background:var(--gs-page-bg);
}
.gsb-single__meta-top { display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.gsb-single__meta-top .gsb-label { margin:0; }

.gsb-single__title {
    font-family:var(--gs-display);
    font-size:var(--gs-title-size);
    font-weight:900; line-height:1.0; letter-spacing:-0.03em;
    margin:0 0 44px; max-width:820px; color:var(--gs-heading-color);
}
.gsb-single__hero { margin-bottom:60px; }
.gsb-single__hero img { width:100%; max-height:480px; object-fit:cover; display:block; }

.gsb-single__body {
    display:grid; grid-template-columns:1fr 260px; gap:80px;
    align-items:start; margin-bottom:80px;
}
@media(max-width:800px){ .gsb-single__body{grid-template-columns:1fr;gap:48px;} }

/* Content typography */
.gsb-single__content p {
    font-size:var(--gs-body-size); line-height:1.75;
    color:var(--gs-body-color); margin:0 0 20px;
}
.gsb-single__content h2 {
    font-family:var(--gs-display);
    font-size:var(--gs-h2-size); font-weight:700;
    margin:44px 0 16px; letter-spacing:-0.01em; color:var(--gs-heading-color);
}
.gsb-single__content h3 {
    font-family:var(--gs-display); font-size:1.2rem; font-weight:700;
    margin:36px 0 12px; color:var(--gs-heading-color);
}
.gsb-single__content blockquote {
    font-size:1.05rem; font-weight:300; font-style:italic; line-height:1.7;
    border-left:3px solid var(--gs-blockquote-border);
    padding-left:24px; margin:0 0 36px; color:var(--gs-body-color);
}
.gsb-single__content ul,.gsb-single__content ol {
    font-size:var(--gs-body-size); line-height:1.75;
    color:var(--gs-body-color); padding-left:1.4em; margin:0 0 20px;
}

/* Insight block */
.gsb-insight-block {
    background:var(--gs-insight-bg);
    border-left:4px solid var(--gs-heading-color);
    padding:28px 32px; margin:44px 0;
}
.gsb-insight-block__label {
    font-size:.72rem; font-weight:600; letter-spacing:.1em;
    text-transform:uppercase; margin:0 0 6px; color:var(--gs-heading-color);
}
.gsb-insight-block__stat {
    font-family:var(--gs-display);
    font-size:var(--gs-insight-stat-size); font-weight:900;
    margin:0 0 6px; line-height:1; color:var(--gs-insight-stat-color);
}
.gsb-insight-block__text {
    font-size:.88rem; line-height:1.55; margin:0;
    color:var(--gs-insight-text-color);
}

/* ── Sidebar ─────────────────────────────────────────────── */
.gsb-single__sidebar { position:sticky; top:80px; }

.gsb-author {
    background:var(--gs-author-bg);
    margin-bottom:32px; padding-bottom:32px;
    border-bottom:1px solid var(--gs-border-color);
}
.gsb-author__row { display:flex; align-items:center; gap:12px; margin-top:12px; }
.gsb-author__avatar { width:48px!important; height:48px!important; border-radius:50%; object-fit:cover; }
.gsb-author__name {
    display:block;
    font-size:var(--gs-author-name-size); font-weight:600;
    color:var(--gs-author-name-color);
}
.gsb-author__role {
    display:block;
    font-size:var(--gs-author-role-size); letter-spacing:.1em;
    text-transform:uppercase; color:var(--gs-author-role-color); margin-top:2px;
}

/* ── Key Takeaways — checkmarks, proper spacing ─────────── */
.gsb-takeaways { margin-top:0; }
.gsb-takeaways__list { list-style:none; padding:0; margin:12px 0 0; }
.gsb-takeaways__list li {
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:var(--gs-takeaway-size);
    line-height:1.55;
    color:var(--gs-takeaway-text-color);
    padding:10px 0;
    /* no border/divider */
}
.gsb-check {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    width:18px; height:18px;
    font-size:var(--gs-check-size);
    font-weight:700;
    color:var(--gs-takeaway-check-color);
    margin-top:1px;
    line-height:1;
}

/* ── CTA Section ─────────────────────────────────────────── */
.gsb-cta {
    background:var(--gs-cta-section-bg);
    text-align:center;
    padding:100px var(--gs-gutter);
}
.gsb-cta__title {
    font-family:var(--gs-display);
    font-size:var(--gs-cta-title-size); font-weight:700;
    margin:0 0 16px; letter-spacing:-0.02em;
    color:var(--gs-cta-title-color);
}
.gsb-cta__sub {
    font-size:.95rem; line-height:1.7;
    color:var(--gs-cta-sub-color);
    max-width:430px; margin:0 auto 40px;
}
.gsb-btn-cta {
    display:inline-block;
    background:var(--gs-cta-btn-bg); color:var(--gs-cta-btn-text);
    padding:16px 36px; font-family:var(--gs-sans);
    font-size:.72rem; font-weight:600; letter-spacing:.12em;
    text-transform:uppercase; text-decoration:none; transition:opacity .2s;
}
.gsb-btn-cta:hover { opacity:.75; color:var(--gs-cta-btn-text); }
