/*
Theme Name: FiniteSkills
Theme URI: https://www.finiteskills.com/
Description: Minimal, fast, dependency-free theme for finiteskills.com. All site chrome (header, footer, page bodies) is rendered by the FiniteSkills MU plugins; this theme provides clean structural markup, the blog, and base typography only.
Version: 1.0.0
Author: Finite Skills Tech Soft Solutions (OPC) Private Limited
Text Domain: finiteskills
*/

:root{--fst-accent:#0b57d0;--fst-accent-2:#0a3f9e;--fst-ink:#081b33;--fst-body:#22324a;--fst-muted:#64748b;--fst-line:#d9e3ef;--fst-bg:#f6f9fd;--fst-card:#fff}
html.finiteskills-dark-theme{--fst-ink:#fff;--fst-body:#cfdbe9;--fst-muted:#8aa0bd;--fst-line:#31485d;--fst-bg:#0f1720;--fst-card:#172433}

html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fst-bg);color:var(--fst-body);font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif;line-height:1.65;font-size:16px}
img{max-width:100%;height:auto}
*,*::before,*::after{box-sizing:border-box}

.site-content{display:block}
.fs-wrap{max-width:1180px;margin:0 auto;padding:26px 18px 60px}

.fs-page-head{margin:6px 0 22px}
.entry-title{margin:0;font-size:clamp(30px,4.4vw,40px);line-height:1.1;letter-spacing:-.025em;color:var(--fst-ink)}
.entry-content{display:grid;gap:22px}
.entry-content>p{max-width:920px}
.entry-content p a:not([class]),.entry-content li a:not([class]){color:var(--fst-accent);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:rgba(11,87,208,.28);text-underline-offset:3px;border-radius:4px;transition:text-decoration-color .16s ease,background .16s ease}
.entry-content p a:not([class]):hover,.entry-content li a:not([class]):hover{text-decoration-color:var(--fst-accent);background:rgba(11,87,208,.07)}
html.finiteskills-dark-theme .entry-content p a:not([class]),html.finiteskills-dark-theme .entry-content li a:not([class]){color:#7cc7ff;text-decoration-color:rgba(124,199,255,.35)}

/* ------------------------------------------------------------ Blog */
.fs-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin-top:6px}
.fs-post-card{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--fst-line);border-radius:16px;background:var(--fst-card);overflow:hidden;box-shadow:0 10px 26px rgba(16,32,51,.07);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.fs-post-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(11,87,208,.14);border-color:#b7cdf0}
.fs-post-thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:#e8eff9}
.fs-post-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fs-post-body{display:grid;gap:9px;padding:18px;align-content:start}
.fs-post-date{font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fst-muted)}
.fs-post-title{margin:0;font-size:20px;line-height:1.25;letter-spacing:-.01em}
.fs-post-title a{color:var(--fst-ink);text-decoration:none}
.fs-post-title a:hover{color:var(--fst-accent)}
.fs-post-excerpt{margin:0;font-size:14.5px;color:var(--fst-body)}
.fs-post-more{display:inline-flex;align-items:center;gap:7px;margin-top:2px;color:var(--fst-accent);font-weight:800;font-size:14px;text-decoration:none}
.fs-post-more span{transition:transform .16s ease}
.fs-post-more:hover span{transform:translateX(3px)}
html.finiteskills-dark-theme .fs-post-more{color:#7cc7ff}

.fs-single-meta{display:flex;gap:10px;align-items:center;color:var(--fst-muted);font-size:13.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin:8px 0 0}
.fs-back-row{margin-top:26px}

.fs-pagination{margin-top:28px}
.fs-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fs-pagination a,.fs-pagination span.current{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:0 13px;border:1px solid var(--fst-line);border-radius:10px;background:var(--fst-card);color:var(--fst-accent);font-weight:800;text-decoration:none;transition:transform .16s ease,border-color .16s ease}
.fs-pagination a:hover{transform:translateY(-1px);border-color:var(--fst-accent)}
.fs-pagination span.current{background:var(--fst-accent);border-color:var(--fst-accent);color:#fff}
html.finiteskills-dark-theme .fs-pagination a{color:#7cc7ff}

/* ------------------------------------------------------------ 404 + misc */
.fs-404{display:grid;gap:14px;justify-items:start;padding:40px 0}
.fs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:11px;background:linear-gradient(135deg,var(--fst-accent),var(--fst-accent-2));color:#fff!important;font-weight:800;text-decoration:none;box-shadow:0 10px 22px rgba(11,87,208,.24);transition:transform .18s ease,box-shadow .18s ease}
.fs-btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(11,87,208,.3)}
.fs-btn-ghost{background:var(--fst-card);border:1px solid var(--fst-line);color:var(--fst-accent)!important;box-shadow:none}
.fs-404-actions{display:flex;gap:12px;flex-wrap:wrap}
.fs-empty{padding:30px 0;color:var(--fst-muted)}

a:focus-visible,button:focus-visible{outline:3px solid rgba(11,87,208,.45);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
@media(max-width:640px){.fs-wrap{padding:18px 14px 44px}}
