/* tech201 Theme Toggle 1.0.7: homepage card images, KM avatar, post sidebar, floating TOC, phone "Contents" button */

/* ---------- Homepage: featured image on Latest fixes cards ---------- */
.t201-latest .t201-card{padding-top:0;overflow:hidden}
.t201-latest .t201-card .wp-block-post-featured-image.t201-card-img{margin:0 -24px;line-height:0}
.t201-card-img a,.t201-card-img img{display:block;width:100%}
.t201-card-img img{height:auto;aspect-ratio:1200/630;object-fit:cover;border-bottom:1px solid var(--global-palette7);transition:opacity .15s ease}
.t201-card-img a:hover img{opacity:.88}
.t201-latest .t201-card:not(:has(.t201-card-img)){padding-top:24px}

/* ---------- Homepage: KM monogram on the author card ---------- */
.t201-card.t201-author{position:relative;padding-left:120px}
.t201-card.t201-author::before{content:"KM";content:"KM" / "";position:absolute;left:36px;top:50%;transform:translateY(-50%);width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--t201-mono);font-size:20px;font-weight:700;letter-spacing:.02em;color:var(--global-palette9);background:var(--global-palette1)}
@media (max-width:767px){
	.t201-card.t201-author{padding-left:24px;padding-top:104px}
	.t201-card.t201-author::before{left:24px;top:24px;transform:none;width:56px;height:56px;font-size:18px}
}

/* ---------- Post sidebar (Kadence right sidebar on single posts) ---------- */
.single-post .primary-sidebar .widget{margin-bottom:20px}
.single-post .primary-sidebar .widget:last-child{margin-bottom:0}
.t201-side-box{padding:18px 20px;border-radius:14px;border:1px solid var(--global-palette7);background:var(--global-palette9)}
.t201-side-box > *,.t201-side-box > .wp-block-group__inner-container > *{margin-top:0}
.t201-side-title{margin:0 0 .6em;font-family:var(--t201-mono);font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:var(--global-palette1)}
.t201-side-search .wp-block-search__inside-wrapper{display:flex;gap:8px;border:0;padding:0}
.t201-side-search .wp-block-search__input{flex:1 1 auto;min-width:0;height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--t201-border2);background:var(--t201-surface2);color:var(--global-palette4);font-size:15px}
.t201-side-search .wp-block-search__input:focus{outline:2px solid var(--global-palette1);outline-offset:1px;border-color:transparent}
.primary-sidebar .t201-side-search .wp-block-search__button,.t201-side-search .wp-block-search__button{height:44px;margin:0;padding:0 16px;border:0;border-radius:10px;background:var(--global-palette1);color:var(--global-palette9);font-weight:700}
.t201-side-latest .wp-block-latest-posts{margin:0;padding:0;list-style:none}
.t201-side-latest .wp-block-latest-posts li{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;margin:0;padding:10px 0;border-top:1px solid var(--global-palette7)}
.t201-side-latest .wp-block-latest-posts li:first-child{border-top:0;padding-top:0}
.t201-side-latest .wp-block-latest-posts__featured-image{margin:0}
.t201-side-latest .wp-block-latest-posts__featured-image img{display:block;width:56px;height:56px;object-fit:cover;object-position:right center;border-radius:8px}
.t201-side-latest .wp-block-latest-posts__post-title{font-size:14px;line-height:1.4;font-weight:600;color:var(--global-palette3);text-decoration:none}
.t201-side-latest .wp-block-latest-posts__post-title:hover{color:var(--global-palette1)}
.t201-side-topics .wp-block-categories{margin:0;padding:0;list-style:none}
.t201-side-topics .wp-block-categories li{margin:0;padding:7px 0;border-top:1px solid var(--global-palette7);font-size:14px;color:var(--global-palette6)}
.t201-side-topics .wp-block-categories li:first-child{border-top:0;padding-top:0}
.t201-side-topics .wp-block-categories a{color:var(--global-palette4);text-decoration:none}
.t201-side-topics .wp-block-categories a:hover{color:var(--global-palette1)}

/* ---------- Floating TOC (desktop: its own left column, 1.0.7) ----------
 * toc.js puts the nav first in Kadence's .content-container grid; from 1200px the post
 * becomes three columns: TOC | article | sidebar. Below that the in-article TOC shows
 * and the "Contents" button takes over.
 */
.single-post .entry-content h2[id],.single-post .entry-content h3[id]{scroll-margin-top:24px}
.single-post .entry-content h2[id]:focus{outline:none}
.t201-ftoc,.t201-mtoc-panel nav{font-size:14px}
.t201-ftoc{display:none}
.t201-ftoc-title{margin:0 0 .6em;font-family:var(--t201-mono);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--global-palette1)}
.t201-ftoc ul,.t201-mtoc-panel ul{list-style:none;margin:0;padding:0}
.t201-ftoc li,.t201-mtoc-panel li{margin:0;padding:0;border-top:1px solid var(--global-palette7)}
.t201-ftoc li:first-child,.t201-mtoc-panel li:first-child{border-top:0}
.t201-ftoc a,.t201-mtoc-panel a{display:block;padding:7px 0 7px 12px;margin-left:-12px;border-left:2px solid transparent;line-height:1.4;color:var(--global-palette4);text-decoration:none}
.t201-ftoc a:hover,.t201-mtoc-panel a:hover{color:var(--global-palette1)}
.t201-ftoc a.is-active,.t201-mtoc-panel a.is-active{color:var(--global-palette1);font-weight:600;border-left-color:var(--global-palette1)}
.t201-ftoc a:focus-visible,.t201-mtoc-panel a:focus-visible{outline:2px solid var(--global-palette1);outline-offset:2px;border-radius:4px}
@media (min-width:1200px){
	html.t201-has-ftoc body.single-post .content-container{grid-template-columns:200px minmax(0,1fr) 280px;column-gap:32px}
	html.t201-has-ftoc body.single-post .content-container > #main{grid-column:2;grid-row:1}
	html.t201-has-ftoc body.single-post .content-container > #secondary{grid-column:3;grid-row:1}
	html.t201-has-ftoc body.single-post .entry-content .wp-block-rank-math-toc-block{display:none}
	.t201-ftoc{display:block;grid-column:1;grid-row:1;align-self:start;position:sticky;top:24px;margin-top:var(--global-kb-spacing-sm,1.5rem);max-height:calc(100vh - 48px);overflow:auto;padding:4px 4px 4px 12px;font-size:13.5px}
	.admin-bar .t201-ftoc{top:56px;max-height:calc(100vh - 80px)}
}
@media (min-width:1366px){
	html.t201-has-ftoc body.single-post .content-container{column-gap:40px}
	.t201-ftoc{font-size:14px}
}

/* ---------- Phone "Contents" button + panel ---------- */
.t201-mtoc-btn,.t201-mtoc-panel{display:none}
@media (max-width:1199px){
	.t201-mtoc-btn{position:fixed;right:16px;bottom:16px;z-index:90;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid var(--t201-border2);border-radius:999px;background:var(--global-palette9);color:var(--global-palette3);font-size:14px;font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
	.t201-mtoc-btn.is-shown{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .2s ease}
	.t201-mtoc-btn svg{width:18px;height:18px;color:var(--global-palette1)}
	.t201-mtoc-btn[aria-expanded="true"]{border-color:var(--global-palette1)}
	.t201-mtoc-panel{position:fixed;left:16px;right:16px;bottom:72px;z-index:90;display:block;max-height:60vh;overflow:auto;padding:18px 20px;border-radius:14px;border:1px solid var(--t201-border2);background:var(--global-palette9);box-shadow:0 12px 32px rgba(0,0,0,.35)}
	.t201-mtoc-panel[hidden]{display:none}
}
@media (prefers-reduced-motion:reduce){.t201-mtoc-btn,.t201-card-img img{transition:none}}
@media print{.t201-ftoc,.t201-mtoc-btn,.t201-mtoc-panel{display:none!important}}
