/* TSFP child theme — Blog page ([tsfp_posts]) and single post template. Edit directly. */

:root .tsfp-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
:root .tsfp-post-card{display:flex;flex-direction:column;background-color:#fff;border:1px solid var(--tsfp-border);border-radius:16px;overflow:hidden;box-shadow:0 4px 14px rgba(7,25,67,.05);transition:box-shadow .3s ease,transform .3s ease;}
:root .tsfp-post-card:hover{box-shadow:0 18px 36px rgba(7,25,67,.14);transform:translateY(-4px);}
:root .tsfp-post-card-media{display:block;aspect-ratio:16/10;background-color:var(--tsfp-lightblue);overflow:hidden;}
:root .tsfp-post-card-media img{width:100%;height:100%;object-fit:cover;}
:root .tsfp-post-card-placeholder{display:block;width:100%;height:100%;background:linear-gradient(145deg,var(--tsfp-navy) 0%,var(--tsfp-blue-dark) 55%,var(--tsfp-blue) 100%);}
:root .tsfp-post-card-body{display:flex;flex-direction:column;flex:1 1 auto;padding:24px 26px 28px;}
:root .tsfp-post-card-meta{font-family:var(--tsfp-font);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tsfp-blue-dark);margin:0 0 10px;}
:root .tsfp-post-card-title{margin:0 0 10px;}
:root .tsfp-post-card-title a:hover{color:var(--tsfp-blue);}
:root .tsfp-post-card-excerpt{font-size:.92rem;line-height:1.65;color:var(--tsfp-navy);margin:0 0 18px;}
:root .tsfp-post-card .tsfp-card-link{margin-top:auto;font-family:var(--tsfp-font);font-weight:600;font-size:.85rem;color:var(--tsfp-blue);}
:root .tsfp-post-card .tsfp-card-link:hover{color:var(--tsfp-blue-dark);}
:root .tsfp-pagination{display:flex;gap:8px;justify-content:center;margin-top:44px;font-family:var(--tsfp-font);font-weight:600;}
:root .tsfp-pagination a,:root .tsfp-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border-radius:6px;border:1px solid var(--tsfp-border);color:var(--tsfp-navy);}
:root .tsfp-pagination span[aria-current]{background-color:var(--tsfp-blue);border-color:var(--tsfp-blue);color:#fff;}
:root .tsfp-pagination a:hover{border-color:var(--tsfp-blue);color:var(--tsfp-blue);}
@media (max-width:1000px){:root .tsfp-post-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){:root .tsfp-post-grid{grid-template-columns:1fr;}}

/* Single post */
:root .tsfp-post-meta{font-family:var(--tsfp-font);font-size:.85rem;color:var(--tsfp-text);margin:10px 0 0;}
:root .tsfp-post-meta a{color:var(--tsfp-blue-dark);}
:root .tsfp-post-meta a:hover{text-decoration:underline;}
:root .tsfp-post-image{margin:0 0 36px;border-radius:20px;overflow:hidden;box-shadow:0 20px 48px rgba(7,25,67,.12);}
:root .tsfp-post-image img{width:100%;height:auto;}
:root .tsfp-article{font-size:1.02rem;line-height:1.8;color:var(--tsfp-navy);}
:root .tsfp-article :is(p,ul,ol,blockquote,figure,table,pre){margin:0 0 1.2em;}
:root .tsfp-article :is(h2,h3,h4){font-family:var(--tsfp-font);font-weight:600;color:var(--tsfp-navy);line-height:1.3;margin:1.8em 0 .6em;}
:root .tsfp-article h2{font-size:1.6rem;}
:root .tsfp-article h3{font-size:1.3rem;}
:root .tsfp-article h4{font-size:1.1rem;}
:root .tsfp-article ul{list-style:disc;padding-left:1.4em;}
:root .tsfp-article ol{list-style:decimal;padding-left:1.4em;}
:root .tsfp-article li{margin:0 0 .4em;}
:root .tsfp-article a{color:var(--tsfp-blue-dark);text-decoration:underline;text-underline-offset:3px;}
:root .tsfp-article a:hover{color:var(--tsfp-blue);}
:root .tsfp-article blockquote{border-left:3px solid var(--tsfp-blue);background-color:var(--tsfp-lightblue);padding:18px 22px;border-radius:0 12px 12px 0;}
:root .tsfp-article img{border-radius:12px;}
:root .tsfp-article-back{justify-content:flex-start;margin-top:40px;}
:root .tsfp-article blockquote > :last-child{margin-bottom:0;}
