/*
Theme Name: Hello Elementor Child - RankSols
Template: hello-elementor
Version: 1.2.0
Description: Blog archive + single post layout for ranksols.pk
*/

:root{
  --rs-primary:#7ddc4f;       /* lime green (buttons, highlights) */
  --rs-green-text:#2f7a12;    /* dark green for text/links on white */
  --rs-on-primary:#111111;    /* text on green buttons */
  --rs-dark:#1a1a1a;          /* charcoal */
  --rs-text:#4a4f57;
  --rs-muted:#8a8f98;
  --rs-bg:#f4f4f4;
  --rs-border:#e8e8e8;
  --rs-radius:12px;
}
.rs-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.rs-narrow{max-width:820px}
.rs-section{padding:60px 20px 80px}

/* Hero */
.rs-hero{background:radial-gradient(700px 320px at 85% 0%,rgba(125,220,79,.13),transparent 70%),var(--rs-dark);color:#fff;padding:90px 0 70px;text-align:center}
.rs-hero h1{color:#fff;font-size:clamp(30px,4.5vw,50px);line-height:1.2;margin:14px 0 14px;letter-spacing:-.5px}
.rs-hero h1 .hl{color:var(--rs-primary)}
.rs-hero p{color:#b5b8bd;max-width:640px;margin:0 auto 26px;font-size:17px}
.rs-eyebrow{display:inline-block;background:rgba(125,220,79,.14);color:var(--rs-primary);padding:6px 14px;border-radius:99px;font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}
.rs-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.rs-chips a{color:#fff;border:1px solid rgba(255,255,255,.22);padding:7px 16px;border-radius:8px;font-size:14px;text-decoration:none;transition:.2s}
.rs-chips a:hover,.rs-chips a.is-active{background:var(--rs-primary);border-color:var(--rs-primary);color:var(--rs-on-primary);font-weight:600}

/* Grid + cards */
.rs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rs-card{background:#fff;border:1px solid var(--rs-border);border-radius:var(--rs-radius);overflow:hidden;display:flex;flex-direction:column;transition:.25s;box-shadow:0 2px 8px rgba(0,0,0,.03)}
.rs-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.09);border-color:#d6efc8}
.rs-card__img{display:block;aspect-ratio:16/10;background:var(--rs-bg);overflow:hidden}
.rs-card__img img{width:100%;height:100%;object-fit:cover;transition:.4s}
.rs-card:hover .rs-card__img img{transform:scale(1.05)}
.rs-card__ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,#ececec,#f8f8f8)}
.rs-card__body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.rs-tag{align-self:flex-start;background:rgba(125,220,79,.2);color:var(--rs-green-text);padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none}
.rs-card__title{margin:0;font-size:20px;line-height:1.35;letter-spacing:-.2px}
.rs-card__title a{color:var(--rs-dark);text-decoration:none}
.rs-card__title a:hover{color:var(--rs-green-text)}
.rs-card__ex{margin:0;color:var(--rs-text);font-size:15px;line-height:1.65}
.rs-meta{margin-top:auto;color:var(--rs-muted);font-size:13px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rs-meta i{width:3px;height:3px;background:var(--rs-muted);border-radius:50%;display:inline-block}

/* Pagination */
.navigation.pagination{margin-top:50px}
.nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.nav-links .page-numbers{min-width:42px;height:42px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rs-border);border-radius:8px;color:var(--rs-dark);text-decoration:none;background:#fff}
.nav-links .page-numbers.current,.nav-links .page-numbers:hover{background:var(--rs-primary);border-color:var(--rs-primary);color:var(--rs-on-primary);font-weight:600}

/* Single post */
.rs-hero--post{text-align:left;padding:80px 0 60px}
.rs-crumbs{font-size:14px;color:#b5b8bd;margin-bottom:16px}
.rs-crumbs a{color:#b5b8bd;text-decoration:none}
.rs-crumbs a:hover{color:var(--rs-primary)}
.rs-hero--post .rs-meta{color:#b5b8bd;margin-top:18px}
.rs-hero--post .rs-meta i{background:#b5b8bd}
.rs-hero--post .rs-tag{background:rgba(125,220,79,.16);color:var(--rs-primary)}
.rs-feat{margin:0 0 32px;border-radius:var(--rs-radius);overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.rs-feat img{width:100%;display:block}
.rs-content{font-size:18px;line-height:1.85;color:var(--rs-text)}
.rs-content h2{font-size:30px;margin:44px 0 14px;color:var(--rs-dark);line-height:1.3;letter-spacing:-.4px}
.rs-content h3{font-size:23px;margin:34px 0 12px;color:var(--rs-dark)}
.rs-content p{margin:0 0 22px}
.rs-content a{color:var(--rs-green-text);text-decoration:underline;text-decoration-color:var(--rs-primary);text-underline-offset:3px}
.rs-content img{max-width:100%;height:auto;border-radius:10px}
.rs-content ul,.rs-content ol{margin:0 0 24px 22px}
.rs-content li{margin-bottom:8px}
.rs-content li::marker{color:var(--rs-primary)}
.rs-content blockquote{margin:30px 0;padding:20px 26px;border-left:4px solid var(--rs-primary);background:var(--rs-bg);border-radius:0 10px 10px 0;font-style:italic}
.rs-content table{width:100%;border-collapse:collapse;margin:0 0 26px;font-size:16px;display:block;overflow-x:auto}
.rs-content th,.rs-content td{border:1px solid var(--rs-border);padding:12px 14px;text-align:left}
.rs-content th{background:var(--rs-bg);color:var(--rs-dark)}
.rs-content pre,.rs-content code{background:var(--rs-dark);color:#e8e8e8;border-radius:8px;font-size:15px}
.rs-content code{padding:2px 6px}
.rs-content pre{padding:18px;overflow-x:auto}
.rs-content pre code{padding:0}
.rs-post-tags{margin:36px 0;display:flex;gap:8px;flex-wrap:wrap}
.rs-post-tags a{background:var(--rs-bg);border:1px solid var(--rs-border);color:var(--rs-text);padding:6px 14px;border-radius:8px;font-size:13px;text-decoration:none}
.rs-post-tags a:hover{border-color:var(--rs-primary);color:var(--rs-green-text)}
.rs-author{display:flex;gap:18px;align-items:center;background:var(--rs-bg);border:1px solid var(--rs-border);border-radius:var(--rs-radius);padding:24px;margin-bottom:60px}
.rs-author img{border-radius:50%;flex:none}
.rs-author strong{display:block;color:var(--rs-dark);font-size:18px}
.rs-author p{margin:4px 0 0;color:var(--rs-text);font-size:15px}

/* Related + CTA */
.rs-related{background:var(--rs-bg);padding:70px 0}
.rs-related h2{text-align:center;color:var(--rs-dark);margin:0 0 36px}
.rs-cta{padding:70px 20px}
.rs-cta__box{max-width:1000px;margin:0 auto;background:radial-gradient(500px 220px at 90% 0%,rgba(125,220,79,.15),transparent 70%),var(--rs-dark);color:#fff;text-align:center;padding:56px 30px;border-radius:16px}
.rs-cta__box h2{color:#fff;margin:0 0 10px;font-size:clamp(24px,3.5vw,34px)}
.rs-cta__box p{color:#b5b8bd;margin:0 0 26px}
.rs-btn{display:inline-block;background:var(--rs-primary);color:var(--rs-on-primary);font-weight:600;padding:14px 30px;border-radius:8px;text-decoration:none;transition:.2s}
.rs-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(125,220,79,.35);color:var(--rs-on-primary)}

@media(max-width:991px){.rs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .rs-grid{grid-template-columns:1fr}
  .rs-hero{padding:70px 0 50px}
  .rs-content{font-size:17px}
  .rs-content h2{font-size:25px}
  .rs-author{flex-direction:column;text-align:center}
}

/* ===== Single post: 2-column layout + sidebar ===== */
html{scroll-behavior:smooth}
.rs-hero--post h1{max-width:900px}
.rs-content h2{scroll-margin-top:110px}
.rs-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding-top:50px;padding-bottom:60px;align-items:start}
.rs-side{position:sticky;top:100px;display:flex;flex-direction:column;gap:22px;max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:thin;padding-right:4px}
.rs-widget{background:#fff;border:1px solid var(--rs-border);border-radius:var(--rs-radius);padding:22px}
.rs-widget__title{font-size:17px;margin:0 0 16px;padding-bottom:12px;color:var(--rs-dark);position:relative;border-bottom:1px solid var(--rs-border)}
.rs-widget__title::after{content:"";position:absolute;left:0;bottom:-1px;width:38px;height:3px;background:var(--rs-primary);border-radius:3px}

.rs-search{display:flex;gap:8px}
.rs-search input{flex:1;min-width:0;border:1px solid var(--rs-border);border-radius:8px;padding:11px 14px;font-size:15px;background:var(--rs-bg)}
.rs-search input:focus{outline:none;border-color:var(--rs-primary);background:#fff}
.rs-search button{background:var(--rs-primary);color:var(--rs-on-primary);border:0;border-radius:8px;padding:0 18px;font-weight:600;cursor:pointer}
.rs-search button:hover{background:var(--rs-primary);filter:brightness(.95)}

.rs-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.rs-toc li{counter-increment:toc;margin:0}
.rs-toc a{display:flex;gap:10px;padding:8px 10px;border-radius:8px;color:var(--rs-text);text-decoration:none;font-size:14.5px;line-height:1.45;transition:.15s}
.rs-toc a::before{content:counter(toc,decimal-leading-zero);color:var(--rs-muted);font-size:12px;font-weight:600;padding-top:2px}
.rs-toc a:hover,.rs-toc a.is-active{background:rgba(125,220,79,.16);color:var(--rs-dark)}
.rs-toc a.is-active::before{color:var(--rs-green-text)}

.rs-widget--cta{background:radial-gradient(300px 160px at 100% 0%,rgba(125,220,79,.18),transparent 70%),var(--rs-dark);border-color:var(--rs-dark);color:#fff}
.rs-widget--cta h3{color:#fff;font-size:20px;line-height:1.3;margin:14px 0 8px}
.rs-widget--cta p{color:#b5b8bd;font-size:14.5px;margin:0 0 18px}
.rs-widget--cta .rs-btn{display:block;text-align:center;padding:12px 20px}

.rs-recent,.rs-cats{list-style:none;margin:0;padding:0}
.rs-recent li{margin:0 0 14px}
.rs-recent li:last-child{margin:0}
.rs-recent a{display:flex;gap:12px;align-items:center;text-decoration:none}
.rs-recent__img{flex:none;width:64px;height:64px;border-radius:10px;overflow:hidden;background:linear-gradient(135deg,#ececec,#f8f8f8)}
.rs-recent__img img{width:100%;height:100%;object-fit:cover;display:block}
.rs-recent__txt strong{display:block;color:var(--rs-dark);font-size:14.5px;line-height:1.4;font-weight:600}
.rs-recent__txt small{color:var(--rs-muted);font-size:12px}
.rs-recent a:hover strong{color:var(--rs-green-text)}

.rs-cats li{border-bottom:1px solid var(--rs-border)}
.rs-cats li:last-child{border:0}
.rs-cats a{display:flex;justify-content:space-between;align-items:center;padding:10px 0;color:var(--rs-text);text-decoration:none;font-size:15px}
.rs-cats em{font-style:normal;background:var(--rs-bg);color:var(--rs-muted);font-size:12px;padding:2px 9px;border-radius:99px}
.rs-cats a:hover{color:var(--rs-green-text)}
.rs-cats a:hover em{background:var(--rs-primary);color:var(--rs-on-primary)}

@media(max-width:991px){
  .rs-layout{grid-template-columns:1fr;gap:40px}
  .rs-side{position:static;max-height:none;overflow:visible;padding:0}
}
