/*
Theme Name: TSAWC Lite
Theme URI: https://tsawc.com
Author: Unified Marketing
Author URI: https://unifiedmktg.com
Description: Ultra-light, body-only theme for The Spine and Wellness Center. Replaces Avada. Full-bleed page rendering (the_content only). Site chrome (mega-nav + footer) and the design-system CSS keep injecting via their existing plugins (Code Snippets + WPCode) at the standard WordPress hooks — nothing to port. Rank Math meta + JSON-LD pass through untouched.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: tsawc-lite
*/

/* Brand tokens (mirror the .tsa design system). */
:root{
  --tsa-navy:#2b3f57; --tsa-navy-d:#1b2836; --tsa-lime:#a4b195;
  --tsa-royal:#44678f; --tsa-sky:#9bb8d8; --tsa-bg:#f5f7f8; --tsa-ink:#233140;
}

/* Minimal reset — the design-system CSS + page bodies own everything visual.
   This only sets sane defaults so an unstyled flash never happens. */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--tsa-ink);background:var(--tsa-bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit}
.ut-content{width:100%}

/* Blog article base (single.php) — the design-system CSS layers over this. */
.tsa-article{max-width:760px;margin:0 auto;padding:48px 22px 72px}
.tsa-article .entry-title{font-family:'Jost',system-ui,sans-serif;font-weight:600;font-size:clamp(30px,4.6vw,46px);line-height:1.12;letter-spacing:-.02em;color:var(--tsa-navy-d);margin:0 0 10px}
.tsa-article .tsa-post-meta{color:rgba(35,49,64,.6);font-size:14.5px;margin-bottom:30px}
.tsa-article .tsa-post-cat{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tsa-royal);margin-bottom:8px}
.tsa-article p{font-size:17px;line-height:1.75;margin:0 0 20px;color:var(--tsa-ink)}
.tsa-article h2{font-family:'Jost',system-ui,sans-serif;font-size:clamp(24px,3.2vw,32px);color:var(--tsa-navy-d);margin:36px 0 12px}
.tsa-article h3{font-family:'Jost',system-ui,sans-serif;font-size:22px;color:var(--tsa-royal);margin:26px 0 10px}
.tsa-article ul,.tsa-article ol{margin:0 0 20px;padding-left:22px}
.tsa-article li{margin:0 0 8px;font-size:17px;line-height:1.65}
.tsa-article a{color:var(--tsa-royal);font-weight:600}
.tsa-article img{border-radius:14px;margin:22px 0}

/* Blog / archive grid (index.php). */
.ut-archive-wrap{max-width:1200px;margin:0 auto;padding:40px 22px 80px}
.ut-search-title{font-family:'Jost',system-ui,sans-serif;font-size:clamp(28px,5vw,46px);color:var(--tsa-navy-d);text-align:center;margin:20px 0 8px}
.ut-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:26px}
@media(max-width:900px){.ut-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ut-grid{grid-template-columns:1fr}}
.ut-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(43,63,87,.12);border-radius:16px;overflow:hidden;transition:transform .25s,box-shadow .25s;text-decoration:none;color:inherit}
.ut-card:hover{transform:translateY(-5px);box-shadow:0 26px 52px -28px rgba(27,40,54,.35)}
.ut-card-img{aspect-ratio:16/10;background:var(--tsa-navy);overflow:hidden}
.ut-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.ut-card-b{padding:22px 22px 24px;display:flex;flex-direction:column;gap:9px;flex:1}
.ut-card-cat{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tsa-royal)}
.ut-card h2{font-family:'Jost',system-ui,sans-serif;font-weight:600;font-size:21px;line-height:1.14;margin:0;color:var(--tsa-navy-d)}
.ut-card p{font-size:14.5px;color:rgba(35,49,64,.62);line-height:1.55;margin:0}
.ut-card-date{margin-top:auto;font-size:12.5px;color:rgba(35,49,64,.55)}
.ut-pager{display:flex;justify-content:center;gap:10px;margin-top:44px;flex-wrap:wrap}
.ut-pager a,.ut-pager span{padding:10px 16px;border:1px solid rgba(43,63,87,.14);border-radius:10px;text-decoration:none;color:var(--tsa-navy-d);font-weight:600}
.ut-pager .current{background:var(--tsa-navy);color:#fff;border-color:var(--tsa-navy)}
.ut-empty{text-align:center;color:rgba(35,49,64,.6);padding:60px 0}

/* ============================================================
   HORIZONTAL-OVERFLOW CONTAINMENT
   Avada's #wrapper used to clip overflow-x. With it gone, full-bleed
   marquee/ticker bands and off-screen skip links can push the page wider
   than the viewport (horizontal drag / white gutter on the right).
   overflow-x:clip (NOT hidden) contains it WITHOUT breaking the sticky
   mega-nav (position:sticky dies inside an overflow:hidden ancestor).
   ============================================================ */
html{overflow-x:clip}
body{overflow-x:clip;max-width:100vw}
.ut-content{overflow-x:clip}
/* belt-and-suspenders: clip known full-bleed bands + hide off-screen skip link */
.tsa-ticker-row,.tsa-marquee-wrap,.tsa-marquee{max-width:100vw}
.tsam-skip{left:auto}
