/*
Theme Name: Small SEO Tools
Theme URI: https://smallseotool.in/
Author: Small SEO Tools
Description: A fast, clean directory theme for a free online SEO tools website. Built for readability, Core Web Vitals and ad placement.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: small-seo-tools
Tags: custom-menu, custom-logo, one-column, two-columns, right-sidebar, block-styles
*/

/* ============================================================
   1. Tokens
   ============================================================ */
:root{
	--brand:#1d4ed8;
	--brand-dark:#1e3a8a;
	--brand-soft:rgba(29,78,216,.10);
	--ink:#0f172a;
	--body:#334155;
	--sub:#64748b;
	--line:#e5e9f0;
	--soft:#f8fafc;
	--card:#ffffff;
	--wrap:1180px;
	--radius:14px;

	--c-text:#0284c7;
	--c-seo:#1d4ed8;
	--c-dev:#7c3aed;
	--c-gen:#0d9488;
	--c-image:#ea580c;
}

/* ============================================================
   2. Base
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
	margin:0;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
	font-size:16px;
	line-height:1.65;
	color:var(--body);
	background:#fff;
	-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{color:var(--ink);line-height:1.25;letter-spacing:-.015em;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(1.85rem,3.4vw,2.5rem)}
h2{font-size:clamp(1.35rem,2.2vw,1.7rem)}
h3{font-size:1.12rem}
p{margin:0 0 1.05em}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
ul,ol{padding-left:1.25rem}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:10px 16px;border-radius:8px;box-shadow:0 4px 18px rgba(15,23,42,.16)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ============================================================
   3. Header
   ============================================================ */
.site-head{
	position:sticky;top:0;z-index:40;
	background:rgba(255,255,255,.94);
	backdrop-filter:saturate(160%) blur(8px);
	border-bottom:1px solid var(--line);
}
.head-in{display:flex;align-items:center;gap:18px;height:66px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.12rem;color:var(--ink);letter-spacing:-.02em;flex:0 0 auto}
.brand:hover{text-decoration:none}
.brand__mark{
	width:34px;height:34px;flex:0 0 34px;
	border-radius:9px;
	background:linear-gradient(140deg,var(--brand),#3b82f6);
	display:grid;place-items:center;color:#fff;
}
.brand__mark svg{width:19px;height:19px}
.brand__dot{color:var(--brand)}

.nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.nav a{
	color:var(--body);font-size:.93rem;font-weight:500;
	padding:8px 13px;border-radius:8px;
}
.nav a:hover{background:var(--soft);color:var(--ink);text-decoration:none}
.nav .cur a,.nav a[aria-current="page"]{color:var(--brand);background:var(--brand-soft)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}

.menu-btn{
	display:none;margin-left:auto;
	width:40px;height:40px;
	border:1px solid var(--line);border-radius:9px;
	background:#fff;cursor:pointer;color:var(--ink);
	align-items:center;justify-content:center;
}
.menu-btn svg{width:20px;height:20px}

@media(max-width:900px){
	.menu-btn{display:flex}
	.nav{
		display:none;
		position:absolute;left:0;right:0;top:66px;
		background:#fff;border-bottom:1px solid var(--line);
		padding:8px 20px 14px;
		box-shadow:0 12px 24px -12px rgba(15,23,42,.18);
	}
	.nav.open{display:block}
	.nav ul{flex-direction:column;gap:0}
	.nav a{display:block;padding:11px 12px;border-radius:8px}
}

/* ============================================================
   4. Hero
   ============================================================ */
.hero{
	background:
		radial-gradient(900px 320px at 50% -60px,rgba(29,78,216,.10),transparent 70%),
		linear-gradient(180deg,var(--soft),#fff);
	border-bottom:1px solid var(--line);
	padding:56px 0 44px;
	text-align:center;
}
.hero h1{margin:0 0 12px}
.hero__sub{
	max-width:640px;margin:0 auto 26px;
	font-size:1.06rem;color:var(--sub);
}
.hero__search{max-width:600px;margin:0 auto;position:relative}
.hero__search input{
	width:100%;font:inherit;font-size:1rem;
	padding:15px 18px 15px 46px;
	border:1px solid var(--line);border-radius:12px;
	background:#fff;color:var(--ink);
	box-shadow:0 4px 18px -8px rgba(15,23,42,.16);
}
.hero__search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.hero__search svg{
	position:absolute;left:16px;top:50%;transform:translateY(-50%);
	width:19px;height:19px;color:var(--sub);pointer-events:none;
}
.hero__chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:22px 0 0}
.chip{
	font-size:.85rem;font-weight:500;color:var(--body);
	background:#fff;border:1px solid var(--line);
	padding:7px 14px;border-radius:99px;
}
.chip:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}

/* ============================================================
   5. Tool grid
   ============================================================ */
.section{padding:44px 0 0}
.section:last-of-type{padding-bottom:10px}
.section__head{display:flex;align-items:center;gap:12px;margin:0 0 18px;scroll-margin-top:82px}
.section__ic{
	width:38px;height:38px;flex:0 0 38px;border-radius:10px;
	display:grid;place-items:center;
	background:var(--brand-soft);color:var(--brand);
}
.section__ic svg{width:20px;height:20px}
.section__head h2{margin:0;font-size:1.35rem}
.section__head p{margin:2px 0 0;font-size:.9rem;color:var(--sub)}

.tool-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(268px,1fr));
	gap:12px;
}
.tool{
	display:flex;align-items:flex-start;gap:12px;
	background:var(--card);
	border:1px solid var(--line);
	border-radius:12px;
	padding:14px;
	transition:border-color .16s,box-shadow .16s,transform .16s;
}
.tool:hover{
	text-decoration:none;
	border-color:#cbd5e1;
	box-shadow:0 10px 22px -14px rgba(15,23,42,.35);
	transform:translateY(-2px);
}
.tool__ic{
	width:38px;height:38px;flex:0 0 38px;border-radius:10px;
	display:grid;place-items:center;
	background:var(--brand-soft);color:var(--brand);
}
.tool__ic svg{width:19px;height:19px}
.tool__tx{display:block;min-width:0}
.tool__tx b{display:block;color:var(--ink);font-size:.95rem;font-weight:600;line-height:1.35}
.tool__tx small{display:block;color:var(--sub);font-size:.82rem;line-height:1.45;margin-top:2px}

.tool--text .tool__ic,.section--text .section__ic{background:rgba(2,132,199,.10);color:var(--c-text)}
.tool--seo .tool__ic,.section--seo .section__ic{background:rgba(29,78,216,.10);color:var(--c-seo)}
.tool--dev .tool__ic,.section--dev .section__ic{background:rgba(124,58,237,.10);color:var(--c-dev)}
.tool--gen .tool__ic,.section--gen .section__ic{background:rgba(13,148,136,.10);color:var(--c-gen)}
.tool--image .tool__ic,.section--image .section__ic{background:rgba(234,88,12,.10);color:var(--c-image)}

.no-hits{display:none;color:var(--sub);padding:20px 0}
.is-empty .no-hits{display:block}

/* ============================================================
   6. Feature strip
   ============================================================ */
.feats{border-top:1px solid var(--line);margin-top:48px;padding:40px 0;background:var(--soft)}
.feats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.feat{display:flex;gap:12px;align-items:flex-start}
.feat svg{width:22px;height:22px;color:var(--brand);flex:0 0 22px;margin-top:2px}
.feat b{display:block;color:var(--ink);font-size:.97rem;margin-bottom:2px}
.feat span{font-size:.89rem;color:var(--sub);line-height:1.6}

/* ============================================================
   7. Page layout
   ============================================================ */
.page-wrap{padding:26px 0 50px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start}
@media(max-width:980px){.layout{grid-template-columns:1fr;gap:28px}}

.crumbs{font-size:.83rem;color:var(--sub);margin:0 0 14px;display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.crumbs a{color:var(--sub)}
.crumbs a:hover{color:var(--brand)}
.crumbs span[aria-hidden]{color:#cbd5e1}
.crumbs [aria-current]{color:var(--ink)}

.page-title{margin:0 0 8px}
.page-lede{font-size:1.02rem;color:var(--sub);margin:0 0 22px;max-width:70ch}

.entry{font-size:1rem}
.entry h2{margin:1.8em 0 .6em}
.entry h3{margin:1.5em 0 .5em}
.entry ul,.entry ol{margin:0 0 1.1em}
.entry li{margin:0 0 .45em}
.entry table{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:.93rem}
.entry th,.entry td{border:1px solid var(--line);padding:9px 11px;text-align:left}
.entry th{background:var(--soft)}
.entry blockquote{margin:0 0 1.2em;padding:2px 0 2px 16px;border-left:3px solid var(--brand);color:var(--sub)}
.entry code{background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:.88em}
.entry .table-scroll{overflow-x:auto}

/* ============================================================
   8. Sidebar
   ============================================================ */
.side{position:sticky;top:84px;display:grid;gap:18px}
@media(max-width:980px){.side{position:static}}
.side__box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.side__box h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--sub);margin:0 0 12px}
.side__list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.side__list a{
	display:flex;align-items:center;gap:9px;
	color:var(--body);font-size:.9rem;
	padding:8px 9px;border-radius:8px;
}
.side__list a:hover{background:var(--soft);color:var(--brand);text-decoration:none}
.side__list svg{width:15px;height:15px;color:var(--sub);flex:0 0 15px}
.side__list a:hover svg{color:var(--brand)}

/* ============================================================
   9. Posts and search results
   ============================================================ */
.card-list{display:grid;gap:14px}
.post-card{border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--card)}
.post-card h2{font-size:1.14rem;margin:0 0 6px}
.post-card p{margin:0;color:var(--sub);font-size:.93rem}
.post-meta{font-size:.8rem;color:var(--sub);margin:0 0 14px}
.pagination{margin-top:22px;display:flex;gap:6px;flex-wrap:wrap}
.pagination .page-numbers{
	display:inline-block;padding:8px 13px;border:1px solid var(--line);
	border-radius:8px;color:var(--body);font-size:.9rem;
}
.pagination .current{background:var(--brand);border-color:var(--brand);color:#fff}

/* ============================================================
   10. Footer
   ============================================================ */
.site-foot{background:#0b1220;color:#94a3b8;margin-top:60px;font-size:.92rem}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding:46px 0 34px}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr;gap:26px}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
.site-foot h4{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.07em;margin:0 0 14px}
.site-foot p{color:#94a3b8;line-height:1.7;margin:0 0 12px}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-foot a{color:#cbd5e1}
.site-foot a:hover{color:#fff}
.foot-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:1.08rem;margin-bottom:12px}
.foot-brand .brand__mark{width:32px;height:32px;flex:0 0 32px}
.foot-bar{
	border-top:1px solid rgba(255,255,255,.08);
	padding:16px 0;display:flex;flex-wrap:wrap;gap:10px;
	justify-content:space-between;font-size:.85rem;
}

/* ============================================================
   11. Misc
   ============================================================ */
.notice{background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:8px;padding:14px 16px;margin:0 0 20px;font-size:.93rem}
.err-404{text-align:center;padding:60px 0}
.err-404 b{display:block;font-size:4rem;color:var(--brand);line-height:1}

/* ============================================================
   12. Hero trust row
   ============================================================ */
.hero__trust{
	display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;
	margin:20px 0 0;font-size:.86rem;color:var(--sub);
}
.hero__trust span{display:inline-flex;align-items:center;gap:7px}
.hero__trust svg{width:16px;height:16px;color:#16a34a;flex:0 0 16px}

/* ============================================================
   13. Popular / featured tools band
   ============================================================ */
.pop{padding:46px 0 6px}
.pop__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 20px;flex-wrap:wrap}
.pop__head h2{margin:0;font-size:1.4rem}
.pop__head .eyebrow{display:block;font-size:.76rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);margin:0 0 5px}
.pop__all{display:inline-flex;align-items:center;gap:5px;font-size:.9rem;font-weight:600;color:var(--brand);white-space:nowrap}
.pop__all svg{width:15px;height:15px}
.pop__all:hover{text-decoration:none;gap:8px}

.pop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1000px){.pop-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.pop-grid{grid-template-columns:1fr}}
.pop-card{
	position:relative;display:flex;flex-direction:column;gap:12px;
	background:var(--card);border:1px solid var(--line);border-radius:14px;
	padding:18px 18px 20px;overflow:hidden;
	transition:border-color .16s,box-shadow .16s,transform .16s;
}
.pop-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--brand);opacity:.9}
.pop-card:hover{text-decoration:none;border-color:#cbd5e1;transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(15,23,42,.4)}
.pop-card__ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}
.pop-card__ic svg{width:23px;height:23px}
.pop-card__tx b{display:block;color:var(--ink);font-size:1rem;font-weight:600;line-height:1.3}
.pop-card__tx small{display:block;color:var(--sub);font-size:.85rem;line-height:1.5;margin-top:4px}
.pop-card__go{margin-top:auto;display:inline-flex;align-items:center;gap:5px;font-size:.82rem;font-weight:600;color:var(--brand)}
.pop-card__go svg{width:14px;height:14px}

.tool--text .pop-card__ic{background:rgba(2,132,199,.10);color:var(--c-text)}
.tool--text.pop-card::before{background:var(--c-text)}
.tool--seo .pop-card__ic{background:rgba(29,78,216,.10);color:var(--c-seo)}
.tool--seo.pop-card::before{background:var(--c-seo)}
.tool--dev .pop-card__ic{background:rgba(124,58,237,.10);color:var(--c-dev)}
.tool--dev.pop-card::before{background:var(--c-dev)}
.tool--gen .pop-card__ic{background:rgba(13,148,136,.10);color:var(--c-gen)}
.tool--gen.pop-card::before{background:var(--c-gen)}
.tool--image .pop-card__ic{background:rgba(234,88,12,.10);color:var(--c-image)}
.tool--image.pop-card::before{background:var(--c-image)}
.tool--text .pop-card__go{color:var(--c-text)}
.tool--seo .pop-card__go{color:var(--c-seo)}
.tool--dev .pop-card__go{color:var(--c-dev)}
.tool--gen .pop-card__go{color:var(--c-gen)}
.tool--image .pop-card__go{color:var(--c-image)}

/* section head tool-count badge + divider */
.section__head{border-bottom:1px solid var(--line);padding-bottom:14px}
.section__head>div{flex:1 1 auto}
.section__count{
	margin-left:auto;align-self:center;flex:0 0 auto;
	font-size:.78rem;font-weight:600;color:var(--sub);
	background:var(--soft);border:1px solid var(--line);
	padding:4px 11px;border-radius:99px;
}
