/* One native link covers the card; category and action controls remain separate. */
.post-card .card-body,.post-card .card-body h3,.post-card .tm-card-permalink{position:static}
.post-card .tm-card-permalink::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.post-card:has(.tm-card-permalink:focus-visible){outline:2px solid var(--accent);outline-offset:3px}
.post-card :is(.card-badge,.play-bubble){z-index:3}
.post-card .text-link,.post-card .collection-remove{position:relative;z-index:3}
body.tm-layout .post-card>.card-body{width:100%}
body.tm-layout .card-large>.card-body{max-width:100%}
body.tm-layout .post-card .post-meta{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;width:100%;padding-right:0;font-size:11px;line-height:1.3;min-width:0}
body.tm-layout .post-card .post-meta>:is(.post-author,.post-date,.post-views,.comment-count){display:inline-flex;align-items:center;gap:4px;white-space:nowrap;flex:0 0 auto}
body.tm-layout .post-card .post-meta>.post-author{flex:1 1 0;min-width:0}
.post-card .post-author-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.tm-layout .post-card .post-meta .author-mark{display:inline-flex;flex:none;width:19px;height:19px}
body.tm-layout .post-card .post-meta .icon{flex:none;width:13px;height:13px}
body.tm-layout .post-card .post-meta .bookmark{position:relative;inset:auto;z-index:3;flex:0 0 26px;width:26px;min-width:26px;height:26px;margin:0;padding:3px;color:inherit;align-self:center}
body.tm-layout .post-card .post-meta .bookmark .icon{width:18px;height:18px}
body.tm-layout .post-card .post-meta .bookmark[aria-pressed=true]{color:var(--accent)}
@media(max-width:1250px){body.tm-layout .post-card .post-meta{font-size:10px;gap:5px}body.tm-layout .post-card .post-meta .author-mark{display:none}}
@media(max-width:1024px){
 .categories .category-grid{grid-template-columns:repeat(5,min(78vw,360px));gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 16px;scroll-padding-inline:2px}
 .categories .category-card{min-height:420px;scroll-snap-align:start}
 .categories .category-card>div{padding:25px}
 .categories .category-card h3{font-size:30px}
 .categories .category-card p{font-size:15px;line-height:1.5;max-width:280px;min-height:0;margin-bottom:22px}
 .categories .category-card>div>.icon{width:42px;height:42px}
}
@media(max-width:700px){
 .categories .category-grid{grid-template-columns:repeat(5,min(82vw,330px));gap:14px}
 .categories .category-card{min-height:410px}
 .categories .category-card>div{padding:23px}
 body.tm-layout .post-card .post-meta{font-size:10px;gap:5px;min-height:26px}
 body.tm-layout .list-view .post-card .card-body{display:contents}
 body.tm-layout .list-view .post-card .card-photo{grid-column:1;grid-row:1}
 body.tm-layout .list-view .post-card .card-body h3{grid-column:2;grid-row:1;padding:12px 12px 8px;margin:0}
 body.tm-layout .list-view .post-card .post-meta{grid-column:1/-1;grid-row:2;padding:8px 12px 12px;gap:5px}
 body.tm-layout .card-compact .card-body,body.tm-layout .card-video-small .card-body{padding-bottom:14px}
}
@media(max-width:360px){.categories .category-card{min-height:390px}.categories .category-card h3{font-size:28px}}

/* Grid rows stretch cards; the flexible text area keeps metadata on the baseline. */
body.tm-layout .post-card{display:flex;flex-direction:column;align-self:stretch}
body.tm-layout .post-card:is(.card-large,.card-compact,.card-vertical,.card-guide){flex-direction:row;align-items:flex-end}
body.tm-layout .post-card>.card-body{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}
body.tm-layout .post-card .post-meta{margin-top:auto}
body.tm-layout .post-card>.card-body>.text-link:last-child{margin-top:auto}
@media(min-width:701px){
 body.tm-layout :is(.list-view,.post-navigation-cards) .post-card{display:grid}
 body.tm-layout :is(.list-view,.post-navigation-cards) .post-card>.card-body{align-self:stretch}
}
@media(max-width:700px){
 body.tm-layout .list-view .post-card{display:grid}
 body.tm-layout .list-view .post-card>.card-body{display:contents}
 body.tm-layout .list-view .post-card .post-meta{margin-top:0}
 body.tm-layout .benefits>.container{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:1px;padding:3px 1px 12px;scrollbar-width:thin;scrollbar-color:var(--accent,#af7e3d) transparent}
 body.tm-layout .benefits>.container>div:nth-child(n){display:flex;flex:0 0 min(78vw,280px);min-width:0;min-height:80px;padding:14px 15px;gap:13px;border:1px solid var(--line,#d7cbb7);border-radius:10px;background:var(--surface,#fbf6ea);scroll-snap-align:start}
 body.tm-layout .benefits>.container>div span{font-size:13px;line-height:1.45}
 body.tm-layout .benefits .icon{width:30px;height:30px;flex:none}
}
/* Image-backed cards keep their cover out of the flexible content flow. */
body.tm-layout .post-card:is(.card-large,.card-compact,.card-vertical,.card-guide)>.card-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;align-self:auto}
body.tm-layout .post-card:is(.card-large,.card-compact,.card-vertical,.card-guide)>.card-photo img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
@media(min-width:701px){
 body.tm-layout .list-view .post-card:is(.card-large,.card-compact,.card-vertical,.card-guide)>.card-photo{position:relative;inset:auto;height:auto;aspect-ratio:4/3;z-index:auto}
}
