/* Steady Purse deferred CSS — below-the-fold + interactive. Loaded via print-media swap. */

/* Content typography niceties. */
.entry-content{overflow-wrap:break-word}
.entry-content a{color:var(--accent-ink)}
.entry-content blockquote{margin:1.6rem 0;padding:1rem 1.3rem;background:var(--surface);border-left:4px solid var(--accent);border-radius:0 8px 8px 0;font-style:italic;color:var(--ink)}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content figure{margin:1.6rem 0}
.entry-content figcaption{font-size:.82rem;color:var(--ink-soft);text-align:center;margin-top:.5rem}
.entry-content img{border-radius:8px}
.entry-content h2,.entry-content h3{scroll-margin-top:1.5rem}
.entry-content code{background:var(--surface);padding:.1em .35em;border-radius:4px;font-size:.9em}
.entry-content pre{background:var(--surface);padding:1rem;border-radius:8px;overflow-x:auto}
.entry-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem;display:block;overflow-x:auto}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:.55rem .7rem;text-align:left}
.entry-content th{background:var(--surface)}
.entry-content ul,.entry-content ol{margin:0 0 1.15em}
.entry-content li{margin-bottom:.4em}
.entry-content hr{border:0;border-top:1px solid var(--line);margin:2rem 0}

/* Disclaimer / disclosure blocks. */
.disclaimer{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.8rem 1rem;font-size:.85rem;color:var(--ink-soft);margin:0 0 1.5rem}
.disclaimer strong{color:var(--ink)}
.disclosure{font-size:.82rem;color:var(--ink-soft);border-left:3px solid var(--accent);padding-left:.8rem;margin:0 0 1.4rem}

/* Table of contents. */
.toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.2rem;margin:1.75rem 0}
.toc__toggle{all:unset;cursor:pointer;font-family:var(--font-head);font-weight:700;font-size:1.05rem;color:var(--brand);display:flex;align-items:center;gap:.5rem}
.toc__toggle::before{content:"";width:8px;height:8px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg);transition:transform .2s}
.toc__toggle[aria-expanded="false"]::before{transform:rotate(-45deg)}
.toc__list{list-style:none;margin:.8rem 0 0;padding:0;counter-reset:toc}
.toc__list[hidden]{display:none}
.toc__item{margin:.3rem 0}
.toc__item--l3{padding-left:1.1rem;font-size:.94rem}
.toc__item a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}
.toc__item a:hover,.toc__item.is-active>a{color:var(--accent-ink);border-bottom-color:var(--accent)}

/* Pin graphics (hidden but savable, or in-article). */
.pin-graphic{position:relative;margin:1.75rem 0;border-radius:var(--radius);overflow:hidden}
.pin-graphic--hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
.pin-graphic img{width:100%;height:auto}
.pin-save{position:absolute;top:.7rem;right:.7rem;background:#E60023;color:#fff;border:0;border-radius:999px;padding:.5rem .9rem;font:600 .85rem/1 var(--font-body);cursor:pointer;opacity:0;transition:opacity .2s;display:inline-flex;align-items:center;gap:.35rem}
.pin-hover{position:relative}
.pin-hover:hover .pin-save,.pin-save:focus{opacity:1}
.pin-save svg{width:14px;height:14px;fill:currentColor}

/* Email opt-in. */
.optin{background:var(--brand);color:#fff;border-radius:var(--radius);padding:1.5rem;margin:2rem 0}
.optin h2{color:#fff;margin-top:0}
.optin p{color:rgba(255,255,255,.88)}
.optin__form{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.optin__form input[type=email]{flex:1 1 220px;padding:.75rem .9rem;border:0;border-radius:8px;font:inherit}
.optin__form button{background:var(--accent);color:#241205;border:0;border-radius:8px;padding:.75rem 1.2rem;font:700 1rem var(--font-body);cursor:pointer}
.optin__form button:hover{background:#d8925a}
.optin__fine{font-size:.75rem;opacity:.75;margin:.7rem 0 0}
/* Honeypot: kept in the DOM for bots, hidden from humans + AT. */
.sp-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Author box (Person schema pairs with this). */
.author-box{display:flex;gap:1rem;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;margin:2rem 0}
.author-box__avatar{flex:0 0 auto;border-radius:50%;overflow:hidden;width:64px;height:64px}
.author-box__name{font-family:var(--font-head);font-weight:700;margin:0 0 .3rem;font-size:1.15rem}
.author-box__bio{margin:0;font-size:.92rem;color:var(--ink-soft)}

/* Related posts. */
.related{margin:2.5rem 0}
.related__title{border-top:2px solid var(--line);padding-top:1.2rem}
.related__grid{display:grid;gap:1.2rem;grid-template-columns:1fr}
@media(min-width:560px){.related__grid{grid-template-columns:repeat(3,1fr)}}
.rcard__media{display:block;border-radius:8px;overflow:hidden;background:var(--surface);aspect-ratio:3/2}
.rcard__img{width:100%;height:100%;object-fit:cover}
.rcard__title{font-size:1rem;margin:.6rem 0 0;line-height:1.35}
.rcard__title a{color:var(--ink);text-decoration:none}
.rcard__title a:hover{color:var(--accent-ink)}

/* Archive / card grid. */
.card-grid{display:grid;gap:clamp(1.2rem,3vw,2rem);grid-template-columns:1fr}
@media(min-width:560px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.card-grid.cols-3{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column}
.card__media{display:block;border-radius:var(--radius);overflow:hidden;background:var(--surface)}
/* Pinterest 2:3 cards must NOT be cropped/letterboxed by CSS. */
.card__media--vertical{aspect-ratio:2/3}
.card__media--wide{aspect-ratio:3/2}
.card__img{width:100%;height:100%;object-fit:cover}
.card__body{padding-top:.7rem}
.card__title{font-size:1.15rem;margin:.3rem 0 .4rem;line-height:1.3}
.card__title a{color:var(--ink);text-decoration:none}
.card__title a:hover{color:var(--accent-ink)}
.card__excerpt{font-size:.92rem;color:var(--ink-soft);margin:0}

/* Home sections (below the fold). */
.home-section{margin:2.75rem 0}
.home-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-top:2px solid var(--line);padding-top:1rem;margin-bottom:1.4rem}
.home-section__title{margin:0;font-size:clamp(1.3rem,2.5vw,1.6rem)}
.home-section__link{font-size:.9rem;color:var(--accent-ink);text-decoration:none;white-space:nowrap}
.home-section__link:hover{color:var(--brand)}
.topics-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:700px){.topics-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}
.topic-card{display:block;padding:1.1rem 1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;transition:transform .15s ease,border-color .15s ease}
.topic-card:hover{transform:translateY(-2px);border-color:var(--accent)}
.topic-card__name{font-family:var(--font-head);font-weight:700;color:var(--brand);font-size:1.1rem;display:block;margin-bottom:.15rem}
.topic-card__count{font-size:.8rem;color:var(--ink-soft)}
.home-latest .card-grid{grid-template-columns:1fr}
@media(min-width:560px){.home-latest .card-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:920px){.home-latest .card-grid{grid-template-columns:repeat(3,1fr)}}
.home-news{margin:2.75rem 0}

/* No-sidebar layout: center the reading column instead of leaving dead space. */
.container.no-sidebar{grid-template-columns:minmax(0,1fr)}
.container.no-sidebar .content-col{margin-inline:auto}

/* Archive header. */
.archive-header{padding:1.5rem 0 .5rem}
.archive-header__title{margin:0}
.archive-header__desc{color:var(--ink-soft);margin:.5rem 0 0}

/* Sidebar + sticky ad. */
.sidebar{min-width:0}
.widget{margin-bottom:2rem}
.widget-title{font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--brand);border-bottom:2px solid var(--line);padding-bottom:.4rem}
.sidebar__sticky{position:sticky;top:1.5rem}

/* Pagination. */
.pagination{margin:2.5rem 0;display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}
.pagination .page-numbers{display:inline-flex;min-width:2.4rem;justify-content:center;padding:.5rem .7rem;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink)}
.pagination .current{background:var(--brand);color:#fff;border-color:var(--brand)}

/* Search form. */
.search-form{display:flex;gap:.5rem}
.search-form input[type=search]{flex:1;padding:.6rem .8rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}
.search-form button{background:var(--brand);color:#fff;border:0;border-radius:8px;padding:.6rem 1rem;cursor:pointer;font:inherit}

/* Comments (lazy). */
.comments-area{margin-top:2.5rem;border-top:2px solid var(--line);padding-top:1.5rem}
.comment-list{list-style:none;padding:0;margin:0}
.comment-body{padding:1rem 0;border-bottom:1px solid var(--line)}
.comments-lazy{text-align:center;padding:1.5rem}
.comments-lazy button{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.7rem 1.3rem;font:inherit;cursor:pointer;color:var(--brand)}

/* Footer. */
.site-footer{background:var(--brand);color:rgba(255,255,255,.85);margin-top:3rem;padding:2.5rem 0}
.site-footer a{color:#fff}
.site-footer__grid{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:700px){.site-footer__grid{grid-template-columns:2fr 1fr}}
.footer-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:.8rem 0 0;padding:0}
.footer-nav a{text-decoration:none;font-size:.92rem}
.footer-nav a:hover{text-decoration:underline}
.site-footer__tag{font-size:.9rem;opacity:.8;margin:.5rem 0 0;max-width:22rem}
.site-footer__legal{border-top:1px solid rgba(255,255,255,.15);margin-top:1.5rem;padding-top:1.2rem;font-size:.82rem;opacity:.75;display:flex;flex-wrap:wrap;gap:.3rem 1rem;justify-content:space-between;align-items:baseline}
.site-footer__readers{white-space:nowrap}

/* 404. */
.error-404{text-align:center;padding:3rem 0}

/* Utility. */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
