/*
Theme Name: Succor
Theme URI: https://succor.help
Author: Succor
Author URI: https://succor.help
Description: Lightweight, SEO-optimized WordPress theme for Succor — the academic support platform that comes to your aid the moment coursework gets heavy. Clean paper-white design with deep indigo accents (customizable, with an attention pulse animation), rounded cards, soft borders, related posts, comments disabled, and full schema.org structured data for Google, Bing, and other search engines.
Version: 1.0.0
Requires at least: 5.9
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: succor
Tags: blog, education, light, one-column, custom-colors, featured-images
*/

/* ==========================================================================
   1. Tokens
   ========================================================================== */
:root{
  --sc-bg:#fcfbf9;           /* warm paper white */
  --sc-surface:#ffffff;
  --sc-soft:#f1f0fb;         /* pale indigo for subtle fills */
  --sc-text:#1c1e2e;         /* deep ink navy */
  --sc-muted:#5b5e72;
  --sc-border:#e6e4ef;       /* soft lavender-gray borders */
  --sc-accent:#4f46e5;       /* indigo — overridden by Customizer */
  --sc-accent-hover:#4338ca; /* overridden by Customizer */
  --sc-accent-text:#ffffff;  /* overridden by Customizer */
  --sc-radius:14px;
  --sc-shadow:0 1px 3px rgba(28,30,46,.06);
  --sc-max:1160px;
  --sc-content:760px;
  --sc-font-head:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --sc-font-body:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
}

/* ==========================================================================
   2. Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  margin:0;background:var(--sc-bg);color:var(--sc-text);
  font-family:var(--sc-font-body);font-size:1.0625rem;line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5,h6{
  font-family:var(--sc-font-head);font-weight:700;line-height:1.25;
  margin:0 0 .6em;color:var(--sc-text);letter-spacing:-.015em;
}
h1{font-size:clamp(1.9rem,4vw,2.6rem)}
h2{font-size:clamp(1.5rem,3vw,1.9rem)}
h3{font-size:1.25rem}
p{margin:0 0 1.2em}
a{color:var(--sc-accent);text-decoration:none}
a:hover{color:var(--sc-accent-hover)}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid var(--sc-accent);outline-offset:2px;border-radius:4px;
}
.screen-reader-text{
  clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;
  overflow:hidden;position:absolute!important;word-wrap:normal!important;
}
.sc-container{max-width:var(--sc-max);margin:0 auto;padding:0 20px}

/* ==========================================================================
   3. Buttons (Customizer-controlled colors)
   ========================================================================== */
.sc-btn,
.wp-block-button__link,
button[type=submit],
input[type=submit]{
  display:inline-block;background:var(--sc-accent);color:var(--sc-accent-text);
  font-family:var(--sc-font-head);font-weight:600;font-size:.95rem;
  padding:.75rem 1.5rem;border:0;border-radius:8px;cursor:pointer;
  text-decoration:none;transition:background .18s ease,transform .18s ease;
}
.sc-btn:hover,
.wp-block-button__link:hover,
button[type=submit]:hover,
input[type=submit]:hover{
  background:var(--sc-accent-hover);color:var(--sc-accent-text);transform:translateY(-1px);
}
.sc-btn--ghost{
  background:transparent;color:var(--sc-text);
  box-shadow:inset 0 0 0 1.5px var(--sc-border);
}
.sc-btn--ghost:hover{background:#fff;color:var(--sc-text);box-shadow:inset 0 0 0 1.5px var(--sc-accent)}
.sc-btn--lg{padding:.95rem 2rem;font-size:1.05rem}

/* Attention pulse on primary buttons ("blinking"). Disabled automatically
   for visitors with prefers-reduced-motion via the rule in section 2. */
@keyframes sc-pulse{
  0%,100%{box-shadow:0 0 0 0 var(--sc-pulse,color-mix(in srgb,var(--sc-accent) 45%,transparent))}
  55%{box-shadow:0 0 0 11px transparent}
}
.sc-btn--pulse{animation:sc-pulse 1.8s ease-out infinite}


/* ==========================================================================
   4. Header
   ========================================================================== */
.sc-header{
  background:var(--sc-surface);border-bottom:1px solid var(--sc-border);
  position:sticky;top:0;z-index:50;
}
.sc-header__inner{display:flex;align-items:center;gap:24px;min-height:70px}
.sc-logo{display:flex;align-items:center;gap:10px;font-family:var(--sc-font-head);font-weight:800;font-size:1.3rem;color:var(--sc-text)}
.sc-logo:hover{color:var(--sc-text)}
.sc-logo__mark{width:38px;height:38px;display:block}
.sc-logo__text{letter-spacing:-.02em}
.sc-logo__accent{color:var(--sc-accent)}
.sc-logo img{max-height:42px;width:auto}
.sc-nav{margin-left:auto}
.sc-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px;align-items:center}
.sc-nav a{
  display:block;padding:.55rem .85rem;border-radius:8px;
  color:var(--sc-text);font-weight:500;font-size:.95rem;
}
.sc-nav a:hover{background:var(--sc-soft);color:var(--sc-text)}
.sc-nav .current-menu-item > a{color:var(--sc-accent);font-weight:600}
.sc-header__cta{white-space:nowrap}
.sc-nav-toggle{
  display:none;margin-left:auto;background:none;border:1.5px solid var(--sc-border);
  border-radius:8px;padding:.5rem .7rem;font-size:1.1rem;line-height:1;cursor:pointer;color:var(--sc-text);
}
@media (max-width:860px){
  .sc-nav-toggle{display:block}
  .sc-header__cta{display:none}
  .sc-nav{
    display:none;position:absolute;left:0;right:0;top:100%;
    background:var(--sc-surface);border-bottom:1px solid var(--sc-border);
    padding:10px 20px 16px;margin:0;box-shadow:var(--sc-shadow);
  }
  .sc-nav.is-open{display:block}
  .sc-nav ul{flex-direction:column;align-items:stretch;gap:2px}
}

/* ==========================================================================
   5. Hero (front page)
   ========================================================================== */
.sc-hero{background:var(--sc-surface);border-bottom:1px solid var(--sc-border);padding:72px 0 64px}
.sc-hero__inner{max-width:820px}
.sc-hero__eyebrow{
  display:inline-block;font-family:var(--sc-font-head);font-size:.8rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--sc-accent);
  background:color-mix(in srgb,var(--sc-accent) 10%,#fff);
  border:1px solid color-mix(in srgb,var(--sc-accent) 25%,#fff);
  padding:.3rem .75rem;border-radius:999px;margin-bottom:18px;
}
.sc-hero h1{margin-bottom:.5em}
.sc-hero__sub{font-size:1.15rem;color:var(--sc-muted);max-width:640px}
.sc-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.sc-hero__points{
  display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;padding:0;list-style:none;
  color:var(--sc-muted);font-size:.92rem;
}
.sc-hero__points li::before{content:"✓";color:var(--sc-accent);font-weight:700;margin-right:7px}

/* Stats strip */
.sc-stats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:14px;margin:34px 0 0;padding:0;
}
.sc-stats__item{
  background:var(--sc-surface);border:1px solid var(--sc-border);
  border-radius:var(--sc-radius);padding:16px 18px;
}
.sc-stats__item dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--sc-muted);margin:0 0 4px}
.sc-stats__item dd{font-family:var(--sc-font-head);font-weight:800;font-size:1.15rem;margin:0;color:var(--sc-accent)}

/* Why split section */
.sc-why{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
@media (max-width:860px){.sc-why{grid-template-columns:1fr}}
.sc-why__text p{color:var(--sc-muted);margin-bottom:22px}
.sc-why__list{list-style:none;margin:0;padding:0}
.sc-why__list li{
  position:relative;padding:.7em 0 .7em 34px;
  border-bottom:1px dashed var(--sc-border);font-size:.97rem;
}
.sc-why__list li:last-child{border-bottom:0}
.sc-why__list li::before{
  content:"✓";position:absolute;left:0;top:.62em;
  width:22px;height:22px;border-radius:50%;
  background:var(--sc-soft);color:var(--sc-accent);
  font-weight:700;font-size:.75rem;display:grid;place-items:center;
}

/* Hero search */
.sc-hero__search{margin-top:28px;max-width:560px}
.sc-hero__search input[type=search]{font-size:1.02rem}
.sc-hero__actions{margin-top:16px}

/* FAQ */
.sc-faq{max-width:820px}
.sc-faq__item{
  background:var(--sc-surface);border:1px solid var(--sc-border);
  border-radius:var(--sc-radius);padding:0;margin-bottom:12px;overflow:hidden;
}
.sc-faq__item summary{
  cursor:pointer;list-style:none;padding:18px 22px;
  font-family:var(--sc-font-head);font-weight:600;font-size:1.02rem;
  position:relative;padding-right:52px;
}
.sc-faq__item summary::-webkit-details-marker{display:none}
.sc-faq__item summary::after{
  content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  background:var(--sc-soft);color:var(--sc-accent);font-weight:700;
}
.sc-faq__item[open] summary::after{content:"–"}
.sc-faq__item[open] summary{border-bottom:1px solid var(--sc-border)}
.sc-faq__item p{margin:0;padding:16px 22px 20px;color:var(--sc-muted);font-size:.96rem}

/* ==========================================================================
   6. Sections & subject grid
   ========================================================================== */
.sc-section{padding:60px 0}
.sc-section__head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.sc-section__head p{color:var(--sc-muted);margin:0}
.sc-subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;padding:0;margin:0;list-style:none}
.sc-subjects a{
  display:block;background:var(--sc-surface);border:1px solid var(--sc-border);
  border-radius:var(--sc-radius);padding:14px 16px;color:var(--sc-text);
  font-family:var(--sc-font-head);font-weight:600;font-size:.92rem;
  transition:border-color .18s ease,transform .18s ease;
}
.sc-subjects a:hover{border-color:var(--sc-accent);transform:translateY(-2px)}
.sc-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.sc-step{background:var(--sc-surface);border:1px solid var(--sc-border);border-radius:var(--sc-radius);padding:24px}
.sc-step__num{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:var(--sc-accent);color:var(--sc-accent-text);
  font-family:var(--sc-font-head);font-weight:700;margin-bottom:14px;font-size:.95rem;
}
.sc-step p{color:var(--sc-muted);font-size:.95rem;margin:0}
.sc-cta-band{
  background:var(--sc-accent);border-radius:20px;padding:48px 40px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.sc-cta-band h2{color:#fff;margin:0 0 .25em}
.sc-cta-band p{color:rgba(255,255,255,.85);margin:0}
.sc-cta-band .sc-btn{background:#fff;color:var(--sc-accent)}
.sc-cta-band .sc-btn:hover{background:var(--sc-soft);color:var(--sc-accent-hover)}
.sc-cta-band .sc-btn--pulse{--sc-pulse:rgba(255,255,255,.55)}

/* ==========================================================================
   7. Post cards / archives
   ========================================================================== */
.sc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.sc-card{
  background:var(--sc-surface);border:1px solid var(--sc-border);
  border-radius:var(--sc-radius);overflow:hidden;display:flex;flex-direction:column;
  transition:box-shadow .18s ease,transform .18s ease;
}
.sc-card:hover{box-shadow:var(--sc-shadow);transform:translateY(-3px)}
.sc-card__thumb{aspect-ratio:16/9;background:var(--sc-soft)}
.sc-card__thumb img{width:100%;height:100%;object-fit:cover}
.sc-card__body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.sc-card__cat{
  font-family:var(--sc-font-head);font-size:.72rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--sc-accent);margin-bottom:8px;
}
.sc-card__title{font-size:1.12rem;margin-bottom:.45em}
.sc-card__title a{color:var(--sc-text)}
.sc-card__title a:hover{color:var(--sc-accent)}
.sc-card__excerpt{color:var(--sc-muted);font-size:.93rem;margin:0 0 14px}
.sc-card__meta{margin-top:auto;color:var(--sc-muted);font-size:.82rem}
.sc-archive-head{padding:48px 0 8px}
.sc-archive-head h1{margin-bottom:.2em}
.sc-archive-head p{color:var(--sc-muted);max-width:640px}

/* Pagination — plain crawlable links */
.sc-pagination{margin:40px 0 10px;text-align:center}
.sc-pagination .nav-links{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:center}
.sc-pagination .page-numbers{
  display:inline-block;min-width:42px;padding:.55rem .8rem;border-radius:8px;
  background:var(--sc-surface);border:1px solid var(--sc-border);
  color:var(--sc-text);font-weight:600;font-size:.92rem;
}
.sc-pagination .page-numbers:hover{border-color:var(--sc-accent);color:var(--sc-accent)}
.sc-pagination .page-numbers.current{background:var(--sc-accent);border-color:var(--sc-accent);color:var(--sc-accent-text)}
.sc-pagination .page-numbers.dots{border:0;background:none}

/* ==========================================================================
   8. Single post
   ========================================================================== */
.sc-breadcrumbs{font-size:.85rem;color:var(--sc-muted);padding:22px 0 0}
.sc-breadcrumbs a{color:var(--sc-muted)}
.sc-breadcrumbs a:hover{color:var(--sc-accent)}
.sc-breadcrumbs .sep{margin:0 .5em;opacity:.5}
.sc-single-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 320px;
  gap:34px;align-items:start;padding-top:26px;padding-bottom:60px;
}
.sc-single{max-width:var(--sc-content);min-width:0;margin:0;padding:0}
@media (max-width:960px){
  .sc-single-layout{grid-template-columns:1fr}
  .sc-single{max-width:none}
}

/* Sidebar */
.sc-sidebar{position:sticky;top:92px;display:flex;flex-direction:column;gap:20px}
@media (max-width:960px){.sc-sidebar{position:static}}
.sc-widget{
  background:var(--sc-surface);border:1px solid var(--sc-border);
  border-radius:var(--sc-radius);padding:24px 24px 26px;
}
.sc-widget__title{
  font-size:1.02rem;margin:0 0 16px;padding-bottom:12px;
  border-bottom:2px solid var(--sc-accent);
}
.sc-widget ul{list-style:none;margin:0;padding:0}
.sc-widget li{margin-bottom:.6em;font-size:.92rem}
.sc-widget a{color:var(--sc-text)}
.sc-widget a:hover{color:var(--sc-accent)}

/* Free features box */
.sc-features{border-top:4px solid var(--sc-accent)}
.sc-features__list{list-style:none;margin:0 0 20px;padding:0}
.sc-features__list li{
  position:relative;padding:.5em 0 .5em 30px;font-size:.92rem;
  color:var(--sc-text);border-bottom:1px dashed var(--sc-border);
}
.sc-features__list li:last-child{border-bottom:0}
.sc-features__list li::before{
  content:"✓";position:absolute;left:0;top:.42em;
  width:20px;height:20px;border-radius:50%;
  background:color-mix(in srgb,var(--sc-accent) 14%,#fff);
  color:var(--sc-accent);font-weight:700;font-size:.72rem;
  display:grid;place-items:center;
}
.sc-features__btn{display:block;text-align:center;width:100%}
.sc-single__header{margin-bottom:26px}
.sc-single__cat{display:inline-block;margin-bottom:12px}
.sc-single__meta{color:var(--sc-muted);font-size:.9rem;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sc-single__thumb{border-radius:var(--sc-radius);overflow:hidden;margin:26px 0}
.sc-entry{
  background:var(--sc-surface);border:1px solid var(--sc-border);
  border-radius:var(--sc-radius);padding:clamp(24px,4vw,44px);
}
.sc-entry > *:first-child{margin-top:0}
.sc-entry h2{margin-top:1.6em}
.sc-entry h3{margin-top:1.4em}
.sc-entry ul,.sc-entry ol{padding-left:1.4em;margin:0 0 1.2em}
.sc-entry li{margin-bottom:.4em}
.sc-entry blockquote{
  margin:1.4em 0;padding:.8em 1.2em;border-left:4px solid var(--sc-accent);
  background:var(--sc-soft);border-radius:0 8px 8px 0;color:var(--sc-muted);
}
.sc-entry table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem}
.sc-entry th,.sc-entry td{border:1px solid var(--sc-border);padding:.6em .8em;text-align:left}
.sc-entry th{background:var(--sc-soft);font-family:var(--sc-font-head);font-size:.85rem}
.sc-entry img{border-radius:8px}
.sc-entry code{background:var(--sc-soft);padding:.15em .4em;border-radius:5px;font-size:.9em}
.sc-entry pre{background:#14171c;color:#e8eaf0;padding:1.1em 1.3em;border-radius:8px;overflow:auto;font-size:.88rem}
.sc-entry pre code{background:none;padding:0;color:inherit}
.sc-tags{margin-top:22px;display:flex;gap:8px;flex-wrap:wrap}
.sc-tags a{
  font-size:.8rem;background:var(--sc-surface);border:1px solid var(--sc-border);
  border-radius:999px;padding:.3rem .8rem;color:var(--sc-muted);
}
.sc-tags a:hover{border-color:var(--sc-accent);color:var(--sc-accent)}
.sc-post-cta{
  margin-top:30px;background:var(--sc-surface);border:1px solid var(--sc-border);
  border-left:4px solid var(--sc-accent);border-radius:var(--sc-radius);
  padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
}
.sc-post-cta strong{font-family:var(--sc-font-head);font-size:1.05rem}
.sc-post-cta p{margin:0;color:var(--sc-muted);font-size:.92rem}

/* Related posts */
.sc-related{padding:10px 0 70px}
.sc-related h2{font-size:1.4rem;margin-bottom:20px}

/* ==========================================================================
   9. Footer
   ========================================================================== */
.sc-footer{background:var(--sc-surface);border-top:1px solid var(--sc-border);margin-top:20px}
.sc-footer__grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding:52px 0 36px;
}
.sc-footer h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sc-muted);margin-bottom:14px}
.sc-footer ul{list-style:none;margin:0;padding:0}
.sc-footer li{margin-bottom:.55em}
.sc-footer a{color:var(--sc-text);font-size:.93rem}
.sc-footer a:hover{color:var(--sc-accent)}
.sc-footer__about{color:var(--sc-muted);font-size:.93rem;max-width:320px}
.sc-footer__bar{
  border-top:1px solid var(--sc-border);padding:18px 0;
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  color:var(--sc-muted);font-size:.85rem;
}
@media (max-width:860px){.sc-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.sc-footer__grid{grid-template-columns:1fr}}

/* ==========================================================================
   10. Misc (page, search, 404, forms)
   ========================================================================== */
.sc-page{max-width:var(--sc-content);margin:0 auto;padding:48px 20px 70px}
.sc-search-form{display:flex;gap:10px;max-width:480px}
.sc-search-form input[type=search]{
  flex:1;padding:.75rem 1rem;border:1.5px solid var(--sc-border);
  border-radius:8px;font-size:1rem;background:#fff;color:var(--sc-text);
}
.sc-search-form input[type=search]:focus{border-color:var(--sc-accent);outline:none}
.sc-404{text-align:center;padding:90px 20px}
.sc-404 .sc-404__code{font-family:var(--sc-font-head);font-size:5rem;font-weight:800;color:var(--sc-accent);line-height:1}
.alignwide{max-width:calc(var(--sc-content) + 160px);margin-left:auto;margin-right:auto}
.alignfull{width:100%;max-width:100%}
