/*
Theme Name: Samai Valley
Author: Samai Valley
Description: Custom lightweight blog theme matching the Samai Valley website.
Version: 1.2.0
*/
:root{--bg:#f7f7f4;--surface:#fff;--ink:#101014;--muted:#686872;--line:#e7e7e2;--accent:#6d43f2;--max:1180px;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 40px),var(--max));margin:auto}
.sv-header{position:sticky;top:0;z-index:50;background:rgba(247,247,244,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,16,20,.06)}.sv-header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.sv-logo,.sv-footer-brand{font-size:24px;font-weight:800;letter-spacing:-.06em}.sv-logo span,.sv-footer-brand span{font-weight:500}.sv-nav{display:flex;gap:28px;align-items:center;font-size:14px;font-weight:600}.sv-nav a:hover{opacity:.65}.sv-cta{display:inline-flex;padding:12px 18px;border-radius:999px;background:var(--ink);color:#fff;font-weight:700;font-size:13px}.sv-menu-toggle{display:none;border:0;background:transparent;font-size:26px}
.sv-hero{padding:105px 0 80px;text-align:center}.sv-eyebrow{display:inline-flex;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sv-hero h1{max-width:900px;margin:20px auto 18px;font-size:clamp(42px,7vw,78px);line-height:.98;letter-spacing:-.065em}.sv-hero p{max-width:690px;margin:auto;color:var(--muted);font-size:18px}
.sv-section{padding:70px 0}.sv-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.sv-section-head h2{margin:0;font-size:clamp(30px,4vw,48px);line-height:1.05;letter-spacing:-.055em}.sv-section-head p{max-width:540px;color:var(--muted);margin:0}
.sv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.sv-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.25s}.sv-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(16,16,20,.08)}.sv-card-image{aspect-ratio:16/9;background:#e9e9e4;overflow:hidden}.sv-card-image img{width:100%;height:100%;object-fit:cover}.sv-card-body{padding:24px}.sv-meta{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.sv-card h2{margin:10px 0;font-size:23px;line-height:1.15;letter-spacing:-.035em}.sv-card p{color:var(--muted);font-size:14px}.sv-read{font-size:13px;font-weight:800}
.sv-single{padding:80px 0 100px}.sv-single-head{max-width:900px;margin:0 auto 48px}.sv-single-head h1{font-size:clamp(42px,6vw,72px);line-height:1;letter-spacing:-.06em;margin:10px 0 20px}.sv-single-head p{font-size:18px;color:var(--muted)}.sv-featured{max-width:1100px;margin:0 auto 52px;border-radius:28px;overflow:hidden;background:#e9e9e4}.sv-featured img{width:100%;max-height:620px;object-fit:cover}.sv-content{max-width:780px;margin:auto;font-size:18px}.sv-content h2{font-size:34px;line-height:1.15;letter-spacing:-.04em;margin:48px 0 16px}.sv-content h3{font-size:25px;line-height:1.2;margin:34px 0 12px}.sv-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.sv-content blockquote{margin:30px 0;padding:22px 26px;border-left:4px solid var(--accent);background:#fff;border-radius:0 16px 16px 0}
.sv-pagination{display:flex;justify-content:center;gap:8px;margin-top:45px}.sv-pagination .page-numbers{padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:14px}.sv-pagination .current{background:var(--ink);color:#fff}
.sv-footer{margin-top:50px;background:var(--ink);color:#fff;padding:70px 0 30px}.sv-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}.sv-footer h3{font-size:14px}.sv-footer p,.sv-footer a{color:#bdbdc7;font-size:14px}.sv-footer a:hover{color:#fff}.sv-footer-bottom{display:flex;justify-content:space-between;margin-top:55px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:#92929d;font-size:12px}.sv-empty{text-align:center;padding:100px 20px}.sv-empty h1{font-size:48px}
@media(max-width:850px){.sv-nav{display:none;position:absolute;left:20px;right:20px;top:74px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 18px 45px #0002;flex-direction:column;align-items:stretch}.sv-nav.is-open{display:flex}.sv-menu-toggle{display:block}.sv-header .sv-cta{display:none}.sv-grid{grid-template-columns:1fr 1fr}.sv-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.container{width:min(calc(100% - 28px),var(--max))}.sv-header-inner{min-height:72px}.sv-hero{padding:75px 0 55px}.sv-section{padding:50px 0}.sv-grid{grid-template-columns:1fr}.sv-section-head{display:block}.sv-section-head p{margin-top:14px}.sv-single{padding:55px 0 70px}.sv-footer-grid{grid-template-columns:1fr}.sv-footer-bottom{display:block}}

/* Article table of contents */
.sv-article-layout{display:grid;grid-template-columns:minmax(0,780px) 260px;gap:70px;align-items:start;max-width:1120px;margin:0 auto}
.sv-article-main{min-width:0}
.sv-toc-desktop{position:sticky;top:110px}
.sv-toc-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.sv-toc-list{margin:0;padding:0;list-style:none;border-left:1px solid var(--line)}
.sv-toc-list li{margin:0}
.sv-toc-list a{display:block;padding:8px 0 8px 14px;color:var(--muted);font-size:13px;line-height:1.35}
.sv-toc-list a:hover{color:var(--ink)}
.sv-toc-list .toc-h3 a{padding-left:28px;font-size:12px}
.sv-mobile-toc-trigger,.sv-mobile-toc{display:none}
.sv-toc-overlay{display:none}

@media(max-width:950px){
  .sv-article-layout{display:block;max-width:780px}
  .sv-toc-desktop{display:none}
  .sv-mobile-toc-trigger{
    display:flex;position:fixed;right:22px;bottom:24px;width:62px;height:62px;
    align-items:center;justify-content:center;border:0;border-radius:20px;
    background:#101014;color:#fff;box-shadow:0 12px 30px rgba(16,16,20,.28);
    cursor:pointer;z-index:1001;font-size:25px
  }
  .sv-mobile-toc-trigger span{font-size:24px;line-height:1}
  .sv-mobile-toc{
    position:fixed;left:50%;bottom:82px;width:min(88vw,520px);max-height:70vh;
    transform:translate(-50%,20px);opacity:0;visibility:hidden;
    background:#202b37;color:#dfe7ef;border:1px solid #3a4755;border-radius:20px;
    box-shadow:0 25px 70px rgba(0,0,0,.35);overflow:auto;z-index:1000;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease
  }
  .sv-mobile-toc.is-open{opacity:1;visibility:visible;transform:translate(-50%,0)}
  .sv-mobile-toc-head{padding:22px 22px 14px;font-weight:700;font-size:16px}
  .sv-mobile-toc-list{list-style:none;margin:0;padding:0 0 10px}
  .sv-mobile-toc-list a{display:block;padding:13px 22px;color:#dfe7ef;font-size:15px;line-height:1.35}
  .sv-mobile-toc-list a:hover{background:#2a3743}
  .sv-mobile-toc-list .toc-h3 a{padding-left:38px;font-size:14px}
  .sv-toc-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.22);z-index:999;opacity:0;visibility:hidden;pointer-events:none;transition:.2s}
  .sv-toc-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
}
