/*
Theme Name: Still Notes
Author: Still Notes
Description: A calm editorial WordPress theme for reflections, life writing, relationships, personal growth, and thoughtful lifestyle publishing. SEO-ready for Rank Math without duplicate meta/schema output.
Version: 1.5.4
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: still-notes
*/

:root {
  --sn-bg: #fbfaf6;
  --sn-card: #ffffff;
  --sn-text: #24231f;
  --sn-muted: #77756d;
  --sn-line: #e8e4db;
  --sn-sage: #7d8f71;
  --sn-sage-dark: #62715a;
  --sn-sage-soft: #eef1e8;
  --sn-beige: #f4f0e7;
  --sn-wrap: 1180px;
  --sn-radius: 16px;
  --sn-shadow: 0 10px 30px rgba(63, 55, 39, .05);
  --sn-serif: Georgia, "Times New Roman", serif;
  --sn-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--sn-bg);
  color: var(--sn-text);
  font-family: var(--sn-sans);
  font-size: var(--sn-body-size,16px);
  line-height: 1.7;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--sn-sage-dark); }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea { font: inherit; }

.sn-wrap { width: min(calc(100% - 40px), var(--sn-wrap)); margin-inline: auto; }
.sn-sr-only { position: absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Header */
.sn-site-header { background: rgba(251,250,246,.96); border-bottom: 1px solid var(--sn-line); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(10px); }
.sn-head-top { display:grid; grid-template-columns: 1fr minmax(280px, 420px) 1fr; gap: 24px; align-items:center; min-height: 78px; }
.sn-brand { font-family: var(--sn-serif); font-size: clamp(29px, 3vw, 42px); letter-spacing:-.03em; }
.sn-brand img { max-height: 54px; width:auto; }
.sn-search { position: relative; }
.sn-search input { width:100%; border:1px solid var(--sn-line); background:#fff; border-radius:10px; padding:12px 44px 12px 42px; outline:none; }
.sn-search input:focus { border-color:var(--sn-sage); box-shadow:0 0 0 3px rgba(125,143,113,.12); }
.sn-search-icon { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--sn-muted); }
.sn-head-actions { display:flex; justify-content:flex-end; align-items:center; gap:18px; font-size:14px; }
.sn-btn { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 20px; border-radius:8px; border:1px solid transparent; background:var(--sn-sage); color:#fff; font-weight:600; }
.sn-btn:hover { background:var(--sn-sage-dark); color:#fff; }
.sn-btn-light { background:transparent; color:var(--sn-text); border-color:var(--sn-line); }
.sn-primary-nav { border-top:1px solid var(--sn-line); }
.sn-primary-nav ul { list-style:none; margin:0; padding:0; display:flex; justify-content:center; gap:clamp(20px, 5vw, 64px); }
.sn-primary-nav a { display:block; padding:13px 0; font-family:var(--sn-serif); font-size:15px; }
.sn-menu-toggle { display:none; background:none; border:0; padding:10px; }

/* Hero */
.sn-home { padding: 18px 0 60px; }
.sn-feature { display:grid; grid-template-columns:1.2fr .95fr; gap:48px; align-items:center; margin-top:6px; }
.sn-feature.no-media { grid-template-columns:minmax(0,760px); justify-content:center; text-align:center; padding:28px 0 10px; }
.sn-feature.no-media .sn-excerpt { margin-inline:auto; }
.sn-feature-media { display:block; width:100%; aspect-ratio:16/10; overflow:hidden; border-radius:var(--sn-radius); background:var(--sn-beige); }
.sn-feature-media img { display:block; width:100%; height:100%; object-fit:cover; }
.sn-kicker { color:var(--sn-sage-dark); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.sn-feature h1 { margin:8px 0 14px; font-family:var(--sn-serif); font-size:clamp(38px, 5vw, 68px); line-height:1.02; letter-spacing:-.035em; font-weight:500; }
.sn-feature .sn-excerpt { font-family:var(--sn-serif); font-size:18px; line-height:1.55; color:#48463f; max-width:520px; }

/* Sections */
.sn-section { margin-top: 48px; }
.sn-section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:16px; }
.sn-section-title { margin:0; font-family:var(--sn-serif); font-size:clamp(28px, 3vw, 36px); font-weight:500; letter-spacing:-.025em; }
.sn-section-link { font-size:14px; color:var(--sn-sage-dark); white-space:nowrap; }
.sn-section-link::after { content:" →"; }

.sn-card-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px 18px; align-items:start; }
.sn-card { display:flex; flex-direction:column; align-self:start; width:100%; background:var(--sn-card); border:1px solid var(--sn-line); border-radius:var(--sn-radius); overflow:hidden; min-width:0; transition:.2s ease; }
.sn-card:hover { transform:translateY(-2px); box-shadow:var(--sn-shadow); }
.sn-card-thumb { display:block; width:100%; aspect-ratio:var(--sn-card-ratio,16/9); overflow:hidden; background:var(--sn-beige); }
.sn-card-thumb img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.sn-card:hover .sn-card-thumb img { transform:scale(1.025); }
.sn-card-body { padding:15px 16px 17px; }
.sn-card-no-thumb .sn-card-body { padding-top:18px; }
.sn-card-cat { color:var(--sn-sage-dark); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.sn-card h3 { margin:6px 0 8px; font-family:var(--sn-serif); font-size:clamp(19px,1.55vw,21px); line-height:1.18; font-weight:500; letter-spacing:-.015em; }
.sn-card h3 a { display:block; }
.sn-card p { margin:0; color:#5f5b52; font-family:var(--sn-serif); font-size:14px; line-height:1.48; }
.sn-card-excerpt { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }

.sn-discovery-row { display:grid; grid-template-columns:1.15fr .85fr; gap:54px; align-items:start; }
.sn-feeling-pills { display:flex; flex-wrap:wrap; gap:12px; }
.sn-pill { display:inline-flex; align-items:center; gap:8px; padding:10px 15px; border-radius:999px; background:var(--sn-sage-soft); border:1px solid #e5e9df; font-family:var(--sn-serif); font-size:14px; }
.sn-pill::before { content:"✦"; color:var(--sn-sage); font-size:12px; }
.sn-most-read { border-left:1px solid var(--sn-line); padding-left:36px; }
.sn-most-read ol { list-style:none; padding:0; margin:0; counter-reset:snrank; }
.sn-most-read li { counter-increment:snrank; display:grid; grid-template-columns:36px 1fr; gap:10px; padding:9px 0; border-bottom:1px solid var(--sn-line); }
.sn-most-read li::before { content:counter(snrank, decimal-leading-zero); color:var(--sn-sage-dark); font-size:13px; }
.sn-most-read a { font-family:var(--sn-serif); }

.sn-quiet { background:linear-gradient(135deg,var(--sn-quote-bg),#f7f5ef); border-radius:18px; padding:34px 52px; text-align:center; border:1px solid #eee7da; }
.sn-quiet blockquote { margin:0 auto; max-width:820px; font-family:var(--sn-serif); font-size:clamp(23px,3vw,34px); line-height:1.25; }
.sn-quiet blockquote::before { content:"“"; color:#c4b88e; margin-right:8px; }
.sn-quiet blockquote::after { content:"”"; color:#c4b88e; margin-left:8px; }

.sn-newsletter { background:var(--sn-newsletter-bg); border:1px solid #e2e7d9; border-radius:18px; padding:28px 34px; display:grid; grid-template-columns:1.05fr .95fr; gap:34px; align-items:center; }
.sn-newsletter h2 { margin:0 0 4px; font-family:var(--sn-serif); font-size:32px; font-weight:500; }
.sn-newsletter p { margin:0; color:#5f6259; }
.sn-newsletter-form form { display:flex; gap:10px; }
.sn-newsletter-form input[type="email"] { flex:1; min-width:0; border:1px solid #d9ded2; border-radius:9px; background:#fff; padding:12px 14px; }
.sn-newsletter-empty { color:var(--sn-muted); font-size:13px; }

/* Single */
.sn-content-wrap { width:min(calc(100% - 40px), 780px); margin:56px auto 80px; }
.sn-entry-header { text-align:center; margin-bottom:32px; }
.sn-entry-header .sn-kicker { display:block; margin-bottom:10px; }
.sn-entry-title { margin:0; font-family:var(--sn-serif); font-size:clamp(40px,6vw,70px); font-weight:500; line-height:1.05; letter-spacing:-.04em; }
.sn-entry-meta { margin-top:16px; color:var(--sn-muted); font-size:14px; }
.sn-entry-image { margin:34px auto; border-radius:14px; overflow:hidden; }
.sn-entry-content { font-family:var(--sn-serif); font-size:var(--sn-article-size,20px); line-height:var(--sn-article-line,1.82); }
.sn-entry-content h2,.sn-entry-content h3 { font-family:var(--sn-serif); line-height:1.2; margin-top:1.8em; }
.sn-entry-content blockquote { margin:1.6em 0; padding:0 0 0 22px; border-left:3px solid var(--sn-sage); color:#525047; }
.sn-entry-content a { color:var(--sn-sage-dark); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.sn-breadcrumbs { font-size:13px; color:var(--sn-muted); margin-bottom:24px; }

/* Archive */
.sn-archive { padding:46px 0 70px; }
.sn-archive-head { max-width:760px; margin-bottom:30px; }
.sn-archive-title { margin:0 0 8px; font-family:var(--sn-serif); font-weight:500; font-size:48px; }
.sn-pagination { margin-top:34px; display:flex; justify-content:center; }
.sn-pagination .nav-links { display:flex; gap:8px; flex-wrap:wrap; }
.sn-pagination a,.sn-pagination span { min-width:38px; height:38px; border-radius:8px; border:1px solid var(--sn-line); display:inline-flex; align-items:center; justify-content:center; }
.sn-pagination .current { background:var(--sn-sage); color:#fff; border-color:var(--sn-sage); }

/* Footer — About spans two rows; menu above social */
.sn-footer{border-top:1px solid var(--sn-line);padding:0;background:var(--sn-footer-bg)}
.sn-footer-shell{padding-top:40px}
.sn-footer-main{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.6fr);grid-template-areas:"about menu" "about social";gap:22px 64px;align-items:start;padding-bottom:34px}
.sn-footer-main-no-about{grid-template-columns:1fr;grid-template-areas:"menu" "social"}
.sn-footer-main-no-menu:not(.sn-footer-main-no-about) .sn-footer-social-block{grid-area:menu;padding-top:0;border-top:0}
.sn-footer-about{grid-area:about;max-width:420px;padding-right:10px}
.sn-footer-menu-block{grid-area:menu}
.sn-footer-social-block{grid-area:social;padding-top:20px;border-top:1px solid var(--sn-line)}
.sn-footer-title{margin:0 0 12px;font-family:var(--sn-serif);font-size:17px;line-height:1.2;font-weight:600;color:var(--sn-text)}
.sn-footer-about p{margin:0;max-width:390px;color:#65635c;font-size:13px;line-height:1.75}
.sn-footer-nav{min-width:0}
.sn-footer-menu{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:0;padding:0}
.sn-footer-menu li{margin:0;padding:0}
.sn-footer-menu a,.sn-social-link{font-size:13px;color:#59574f;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}
.sn-footer-menu a:hover,.sn-social-link:hover{color:var(--sn-sage-dark)}
.sn-footer-social{display:flex;align-items:center;flex-wrap:wrap;gap:9px 14px}
.sn-social-link{display:inline-flex;align-items:center;justify-content:center;min-height:32px}
.sn-social-link:not(.sn-social-gjw){padding:4px 0}
.sn-social-gjw{width:34px;height:34px;border-radius:50%;overflow:hidden;flex:0 0 34px}
.sn-social-gjw img{width:32px;height:32px;display:block;border-radius:50%}
.sn-social-gjw:hover{transform:translateY(-1px)}
.sn-footer-social-empty{margin:0;color:var(--sn-muted);font-size:12px}
.sn-footer-bottom{border-top:1px solid var(--sn-line);min-height:54px;display:flex;align-items:center;justify-content:center;text-align:center}
.sn-footer-copy{margin:0;color:var(--sn-muted);font-size:11px}

/* Floating Back to top — icon only, separate from footer */
.sn-back-to-top{position:fixed;right:22px;bottom:22px;z-index:80;width:44px;height:44px;border:1px solid color-mix(in srgb,var(--sn-sage) 30%,var(--sn-line));border-radius:50%;background:var(--sn-card);color:var(--sn-sage-dark);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(36,35,31,.12);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease,background .2s ease,color .2s ease}
.sn-back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.sn-back-to-top:hover{background:var(--sn-sage);color:#fff}
.sn-back-to-top:focus-visible{outline:3px solid color-mix(in srgb,var(--sn-sage) 25%,transparent);outline-offset:3px}

/* Comments */
.sn-comments-area { margin-top:64px; padding-top:38px; border-top:1px solid var(--sn-line); }
.sn-comments-head { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.sn-comments-head h2,.comment-reply-title { margin:0; font-family:var(--sn-serif); font-size:32px; line-height:1.15; font-weight:500; }
.sn-comments-head span { min-width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:var(--sn-sage-soft); color:var(--sn-sage-dark); font-size:12px; font-weight:700; }
.sn-comment-list,.sn-comment-list .children { list-style:none; margin:0; padding:0; }
.sn-comment-list .children { margin-left:62px; }
.sn-comment { margin:0; }
.sn-comment-card { display:grid; grid-template-columns:auto 1fr; gap:16px; padding:24px 0; border-bottom:1px solid var(--sn-line); }
.sn-comment-avatar img { border-radius:50%; }
.sn-comment-meta { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.sn-comment-author { font-family:var(--sn-serif); font-size:17px; font-weight:600; }
.sn-comment-meta time { color:var(--sn-muted); font-size:12px; }
.sn-comment-content { margin-top:8px; font-family:var(--sn-serif); font-size:16px; line-height:1.65; }
.sn-comment-content p { margin:0 0 10px; }
.sn-comment-reply { margin-top:8px; }
.sn-comment-reply a { color:var(--sn-sage-dark); font-size:12px; font-weight:700; }
.sn-awaiting { color:#956a36; font-size:13px; }
.comment-respond { margin-top:44px; background:var(--sn-card); border:1px solid var(--sn-line); border-radius:var(--sn-radius); padding:28px; }
.sn-comment-intro,.logged-in-as { color:var(--sn-muted); margin:8px 0 24px; font-size:14px; }
.sn-comment-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.comment-form p { margin:0 0 18px; }
.comment-form label { display:block; margin-bottom:7px; font-size:13px; font-weight:700; color:var(--sn-text); }
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea { width:100%; border:1px solid var(--sn-line); background:#fff; color:var(--sn-text); border-radius:10px; padding:12px 14px; outline:none; transition:.18s ease; }
.comment-form textarea { min-height:var(--sn-comment-height,170px); resize:vertical; }
.comment-form input:focus,.comment-form textarea:focus { border-color:var(--sn-sage); box-shadow:0 0 0 3px color-mix(in srgb,var(--sn-sage) 14%,transparent); }
.comment-form small { display:block; margin-top:6px; color:var(--sn-muted); font-size:11px; }
.comment-form .required { color:#a65b54; }
.comment-form .form-submit { margin:6px 0 0; display:flex; justify-content:flex-end; }
.sn-comment-submit { border:0; cursor:pointer; }
.sn-hp { position:absolute!important; left:-99999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.comment-navigation { margin:24px 0; }
.comment-navigation .nav-links { display:flex; justify-content:space-between; gap:20px; }

/* Article extras */
.sn-entry-meta,.sn-feature-meta,.sn-card-meta { display:flex; justify-content:center; gap:8px 14px; flex-wrap:wrap; color:var(--sn-muted); font-size:12px; }
.sn-card-meta { justify-content:flex-start; margin-top:10px; }
.sn-entry-tags { margin-top:36px; padding-top:22px; border-top:1px solid var(--sn-line); display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.sn-entry-tags>span { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--sn-muted); }
.sn-entry-tags a { padding:7px 11px; border-radius:999px; background:var(--sn-sage-soft); font-size:12px; }
.sn-author-box { margin-top:42px; padding:24px; border:1px solid var(--sn-line); border-radius:var(--sn-radius); background:var(--sn-card); display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start; }
.sn-author-box img { border-radius:50%; }
.sn-author-box h2 { font-family:var(--sn-serif); font-size:24px; margin:4px 0; font-weight:500; }
.sn-author-box p { margin:0; color:var(--sn-muted); font-size:14px; }
.sn-post-nav { margin-top:34px; padding:20px 0; border-block:1px solid var(--sn-line); display:grid; grid-template-columns:1fr 1fr; gap:20px; font-family:var(--sn-serif); }
.sn-post-nav>div:last-child { text-align:right; }
.sn-related { margin-top:52px; }
.sn-related .sn-card-grid { grid-template-columns:repeat(3,1fr); align-items:start; }
.sn-view-count { color:var(--sn-muted); font-size:11px; margin-left:auto; }
.sn-most-read li { grid-template-columns:36px 1fr auto; }
.sn-quiet h2 { margin:0 0 12px; font-family:var(--sn-serif); font-weight:500; }
.sn-quiet cite { display:block; margin-top:12px; color:var(--sn-muted); font-style:normal; font-size:13px; }
.sn-quiet.no-marks blockquote::before,.sn-quiet.no-marks blockquote::after { content:none; }
.sn-social-links { display:flex; flex-wrap:wrap; gap:8px 12px; }
.sn-social-links a { color:var(--sn-sage-dark); }

/* Responsive */
@media (max-width: 900px) {
  .sn-head-top { grid-template-columns:1fr auto; }
  .sn-search { grid-column:1/-1; grid-row:2; padding-bottom:14px; }
  .sn-head-actions .sn-about-link { display:none; }
  .sn-primary-nav ul { gap:24px; overflow-x:auto; justify-content:flex-start; padding-inline:20px; }
  .sn-feature { grid-template-columns:1fr; gap:24px; }
  .sn-feature h1 { font-size:48px; }
  .sn-card-grid { grid-template-columns:repeat(2,1fr); }
  .sn-discovery-row { grid-template-columns:1fr; gap:34px; }
  .sn-most-read { border-left:0; border-top:1px solid var(--sn-line); padding-left:0; padding-top:26px; }
  .sn-newsletter { grid-template-columns:1fr; }
  .sn-footer-main { grid-template-columns:minmax(220px,.9fr) minmax(0,1.35fr); gap:22px 38px; }
}
@media (max-width: 560px) {
  .sn-wrap { width:min(calc(100% - 28px), var(--sn-wrap)); }
  .sn-site-header { position:relative; }
  .sn-head-top { min-height:64px; grid-template-columns:1fr auto; gap:12px; }
  .sn-brand { font-size:30px; }
  .sn-head-actions .sn-btn { padding:0 14px; min-height:38px; }
  .sn-primary-nav { display:none; }
  .sn-primary-nav.is-open { display:block; }
  .sn-primary-nav ul { display:block; padding:8px 18px 14px; }
  .sn-primary-nav a { padding:9px 0; }
  .sn-menu-toggle { display:inline-block; }
  .sn-feature h1 { font-size:39px; }
  .sn-card-grid { grid-template-columns:1fr; }
  .sn-section { margin-top:38px; }
  .sn-quiet { padding:28px 22px; }
  .sn-newsletter { padding:24px 20px; }
  .sn-newsletter-form form { flex-direction:column; }
  .sn-footer-shell { padding-top:30px; }
  .sn-footer-main { grid-template-columns:1fr; grid-template-areas:"about" "menu" "social"; gap:26px; padding-bottom:28px; }
  .sn-footer-about { max-width:none; padding-right:0; }
  .sn-footer-social-block { padding-top:22px; }
  .sn-footer-bottom { min-height:50px; }
  .sn-back-to-top { right:14px; bottom:14px; width:42px; height:42px; }
  .sn-entry-content { font-size:18px; }
}

@media (max-width:900px){.sn-related .sn-card-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.sn-comment-fields{grid-template-columns:1fr}.comment-respond{padding:22px 18px}.sn-comment-list .children{margin-left:22px}.sn-comment-card{grid-template-columns:40px 1fr}.sn-related .sn-card-grid{grid-template-columns:1fr}.sn-post-nav{grid-template-columns:1fr}.sn-post-nav>div:last-child{text-align:left}}

/* =========================================================
   Pages & editorial tables — v1.2
   ========================================================= */
.sn-page-shell{width:min(calc(100% - 40px),var(--sn-page-width,860px));margin:54px auto 84px}
.sn-page-full{width:min(calc(100% - 40px),var(--sn-wrap))}
.sn-page-header{margin:0 auto 34px;max-width:820px}
.sn-page-header.is-center{text-align:center}
.sn-page-header.is-left{text-align:left;margin-left:0}
.sn-page-title{margin:0;font-family:var(--sn-serif);font-weight:500;font-size:clamp(42px,6vw,68px);line-height:1.06;letter-spacing:-.035em}
.sn-page-intro{max-width:700px;margin:16px auto 0;color:var(--sn-muted);font-family:var(--sn-serif);font-size:19px;line-height:1.65}
.sn-page-header.is-left .sn-page-intro{margin-left:0}
.sn-page-featured{margin:30px 0 38px;border-radius:calc(var(--sn-radius) + 2px);overflow:hidden;background:var(--sn-card)}
.sn-page-featured img{width:100%;display:block}
.sn-page-content{font-family:var(--sn-serif);font-size:19px;line-height:1.8;color:var(--sn-text)}
.sn-page-content-full{max-width:none}
.sn-page-content>*:first-child{margin-top:0}
.sn-page-content h2,.sn-page-content h3,.sn-page-content h4{font-family:var(--sn-serif);line-height:1.2;color:var(--sn-text);scroll-margin-top:100px}
.sn-page-content h2{font-size:32px;margin:1.8em 0 .65em}
.sn-page-content h3{font-size:25px;margin:1.6em 0 .55em}
.sn-page-content h4{font-size:20px;margin:1.4em 0 .5em}
.sn-page-content p,.sn-page-content ul,.sn-page-content ol{margin:0 0 1.25em}
.sn-page-content li+li{margin-top:.35em}
.sn-page-content a{color:var(--sn-sage-dark);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.sn-page-content blockquote{margin:1.8em 0;padding:24px 28px;border-left:0;border-radius:14px;background:var(--sn-quote-bg);font-size:1.08em;color:#504d44}
.sn-page-content hr{border:0;border-top:1px solid var(--sn-line);margin:42px 0}
.sn-page-content figure{margin:2em 0}
.sn-page-content figcaption{margin-top:8px;text-align:center;color:var(--sn-muted);font-family:var(--sn-sans);font-size:12px}
.sn-page-note{margin-top:46px;padding:22px 24px;border:1px solid var(--sn-line);border-radius:var(--sn-radius);background:var(--sn-sage-soft);display:flex;align-items:center;justify-content:space-between;gap:20px}
.sn-page-note strong{font-family:var(--sn-serif);font-size:22px;font-weight:500}.sn-page-note span{color:var(--sn-muted);font-size:14px}
.sn-page-style-card .sn-page-shell:not(.sn-page-full){background:var(--sn-card);border:1px solid var(--sn-line);border-radius:calc(var(--sn-radius) + 4px);padding:clamp(28px,5vw,56px);box-shadow:var(--sn-shadow)}
.sn-page-style-card .sn-page-shell .sn-breadcrumbs{margin-top:-10px}
.sn-page-style-plain .sn-page-shell{margin-top:40px}.sn-page-style-plain .sn-page-featured{border-radius:0}

/* Contact */
.sn-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:34px 0}
.sn-contact-card{padding:24px;border:1px solid var(--sn-line);border-radius:var(--sn-radius);background:var(--sn-card)}
.sn-contact-card h2{font-family:var(--sn-serif);font-weight:500;font-size:26px;margin:5px 0 10px}.sn-contact-card p{margin:0;color:var(--sn-muted);line-height:1.6}.sn-contact-card a{color:var(--sn-sage-dark)}
.sn-contact-form{margin-top:38px;padding:28px;border:1px solid var(--sn-line);border-radius:var(--sn-radius);background:var(--sn-card)}
.sn-contact-form>h2{font-family:var(--sn-serif);font-size:30px;font-weight:500;margin:0 0 20px}
.sn-contact-form input,.sn-contact-form textarea,.sn-contact-form select{width:100%;border:1px solid var(--sn-line);border-radius:10px;background:#fff;color:var(--sn-text);padding:12px 14px}

.sn-legal-updated{margin:12px 0 0;color:var(--sn-muted);font-size:13px}
.sn-page-legal{max-width:760px}.sn-page-legal .sn-page-content{font-size:17px;line-height:1.75}

/* Table wrapper: prevents wide tables from breaking mobile layouts. */
.sn-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;margin:1.8em 0;border-radius:12px;-webkit-overflow-scrolling:touch}
.sn-entry-content .sn-table-scroll,.sn-page-content .sn-table-scroll{font-family:var(--sn-sans);font-size:14px;line-height:1.5}
.sn-table-scroll table{width:100%;min-width:560px;margin:0;border-collapse:separate;border-spacing:0;background:var(--sn-card);color:var(--sn-text)}
.sn-table-scroll caption{caption-side:top;text-align:left;padding:0 0 10px;font-family:var(--sn-serif);font-size:16px;font-weight:600;color:var(--sn-text)}
.sn-table-scroll th,.sn-table-scroll td{padding:13px 15px;text-align:left;vertical-align:top;border-bottom:1px solid var(--sn-line)}
.sn-table-scroll th{font-weight:700;color:var(--sn-text);background:var(--sn-sage-soft);white-space:nowrap}
.sn-table-scroll tr:last-child td{border-bottom:0}
.sn-table-zebra .sn-table-scroll tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--sn-sage-soft) 42%,transparent)}
.sn-table-style-soft .sn-table-scroll{border:1px solid var(--sn-line);box-shadow:0 8px 24px rgba(63,55,39,.035)}
.sn-table-style-bordered .sn-table-scroll{border:1px solid var(--sn-line);border-radius:8px}.sn-table-style-bordered .sn-table-scroll th,.sn-table-style-bordered .sn-table-scroll td{border-right:1px solid var(--sn-line)}.sn-table-style-bordered .sn-table-scroll th:last-child,.sn-table-style-bordered .sn-table-scroll td:last-child{border-right:0}
.sn-table-style-minimal .sn-table-scroll{border-radius:0}.sn-table-style-minimal .sn-table-scroll table{background:transparent}.sn-table-style-minimal .sn-table-scroll th{background:transparent;border-top:2px solid var(--sn-text)}
.sn-table-compact .sn-table-scroll th,.sn-table-compact .sn-table-scroll td{padding:9px 11px;font-size:13px}
.sn-table-sticky .sn-table-scroll thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--sn-line)}
.wp-block-table{margin:1.8em 0}.wp-block-table .sn-table-scroll{margin:0}.wp-block-table figcaption{margin-top:8px}

/* Inputs and utility blocks inside Pages */
.sn-page-content input[type="text"],.sn-page-content input[type="email"],.sn-page-content input[type="search"],.sn-page-content input[type="url"],.sn-page-content textarea,.sn-page-content select{max-width:100%;border:1px solid var(--sn-line);border-radius:10px;background:#fff;color:var(--sn-text);padding:12px 14px;font-family:var(--sn-sans)}
.sn-page-content button,.sn-page-content input[type="submit"],.sn-contact-form input[type="submit"]{border:0;border-radius:9px;background:var(--sn-sage);color:#fff;padding:11px 18px;font-weight:700;cursor:pointer}

@media(max-width:700px){
  .sn-page-shell{width:min(calc(100% - 28px),var(--sn-page-width,860px));margin-top:34px;margin-bottom:60px}
  .sn-page-title{font-size:clamp(38px,12vw,52px)}.sn-page-intro{font-size:17px}.sn-page-content{font-size:18px}
  .sn-contact-grid{grid-template-columns:1fr}.sn-page-note{align-items:flex-start;flex-direction:column}
  .sn-table-scroll{margin-inline:-2px}.sn-table-scroll table{min-width:520px}.sn-table-scroll th,.sn-table-scroll td{padding:11px 12px}
}

/* =========================================================
   Single post sidebar — v1.3
   ========================================================= */
.sn-single-page{
  width:min(calc(100% - 40px),var(--sn-wrap));
  margin:48px auto 80px;
}
.sn-single-page>.sn-breadcrumbs{margin-bottom:30px}
.sn-single-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,var(--sn-sidebar-width,30%));
  grid-template-areas:
    "main sidebar"
    "comments sidebar";
  column-gap:clamp(34px,4.5vw,64px);
  row-gap:0;
  align-items:start;
}
.sn-single-layout.sidebar-left{
  grid-template-columns:minmax(250px,var(--sn-sidebar-width,30%)) minmax(0,1fr);
  grid-template-areas:
    "sidebar main"
    "sidebar comments";
}
.sn-single-layout.no-sidebar{display:block}
.sn-single-main{grid-area:main;min-width:0}
.sn-single-comments{grid-area:comments;min-width:0}
.sn-single-sidebar{grid-area:sidebar;min-width:0;align-self:stretch}
.sn-single-sidebar-inner{min-width:0}
.sn-single-sidebar-inner.is-sticky{position:sticky;top:108px}

/* Keep the single-post reading column calm even when the site container is wide. */
.sn-single-main .sn-entry-header{margin-inline:auto}
.sn-single-main .sn-entry-image{width:100%}

.sn-sidebar-widget{
  margin:0 0 22px;
  padding:22px;
  border:1px solid var(--sn-line);
  border-radius:var(--sn-radius);
  background:var(--sn-card);
  box-shadow:0 10px 28px rgba(63,55,39,.035);
}
.sn-sidebar-heading{margin-bottom:16px;padding-bottom:13px;border-bottom:1px solid var(--sn-line)}
.sn-sidebar-eyebrow{
  display:block;
  margin-bottom:4px;
  color:var(--sn-sage-dark);
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sn-sidebar-title{
  margin:0;
  font-family:var(--sn-serif);
  font-size:24px;
  line-height:1.15;
  font-weight:500;
  letter-spacing:-.02em;
}
.sn-sidebar-story-list{display:flex;flex-direction:column}
.sn-sidebar-story{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  gap:13px;
  padding:13px 0;
  border-bottom:1px solid var(--sn-line);
  align-items:start;
}
.sn-sidebar-story:first-child{padding-top:0}
.sn-sidebar-story:last-child{padding-bottom:0;border-bottom:0}
.sn-sidebar-story.no-thumb{grid-template-columns:1fr}
.sn-sidebar-thumb{
  display:block;
  width:84px;
  aspect-ratio:4/3;
  border-radius:10px;
  overflow:hidden;
  background:var(--sn-sage-soft);
}
.sn-sidebar-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.sn-sidebar-story h3,.sn-sidebar-latest-list h3{
  margin:0;
  font-family:var(--sn-serif);
  font-size:16px;
  line-height:1.28;
  font-weight:500;
}
.sn-sidebar-story h3 a,.sn-sidebar-latest-list h3 a{transition:color .18s ease}
.sn-sidebar-story h3 a:hover,.sn-sidebar-latest-list h3 a:hover{color:var(--sn-sage-dark)}
.sn-sidebar-story time,.sn-sidebar-latest-list time{
  display:block;
  margin-top:6px;
  color:var(--sn-muted);
  font-size:10px;
}
.sn-sidebar-latest-list{list-style:none;margin:0;padding:0}
.sn-sidebar-latest-list li{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  padding:13px 0;
  border-bottom:1px solid var(--sn-line);
}
.sn-sidebar-latest-list li:first-child{padding-top:0}
.sn-sidebar-latest-list li:last-child{padding-bottom:0;border-bottom:0}
.sn-sidebar-rank{
  min-width:28px;
  padding-top:1px;
  color:var(--sn-sage);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
}
.sn-sidebar-latest-list li.no-rank{grid-template-columns:1fr}

/* WordPress and Still Notes widgets placed in the Single Post Sidebar. */
.sn-sidebar-extra-widgets .sn-sidebar-widget:last-child{margin-bottom:0}
.sn-extra-widget>h2,.sn-extra-widget .widget-title{margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid var(--sn-line)}
.sn-extra-widget ul{list-style:none;margin:0;padding:0}
.sn-extra-widget li{padding:8px 0;border-bottom:1px solid var(--sn-line);font-family:var(--sn-serif);font-size:14px}
.sn-extra-widget li:last-child{border-bottom:0}
.sn-extra-widget p{font-size:13px;color:var(--sn-muted)}
.sn-extra-widget input[type="search"],.sn-extra-widget input[type="text"],.sn-extra-widget input[type="email"],.sn-extra-widget select{
  width:100%;border:1px solid var(--sn-line);border-radius:9px;background:#fff;color:var(--sn-text);padding:10px 12px
}
.sn-extra-widget button,.sn-extra-widget input[type="submit"]{border:0;border-radius:9px;background:var(--sn-sage);color:#fff;padding:10px 14px;cursor:pointer}

/* The old single wrapper is retained for backwards compatibility with cached markup,
   but v1.3 single.php uses .sn-single-page instead. */
.sn-single-page .sn-comments-area{margin-top:50px}

@media(max-width:980px){
  .sn-single-layout,.sn-single-layout.sidebar-left{
    grid-template-columns:minmax(0,1fr) minmax(240px,32%);
    column-gap:30px;
  }
  .sn-sidebar-widget{padding:18px}
  .sn-sidebar-story{grid-template-columns:74px minmax(0,1fr);gap:11px}
  .sn-sidebar-thumb{width:74px}
  .sn-sidebar-title{font-size:21px}
}
@media(max-width:800px){
  .sn-single-page{width:min(calc(100% - 28px),var(--sn-wrap));margin-top:34px}
  .sn-single-layout,.sn-single-layout.sidebar-left{
    display:grid;
    grid-template-columns:1fr;
    grid-template-areas:
      "main"
      "sidebar"
      "comments";
    gap:0;
  }
  .sn-single-sidebar{margin-top:44px}
  .sn-single-sidebar-inner.is-sticky{position:static}
  .sn-sidebar-story-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
  .sn-sidebar-story:nth-last-child(-n+2){border-bottom:0}
  .sn-sidebar-latest-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
}
@media(max-width:560px){
  .sn-single-page{width:min(calc(100% - 28px),var(--sn-wrap))}
  .sn-sidebar-widget{padding:18px 16px}
  .sn-sidebar-story-list,.sn-sidebar-latest-list{display:block}
  .sn-sidebar-story:nth-last-child(-n+2){border-bottom:1px solid var(--sn-line)}
  .sn-sidebar-story:last-child{border-bottom:0}
  .sn-single-sidebar{margin-top:36px}
  .sn-single-page .sn-comments-area{margin-top:42px}
}


/* =========================================================
   Typography controls — v1.5.1
   Font family may be global; sizes are independent by area.
   ========================================================= */
.sn-brand{font-size:var(--sn-brand-text-size,42px)}
.sn-primary-nav a{font-size:var(--sn-menu-size,15px)}
.sn-feature h1{font-size:var(--sn-featured-title-size,68px)}
.sn-feature .sn-excerpt{font-size:var(--sn-featured-excerpt-size,18px)}
.sn-section-title{font-size:var(--sn-section-title-size,36px)}
.sn-card h3{font-size:var(--sn-card-title-size,21px)}
.sn-card p{font-size:var(--sn-card-excerpt-size,14px)}
.sn-quiet blockquote{font-size:var(--sn-quiet-quote-size,34px)}
.sn-newsletter h2{font-size:var(--sn-newsletter-title-size,32px)}
.sn-archive-title{font-size:var(--sn-archive-title-size,48px)}
.sn-entry-title{font-size:var(--sn-article-title-size,70px)}
.sn-entry-content{font-size:var(--sn-article-size,20px)}
.sn-entry-content h2{font-size:var(--sn-article-h2-size,32px)}
.sn-entry-content h3{font-size:var(--sn-article-h3-size,26px)}
.sn-entry-content h4{font-size:var(--sn-article-h4-size,22px);font-family:var(--sn-serif);line-height:1.2;margin-top:1.6em}
.sn-page-title{font-size:var(--sn-page-title-size,68px)}
.sn-page-content,.sn-page-legal .sn-page-content{font-size:var(--sn-page-content-size,19px)}
.sn-page-content h2{font-size:var(--sn-page-h2-size,32px)}
.sn-page-content h3{font-size:var(--sn-page-h3-size,25px)}
.sn-page-content h4{font-size:var(--sn-page-h4-size,20px)}
.sn-sidebar-title{font-size:var(--sn-sidebar-title-size,24px)}
.sn-sidebar-story h3,.sn-sidebar-latest-list h3{font-size:var(--sn-sidebar-post-size,16px)}
.sn-comments-head h2,.comment-reply-title{font-size:var(--sn-comment-heading-size,32px)}
.sn-comment-content{font-size:var(--sn-comment-text-size,16px)}
.sn-footer-title{font-size:var(--sn-footer-title-size,17px)}
.sn-footer-about p,.sn-footer-menu a,.sn-social-link,.sn-footer-social-empty,.sn-footer-copy{font-size:var(--sn-footer-text-size,13px)}

/* Keep custom desktop sizes responsive without silently coupling areas together. */
@media(max-width:900px){
  .sn-feature h1{font-size:min(var(--sn-featured-title-size,68px),48px)}
  .sn-entry-title{font-size:min(var(--sn-article-title-size,70px),56px)}
  .sn-page-title{font-size:min(var(--sn-page-title-size,68px),56px)}
}
@media(max-width:560px){
  .sn-brand{font-size:min(var(--sn-brand-text-size,42px),30px)}
  .sn-feature h1{font-size:min(var(--sn-featured-title-size,68px),39px)}
  .sn-section-title{font-size:min(var(--sn-section-title-size,36px),32px)}
  .sn-entry-title{font-size:min(var(--sn-article-title-size,70px),44px)}
  .sn-page-title{font-size:min(var(--sn-page-title-size,68px),44px)}
  .sn-entry-content{font-size:min(var(--sn-article-size,20px),20px)}
  .sn-page-content,.sn-page-legal .sn-page-content{font-size:min(var(--sn-page-content-size,19px),19px)}
  .sn-sidebar-title{font-size:min(var(--sn-sidebar-title-size,24px),22px)}
}
