/*
Theme Name: Financial Plan For Life
Theme URI: https://www.financialplanforlife.com/
Author: Vlad Shafir
Description: Custom theme for financialplanforlife.com. The homepage is front-page.php with the approved copy untouched. Inner pages, blog, 404 and search use the same header, footer and brand colors. Technical SEO built in: canonical redirect, schema, robots/llms.txt, SEO checklist under Tools.
Version: 8.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: fpfl
*/

/* Inner pages only. Header, buttons, footer and :root colors come from assets/site.css. */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--blue-ink);color:#fff;padding:10px 16px;z-index:200}
.skip-link:focus{left:8px;top:8px}
.page-head{background:var(--blue-ink);color:#fff;padding:56px 0 52px}
.page-head .wrap{max-width:760px;padding:0 24px}
.page-head h1{font-size:clamp(2rem,4.6vw,3rem);color:#fff;margin:10px 0 0}
.page-head .meta{margin:14px 0 0;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);font-weight:600}
.crumbs{font-size:.8rem;color:var(--steel)}
.crumbs a{color:var(--steel);text-decoration:none}
.crumbs a:hover{color:var(--sun)}
.crumbs span{margin:0 6px}
.wrap-post{max-width:760px;margin:0 auto;padding:56px 24px 88px}
.entry{font-size:1.05rem;color:#2c3d55}
.entry h2{font-size:1.7rem;margin:2em 0 .6em;color:var(--blue-ink)}
.entry h3{font-size:1.3rem;margin:1.6em 0 .5em;color:var(--blue-ink)}
.entry p,.entry ul,.entry ol{margin:0 0 1.15em}
.entry ul,.entry ol{padding-left:1.3em}
.entry a{color:var(--blue)}
.entry img{border-radius:12px}
.entry blockquote{border-left:4px solid var(--sun);margin:1.5em 0;padding:4px 0 4px 18px;font-family:'Fraunces',Georgia,serif;font-size:1.2rem}
.entry table{width:100%;border-collapse:collapse;margin:1.5em 0}
.entry th,.entry td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left}
.post-card{padding:28px 0;border-bottom:1px solid var(--line)}
.post-card h2{margin:4px 0 8px;font-size:1.5rem}
.post-card h2 a{color:var(--blue-ink);text-decoration:none}
.post-card h2 a:hover{color:var(--blue)}
.post-card p{margin:0}
.post-card .meta,.page-head .meta{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.post-card .meta{color:var(--blue)}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:32px;font-weight:600}
.pager a{color:var(--blue)}
.page-cta{margin-top:48px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:40px}
.card{display:block;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--stone-soft);text-decoration:none;color:var(--blue-ink);transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 12px 24px rgba(10,31,68,.1);transform:translateY(-2px)}
.card h2{font-size:1.25rem;margin:0 0 8px}
.card p{margin:0;font-size:.95rem;color:var(--muted)}
.fpfl-video{margin:2em 0}
.fpfl-video-frame{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--blue-ink)}
.fpfl-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.fpfl-video figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
.fpfl-transcript{border-top:1px solid var(--line);margin-top:1.5em;padding-top:1em}
.fpfl-transcript h2{font-size:1.2rem;margin-top:0}
.screen-reader-text{position:absolute;left:-9999px}
