/*
Theme Name: NOFYI Simple Tools
Theme URI: https://nofyi.com/
Author: NOFYI
Description: A lightweight theme for the existing nofyi_tool system and browser-only tool plugin.
Version: 1.5.0
Requires at least: 6.2
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: nofyi-simple-tools
*/

:root{--nf-primary:#2457d6;--nf-primary-dark:#163d9d;--nf-ink:#172033;--nf-muted:#5e6a7d;--nf-line:#e5e9f0;--nf-bg:#f6f8fc;--nf-card:#fff;--nf-radius:18px;--nf-shadow:0 12px 34px rgba(24,43,83,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--nf-ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:var(--nf-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.nf-container{width:min(1160px,calc(100% - 40px));margin:0 auto}.nf-skip{position:absolute;left:-9999px}.nf-skip:focus{left:20px;top:20px;z-index:99;background:#fff;padding:10px 16px;border-radius:8px}.nf-site-header{background:#fff;border-bottom:1px solid var(--nf-line);position:sticky;top:0;z-index:20}.nf-header-inner{min-height:58px;display:flex;align-items:center;gap:22px}.nf-brand{display:flex;align-items:center;gap:9px;color:var(--nf-ink);font-weight:800;letter-spacing:-.02em}.nf-brand:hover{text-decoration:none}.nf-brand-mark{width:31px;height:31px;border-radius:9px;background:linear-gradient(135deg,var(--nf-primary),#54a6ff);display:grid;place-items:center;color:#fff;font-weight:900}.nf-custom-logo{display:block;width:auto;max-width:172px;max-height:42px;object-fit:contain}.nf-brand.has-custom-logo{gap:0}.nf-brand-text{font-size:1.08rem}.nf-brand-sub{display:block;font-size:.64rem;color:var(--nf-muted);font-weight:500;letter-spacing:.01em}.nf-category-wrap{position:relative;flex:0 0 auto}.nf-category-toggle{border:0;background:transparent;color:var(--nf-ink);padding:7px 4px;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.nf-category-toggle:hover,.nf-category-toggle:focus{color:var(--nf-primary)}.nf-category-menu{display:none;position:absolute;top:calc(100% + 9px);left:0;z-index:30;width:220px;padding:14px;border:1px solid var(--nf-line);border-radius:13px;background:#fff;box-shadow:0 14px 30px rgba(24,43,83,.14)}.nf-category-wrap.is-open .nf-category-menu,.nf-category-wrap:focus-within .nf-category-menu{display:block}.nf-category-menu p{margin:0 0 8px;color:var(--nf-muted);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.nf-category-menu ul{display:grid;gap:2px;list-style:none;margin:0;padding:0}.nf-category-menu a{display:block;padding:7px 8px;border-radius:7px;color:var(--nf-ink);font-size:.9rem;font-weight:650}.nf-category-menu a:hover,.nf-category-menu a:focus{background:#f0f5ff;color:var(--nf-primary);text-decoration:none}.nf-primary-nav{margin-left:auto}.nf-primary-nav ul{display:flex;gap:17px;list-style:none;margin:0;padding:0}.nf-primary-nav a{color:var(--nf-ink);font-size:.94rem;font-weight:650}.nf-primary-nav a:hover{color:var(--nf-primary);text-decoration:none}.nf-menu-toggle{display:none;border:1px solid var(--nf-line);background:#fff;border-radius:9px;padding:8px 11px;font-size:1.05rem}.nf-hero{background:linear-gradient(135deg,#edf4ff 0%,#f8fbff 52%,#eaf8ff 100%);padding:76px 0 70px}.nf-home-hero{background:linear-gradient(135deg,#edf4ff 0%,#f8fbff 54%,#eef9ff 100%);padding:56px 0 48px;border-bottom:1px solid #e7eef8}.nf-home-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:54px;align-items:center}.nf-home-copy{max-width:680px}.nf-eyebrow{margin:0 0 10px;color:var(--nf-primary);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.nf-home-copy h1{max-width:620px;margin:0 0 14px;font-size:clamp(2.35rem,5vw,4.15rem);line-height:1.02;letter-spacing:-.06em}.nf-home-lede{max-width:650px;margin:0 0 24px;color:var(--nf-muted);font-size:1.08rem}.nf-home-search{max-width:650px}.nf-home-actions{display:flex;align-items:center;gap:20px;margin-top:16px}.nf-text-link{font-weight:750;color:var(--nf-ink)}.nf-text-link:hover{color:var(--nf-primary)}.nf-home-panel{padding:24px;border:1px solid #dbe6f5;border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 16px 35px rgba(24,43,83,.09)}.nf-home-panel h2{margin:0 0 7px;font-size:1.55rem;letter-spacing:-.035em}.nf-panel-copy{margin:0 0 14px;color:var(--nf-muted);font-size:.94rem}.nf-home-tool-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--nf-line)}.nf-home-tool-list li{border-bottom:1px solid var(--nf-line)}.nf-home-tool-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;color:var(--nf-ink);font-weight:750}.nf-home-tool-list a:hover{color:var(--nf-primary);text-decoration:none}.nf-home-proof{border-bottom:1px solid var(--nf-line);background:#fff}.nf-home-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:17px 0;color:var(--nf-muted);font-size:.88rem}.nf-home-proof strong{display:block;margin-bottom:2px;color:var(--nf-ink);font-size:.9rem}.nf-home-featured{padding-top:48px}.nf-featured-grid .nf-card{min-height:225px}.nf-home-guidance{padding-top:52px}.nf-feature-number{margin-bottom:13px;color:#9aadd1;font-size:.78rem;font-weight:850;letter-spacing:.08em}.nf-hero h1{max-width:720px;margin:0 0 16px;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.05;letter-spacing:-.055em}.nf-hero p{max-width:680px;color:var(--nf-muted);font-size:1.12rem;margin:0 0 28px}.nf-search{display:flex;max-width:650px;background:#fff;border:1px solid #dce5f2;padding:7px;border-radius:14px;box-shadow:var(--nf-shadow)}.nf-search input{flex:1;border:0;outline:0;padding:13px 15px;font-size:1rem;min-width:0}.nf-button,.wp-element-button,.submit{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:var(--nf-primary);color:#fff;padding:12px 18px;font-weight:750;cursor:pointer}.nf-button:hover{background:var(--nf-primary-dark);color:#fff;text-decoration:none}.nf-section{padding:54px 0}.nf-section-alt{background:var(--nf-bg)}.nf-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.nf-section-heading h2{margin:0;font-size:1.75rem;letter-spacing:-.03em}.nf-section-heading p{margin:0;color:var(--nf-muted)}.nf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.nf-card{background:var(--nf-card);border:1px solid var(--nf-line);border-radius:var(--nf-radius);padding:22px;box-shadow:var(--nf-shadow);height:100%;display:flex;flex-direction:column}.nf-card h2,.nf-card h3{margin:0 0 8px;line-height:1.25;letter-spacing:-.02em}.nf-card p{color:var(--nf-muted);margin:0 0 16px}.nf-card-link{margin-top:auto;font-weight:750}.nf-card-meta{font-size:.78rem;color:var(--nf-primary);font-weight:750;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.nf-tool-archive-hero{background:var(--nf-bg);padding:52px 0 34px}.nf-tool-archive-hero h1{margin:0 0 9px;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.05em}.nf-tool-archive-hero p{margin:0;color:var(--nf-muted);max-width:680px}.nf-tax-nav{display:flex;gap:9px;overflow:auto;padding:18px 0 4px}.nf-tax-nav a{white-space:nowrap;border:1px solid var(--nf-line);border-radius:999px;background:#fff;padding:7px 13px;color:var(--nf-ink);font-size:.87rem}.nf-tax-nav a.current,.nf-tax-nav a:hover{border-color:var(--nf-primary);color:var(--nf-primary);text-decoration:none}.nf-breadcrumb{font-size:.86rem;color:var(--nf-muted);margin-bottom:20px}.nf-single{padding:30px 0 74px}.nf-single-header{max-width:850px;margin-bottom:20px}.nf-single-header h1{font-size:clamp(1.65rem,3.2vw,2.55rem);line-height:1.1;letter-spacing:-.045em;margin:0 0 10px}.nf-single-header p{font-size:1.02rem;color:var(--nf-muted);margin:0;max-width:760px}.nf-tool-top{max-width:900px;margin:0 0 22px}.nf-tool-top .nfaf-app{margin:0}.nf-quick-tools{max-width:900px;margin:0 0 40px;padding:20px 0 0;border-top:1px solid var(--nf-line)}.nf-quick-tools-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:13px}.nf-quick-tools-heading .nf-card-meta{margin:0 0 3px}.nf-quick-tools-heading h2{margin:0;font-size:1.25rem;line-height:1.2;letter-spacing:-.025em}.nf-quick-tools-heading>a{white-space:nowrap;font-size:.9rem;font-weight:750}.nf-quick-tools-list{display:flex;gap:10px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:thin}.nf-quick-tool{min-width:175px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;padding:12px 14px;border:1px solid var(--nf-line);border-radius:12px;background:#fff;color:var(--nf-ink);box-shadow:0 5px 16px rgba(24,43,83,.05)}.nf-quick-tool:hover{border-color:#a9bce9;text-decoration:none;transform:translateY(-1px)}.nf-quick-tool>span{font-size:.92rem;font-weight:750;line-height:1.25}.nf-quick-tool small{color:var(--nf-primary);font-weight:700}.nf-content{max-width:850px;font-size:1.04rem}.nf-content h2{font-size:1.55rem;line-height:1.2;margin:34px 0 12px;letter-spacing:-.025em}.nf-content h3{font-size:1.2rem;margin:24px 0 8px}.nf-content p,.nf-content ul,.nf-content ol{margin-top:0;margin-bottom:18px}.nf-content pre,.nf-content code{background:#f1f4f9;border-radius:7px}.nf-content pre{padding:17px;overflow:auto}.nf-content blockquote{border-left:4px solid var(--nf-primary);margin:24px 0;padding:5px 18px;color:var(--nf-muted)}.nf-tool-shell{margin:26px 0 35px}.nf-footer{background:#111b31;color:#d8dfed;padding:42px 0}.nf-footer a{color:#bcd1ff}.nf-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.nf-footer h2{font-size:1rem;color:#fff;margin:0 0 10px}.nf-footer p{margin:0;color:#aebbd0}.nf-footer ul{list-style:none;margin:0;padding:0}.nf-footer li{margin:4px 0}.nf-pagination{margin-top:30px}.nf-pagination .page-numbers{display:inline-block;padding:8px 12px;border:1px solid var(--nf-line);border-radius:8px;margin-right:5px}.nf-pagination .current{background:var(--nf-primary);color:#fff;border-color:var(--nf-primary)}.nf-empty{padding:35px;border:1px dashed #cbd5e1;border-radius:14px;color:var(--nf-muted)}.nf-notice{padding:15px 18px;background:#fff8e5;border:1px solid #f2d38a;border-radius:12px;color:#6e5517}
@media(max-width:800px){.nf-header-inner{min-height:54px}.nf-custom-logo{max-width:150px;max-height:36px}.nf-menu-toggle{display:block;margin-left:auto}.nf-primary-nav{display:none;width:100%;margin:0;padding-bottom:15px}.nf-primary-nav.is-open{display:block}.nf-primary-nav ul{display:block}.nf-primary-nav li{padding:8px 0}.nf-header-inner{flex-wrap:wrap;gap:0}.nf-primary-nav a{display:block}.nf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nf-footer-grid{grid-template-columns:1fr 1fr}.nf-category-menu{left:-12px}.nf-home-hero-grid{grid-template-columns:1fr;gap:28px}.nf-home-copy h1{max-width:680px}.nf-home-panel{max-width:620px}.nf-home-proof-grid{gap:16px}}
@media(max-width:520px){.nf-container{width:min(100% - 28px,1160px)}.nf-hero{padding:52px 0}.nf-home-hero{padding:38px 0 34px}.nf-category-toggle{font-size:.86rem}.nf-category-menu{width:205px}.nf-home-copy h1{font-size:clamp(2.15rem,11vw,3.1rem)}.nf-home-lede{font-size:1rem}.nf-home-actions{display:grid;gap:12px}.nf-home-actions .nf-button{width:100%}.nf-home-actions .nf-text-link{text-align:center}.nf-home-proof-grid{grid-template-columns:1fr;gap:12px;padding:16px 0}.nf-search{display:block;background:transparent;border:0;padding:0;box-shadow:none}.nf-search input{width:100%;border:1px solid #dce5f2;border-radius:10px;margin-bottom:9px}.nf-search .nf-button{width:100%}.nf-grid{grid-template-columns:1fr}.nf-footer-grid{grid-template-columns:1fr}.nf-section-heading{display:block}.nf-section-heading p{margin-top:6px}.nf-single{padding-top:22px}.nf-quick-tools-heading{display:block}.nf-quick-tools-heading>a{display:inline-block;margin-top:8px}.nf-quick-tool{min-width:165px}}

/* Blog and editorial layout additions */
.nf-blog-hero{padding:clamp(2.4rem,5vw,4.8rem) 0;background:linear-gradient(135deg,#f3f8ff 0%,#ffffff 58%,#eefaf8 100%);border-bottom:1px solid var(--nf-line)}
.nf-blog-hero-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.nf-blog-hero h1{max-width:760px;margin:0;font-size:clamp(2.05rem,4.2vw,3.55rem);letter-spacing:-.045em}
.nf-blog-intro{max-width:680px;margin:1.1rem 0 0;color:var(--nf-muted);font-size:1.08rem;line-height:1.72}
.nf-blog-hero-card,.nf-aside-card{padding:1.35rem;border:1px solid var(--nf-line);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 16px 40px rgba(20,48,88,.08)}
.nf-blog-hero-card h2,.nf-aside-card h2{margin:.3rem 0 .55rem;font-size:1.25rem}
.nf-blog-hero-card p:not(.nf-card-meta),.nf-aside-card p:not(.nf-card-meta){color:var(--nf-muted);line-height:1.65}
.nf-blog-list-section{padding-top:clamp(2.5rem,5vw,4.5rem)}
.nf-section-note{max-width:280px;margin:0;color:var(--nf-muted);font-size:.9rem;line-height:1.5;text-align:right}
.nf-article-card{display:flex;flex-direction:column;min-height:245px}
.nf-article-card .nf-card-link{margin-top:auto}
.nf-article-dek{max-width:760px;margin:1rem 0 0;color:var(--nf-muted);font-size:1.08rem;line-height:1.7}
.nf-article-byline{margin:1rem 0 0;color:var(--nf-muted);font-size:.88rem}
.nf-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(1.5rem,5vw,4rem);align-items:start}
.nf-article-content{max-width:780px}
.nf-article-content h2{margin-top:2rem}
.nf-article-content p,.nf-article-content li{line-height:1.78}
.nf-article-aside{position:sticky;top:1rem}
@media (max-width:760px){.nf-blog-hero-inner,.nf-article-layout{grid-template-columns:1fr}.nf-section-note{margin-top:.6rem;text-align:left}.nf-article-aside{position:static}.nf-blog-hero-card{max-width:520px}}
