/* Leisure Stacking — redesign prototype. Black / white / one violet. Light+dark via prefers-color-scheme only. */
:root{
  color-scheme: light dark;
  --bg:#ffffff; --fg:#0b0b0c; --muted:#5d5d66; --line:#e6e6e9; --soft:#f4f4f5;
  --accent:#7a5af8;            /* 4.52:1 on #fff */
  --on-accent:#ffffff;
  --bar-h:56px; --tab-h:58px;
  --radius:14px; --max:1200px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0b0b0c; --fg:#ffffff; --muted:#a3a3ad; --line:#232327; --soft:#161618;
         --accent:#8f75ff; --on-accent:#0b0b0c; }        /* 5.77:1 on #0b0b0c */
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;line-height:1.5;
     -webkit-font-smoothing:antialiased;padding-top:var(--bar-h)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ---------- top bar ---------- */
.topbar{position:fixed;inset:0 0 auto 0;height:var(--bar-h);z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);
        -webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line)}
.topbar .wrap{height:100%;display:flex;align-items:center;gap:28px}
.logo{display:inline-flex;align-items:center;gap:10px;flex:none;padding:6px;margin-left:-6px}
.logo svg{width:28px;height:28px}
.logo .ink{fill:var(--fg)} .logo .acc{fill:var(--accent)}
.logo-word{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--muted);display:none}
@media (min-width:1000px){.logo-word{display:inline}}
.nav{display:flex;gap:4px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{position:relative;padding:8px 12px;font-size:15px;font-weight:500;color:var(--muted);border-radius:999px;white-space:nowrap;transition:color .15s,background .15s}
.nav a:hover{color:var(--fg);background:var(--soft)}
.nav a[aria-current]{color:var(--fg)}
.nav a[aria-current]::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--accent)}
.nav .ico{display:none}

/* ---------- feature (newest post) ---------- */
.feature{margin:28px 0 8px}
.feature a{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center}
.feature .media{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--soft);aspect-ratio:16/10}
.feature .media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
@media (hover:hover){.feature a:hover .media img{transform:scale(1.02)}}
.feature a:focus-visible .media img{transform:scale(1.02)}
.kicker{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.kicker .cat{color:var(--accent)}
.kicker time{color:var(--muted);letter-spacing:.02em;text-transform:none;font-weight:500;font-size:13px}
.feature :is(h1,h2){font-size:clamp(28px,3.6vw,46px);line-height:1.08;letter-spacing:-.025em;margin:14px 0 14px;font-weight:700;text-wrap:balance}
.feature p{margin:0;color:var(--muted);font-size:17px;line-height:1.55;max-width:46ch}
.feature .read{display:inline-flex;margin-top:22px;font-weight:600;font-size:15px;color:var(--accent)}
@media (hover:hover){.feature a:hover :is(h1,h2){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--accent)}}
.feature a:focus-visible :is(h1,h2){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--accent)}

/* ---------- list of posts ---------- */
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:48px 0 18px;padding-top:20px;border-top:1px solid var(--line)}
.section-head h2{margin:0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:36px 24px}
.card a{display:flex;flex-direction:column;gap:12px;height:100%}
.card .thumb{border-radius:12px;overflow:hidden;background:var(--soft);aspect-ratio:4/3}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
@media (hover:hover){.card a:hover .thumb img{transform:scale(1.03)}}
.card a:focus-visible .thumb img{transform:scale(1.03)}
.card h3{margin:0;font-size:17px;line-height:1.3;letter-spacing:-.01em;font-weight:650;text-wrap:pretty}
@media (hover:hover){.card a:hover h3{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent)}}
.card a:focus-visible h3{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent)}
.card .kicker{font-size:11px}
.card .kicker time{font-size:12px}
main{padding-bottom:72px}
.more-wrap{display:flex;justify-content:center;margin:48px 0 0}
.btn{appearance:none;border:1px solid var(--fg);background:transparent;color:var(--fg);font:inherit;font-weight:600;font-size:15px;
     padding:12px 26px;border-radius:999px;cursor:pointer;display:inline-flex;gap:8px;align-items:center;transition:background .15s,color .15s}
@media (hover:hover){.btn:hover{background:var(--fg);color:var(--bg)}}
.btn:focus-visible{background:var(--fg);color:var(--bg)}
.btn[hidden]{display:none}

/* ---------- category page ---------- */
.cat-head{padding:44px 0 8px}
.cat-head .eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.cat-head h1{font-size:clamp(36px,6vw,64px);letter-spacing:-.035em;line-height:1;margin:10px 0 16px}
.cat-head p{color:var(--muted);max-width:62ch;margin:0;font-size:17px}
.cat-head .count{margin-top:14px;font-size:14px;color:var(--muted)}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:14px}
.foot .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.foot nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.foot a:hover{color:var(--fg)}
.foot .copy{margin-left:auto}

/* ---------- small screens (any input) ---------- */
@media (max-width:639px){
  .wrap{padding:0 16px}
  .topbar .wrap{gap:12px}
  .nav a{padding:8px 9px;font-size:14px}
  .feature{margin:0 -16px 0}
  .feature a{display:block}
  /* newest story = roughly the top third of a phone screen: text sits on the image */
  .feature a{position:relative;display:block;height:clamp(250px,34svh,320px);overflow:hidden;background:#0b0b0c}
  .feature .media{position:absolute;inset:0;border-radius:0;aspect-ratio:auto}
  .feature .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,12,0) 22%,rgba(11,11,12,.55) 52%,rgba(11,11,12,.92) 100%)}
  .feature .body{position:absolute;left:0;right:0;bottom:0;padding:0 16px 16px;color:#fff}
  .feature .kicker .cat{color:#fff}
  .feature .kicker time{color:rgba(255,255,255,.82)}
  .feature :is(h1,h2){font-size:23px;line-height:1.12;margin:6px 0 6px;color:#fff}
  .feature p{font-size:14px;line-height:1.45;color:rgba(255,255,255,.86);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .feature .read{display:none}
  .section-head{margin:26px 0 6px;padding-top:16px}
  .grid{grid-template-columns:1fr;gap:0}
  .card a{flex-direction:row-reverse;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
  .card .thumb{flex:none;width:92px;aspect-ratio:1;border-radius:10px}
  .card .txt{flex:1;display:flex;flex-direction:column;gap:6px}
  .card h3{font-size:16px}
  .cat-head{padding:22px 0 18px}
  .cat-head h1{font-size:40px;margin:6px 0 10px}
  .cat-head p{font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .cat-head .count{margin-top:8px}
  main{padding-bottom:40px}
  .more-wrap{margin:28px 0 0}
  .foot .copy{margin-left:0}
}
.card .txt{display:flex;flex-direction:column;gap:8px}

/* ---------- narrow screens (<640px, touch phones and narrow desktop windows): fixed bottom tab bar; top bar = logo + search ---------- */
@media (max-width:639px){
  :root{--bar-h:52px}
  .topbar .nav{position:fixed;left:0;right:0;bottom:0;top:auto;margin:0;z-index:60;
    display:grid;grid-template-columns:repeat(6,1fr);gap:0;overflow:visible;
    height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding:0 max(4px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(4px,env(safe-area-inset-left));
    background:color-mix(in srgb,var(--bg) 96%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);
    border-top:1px solid var(--line);transform:none;will-change:auto}
  .topbar .nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:var(--tab-h);
    padding:0;border-radius:0;font-size:11px;font-weight:600;letter-spacing:.01em;min-width:0}
  .topbar .nav a:hover{background:none}
  .topbar .nav .ico{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .topbar .nav a[aria-current]{color:var(--accent)}
  .topbar .nav a[aria-current]::after{display:none}
  /* backdrop-filter on an ancestor would trap the fixed tab bar, so the top bar goes solid here */
  .topbar{background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none}
  body{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* =================================================================== single article */
:root{--measure:680px;--read:19px}
.post{padding-top:24px}
.post-head{max-width:var(--measure);margin:28px auto 0}
.post-head .kicker{gap:12px}
.post-head .kicker a.cat{color:var(--accent)}
.post-head .kicker a.cat:hover{text-decoration:underline;text-underline-offset:3px}
.post-head h1{font-size:clamp(32px,4.4vw,52px);line-height:1.06;letter-spacing:-.03em;margin:14px 0 16px;font-weight:750;text-wrap:balance}
.post-meta{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--muted);font-weight:500}
.aff-note{max-width:var(--measure);margin:40px auto 0;padding-top:18px;border-top:1px solid var(--line)}
.aff-note p{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}
/* featured image first: fixed 16:9 on every article so it never moves */
.post-hero{margin:0 auto;max-width:840px;border-radius:18px;overflow:hidden;background:var(--soft);aspect-ratio:16/9}
.post-hero img{display:block;width:100%;height:100%;object-fit:cover}

/* reading column — targets plain WordPress block markup (the_content), no rewriting */
.entry-content{max-width:var(--measure);margin:32px auto 0;font-size:var(--read);line-height:1.72;font-feature-settings:"kern","liga","calt"}
.entry-content > *{margin-top:0;margin-bottom:1.15em}
.entry-content p{text-wrap:pretty;hanging-punctuation:first}
.entry-content a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}
.entry-content a:hover{color:var(--accent)}
.entry-content strong{font-weight:650}
.entry-content h2{font-size:clamp(25px,2.4vw,30px);line-height:1.18;letter-spacing:-.02em;font-weight:720;margin:2.1em 0 .6em;text-wrap:balance}
.entry-content h3{font-size:clamp(20px,1.8vw,22px);line-height:1.3;letter-spacing:-.01em;font-weight:680;margin:1.7em 0 .45em;text-wrap:balance}
.entry-content h2 + h3{margin-top:.9em}
.entry-content ul,.entry-content ol{padding-left:1.3em}
.entry-content li{margin:.45em 0;padding-left:.25em}
.entry-content ul li::marker{color:var(--accent);font-size:1.1em}
.entry-content ol li::marker{color:var(--accent);font-weight:700}
/* pasted inline styles (e.g. <span style="font-family:-apple-system…;color:initial">) must not override the theme */
.entry-content span[style]{font:inherit!important;color:inherit!important}

/* images + captions: break slightly out of the column on wide screens */
.entry-content figure{margin:2.2em 0}
.entry-content .wp-block-image img{width:100%;height:auto;border-radius:14px;background:var(--soft)}
.entry-content figcaption{margin-top:10px;font-size:14px;line-height:1.45;color:var(--muted);text-align:left}
@media (min-width:1000px){
  .entry-content .wp-block-image,.entry-content .wp-block-embed{margin-left:-80px;margin-right:-80px}
  .entry-content .wp-block-image figcaption{padding:0 80px}
}

/* blockquotes as pull quotes (core/quote and core/pullquote) */
.entry-content blockquote,.entry-content .wp-block-pullquote{position:relative;margin:2.2em 0;padding:0 0 0 0;border:0}
.entry-content blockquote::before{content:"";display:block;width:44px;height:4px;border-radius:2px;background:var(--accent);margin-bottom:18px}
.entry-content blockquote p{font-size:clamp(24px,2.6vw,30px);line-height:1.28;letter-spacing:-.02em;font-weight:650;margin:0;text-wrap:balance}
.entry-content blockquote p:has(> cite:only-child),.entry-content blockquote cite{font-size:14px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;font-weight:600;font-style:normal;color:var(--muted)}
.entry-content blockquote p:has(> cite:only-child){margin-top:14px}
.entry-content blockquote cite::before{content:"— "}
.entry-content blockquote{padding:4px 0 0}

/* responsive 16:9 embeds, lite placeholder */
.entry-content .wp-block-embed__wrapper,.ls-yt{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000}
.entry-content iframe{display:block;width:100%;height:100%;aspect-ratio:16/9;border:0}
.ls-yt-btn{all:unset;cursor:pointer;position:absolute;inset:0;display:block}
.ls-yt-btn img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,filter .2s}
.ls-yt-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.7))}
.ls-yt-play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:var(--accent);z-index:1;box-shadow:0 8px 30px rgba(0,0,0,.35);transition:transform .2s}
.ls-yt-play::before{content:"";position:absolute;left:29px;top:22px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #fff}
.ls-yt-title{position:absolute;left:18px;right:18px;bottom:14px;z-index:1;color:#fff;font-size:15px;font-weight:600;line-height:1.3}
.ls-yt-btn:hover .ls-yt-play,.ls-yt-btn:focus-visible .ls-yt-play{transform:scale(1.08)}
.ls-yt-btn:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}

/* affiliate links + product CTA */
.entry-content a.ls-aff{font-weight:600}
.entry-content a.ls-aff::after{content:"↗";font-size:.75em;margin-left:2px;vertical-align:.25em;text-decoration:none;display:inline-block;color:var(--accent)}
.ls-buy{display:grid;gap:10px;margin:-.2em 0 1.6em}
.entry-content a.ls-buy-btn{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;
  text-decoration:none;color:var(--fg);background:var(--bg);transition:border-color .15s,background .15s}
.entry-content a.ls-buy-btn:hover{border-color:var(--accent);background:var(--soft);color:var(--fg)}
.ls-buy-name{font-weight:650;font-size:17px;line-height:1.3}
.ls-buy-cta{flex:none;font-size:14px;font-weight:650;color:var(--on-accent);background:var(--accent);padding:8px 14px;border-radius:999px;white-space:nowrap}

/* Rank Math FAQ block */
.entry-content .rank-math-list{display:grid;gap:12px}
.entry-content .rank-math-list-item{border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.entry-content .rank-math-question{margin:0 0 .4em;font-size:18px}
.entry-content .rank-math-answer p{margin:0;font-size:.92em;color:var(--muted)}

/* end-of-article strips */
.strip{margin-top:64px}
.strip .section-head{margin:0 0 18px}
.strip-all{font-size:14px;font-weight:600;color:var(--accent)}
.strip-all:hover{text-decoration:underline;text-underline-offset:3px}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media (max-width:639px){
  :root{--read:18px}
  .post{padding-top:0}
  .post-head h1{font-size:31px;margin:10px 0 12px}
  .post-hero{margin:0 -16px;border-radius:0;aspect-ratio:16/9}
  .post-head{margin-top:18px}
  .aff-note{margin-top:28px}
  .entry-content{margin-top:28px;line-height:1.66}
  .entry-content h2{font-size:24px}
  .entry-content h3{font-size:19px}
  .entry-content blockquote p{font-size:23px}
  .entry-content .wp-block-image{margin-left:-16px;margin-right:-16px}
  .entry-content .wp-block-image img{border-radius:0}
  .entry-content .wp-block-image figcaption{padding:0 16px}
  .ls-yt-play{width:60px;height:60px;margin:-30px 0 0 -30px}
  .ls-yt-play::before{left:24px;top:18px;border-width:12px 0 12px 19px}
  .entry-content a.ls-buy-btn{flex-direction:column;align-items:flex-start;gap:10px}
  .strip{margin-top:44px}
  .grid-4{grid-template-columns:1fr}
}

/* =================================================================== search (top bar toggle + forms) */
.search-toggle{flex:none;margin-left:4px;position:static}
.search-toggle>summary{list-style:none;display:grid;place-items:center;width:40px;height:40px;border-radius:999px;cursor:pointer;color:var(--fg)}
.search-toggle>summary::-webkit-details-marker{display:none}
.search-toggle>summary:hover{background:var(--soft)}
.search-toggle>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.search-toggle svg,.sf-ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.search-toggle[open]>summary{background:var(--soft)}
.search-panel{position:absolute;left:0;right:0;top:100%;z-index:55;background:var(--bg);border-bottom:1px solid var(--line);padding:14px 0 16px;box-shadow:0 18px 40px -24px rgba(0,0,0,.35)}
.search-panel .wrap{max-width:760px;display:block;height:auto}
.search-form{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:999px;padding:4px 4px 4px 16px;background:var(--bg);transition:border-color .15s}
.search-form:focus-within{border-color:var(--accent)}
.sf-ico{display:flex;color:var(--muted)}
.search-form input{flex:1;min-width:0;border:0;background:transparent;color:var(--fg);font:inherit;font-size:17px;padding:10px 4px;outline:none}
.search-form input::placeholder{color:var(--muted)}
.search-form input::-webkit-search-cancel-button{filter:grayscale(1)}
.sf-go{flex:none;border:0;border-radius:999px;background:var(--fg);color:var(--bg);font:inherit;font-weight:600;font-size:14px;padding:10px 18px;cursor:pointer}
.sf-go:hover{background:var(--accent);color:var(--on-accent)}
.search-form.big{max-width:680px}
.search-form.big input{font-size:20px}
.search-form.inline{max-width:520px;margin:18px 0 0}

/* =================================================================== archive variants */
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:36px}
@media (max-width:900px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cat-head + .feature{margin-top:28px}
.pagination{display:flex;align-items:center;justify-content:center;gap:10px 16px;flex-wrap:wrap;margin:56px 0 32px;font-size:15px;font-weight:600}
.pg-nums{display:flex;gap:6px}
.pagination a{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:999px;color:var(--muted);border:1px solid transparent}
@media (hover:hover){.pagination a:hover{color:var(--fg);background:var(--soft)}}
.pagination a:focus-visible{color:var(--fg);background:var(--soft)}
.pagination a[aria-current="page"]{color:var(--bg);background:var(--fg)}
.pagination .pg-step{color:var(--fg);border-color:var(--line);white-space:nowrap;padding:0 16px}
.empty-state{padding:40px 0 8px;max-width:680px}
.empty-big{font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.02em;margin:0 0 8px}
.empty-state>p{color:var(--muted);margin:0}
.chips{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.chips a{display:inline-flex;padding:9px 16px;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:15px}
@media (hover:hover){.chips a:hover{border-color:var(--accent);color:var(--accent)}}
.chips a:focus-visible{border-color:var(--accent);color:var(--accent)}

/* =================================================================== search results */
.search-head{padding:40px 0 8px}
.search-head .eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.search-head .count{color:var(--muted);font-size:15px;margin:14px 0 0}
.results{list-style:none;margin:28px 0 0;padding:0;max-width:820px;border-top:1px solid var(--line)}
.result a{display:flex;gap:24px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--line)}
.result .txt{flex:1;display:flex;flex-direction:column;gap:8px}
.result h2{margin:0;font-size:21px;line-height:1.25;letter-spacing:-.015em}
.result p{margin:0;color:var(--muted);font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.result .thumb{flex:none;width:132px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--soft)}
.result .thumb img{width:100%;height:100%;object-fit:cover}
@media (hover:hover){.result a:hover h2{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent)}}
.result a:focus-visible h2{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent)}

/* =================================================================== 404 */
.nf{padding:64px 0 8px;max-width:680px}
.nf-mark svg{width:56px;height:56px}.nf-mark .ink{fill:var(--fg)}.nf-mark .acc{fill:var(--accent)}
.nf .eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:22px 0 8px}
.nf h1{font-size:clamp(34px,5vw,56px);line-height:1.04;letter-spacing:-.035em;margin:0 0 14px}
.nf-lead{color:var(--muted);font-size:18px;margin:0}

/* =================================================================== standard pages */
.std-page{padding:48px 0 0}
.page-head{max-width:var(--measure);margin:0 auto}
.page-head h1{font-size:clamp(38px,5.4vw,60px);line-height:1.02;letter-spacing:-.035em;margin:0 0 14px;font-weight:750}
.page-lead{font-size:20px;line-height:1.5;color:var(--muted);margin:0}
.page-updated{font-size:14px;color:var(--muted);margin:6px 0 0}
.std-page .entry-content{margin-top:36px}
.std-page .entry-content > h2:first-child{margin-top:0}
.res-sections{max-width:var(--measure);margin:44px auto 0}
.res-sections h2{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.res-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.res-grid a{display:flex;flex-direction:column;gap:6px;height:100%;padding:18px 20px;border:1px solid var(--line);border-radius:14px;transition:border-color .15s}
.res-grid a:hover{border-color:var(--accent)}
.res-name{font-weight:700;font-size:19px}
.res-desc{color:var(--muted);font-size:14px;line-height:1.45}
.res-count{margin-top:auto;padding-top:6px;font-size:14px;font-weight:600;color:var(--accent)}

/* contact form */
.form-wrap{max-width:var(--measure);margin:8px auto 0}
.ls-form{display:grid;gap:18px;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--bg)}
.field{display:grid;gap:7px}
.field label{font-size:14px;font-weight:650}
.field input,.field textarea{font:inherit;font-size:17px;color:var(--fg);background:var(--soft);border:1.5px solid transparent;border-radius:12px;padding:13px 15px;outline:none;transition:border-color .15s,background .15s;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:.8}
.field input:focus,.field textarea:focus{border-color:var(--accent);background:var(--bg)}
.field-err{display:none;margin:0;font-size:13px;font-weight:600;color:#c4321f}
@media (prefers-color-scheme:dark){.field-err{color:#ff7a66}}
.field.is-error input,.field.is-error textarea{border-color:#c4321f}
@media (prefers-color-scheme:dark){.field.is-error input,.field.is-error textarea{border-color:#ff7a66}}
.field.is-error .field-err{display:block}
.form-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.btn-solid{background:var(--fg);color:var(--bg);border-color:var(--fg)}
@media (hover:hover){.btn-solid:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}}
.btn-solid:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.form-note{margin:0;font-size:13px;color:var(--muted)}
.form-status{padding:12px 16px;border-radius:12px;font-size:15px}
.form-status[hidden]{display:none}
.form-ok{background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}
.form-bad{background:color-mix(in srgb,#c4321f 10%,transparent);border:1px solid color-mix(in srgb,#c4321f 45%,transparent)}

/* =================================================================== article: tables + buttons */
.entry-content .wp-block-table{margin:2em 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px}
.entry-content table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45;font-variant-numeric:tabular-nums}
.entry-content th,.entry-content td{padding:11px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.entry-content tr:last-child td{border-bottom:0}
/* Gutenberg tables here use a first row of <td><strong> instead of <thead>: style it as a header */
.entry-content thead th,.entry-content tbody tr:first-child:has(td > strong) td{position:sticky;top:0;background:var(--soft);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.entry-content tbody tr:not(:first-child):nth-child(even) td{background:color-mix(in srgb,var(--soft) 55%,transparent)}
.entry-content td:last-child:not(:first-child){text-align:right;white-space:nowrap}
.entry-content .wp-block-table figcaption{padding:0 16px 12px}
.entry-content .wp-block-buttons{display:flex;justify-content:center;gap:12px;margin:1.6em 0}
.entry-content a.wp-block-button__link{display:inline-flex;padding:13px 24px;border-radius:999px;background:var(--fg);color:var(--bg);text-decoration:none;font-weight:650;font-size:16px}
.entry-content a.wp-block-button__link:hover{background:var(--accent);color:var(--on-accent)}

/* =================================================================== article: X conversation */
.x-convo{max-width:var(--measure);margin:44px auto 0}
.x-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.x-head h2{margin:0;font-size:22px;letter-spacing:-.015em}
.x-badge{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--fg);color:var(--bg)}
.x-badge svg{width:16px;height:16px}
.x-card{border:1px solid var(--line);border-radius:16px;padding:18px 20px;background:var(--bg)}
.x-card-top{display:flex;align-items:center;gap:12px}
.x-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--soft)}
.x-avatar svg{width:22px;height:22px}.x-avatar .ink{fill:var(--fg)}.x-avatar .acc{fill:var(--accent)}
.x-id{display:flex;flex-direction:column;line-height:1.25;font-size:15px}.x-id span{color:var(--muted);font-size:14px}
.x-logo{margin-left:auto;color:var(--fg)}.x-logo svg{width:18px;height:18px}
.x-ph{margin:14px 0 12px;font-size:15px;color:var(--muted);line-height:1.5}
.x-ph code{font-size:13px;background:var(--soft);padding:1px 6px;border-radius:6px}
.x-card-foot{display:grid;gap:8px}
.x-skel{height:10px;border-radius:6px;background:var(--soft)}.x-skel.short{width:55%}
.x-cta{display:inline-flex;margin-top:14px;font-weight:650;color:var(--accent)}
.x-cta:hover{text-decoration:underline;text-underline-offset:3px}

/* =================================================================== small screens */
@media (max-width:639px){
  .search-toggle{margin-left:auto}
  .search-panel{padding:12px 0}
  .grid-3{grid-template-columns:1fr;margin-top:8px}
  .pagination{margin-top:32px;gap:8px}
  .pagination a{min-width:38px;height:38px;padding:0 10px}
  .pg-step{display:none!important}
  .search-head{padding:22px 0 0}
  .search-form.big input{font-size:17px}
  .result a{gap:14px;padding:16px 0}
  .result h2{font-size:17px}
  .result .thumb{width:84px;aspect-ratio:1}
  .result p{-webkit-line-clamp:2;font-size:14px}
  .nf{padding:36px 0 0}
  .std-page{padding:26px 0 0}
  .page-lead{font-size:17px}
  .std-page .entry-content{margin-top:24px}
  .res-grid{grid-template-columns:1fr}
  .ls-form{padding:18px;border-radius:14px}
  .entry-content table{font-size:15px}
  .entry-content th,.entry-content td{padding:10px 12px}
  .x-convo{margin-top:32px}
}
@media (max-width:639px){
  .topbar .wrap{gap:0}
  .search-toggle{margin-left:auto}
}
.empty-state>p.empty-big{color:var(--fg)}

/* =================================================================== WordPress integration (child theme) */
.skip-link:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;margin:0;padding:10px 14px;z-index:100;background:var(--bg);color:var(--fg);border:2px solid var(--accent);border-radius:10px}
a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.btn[aria-busy="true"]{opacity:.6;pointer-events:none}
.ph{display:grid;place-items:center;width:100%;height:100%;background:var(--soft)}
.ph svg{width:34%;max-width:72px;height:auto;opacity:.55}.ph .ink{fill:var(--fg)}.ph .acc{fill:var(--accent)}
.logo-word{white-space:nowrap}
.pg-dots{display:inline-grid;place-items:center;min-width:24px;color:var(--muted)}
.ls-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
/* core alignment / captions inside articles */
.entry-content .aligncenter{margin-left:auto;margin-right:auto}
.entry-content .alignleft{float:left;margin:.3em 1.4em 1em 0;max-width:50%}
.entry-content .alignright{float:right;margin:.3em 0 1em 1.4em;max-width:50%}
.entry-content::after{content:"";display:table;clear:both}
.entry-content .wp-caption{max-width:100%}
.entry-content .wp-caption-text,.entry-content .wp-element-caption{font-size:14px;color:var(--muted);margin-top:8px}
.entry-content .tablepress{width:100%;border-collapse:collapse}
.entry-content .tablepress th,.entry-content .tablepress td{padding:11px 16px;border-bottom:1px solid var(--line)}
.entry-content .tablepress thead th{background:var(--soft);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.entry-content iframe{max-width:100%}
.entry-content .wp-block-embed__wrapper iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:14px}
.ls-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* X box: blockquote reset (X's widgets.js replaces it with an iframe) */
blockquote.x-card{margin:0;quotes:none}
.x-convo .twitter-tweet-rendered{margin:0!important}
/* Elementor-built pages keep their own Elementor layout and styles */
.std-page.is-elementor{padding-top:0}
.elementor-content{margin:0 -16px}
@media (min-width:640px){.elementor-content{margin:0}}

/* Contact form: Elementor Pro Form widget mapped to the design */
.elementor-form .elementor-field-group{margin-bottom:18px}
.elementor-form .elementor-field-group>label,.elementor-form .elementor-field-label{font-size:14px;font-weight:650;color:var(--fg);margin-bottom:7px}
.elementor-form .elementor-field-textual{font:inherit!important;font-size:17px!important;color:var(--fg)!important;background:var(--soft)!important;border:1.5px solid transparent!important;border-radius:12px!important;padding:13px 15px!important;min-height:0;box-shadow:none!important}
.elementor-form .elementor-field-textual::placeholder{color:var(--muted);opacity:.8}
.elementor-form .elementor-field-textual:focus{border-color:var(--accent)!important;background:var(--bg)!important;outline:none}
.elementor-form .elementor-button{font:inherit!important;font-weight:600!important;font-size:15px!important;border-radius:999px!important;background:var(--fg)!important;color:var(--bg)!important;padding:12px 24px!important;border:0!important}
.elementor-form .elementor-button:hover{background:var(--accent)!important;color:var(--on-accent)!important}
.elementor-form .elementor-message{padding:12px 16px;border-radius:12px;font-size:15px;margin-top:12px}
.elementor-form .elementor-message.elementor-message-success{color:var(--fg);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}
.elementor-form .elementor-message.elementor-message-danger,.elementor-form .elementor-error .elementor-field-textual{border-color:#c4321f!important}
.elementor-form .elementor-message.elementor-message-danger{color:var(--fg);background:color-mix(in srgb,#c4321f 10%,transparent);border:1px solid color-mix(in srgb,#c4321f 45%,transparent)}
.elementor-form .elementor-message::before{display:none}
@media (prefers-color-scheme:dark){.elementor-form .elementor-error .elementor-field-textual{border-color:#ff7a66!important}}
/* neutralise Hello reset.css table borders */
.entry-content table{border:0;margin:0}
.entry-content table td,.entry-content table th{border-left:0;border-right:0;border-top:0}
.entry-content table tbody>tr:nth-child(odd)>td,.entry-content table tbody>tr:nth-child(odd)>th{background-color:transparent}
.entry-content tbody tr:not(:first-child):nth-child(even) td{background:color-mix(in srgb,var(--soft) 55%,transparent)}
.entry-content tbody tr:first-child:has(td > strong) td{background:var(--soft)}
.entry-content table tbody tr:hover>td{background-color:inherit}
/* neutralise Hello reset.css button colours (#c36) on focus/hover */
.ls .sf-go:focus{background:var(--fg);color:var(--bg)}
.ls .sf-go:hover{background:var(--accent);color:var(--on-accent)}
.ls .ls-yt-btn,.ls .ls-yt-btn:hover,.ls .ls-yt-btn:focus{background:transparent;border:0;border-radius:0;color:#fff;padding:0;white-space:normal}
.ls .btn-solid:focus{background:var(--fg);color:var(--bg)}
@media (hover:hover){.ls .btn-solid:hover{background:var(--accent);color:var(--on-accent)}}
.ls .btn-solid:focus-visible{background:var(--accent);color:var(--on-accent)}
.ls figcaption{font-style:normal}
.ls :focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:none}

/* =================================================================== v1.1 fixes */
/* 1. WordPress admin bar (logged-in): push the fixed top bar and sticky bits below it */
:root{--ab:0px}
body.admin-bar{--ab:32px}
@media screen and (max-width:782px){body.admin-bar{--ab:46px}}
/* WP makes the admin bar position:absolute at <=600px (it scrolls away and would leave a gap); keep it fixed instead */
@media screen and (max-width:600px){body.admin-bar #wpadminbar{position:fixed}}
body.admin-bar .topbar{top:var(--ab)}
html{scroll-padding-top:calc(var(--bar-h) + var(--ab) + 12px)}
.entry-content thead th,.entry-content tbody tr:first-child:has(td > strong) td{top:calc(var(--bar-h) + var(--ab))}
body.admin-bar .skip-link:focus{top:calc(var(--ab) + 12px)}

/* 3. Feature at <640px (any pointer): image on top, full width, text below */
@media (max-width:639px){
  .feature{margin:0 -16px 4px}
  .feature a{position:static;display:block;height:auto;overflow:visible;background:none}
  .feature .media{position:relative;inset:auto;aspect-ratio:16/9;border-radius:0}
  .feature .media::after{display:none}
  .feature .body{position:static;padding:14px 16px 4px;color:inherit}
  .feature .kicker .cat{color:var(--accent)}
  .feature .kicker time{color:var(--muted)}
  .feature :is(h1,h2){font-size:24px;line-height:1.15;margin:8px 0 6px;color:var(--fg)}
  .feature p{font-size:15px;color:var(--muted)}
  .cat-head + .feature{margin-top:8px}
}
/* 640-899px: keep two columns but give the text more room */
@media (min-width:640px) and (max-width:899px){
  .feature a{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
  .feature :is(h1,h2){font-size:28px}
  .feature p{font-size:15px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .topbar .wrap{gap:12px}
  .nav a{padding:8px 9px}
}

/* =================================================================== v1.1 fix 4/5: theme wins over Elementor kit CSS */
/* Theme views: kit body class + kit CSS are removed in PHP; these rules are the belt-and-braces layer.
   They also protect the theme chrome (top bar, tab bar, footer, cards, strips) on Elementor-built pages,
   where the kit stays for the page content. Specificity body.ls ... (0,2,x) beats .elementor-kit-N x (0,1,1). */
body.ls{font-family:var(--font);color:var(--fg);background:var(--bg)}
body.ls:not(.ls-el) :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,td,th,blockquote,figcaption,label,input,textarea,select,button){font-family:var(--font)}
body.ls:not(.ls-el) :is(h1,h2,h3,h4,h5,h6){color:var(--fg)}
body.ls:not(.ls-el) .entry-content{color:var(--fg)}
body.ls :is(.topbar,.search-panel,.foot,.feature,.card,.strip,.pagination,.cat-head,.search-head,.results,.nf,.x-convo,.aff-note,.chips){font-family:var(--font)}
body.ls .topbar a,body.ls .logo{color:var(--fg)}
body.ls .nav a{color:var(--muted)}
body.ls .nav a:hover,body.ls .nav a[aria-current]{color:var(--fg)}
@media (max-width:639px){body.ls .topbar .nav a[aria-current]{color:var(--accent)}}
body.ls .foot,body.ls .foot a{color:var(--muted)}
body.ls .foot a:hover{color:var(--fg)}
body.ls :is(.card,.feature,.result) a{color:var(--fg)}
body.ls :is(.card,.feature,.result) :is(h1,h2,h3){color:inherit;font-family:var(--font)}
body.ls .feature p,body.ls .result p,body.ls .cat-head p{color:var(--muted)}
body.ls .kicker .cat,body.ls .strip-all,body.ls .x-cta,body.ls .feature .read{color:var(--accent)}
body.ls .kicker time{color:var(--muted)}
body.ls .section-head h2{color:var(--muted);font-family:var(--font)}
body.ls .entry-content a:not(.ls-buy-btn):not(.wp-block-button__link){color:var(--fg)}
body.ls .entry-content a:not(.ls-buy-btn):not(.wp-block-button__link):hover{color:var(--accent)}
body.ls .btn{color:var(--fg);font-family:var(--font)}
@media (hover:hover){body.ls .btn:hover{color:var(--bg)}}
body.ls .btn:focus-visible{color:var(--bg)}
@media (max-width:639px){body.ls .feature :is(h1,h2){color:var(--fg)}}
body.ls .entry-content code,body.ls .entry-content pre,body.ls .entry-content kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
/* fix 5: Load more needs air before the footer divider */
.more-wrap{margin-bottom:64px}
@media (max-width:639px){.more-wrap{margin-bottom:48px}}

/* fix 4b: body text must not inherit leaked unscoped p/li colours */
.entry-content :is(p,li,dd,dt,td,th){color:var(--fg)}
/* fix 4c: theme chrome font on every descendant (kit sets font-family on a/button/headings directly) */
body.ls :is(.topbar,.search-panel,.foot,.feature,.card,.strip,.pagination,.cat-head,.search-head,.results,.nf,.x-convo,.aff-note,.chips,.post-head,.entry-content,.page-head) :is(a,span,strong,em,time,h1,h2,h3,h4,p,li,button,input,label,small,figcaption,blockquote,td,th){font-family:var(--font)}
body.ls .entry-content :is(code,pre,kbd){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* fix 6: footer = small sans, muted, modest spacing; mark + © aligned (matches prototype) */
body.ls .foot{border-top:1px solid var(--line);padding:24px 0 36px;margin:0;background:var(--bg);color:var(--muted);font:400 13.5px/1.4 var(--font)}
body.ls .foot .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
body.ls .foot nav{display:flex;flex-wrap:wrap;gap:6px 20px}
body.ls .foot a,body.ls .foot nav a{color:var(--muted);font:inherit;font-size:13.5px;font-weight:500;text-decoration:none;letter-spacing:0}
body.ls .foot a:hover,body.ls .foot a:focus-visible{color:var(--fg);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:4px}
body.ls .foot .copy{display:inline-flex;align-items:center;gap:10px;margin-left:auto;color:var(--muted);font-size:13px}
body.ls .foot .foot-mark{display:inline-flex;text-decoration:none}
body.ls .foot .foot-mark:hover{text-decoration:none}
.foot-mark svg{width:16px;height:16px}.foot-mark .ink{fill:var(--fg)}.foot-mark .acc{fill:var(--accent)}
@media (max-width:639px){body.ls .foot .copy{margin-left:0}body.ls .foot{padding:20px 0 28px}}
/* Elementor-built pages keep their kit (designed for a light background): in dark mode their content
   sits on a light panel so kit text colours stay readable; the theme chrome around it stays dark. */
@media (prefers-color-scheme:dark){
  body.ls-el .elementor-content{color-scheme:light;background:#fff;color:#0b0b0c;border-radius:18px;overflow:hidden;margin-top:16px}
}
/* standard pages: lead paragraph from block content, section cards inside content */
.entry-content p.ls-lead{font-size:20px;line-height:1.5;color:var(--muted)}
@media (max-width:639px){.entry-content p.ls-lead{font-size:17px}}
.entry-content .res-grid{list-style:none;padding:0;margin:0 0 1.2em}
.entry-content .res-grid a{text-decoration:none;color:var(--fg)}
.entry-content .res-grid a:hover{color:var(--fg)}
body.ls .entry-content .res-grid .res-desc{color:var(--muted)}
body.ls .entry-content .res-grid .res-count{color:var(--accent)}
.std-page .form-wrap,.entry-content .ls-form{margin-top:8px}
.entry-content .ls-form label{display:block;line-height:1.3}
body.ls .btn.btn-solid,body.ls .btn.btn-solid:focus{color:var(--bg);background:var(--fg);border-color:var(--fg)}
@media (hover:hover){body.ls .btn.btn-solid:hover{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}}
body.ls .btn.btn-solid:focus-visible{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}

/* =================================================================== v1.2: definitive text tokens (beats kit, post-<id>.css, Hello, inline styles) */
/* Article/page header */
html body.ls .post-head h1,html body.ls .page-head h1,html body.ls .cat-head h1,html body.ls .nf h1{color:var(--fg)!important;font-family:var(--font)!important}
html body.ls .post-head .post-meta,html body.ls .post-head .post-meta *{color:var(--muted)!important;font-family:var(--font)!important}
html body.ls .post-head .kicker a.cat{color:var(--accent)!important}
/* Body copy: every text element in the content uses the theme colour + font unless it is one of the theme's own muted/accent parts */
html body.ls:not(.ls-el) .entry-content{color:var(--fg)!important;font-family:var(--font)!important}
html body.ls:not(.ls-el) .entry-content :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,td,th,span,strong,b,em,i,u,small,div,section,blockquote,label,.elementor-heading-title,.elementor-widget-text-editor){color:inherit!important;font-family:inherit!important}
html body.ls:not(.ls-el) .entry-content :is(h1,h2,h3,h4,h5,h6,.elementor-heading-title){color:var(--fg)!important}
/* muted parts of the theme content styles */
html body.ls:not(.ls-el) .entry-content :is(figcaption,.wp-caption-text,.wp-element-caption,.widget-image-caption,blockquote cite,.rank-math-answer p),
html body.ls:not(.ls-el) .entry-content figcaption *,html body.ls:not(.ls-el) .entry-content blockquote p:has(> cite:only-child){color:var(--muted)!important}
html body.ls:not(.ls-el) .entry-content :is(thead th,tbody tr:first-child:has(td > strong) td),html body.ls:not(.ls-el) .entry-content tbody tr:first-child:has(td > strong) td *{color:var(--muted)!important}
/* links: text colour with a violet underline; violet on hover */
html body.ls:not(.ls-el) .entry-content a:not(.ls-buy-btn):not(.wp-block-button__link):not(.elementor-button):not(.ls-yt-btn){color:var(--fg)!important;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px;font-family:inherit!important}
html body.ls:not(.ls-el) .entry-content a:not(.ls-buy-btn):not(.wp-block-button__link):not(.elementor-button):not(.ls-yt-btn):hover{color:var(--accent)!important}
html body.ls:not(.ls-el) .entry-content a :is(span,strong,em,b){color:inherit!important}
/* buttons in content (core + Elementor button widget) */
html body.ls:not(.ls-el) .entry-content :is(a.wp-block-button__link,a.elementor-button){display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:999px;background:var(--fg)!important;color:var(--bg)!important;border:0;text-decoration:none!important;font:650 16px/1.2 var(--font)!important}
html body.ls:not(.ls-el) .entry-content :is(a.wp-block-button__link,a.elementor-button) *{color:inherit!important}
html body.ls:not(.ls-el) .entry-content :is(a.wp-block-button__link,a.elementor-button):hover{background:var(--accent)!important;color:var(--on-accent)!important}
html body.ls:not(.ls-el) .entry-content a.ls-buy-btn,html body.ls:not(.ls-el) .entry-content a.ls-buy-btn .ls-buy-name{color:var(--fg)!important;text-decoration:none!important}
html body.ls:not(.ls-el) .entry-content a.ls-buy-btn .ls-buy-cta{color:var(--on-accent)!important}
html body.ls:not(.ls-el) .entry-content .ls-yt-title{color:#fff!important}
/* inline styles pasted into content: neutralise colours/fonts/backgrounds that break dark mode */
html body.ls:not(.ls-el) .entry-content [style*="color"]{color:inherit!important}
html body.ls:not(.ls-el) .entry-content [style*="font-family"]{font-family:inherit!important}
html body.ls:not(.ls-el) .entry-content [style*="font-size"]:not(img){font-size:inherit!important}
html body.ls:not(.ls-el) .entry-content :is(p,span,div,td,li)[style*="background"]{background:var(--soft)!important;color:var(--fg)!important}
html body.ls:not(.ls-el) .entry-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important}
/* theme chrome always on tokens */
html body.ls .card h3,html body.ls .feature :is(h1,h2),html body.ls .result h2{color:var(--fg)!important;font-family:var(--font)!important}
html body.ls .feature p,html body.ls .result p{color:var(--muted)!important}
html body.ls .x-convo h2,html body.ls .section-head h2{font-family:var(--font)!important}
html body.ls .aff-note,html body.ls .aff-note p{color:var(--muted)!important;font-family:var(--font)!important}

/* TablePress / shortcode tables and any bare wide table: scroll inside the column, never the page */
html body.ls .entry-content :is(.elementor-shortcode,.tablepress-scroll-wrapper){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
html body.ls .entry-content table:not(figure.wp-block-table table){display:block;max-width:100%;overflow-x:auto}
html body.ls .entry-content .elementor-widget-container{max-width:100%}

/* v1.3.1: programmatic focus after a pointer/touch Load more: keep focus, hide ring */
html body.ls .ls-pfocus:focus,html body.ls .ls-pfocus:focus-visible,html body.ls [tabindex="-1"]:focus:not(:focus-visible){outline:none!important;box-shadow:none!important}
html body.ls .card:has(.ls-pfocus:focus){outline:none!important;box-shadow:none!important}

/* v1.3.2: no sticky/programmatic underline. Programmatically focused card link after a tap: no ring, no underline */
html body.ls .ls-pfocus :is(h1,h2,h3),html body.ls .ls-pfocus:is(h1,h2,h3){text-decoration:none!important}
html body.ls .ls-pfocus .thumb img,html body.ls .ls-pfocus .media img{transform:none!important}
