/* =========================================================
   FRP Tools Pro — main stylesheet
   Clean, light, premium-feel design
   ========================================================= */

:root{
	--color-primary: #2563eb;
	--color-primary-dark: #1d4ed8;
	--color-primary-light: #eaf1ff;
	--color-accent: #0ea5e9;

	--color-text: #14181f;
	--color-text-muted: #5b6472;
	--color-border: #e6e9ef;
	--color-bg: #ffffff;
	--color-bg-alt: #f7f9fc;

	--radius-sm: 8px;
	--radius-md: 14px;
	--radius-lg: 20px;

	--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);
	--shadow-md: 0 6px 20px rgba(16, 24, 40, .08);
	--shadow-lg: 0 16px 40px rgba(16, 24, 40, .12);

	--container: 1200px;
	--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Reset ---------- */
*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
	margin:0;
	font-family:var(--font);
	color:var(--color-text);
	background:var(--color-bg);
	font-size:16px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; transition:color .15s ease; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{ line-height:1.25; margin:0 0 .5em; font-weight:700; letter-spacing:-.01em; }
p{ margin:0 0 1em; color:var(--color-text-muted); }

.screen-reader-text{ position:absolute !important; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden; }
.skip-link{ position:absolute; top:-100px; left:0; background:var(--color-primary); color:#fff; padding:10px 16px; z-index:9999; border-radius:0 0 8px 0; }
.skip-link:focus{ top:0; }

.container{ max-width:var(--container); margin:0 auto; padding:0 24px; }

/* ---------- Buttons ---------- */
.btn{
	display:inline-flex; align-items:center; gap:8px;
	padding:12px 22px; border-radius:var(--radius-sm);
	font-weight:600; font-size:15px; border:1px solid transparent;
	transition:all .15s ease; white-space:nowrap;
}
.btn-primary{ background:var(--color-primary); color:#fff; box-shadow:var(--shadow-sm); }
.btn-primary:hover{ background:var(--color-primary-dark); color:#fff; box-shadow:var(--shadow-md); transform:translateY(-1px); }
.btn-outline{ background:#fff; color:var(--color-primary); border-color:var(--color-border); }
.btn-outline:hover{ border-color:var(--color-primary); background:var(--color-primary-light); color:var(--color-primary-dark); }

/* =========================================================
   Header
   ========================================================= */
.site-header{
	position:sticky; top:0; z-index:100;
	background:rgba(255,255,255,.92);
	backdrop-filter:saturate(180%) blur(10px);
	border-bottom:1px solid var(--color-border);
}
.header-inner{
	display:flex; align-items:center; gap:32px;
	height:72px; overflow:hidden;
}
.site-branding{ margin-right:auto; display:flex; align-items:center; height:100%; overflow:hidden; }
.site-title-link{ display:flex; align-items:center; height:100%; }
.site-title{ font-size:22px; font-weight:800; color:var(--color-text); letter-spacing:-.02em; }
.custom-logo, .default-logo,
.site-branding img{ max-height:40px !important; width:auto !important; height:auto !important; display:block; }

.main-navigation{ display:flex; }
.nav-menu{ display:flex; gap:28px; align-items:center; }
.nav-menu a{ font-weight:600; font-size:15px; color:var(--color-text-muted); }
.nav-menu a:hover{ color:var(--color-primary); }

.header-actions{ display:flex; align-items:center; gap:12px; }
.header-search-toggle{
	width:40px; height:40px; border-radius:50%; border:1px solid var(--color-border);
	background:#fff; display:flex; align-items:center; justify-content:center; color:var(--color-text-muted);
}
.header-search-toggle:hover{ color:var(--color-primary); border-color:var(--color-primary); }
.header-download-btn{ padding:10px 18px; font-size:14px; }
.mobile-menu-toggle{
	display:none; width:40px; height:40px; border:none; background:none;
	flex-direction:column; justify-content:center; gap:5px; align-items:center;
}
.mobile-menu-toggle span{ width:22px; height:2px; background:var(--color-text); border-radius:2px; }

.header-search-panel{
	max-height:0; overflow:hidden; transition:max-height .25s ease;
	border-top:1px solid transparent;
}
.header-search-panel.is-open{ max-height:100px; border-top-color:var(--color-border); }
.header-search-panel .container{ padding-top:16px; padding-bottom:16px; }

.mobile-menu{ display:none; }

/* Search form (shared: header panel + hero + 404) */
.frpt-search-form{
	display:flex; align-items:center; gap:8px;
	background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-md);
	padding:6px 6px 6px 18px; box-shadow:var(--shadow-sm);
}
.frpt-search-input{
	flex:1; border:none; outline:none; font-size:15px; padding:10px 0; background:transparent; color:var(--color-text);
}
.frpt-search-btn{
	background:var(--color-primary); color:#fff; border:none; border-radius:var(--radius-sm);
	width:44px; height:44px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.frpt-search-btn:hover{ background:var(--color-primary-dark); }

/* =========================================================
   Hero
   ========================================================= */
.hero{
	background:
		radial-gradient(1200px 500px at 15% -10%, var(--color-primary-light), transparent 60%),
		radial-gradient(900px 400px at 100% 0%, #e9f7ff, transparent 60%),
		var(--color-bg-alt);
	border-bottom:1px solid var(--color-border);
	padding:88px 0 76px;
	text-align:center;
}
.hero-inner{ max-width:760px; }
.hero-title{
	font-size:44px; line-height:1.15; margin-bottom:18px; color:var(--color-text);
}
.hero-subtitle{ font-size:18px; color:var(--color-text-muted); margin-bottom:36px; }
.hero-search{ max-width:560px; margin:0 auto; }
.hero-search .frpt-search-form{ padding:8px 8px 8px 22px; }
.hero-search .frpt-search-input{ font-size:16px; padding:12px 0; }
.hero-search .frpt-search-btn{ width:48px; height:48px; }

/* =========================================================
   Sections
   ========================================================= */
.section{ padding:64px 0; }
.section-heading{
	display:flex; align-items:baseline; justify-content:space-between; margin-bottom:32px;
}
.section-heading h2{ font-size:28px; margin:0; }
.section-link{ font-weight:600; color:var(--color-primary); font-size:14px; }
.section-link:hover{ color:var(--color-primary-dark); }
.fire{ font-size:.7em; }

.categories-section{ background:var(--color-bg-alt); border-bottom:1px solid var(--color-border); }

/* Category grid */
.category-grid{
	display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;
}
.category-card{
	background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-md);
	padding:26px 20px; text-align:center; transition:all .18s ease;
}
.category-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--color-primary); }
.category-icon{
	width:52px; height:52px; border-radius:14px; background:var(--color-primary-light); color:var(--color-primary);
	display:flex; align-items:center; justify-content:center; margin:0 auto 14px;
}
.category-icon svg{ width:24px; height:24px; }
.category-name{ display:block; font-weight:700; font-size:15px; margin-bottom:4px; }
.category-count{ display:block; font-size:13px; color:var(--color-text-muted); }

/* Tool grid + card */
.tool-grid{
	display:grid; grid-template-columns:repeat(4, 1fr); gap:22px;
}
.tool-card{
	background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-md);
	overflow:hidden; display:flex; flex-direction:column; transition:all .2s ease; box-shadow:var(--shadow-sm);
}
.tool-card:hover{ box-shadow:var(--shadow-lg); transform:translateY(-4px); border-color:#d7e2f7; }
.tool-card-thumb{ position:relative; aspect-ratio:16/10; background:linear-gradient(135deg, var(--color-primary-light), var(--color-bg-alt)); display:block; overflow:hidden; }
.tool-card-thumb img{ width:100%; height:100%; object-fit:contain; padding:16px; box-sizing:border-box; background:#fff; }
.tool-card-thumb-placeholder{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#c3cbda; }
.tool-card-cat{
	position:absolute; top:10px; left:10px; background:rgba(255,255,255,.92); color:var(--color-primary);
	font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px; text-transform:uppercase; letter-spacing:.03em;
}
.tool-card-body{ padding:18px; display:flex; flex-direction:column; gap:10px; flex:1; }
.tool-card-title{ font-size:16px; margin:0; }
.tool-card-title a:hover{ color:var(--color-primary); }
.tool-meta-row{ display:flex; gap:8px; flex-wrap:wrap; }
.tool-badge{
	font-size:12px; font-weight:600; padding:4px 10px; border-radius:20px; background:var(--color-bg-alt); color:var(--color-text-muted);
	border:1px solid var(--color-border);
}
.tool-badge--version{ color:var(--color-primary); border-color:#d7e2f7; background:var(--color-primary-light); }
.tool-card-btn{ margin-top:auto; justify-content:center; width:100%; padding:10px; font-size:14px; }

.empty-state{
	background:var(--color-bg-alt); border:1px dashed var(--color-border); border-radius:var(--radius-md);
	padding:40px; text-align:center; color:var(--color-text-muted);
}

/* =========================================================
   Breadcrumbs
   ========================================================= */
.frpt-breadcrumbs{ font-size:13px; color:var(--color-text-muted); margin:24px 0; display:block; }
.frpt-breadcrumbs a{ color:var(--color-text-muted); }
.frpt-breadcrumbs a:hover{ color:var(--color-primary); }
.frpt-breadcrumbs .sep{ margin:0 6px; }
.frpt-breadcrumbs .current{ color:var(--color-text); font-weight:600; }

/* =========================================================
   Archive / taxonomy
   ========================================================= */
.archive-wrap{ padding-bottom:70px; }
.archive-header{ margin-bottom:32px; }
.archive-title{ font-size:32px; }
.archive-desc{ color:var(--color-text-muted); }

.pagination{ margin-top:40px; display:flex; justify-content:center; gap:8px; }
.pagination .page-numbers{
	display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px;
	border:1px solid var(--color-border); border-radius:var(--radius-sm); padding:0 12px; font-weight:600; color:var(--color-text-muted);
}
.pagination .page-numbers.current{ background:var(--color-primary); color:#fff; border-color:var(--color-primary); }
.pagination .page-numbers:hover{ border-color:var(--color-primary); color:var(--color-primary); }

/* =========================================================
   Single tool page
   ========================================================= */
.single-tool-wrap, .single-page-wrap{ padding-bottom:80px; }
.single-tool-grid{ display:grid; grid-template-columns:1fr 320px; gap:44px; align-items:start; }

.single-tool-cat{
	display:inline-block; margin-bottom:14px; font-size:12px; font-weight:700; text-transform:uppercase;
	letter-spacing:.03em; color:var(--color-primary); background:var(--color-primary-light); padding:5px 12px; border-radius:20px;
}
.single-tool-title{ font-size:34px; margin-bottom:10px; }
.single-tool-meta{ color:var(--color-text-muted); font-size:14px; margin-bottom:26px; }
.single-tool-thumb{ border-radius:var(--radius-md); overflow:hidden; margin-bottom:30px; border:1px solid var(--color-border); }
.single-tool-content{ font-size:16px; color:var(--color-text); }
.single-tool-content p{ color:var(--color-text); }
.single-tool-content h2, .single-tool-content h3{ margin-top:1.4em; }
.single-tool-content img{ border-radius:var(--radius-sm); }
.single-tool-requirements{
	margin-top:30px; padding:20px 24px; background:var(--color-bg-alt); border-radius:var(--radius-md); border:1px solid var(--color-border);
}
.single-tool-requirements h3{ font-size:15px; margin-bottom:8px; }
.single-tool-requirements p{ margin:0; color:var(--color-text-muted); }

.download-box{
	background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg);
	padding:26px; box-shadow:var(--shadow-md); position:sticky; top:96px;
}
.download-box-title{ font-size:17px; margin-bottom:16px; }
.download-box-list{ margin-bottom:20px; }
.download-box-list li{
	display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--color-border); font-size:14px;
}
.download-box-list li:last-child{ border-bottom:none; }
.download-box-list span{ color:var(--color-text-muted); }
.download-box-btn{ width:100%; justify-content:center; padding:15px; font-size:16px; box-shadow:0 6px 16px rgba(37,99,235,.28); }
.download-box-note{ text-align:center; font-size:12px; margin:12px 0 0; color:var(--color-text-muted); }

.related-box{ margin-top:24px; }
.related-box-title{ font-size:15px; margin-bottom:14px; }
.related-list{ display:flex; flex-direction:column; gap:10px; }
.related-list a{ display:flex; align-items:center; gap:12px; padding:8px; border-radius:var(--radius-sm); }
.related-list a:hover{ background:var(--color-bg-alt); }
.related-list img{ width:48px; height:48px; object-fit:cover; border-radius:8px; flex-shrink:0; }
.related-list span{ font-size:14px; font-weight:600; }

/* =========================================================
   Tool content template — the 7 sections rendered from the
   Tool meta box fields (see inc/meta-boxes.php)
   ========================================================= */
.frpt-content-block{ margin-top:8px; }
.frpt-section-title{
	font-size:23px; margin:56px 0 22px; padding:0 0 14px; color:var(--color-text);
	position:relative; border-bottom:2px solid var(--color-border); display:flex; align-items:center; gap:12px;
}
.frpt-section-title::before{
	content:""; width:6px; height:22px; border-radius:4px;
	background:linear-gradient(180deg, var(--color-primary), var(--color-accent)); flex-shrink:0;
}
.frpt-content-block > .frpt-section-title:first-of-type{ margin-top:0; }

/* 1. Info section: image + details table */
.frpt-info-section{
	display:grid; grid-template-columns:220px 1fr; gap:28px; align-items:stretch;
	background:linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-bg-alt) 55%, #fff 100%);
	border:1px solid var(--color-border); border-radius:var(--radius-lg);
	padding:26px; margin-bottom:24px; box-shadow:var(--shadow-md);
}
.frpt-info-image{
	background:#fff; border-radius:var(--radius-md); padding:14px; border:1px solid var(--color-border);
	box-shadow:var(--shadow-sm); display:flex; align-items:center; justify-content:center;
}
.frpt-info-image img{
	width:100%; aspect-ratio:1/1; object-fit:contain; border-radius:calc(var(--radius-md) - 6px);
}
.frpt-info-table{ width:100%; border-collapse:collapse; background:#fff; border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--color-border); box-shadow:var(--shadow-sm); align-self:center; }
.frpt-info-table tr:nth-child(odd) th, .frpt-info-table tr:nth-child(odd) td{ background:var(--color-bg-alt); }
.frpt-info-table th, .frpt-info-table td{ padding:15px 18px; text-align:left; font-size:14px; border-bottom:1px solid var(--color-border); }
.frpt-info-table tr:last-child th, .frpt-info-table tr:last-child td{ border-bottom:none; }
.frpt-info-table th{ font-weight:700; color:var(--color-text); width:44%; white-space:nowrap; }
.frpt-info-table th .dashicons{
	color:#fff; background:var(--color-primary); border-radius:7px; padding:4px; width:22px; height:22px;
	box-sizing:border-box; margin-right:10px; vertical-align:middle; font-size:16px;
}
.frpt-info-table td{ color:var(--color-text-muted); font-weight:500; }

.single-tool-content{ font-size:16px; line-height:1.75; }
.single-tool-content p{ margin-bottom:1.2em; }

/* 2. About cards */
.frpt-about-cards{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:20px; margin-bottom:26px; }
.frpt-about-card{
	background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-md);
	padding:26px 22px; text-align:center; box-shadow:var(--shadow-sm); transition:all .2s ease;
	position:relative; overflow:hidden;
}
.frpt-about-card::before{
	content:""; position:absolute; top:0; left:0; right:0; height:3px;
	background:linear-gradient(90deg, var(--color-primary), var(--color-accent));
	opacity:0; transition:opacity .2s ease;
}
.frpt-about-card:hover{ box-shadow:var(--shadow-lg); transform:translateY(-4px); border-color:#d7e2f7; }
.frpt-about-card:hover::before{ opacity:1; }
.frpt-about-icon{
	display:flex; align-items:center; justify-content:center; width:56px; height:56px; margin:0 auto 16px;
	border-radius:16px; background:var(--color-primary-light); color:var(--color-primary); font-size:26px !important;
}
.frpt-about-card h4{ font-size:16px; margin-bottom:8px; }
.frpt-about-card p{ font-size:14px; margin:0; line-height:1.6; }

/* 3. Features list */
.frpt-features-list{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:14px; margin-bottom:8px; }
.frpt-features-list li{
	position:relative; padding:14px 16px 14px 46px; background:#fff; border:1px solid var(--color-border);
	border-radius:var(--radius-sm); font-size:14.5px; font-weight:500; color:var(--color-text);
	box-shadow:var(--shadow-sm); transition:all .18s ease;
}
.frpt-features-list li:hover{ border-color:#d7e2f7; box-shadow:var(--shadow-md); transform:translateX(2px); }
.frpt-features-list li::before{
	content:"\2713"; position:absolute; left:14px; top:50%; transform:translateY(-50%);
	width:22px; height:22px; border-radius:50%; background:linear-gradient(135deg, var(--color-primary), var(--color-accent)); color:#fff;
	font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center;
	box-shadow:0 2px 6px rgba(37,99,235,.35);
}

/* 4. Screenshots */
.frpt-screenshots{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:18px; margin-bottom:8px; }
.frpt-screenshots img{
	width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius-md); border:1px solid var(--color-border);
	box-shadow:var(--shadow-md); transition:transform .25s ease, box-shadow .25s ease; cursor:zoom-in;
}
.frpt-screenshots img:hover{ transform:translateY(-4px) scale(1.015); box-shadow:var(--shadow-lg); }

/* 5. Requirements table */
.frpt-req-table{ width:100%; border-collapse:collapse; border:1px solid var(--color-border); border-radius:var(--radius-md); overflow:hidden; margin-bottom:8px; box-shadow:var(--shadow-sm); }
.frpt-req-table tr:nth-child(odd) td{ background:var(--color-bg-alt); }
.frpt-req-table th, .frpt-req-table td{ padding:15px 18px; text-align:left; font-size:14px; border-bottom:1px solid var(--color-border); }
.frpt-req-table tr:last-child th, .frpt-req-table tr:last-child td{ border-bottom:none; }
.frpt-req-table th{ background:var(--color-primary-light); color:var(--color-primary-dark); font-weight:700; width:40%; }
.frpt-req-table th .dashicons{
	color:#fff; background:var(--color-primary); border-radius:50%; padding:4px; width:22px; height:22px;
	box-sizing:border-box; margin-right:10px; vertical-align:middle; font-size:16px;
}
.frpt-req-table td{ color:var(--color-text-muted); font-weight:500; }

/* 6. Related links */
.frpt-related-links{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:8px; }
.frpt-link-btn{
	display:inline-flex; align-items:center; gap:8px; padding:12px 20px; border-radius:var(--radius-sm);
	background:#fff; color:var(--color-primary-dark); font-weight:600; font-size:14px;
	border:1px solid var(--color-border); box-shadow:var(--shadow-sm); transition:all .18s ease;
}
.frpt-link-btn::before{ content:"\1F517"; font-size:13px; }
.frpt-link-btn:hover{ background:var(--color-primary); color:#fff; border-color:var(--color-primary); box-shadow:var(--shadow-md); transform:translateY(-2px); }

/* 7. FAQ accordion */
.frpt-faq{ display:flex; flex-direction:column; gap:12px; margin-bottom:8px; }
.frpt-faq-item{ border:1px solid var(--color-border); border-radius:var(--radius-md); overflow:hidden; background:#fff; box-shadow:var(--shadow-sm); transition:box-shadow .2s ease; }
.frpt-faq-item.is-open{ box-shadow:var(--shadow-md); border-color:#d7e2f7; }
.frpt-faq-q{
	padding:18px 50px 18px 20px; font-weight:700; font-size:15px; cursor:pointer; position:relative;
	background:#fff; transition:background .15s ease;
}
.frpt-faq-q:hover{ background:var(--color-primary-light); }
.frpt-faq-q::after{
	content:"+"; position:absolute; right:20px; top:50%; transform:translateY(-50%); font-size:22px; font-weight:400;
	color:#fff; background:var(--color-primary); width:26px; height:26px; border-radius:50%;
	display:flex; align-items:center; justify-content:center; line-height:1; transition:transform .2s ease;
}
.frpt-faq-item.is-open .frpt-faq-q::after{ transform:translateY(-50%) rotate(135deg); }
.frpt-faq-a{ max-height:0; overflow:hidden; transition:max-height .25s ease; padding:0 20px; background:var(--color-bg-alt); }
.frpt-faq-item.is-open .frpt-faq-a{ max-height:400px; padding:16px 20px 20px; }
.frpt-faq-a p{ margin:0; font-size:14px; line-height:1.7; }

@media (max-width: 700px){
	.frpt-info-section{ grid-template-columns:1fr; }
	.frpt-info-image{ max-width:280px; margin:0 auto; }
	.frpt-about-cards{ grid-template-columns:1fr; }
	.frpt-features-list{ grid-template-columns:1fr; }
	.frpt-screenshots{ grid-template-columns:1fr; }
	.frpt-section-title{ font-size:20px; margin:40px 0 18px; }
}

/* =========================================================
   Comments
   ========================================================= */
.comments-area{ margin-top:50px; padding-top:40px; border-top:1px solid var(--color-border); }
.comments-title{ font-size:20px; margin-bottom:20px; }
.comment-list{ margin-bottom:30px; }
.comment-list .comment-body{ padding:16px 0; border-bottom:1px solid var(--color-border); }
.comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url], .comment-form textarea{
	width:100%; padding:12px 14px; border:1px solid var(--color-border); border-radius:var(--radius-sm); margin-bottom:14px; font-family:inherit; font-size:14px;
}

/* =========================================================
   404
   ========================================================= */
.error-404-wrap{ text-align:center; padding:100px 0; }
.error-code{ font-size:80px; font-weight:800; color:var(--color-primary-light); display:block; line-height:1; }
.error-404-wrap h1{ font-size:28px; margin-top:10px; }
.error-404-wrap .hero-search{ margin:30px auto; }

/* =========================================================
   Footer
   ========================================================= */
.site-footer{ background:var(--color-bg-alt); border-top:1px solid var(--color-border); margin-top:40px; }
.footer-inner{
	display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding:60px 0 40px;
}
.footer-brand .site-title{ font-size:20px; }
.footer-brand .default-logo, .footer-brand .custom-logo{ max-height:34px !important; }
.footer-tagline{ margin-top:12px; font-size:14px; }
.footer-widget-title{ font-size:14px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:16px; color:var(--color-text); }
.footer-links{ display:flex; flex-direction:column; gap:10px; }
.footer-links a{ color:var(--color-text-muted); font-size:14px; }
.footer-links a:hover{ color:var(--color-primary); }

/* Footer "Legal" column — Disclaimer / DMCA / Privacy / Contact */
.footer-legal-links{ display:flex; flex-direction:column; gap:4px; }
.footer-legal-links a{
	display:flex; align-items:center; gap:10px; font-size:14px; color:var(--color-text-muted);
	padding:9px 12px; border-radius:var(--radius-sm); transition:all .15s ease; margin:0 -12px;
}
.footer-legal-links a:hover{ color:var(--color-primary-dark); background:var(--color-primary-light); transform:translateX(2px); }
.footer-legal-links .dashicons{
	font-size:16px; width:16px; height:16px; color:var(--color-primary); flex-shrink:0;
}
.footer-bottom{ border-top:1px solid var(--color-border); padding:20px 0; }
.footer-bottom p{ margin:0; text-align:center; font-size:13px; color:var(--color-text-muted); }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 980px){
	.category-grid{ grid-template-columns:repeat(3, 1fr); }
	.tool-grid{ grid-template-columns:repeat(3, 1fr); }
	.single-tool-grid{ grid-template-columns:1fr; }
	.download-box{ position:static; }
	.footer-inner{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 760px){
	.main-navigation{ display:none; }
	.header-download-btn span{ display:none; }
	.header-download-btn{ padding:10px; }
	.mobile-menu-toggle{ display:flex; }
	.mobile-menu{
		display:block; max-height:0; overflow:hidden; transition:max-height .25s ease;
		border-top:1px solid transparent; background:#fff;
	}
	.mobile-menu.is-open{ max-height:400px; border-top-color:var(--color-border); }
	.mobile-nav-menu{ padding:16px 24px; display:flex; flex-direction:column; gap:4px; }
	.mobile-nav-menu a{ display:block; padding:12px 0; font-weight:600; border-bottom:1px solid var(--color-border); }

	.hero{ padding:56px 0; }
	.hero-title{ font-size:30px; }
	.hero-subtitle{ font-size:16px; }

	.category-grid{ grid-template-columns:repeat(2, 1fr); }
	.tool-grid{ grid-template-columns:repeat(2, 1fr); }
	.footer-inner{ grid-template-columns:1fr; padding:40px 0; }
}

@media (max-width: 460px){
	.category-grid{ grid-template-columns:1fr 1fr; gap:12px; }
	.tool-grid{ grid-template-columns:1fr 1fr; gap:14px; }
	.section{ padding:44px 0; }
}
