/*
Theme Name: TechScoutly
Theme URI: https://techscoutly.com/
Author: TechScoutly
Author URI: https://techscoutly.com/
Description: A modern affiliate-tech review WordPress theme for AI tools, cybersecurity, hosting, SEO, productivity, software reviews and comparisons.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.6
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: techscoutly
Tags: blog, news, custom-logo, custom-menu, featured-images, responsive-layout, accessibility-ready
*/

:root {
  --ts-navy: #06152f;
  --ts-navy-2: #0a2147;
  --ts-blue: #1577ff;
  --ts-blue-2: #00a3ff;
  --ts-text: #101828;
  --ts-muted: #667085;
  --ts-border: #e4e7ec;
  --ts-surface: #ffffff;
  --ts-soft: #f7f9fc;
  --ts-radius: 16px;
  --ts-shadow: 0 12px 35px rgba(16,24,40,.08);
  --ts-max: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ts-text); background: #fff; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input { font: inherit; }

.ts-container { width: min(var(--ts-max), calc(100% - 40px)); margin: 0 auto; }
.ts-section { padding: 72px 0; }
.ts-section--tight { padding: 46px 0; }
.ts-section-title { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:28px; }
.ts-section-title h2 { margin:0; font-size:clamp(1.7rem, 2vw, 2.25rem); line-height:1.15; }
.ts-section-title p { margin:8px 0 0; color:var(--ts-muted); max-width:720px; }
.ts-link { color:var(--ts-blue); font-weight:700; }

/* Header */
.site-header { position:sticky; top:0; z-index:1000; background:rgba(6,21,47,.96); backdrop-filter: blur(10px); border-bottom:1px solid rgba(255,255,255,.08); }
.ts-header-inner { min-height:72px; display:flex; align-items:center; gap:24px; }
.site-branding { display:flex; align-items:center; gap:11px; min-width:max-content; color:#fff; font-weight:800; font-size:1.35rem; }
.custom-logo { max-height:44px; width:auto; }
.ts-brand-mark { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:linear-gradient(135deg,var(--ts-blue),var(--ts-blue-2)); color:#fff; font-weight:900; box-shadow:0 8px 22px rgba(21,119,255,.35); }
.site-title-text strong { color:#fff; }
.site-title-text span { color:#55a5ff; }
.site-description { display:block; font-size:.68rem; color:#a9bddc; font-weight:500; margin-top:-3px; }
.main-navigation { margin-left:auto; }
.main-navigation ul { list-style:none; display:flex; align-items:center; gap:26px; margin:0; padding:0; }
.main-navigation a { color:#eef5ff; font-size:.95rem; font-weight:600; }
.main-navigation a:hover { color:#6db5ff; }
.ts-header-actions { display:flex; align-items:center; gap:10px; }
.ts-search-btn, .ts-menu-toggle { border:0; background:transparent; color:#fff; width:42px; height:42px; border-radius:10px; cursor:pointer; }
.ts-menu-toggle { display:none; font-size:1.4rem; }
.ts-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:0 20px; border-radius:10px; font-weight:800; border:1px solid transparent; transition:.2s ease; cursor:pointer; }
.ts-btn:hover { transform:translateY(-1px); }
.ts-btn--primary { background:linear-gradient(135deg,var(--ts-blue),#0868e9); color:#fff; box-shadow:0 10px 25px rgba(21,119,255,.28); }
.ts-btn--outline { border-color:rgba(255,255,255,.35); color:#fff; background:rgba(255,255,255,.04); }

/* Hero */
.ts-hero { color:#fff; background:
 radial-gradient(circle at 80% 30%, rgba(0,163,255,.25), transparent 32%),
 radial-gradient(circle at 58% 10%, rgba(21,119,255,.16), transparent 28%),
 linear-gradient(135deg,#041127 0%, #081a38 55%, #06152f 100%); overflow:hidden; }
.ts-hero-inner { min-height:590px; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.ts-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:7px 11px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); color:#b8d7ff; font-size:.83rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.ts-hero h1 { font-size:clamp(2.7rem,5vw,5rem); line-height:1.02; letter-spacing:-.04em; margin:18px 0 18px; max-width:720px; }
.ts-hero h1 span { color:#2f8fff; }
.ts-hero p { color:#d6e3f8; font-size:1.08rem; max-width:650px; margin:0 0 28px; }
.ts-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.ts-stats { display:flex; gap:26px; flex-wrap:wrap; margin-top:34px; }
.ts-stat { padding-right:24px; border-right:1px solid rgba(255,255,255,.15); }
.ts-stat:last-child { border-right:0; }
.ts-stat strong { display:block; font-size:1.45rem; }
.ts-stat span { color:#b8c8de; font-size:.8rem; }
.ts-hero-visual { position:relative; min-height:430px; }
.ts-device { position:absolute; inset:45px 30px 35px 0; border:1px solid rgba(83,163,255,.38); border-radius:30px; background:linear-gradient(145deg,rgba(15,38,76,.96),rgba(2,14,36,.96)); box-shadow:0 35px 80px rgba(0,0,0,.35), inset 0 0 50px rgba(21,119,255,.07); transform:perspective(900px) rotateY(-8deg) rotateX(2deg); }
.ts-device:before { content:"T"; position:absolute; width:120px; height:120px; border-radius:28px; left:50%; top:50%; transform:translate(-50%,-50%) skewX(-10deg); display:grid; place-items:center; font-size:5rem; font-weight:900; color:#1f85ff; border:2px solid #1f85ff; box-shadow:0 0 38px rgba(31,133,255,.35); }
.ts-device:after { content:""; position:absolute; left:15%; right:15%; bottom:-18px; height:20px; background:#09162a; border-radius:0 0 28px 28px; box-shadow:0 12px 30px rgba(0,0,0,.4); }
.ts-float-icon { position:absolute; width:68px; height:68px; border-radius:18px; display:grid; place-items:center; background:rgba(6,27,61,.9); border:1px solid rgba(51,152,255,.38); color:#59a8ff; box-shadow:0 15px 35px rgba(0,0,0,.22), inset 0 0 22px rgba(21,119,255,.08); font-size:1.55rem; }
.ts-float-icon:nth-child(2){top:20px;left:10%}.ts-float-icon:nth-child(3){top:0;right:20%}.ts-float-icon:nth-child(4){top:34%;right:0}.ts-float-icon:nth-child(5){bottom:12%;left:4%}

/* Category cards */
.ts-categories { background:#fff; }
.ts-category-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.ts-category-card { padding:24px 14px; border:1px solid var(--ts-border); border-radius:14px; text-align:center; background:#fff; transition:.2s ease; }
.ts-category-card:hover { transform:translateY(-4px); box-shadow:var(--ts-shadow); border-color:#c9ddff; }
.ts-icon { width:52px; height:52px; margin:0 auto 14px; display:grid; place-items:center; border-radius:14px; background:#eef6ff; color:var(--ts-blue); font-size:1.45rem; font-weight:900; }
.ts-category-card strong { display:block; font-size:.95rem; }
.ts-category-card span { display:block; margin-top:3px; color:var(--ts-muted); font-size:.78rem; }

/* Cards */
.ts-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ts-card { background:#fff; border:1px solid var(--ts-border); border-radius:var(--ts-radius); overflow:hidden; box-shadow:0 6px 18px rgba(16,24,40,.04); transition:.2s ease; }
.ts-card:hover { transform:translateY(-4px); box-shadow:var(--ts-shadow); }
.ts-card-media { aspect-ratio:16/10; background:linear-gradient(135deg,#eaf3ff,#f8fbff); overflow:hidden; }
.ts-card-media img { width:100%; height:100%; object-fit:cover; }
.ts-card-body { padding:20px; }
.ts-badge { display:inline-flex; padding:5px 8px; border-radius:6px; color:#fff; background:var(--ts-blue); font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.ts-card h3 { margin:12px 0 7px; font-size:1.12rem; line-height:1.25; }
.ts-card p { color:var(--ts-muted); margin:0 0 16px; font-size:.9rem; }
.ts-rating { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:12px 0; font-size:.88rem; }
.ts-stars { color:#ffb400; letter-spacing:1px; }
.ts-card-actions { display:grid; gap:8px; }
.ts-card-actions .ts-btn { min-height:40px; font-size:.87rem; }
.ts-external { text-align:center; color:var(--ts-blue); font-size:.84rem; font-weight:700; }

.ts-comparison-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.ts-comparison { border:1px solid var(--ts-border); border-radius:14px; padding:20px; background:#fff; }
.ts-vs { display:flex; justify-content:center; align-items:center; gap:12px; margin-bottom:16px; }
.ts-vs-logo { width:54px; height:54px; border-radius:14px; display:grid; place-items:center; background:#f2f6fb; font-weight:900; color:var(--ts-blue); }
.ts-vs span { width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:#eef1f5; font-size:.75rem; font-weight:800; }
.ts-comparison h3 { text-align:center; margin:0 0 7px; font-size:1rem; }
.ts-comparison p { text-align:center; margin:0 0 12px; color:var(--ts-muted); font-size:.86rem; }
.ts-comparison .ts-link { display:block; text-align:center; font-size:.86rem; }

/* Newsletter */
.ts-newsletter { background:linear-gradient(100deg,#071a3b,#06152f); color:#fff; }
.ts-newsletter-inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:36px; }
.ts-newsletter h2 { margin:0 0 8px; }
.ts-newsletter p { margin:0; color:#c7d6eb; }
.ts-news-form { display:flex; gap:10px; }
.ts-news-form input { flex:1; min-width:0; min-height:48px; border:0; border-radius:10px; padding:0 16px; }

/* Content */
.site-main { min-height:50vh; }
.ts-content-wrap { width:min(900px, calc(100% - 40px)); margin:0 auto; padding:64px 0; }
.entry-header h1 { font-size:clamp(2rem,4vw,3.4rem); line-height:1.1; margin:0 0 12px; }
.entry-meta { color:var(--ts-muted); margin-bottom:24px; }
.entry-content { font-size:1.04rem; }
.entry-content h2, .entry-content h3 { line-height:1.25; margin-top:1.8em; }
.entry-content a { color:var(--ts-blue); text-decoration:underline; }
.entry-content img { border-radius:14px; }

/* Footer */
.site-footer { background:#041127; color:#d7e3f4; }
.ts-footer-grid { display:grid; grid-template-columns:1.25fr repeat(4,1fr); gap:34px; padding:58px 0 34px; }
.site-footer h4 { color:#fff; margin:0 0 14px; font-size:.92rem; }
.site-footer ul { list-style:none; margin:0; padding:0; }
.site-footer li { margin:8px 0; }
.site-footer a { color:#c8d7ea; font-size:.88rem; }
.site-footer a:hover { color:#fff; }
.ts-footer-brand p { color:#aebfd6; max-width:250px; font-size:.9rem; }
.ts-socials { display:flex; gap:8px; margin-top:16px; }
.ts-socials a { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.08); }
.ts-copyright { border-top:1px solid rgba(255,255,255,.09); padding:20px 0; text-align:center; color:#91a5c0; font-size:.82rem; }

/* Search overlay */
.ts-search-overlay { position:fixed; inset:0; z-index:2000; display:none; place-items:start center; padding-top:120px; background:rgba(1,10,26,.88); }
.ts-search-overlay.is-open { display:grid; }
.ts-search-box { width:min(760px, calc(100% - 32px)); background:#fff; border-radius:16px; padding:18px; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.ts-search-box form { display:flex; gap:10px; }
.ts-search-box input { flex:1; min-width:0; min-height:50px; padding:0 16px; border:1px solid var(--ts-border); border-radius:10px; }

/* WordPress */
.alignwide { width:min(1100px,100%); margin-left:auto; margin-right:auto; }
.alignfull { width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); }
.wp-caption, .gallery-caption { color:var(--ts-muted); }
.bypostauthor { outline:0; }
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

@media (max-width: 1050px) {
  .main-navigation ul { gap:16px; }
  .ts-category-grid { grid-template-columns:repeat(3,1fr); }
  .ts-grid, .ts-comparison-grid { grid-template-columns:repeat(2,1fr); }
  .ts-footer-grid { grid-template-columns:2fr repeat(2,1fr); }
}

@media (max-width: 820px) {
  .ts-menu-toggle { display:block; }
  .main-navigation { display:none; position:absolute; top:72px; left:0; right:0; padding:18px 20px; background:#06152f; border-top:1px solid rgba(255,255,255,.08); }
  .main-navigation.is-open { display:block; }
  .main-navigation ul { flex-direction:column; align-items:flex-start; gap:15px; }
  .ts-header-actions .ts-btn { display:none; }
  .ts-hero-inner { grid-template-columns:1fr; min-height:auto; padding:70px 0 30px; }
  .ts-hero-visual { min-height:330px; }
  .ts-newsletter-inner { grid-template-columns:1fr; }
  .ts-footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 560px) {
  .ts-container { width:min(100% - 28px, var(--ts-max)); }
  .ts-section { padding:52px 0; }
  .site-description { display:none; }
  .ts-hero h1 { font-size:2.55rem; }
  .ts-stats { gap:16px; }
  .ts-stat { padding-right:16px; }
  .ts-category-grid, .ts-grid, .ts-comparison-grid, .ts-footer-grid { grid-template-columns:1fr; }
  .ts-news-form { flex-direction:column; }
  .ts-section-title { align-items:start; flex-direction:column; }
  .ts-hero-visual { min-height:260px; }
  .ts-device { inset:30px 12px 25px 0; }
}
