/*
Theme Name: The Geek Solutions
Theme URI: https://thegeeksolutions.in
Author: The Geek Solutions
Description: Standalone theme for thegeeksolutions.in — how-to guides, tech tips, and travel for Indian readers. Built for an AdSense-friendly homepage layout.
Version: 1.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: tgs
*/

:root{
  --ink:#12312E;
  --ink-soft:#1B4340;
  --paper:#FBF7EF;
  --card:#FFFFFF;
  --border:#E8E1D2;
  --border-soft:#F1ECE0;
  --text-1:#182420;
  --text-2:#5B6A63;
  --text-3:#8D9891;
  --signal:#E8632E;
  --signal-dark:#B84A20;
  --travel:#1E8F82;
  --howto:#D9932E;
  --radius:12px;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  background:var(--paper);
  color:var(--text-1);
  font-family:'Inter',system-ui,sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
h1,h2,h3,h4{font-family:'Sora',sans-serif; font-weight:700; letter-spacing:-0.01em;}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
.mono{font-family:'JetBrains Mono',monospace;}

/* ---------- utility bar ---------- */
.utility{background:var(--ink); color:#B9CBC7; font-size:12.5px;}
.utility .wrap{display:flex; justify-content:space-between; align-items:center; height:34px;}
.utility a{color:#B9CBC7; opacity:0.9;}
.utility a:hover{color:#fff;}
.utility-links{display:flex; gap:18px;}

/* ---------- header ---------- */
header{background:var(--card); border-bottom:1px solid var(--border);}
.header-inner{display:flex; align-items:center; justify-content:space-between; height:78px; gap:28px;}
.logo{display:flex; align-items:center; gap:10px; color:var(--ink); flex-shrink:0;}
.logo-mark{width:36px; height:36px; flex-shrink:0;}
.logo-word{font-family:'Sora'; font-weight:700; font-size:21px; letter-spacing:-0.01em;}
.logo-word span{color:var(--signal);}
nav.primary{display:flex; gap:2px; flex:1;}
nav.primary a{
  color:var(--ink-soft); font-size:14.5px; font-weight:600; padding:10px 14px;
  border-radius:7px; white-space:nowrap; transition:background .15s, color .15s;
}
nav.primary a:hover{background:var(--border-soft); color:var(--signal-dark);}
.header-actions{display:flex; align-items:center; gap:14px;}
.signin-btn{
  background:var(--signal); color:#fff; font-size:14px; font-weight:700;
  padding:9px 18px; border-radius:8px; white-space:nowrap;
}
.menu-toggle{
  display:none; width:40px; height:40px; border-radius:8px; border:1px solid var(--border);
  background:var(--card); align-items:center; justify-content:center; cursor:pointer; flex-shrink:0;
}
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after{
  content:''; display:block; width:18px; height:2px; background:var(--ink); border-radius:2px; position:relative; transition:.2s;
}
.menu-toggle span::before{position:absolute; top:-6px;}
.menu-toggle span::after{position:absolute; top:6px;}
.menu-toggle.is-open span{background:transparent;}
.menu-toggle.is-open span::before{top:0; transform:rotate(45deg);}
.menu-toggle.is-open span::after{top:0; transform:rotate(-45deg);}

/* ---------- ad slots ---------- */
.ad-slot{display:flex; flex-direction:column; align-items:center; gap:6px; margin:28px 0;}
.ad-label{font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-3);}
.ad-box{
  width:100%; border:1.5px dashed #D8D0BC; border-radius:8px; background:#F1EBDC;
  display:flex; align-items:center; justify-content:center; color:#A39C89;
  font-family:'JetBrains Mono',monospace; font-size:12.5px; text-align:center;
}
.ad-728{max-width:728px; height:90px;}
.ad-native{height:120px;}
.ad-300x250{width:300px; height:250px;}
.ad-300x600{width:300px; height:600px;}
.ad-inline{max-width:728px; height:100px;}

/* ---------- section heads ---------- */
.section-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid var(--border);}
.section-eyebrow{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-3);}
.section-title{font-size:23px; margin-top:2px;}
.view-all{font-size:13px; font-weight:700; color:var(--signal-dark);}
.view-all:hover{text-decoration:underline;}

/* ---------- hero / trending ---------- */
.trending-grid{display:grid; grid-template-columns:1.6fr 1fr; gap:28px; margin:32px 0;}
.feature-card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden;}
.feature-media{
  height:290px; background:linear-gradient(135deg,#12312E 0%,#1E8F82 55%,#E8632E 130%);
  position:relative; display:flex; align-items:flex-end; padding:20px;
}
.feature-media .cat-tag{position:absolute; top:16px; left:16px;}
.feature-body{padding:22px 24px 26px;}
.cat-tag{display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase;}
.cat-dot{width:7px; height:7px; border-radius:50%; display:inline-block;}
.feature-title{font-size:26px; line-height:1.22; margin:12px 0 10px; color:#fff;}
.feature-excerpt{color:var(--text-2); font-size:14.5px; margin-bottom:14px;}
.byline{font-size:12.5px; color:var(--text-3); display:flex; gap:8px; align-items:center;}

.trend-list{display:flex; flex-direction:column;}
.trend-item{display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--border-soft);}
.trend-item:first-child{padding-top:0;}
.trend-num{font-family:'Sora'; font-weight:700; font-size:20px; color:#DCD4C0; width:26px; flex-shrink:0;}
.trend-title{font-size:14.5px; font-weight:600; line-height:1.4; margin-top:2px;}
.trend-title:hover{color:var(--signal-dark);}

/* ---------- layout ---------- */
.layout{display:grid; grid-template-columns:1fr 320px; gap:36px; align-items:start; margin:36px 0 8px;}
.sidebar{position:sticky; top:20px; display:flex; flex-direction:column; gap:26px;}

.cat-section{margin-bottom:40px;}
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column;}
.card-media{height:150px; position:relative;}
.card-media .cat-tag{position:absolute; top:12px; left:12px; background:rgba(18,49,46,0.72); padding:4px 9px; border-radius:5px; color:#fff;}
.card-body{padding:16px 17px 18px; display:flex; flex-direction:column; gap:8px; flex:1;}
.card-title{font-size:15px; font-weight:700; line-height:1.35; font-family:'Sora';}
.card-title:hover{color:var(--signal-dark);}
.card-meta{font-size:12px; color:var(--text-3); margin-top:auto; padding-top:6px;}

.m-travel{background:linear-gradient(135deg,#DCF0EC,#8CC9BE);}
.m-howto{background:linear-gradient(135deg,#FBEACD,#EFC373);}
.card-media .cat-tag{color:var(--ink); background:rgba(255,255,255,0.85);}

/* ---------- sidebar widgets ---------- */
.widget{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:18px 20px;}
.widget h3{font-size:14px; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:14px; color:var(--text-1); font-family:'Inter'; font-weight:700;}
.popular-item{display:flex; gap:12px; padding:10px 0; border-bottom:1px solid var(--border-soft);}
.popular-item:last-child{border-bottom:none; padding-bottom:0;}
.popular-item:first-child{padding-top:0;}
.popular-rank{font-family:'Sora'; font-weight:700; color:var(--text-3); font-size:14px;}
.popular-title{font-size:13.5px; font-weight:600; line-height:1.35;}
.popular-title:hover{color:var(--signal-dark);}

.newsletter{background:var(--ink); color:#fff; border:none;}
.newsletter h3{color:#fff;}
.newsletter p{font-size:13px; color:#B9CBC7; margin-bottom:14px;}
.newsletter input{width:100%; height:40px; border-radius:7px; border:1px solid #2E4E49; background:var(--ink-soft); color:#fff; padding:0 12px; font-size:13.5px; margin-bottom:10px;}
.newsletter input::placeholder{color:#6E8A83;}
.newsletter button{width:100%; height:40px; border-radius:7px; border:none; background:var(--signal); color:#fff; font-weight:700; font-size:13.5px; cursor:pointer;}

/* ---------- footer ---------- */
footer{background:var(--ink); color:#B9CBC7; margin-top:50px;}
.footer-top{padding:48px 0 32px; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; border-bottom:1px solid #2E4E49;}
.footer-brand .logo{margin-bottom:12px;}
.footer-brand .logo .logo-word, .footer-brand .logo{color:#fff;}
.footer-brand p{font-size:13.5px; color:#8CA79F; max-width:280px; line-height:1.6;}
.footer-col h4{color:#fff; font-size:13px; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:14px;}
.footer-col a{display:block; font-size:13.5px; color:#AFC6C0; padding:5px 0;}
.footer-col a:hover{color:#fff;}
.footer-bottom{padding:20px 0; font-size:12.5px; color:#7F988F;}

/* ---------- single post / page / archive ---------- */
.site-main{max-width:800px; margin:0 auto; padding:40px 24px 60px;}
.archive-header{margin-bottom:30px; padding-bottom:16px; border-bottom:1px solid var(--border);}
.archive-title{font-size:26px;}
.single-title{font-size:32px; line-height:1.25; margin-bottom:14px;}
.single-meta{font-size:13px; color:var(--text-3); margin-bottom:26px; display:flex; gap:10px; align-items:center;}
.single-thumb{border-radius:var(--radius); overflow:hidden; margin-bottom:26px;}
.entry-content{font-size:16.5px; line-height:1.75; color:var(--text-1);}
.entry-content p{margin-bottom:20px;}
.entry-content h2{font-size:22px; margin:32px 0 14px;}
.entry-content h3{font-size:19px; margin:26px 0 12px;}
.entry-content img{border-radius:8px; margin:16px 0;}
.entry-content a{color:var(--signal-dark); text-decoration:underline;}
.entry-content ul, .entry-content ol{margin:0 0 20px 22px;}
.entry-content table{width:100%; border-collapse:collapse; margin:20px 0; font-size:14.5px;}
.entry-content th, .entry-content td{border:1px solid var(--border); padding:8px 12px; text-align:left;}
.entry-content th{background:var(--border-soft);}
.archive-list{display:flex; flex-direction:column; gap:22px;}
.archive-list .card{flex-direction:row; align-items:stretch;}
.archive-list .card .card-media{width:200px; height:auto; flex-shrink:0;}
.archive-list .card .card-body{flex:1;}
.pagination-nav{display:flex; justify-content:space-between; margin-top:36px; padding-top:20px; border-top:1px solid var(--border); font-size:14px;}
.pagination-nav a{font-weight:700; color:var(--signal-dark);}
.no-results{padding:40px 0; color:var(--text-2);}

@media (max-width: 900px){
  .trending-grid{grid-template-columns:1fr;}
  .layout{grid-template-columns:1fr;}
  .sidebar{position:static;}
  .card-grid{grid-template-columns:1fr 1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}

  .header-inner{height:66px;}
  .menu-toggle{display:flex;}
  nav.primary{
    display:none; position:absolute; top:66px; left:0; right:0; z-index:40;
    background:var(--card); border-bottom:1px solid var(--border); flex-direction:column;
    padding:8px 20px 16px; gap:2px; box-shadow:0 12px 24px rgba(18,49,46,0.08);
  }
  nav.primary.is-open{display:flex;}
  nav.primary a{padding:12px 8px; border-bottom:1px solid var(--border-soft); border-radius:0;}
  header{position:relative;}
  .utility .utility-links a:first-child{display:none;}
}
@media (max-width: 560px){
  .card-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .archive-list .card{flex-direction:column;}
  .archive-list .card .card-media{width:100%; height:150px;}
}
