/*
Theme Name: Sarthi Exam Prep
Theme URI: https://sarthiprep.in
Author: Sarthi Exam Prep
Author URI: https://sarthiprep.in
Description: Custom WordPress theme for Sarthi Exam Prep, an exam-preparation platform for competitive government exams (Banking, SSC, Railways, Teaching, State PSC). Built to pair with Elementor Pro for page building, with native support for course, study material and mock test content types. Includes an ink-blue / signal-blue / warm-orange design system with an OMR answer-sheet visual motif.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sarthi
Tags: education, e-learning, elementor, custom-colors, custom-menu, threaded-comments, translation-ready
*/

/* =========================================================
   This stylesheet is enqueued automatically by functions.php
   via get_stylesheet_uri(). Do not rename this file — WordPress
   requires style.css with the header block above to register
   the theme in wp-admin > Appearance > Themes.
   ========================================================= */

:root{
  --ink:#142B57;
  --ink-soft:#3A4A72;
  --signal:#2F5CFF;
  --signal-dark:#1E42CC;
  --orange:#FF7A29;
  --orange-dark:#E4611A;
  --paper:#F6F7FB;
  --white:#FFFFFF;
  --green:#1BA672;
  --red:#E14B4B;
  --marker:#FFC845;
  --line:#E3E7F1;
  --shadow:0 10px 30px rgba(20,43,87,.08);
  --shadow-lg:0 20px 50px rgba(20,43,87,.14);
  --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Sora',sans-serif;color:var(--ink);margin:0 0 .5em;line-height:1.15;font-weight:700}
p{margin:0 0 1em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.mono{font-family:'IBM Plex Mono',monospace}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--signal);font-weight:600;display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}
.eyebrow::before{content:'';width:16px;height:1px;background:var(--orange)}
section{padding:88px 0}
@media(max-width:768px){section{padding:56px 0}}

/* OMR bubble divider - signature motif */
.omr-row{display:flex;gap:10px;align-items:center;justify-content:center;margin:0 0 28px}
.omr-row .b{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--line)}
.omr-row .b.on{background:var(--marker);border-color:var(--marker)}

/* Header */
header.site{position:sticky;top:0;z-index:100;background:rgba(246,247,251,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1180px;margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:19px;color:var(--ink)}
.logo .mark{width:34px;height:34px;border-radius:9px;background:var(--ink);position:relative;flex:none}
.logo .mark::after{content:'';position:absolute;inset:9px;border:2px solid var(--marker);border-radius:3px}
.navlinks{display:flex;gap:30px;font-size:14.5px;font-weight:600}
.navlinks a{color:var(--ink-soft);transition:color .15s}
.navlinks a.active,.navlinks a:hover{color:var(--signal)}
.navcta{display:flex;gap:10px;align-items:center}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:0}
.hamburger span{width:24px;height:2px;background:var(--ink)}
@media(max-width:900px){
  .navlinks{position:fixed;top:67px;left:0;right:0;bottom:0;background:var(--white);flex-direction:column;padding:32px 24px;gap:22px;font-size:18px;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto}
  .navlinks.open{transform:translateX(0)}
  .hamburger{display:flex}
  .navcta .btn:not(.mobile-show){display:none}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:10px;font-weight:600;font-size:14.5px;border:1.5px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--signal);color:#fff}
.btn-primary:hover{background:var(--signal-dark);box-shadow:0 8px 20px rgba(47,92,255,.3)}
.btn-orange{background:var(--orange);color:#fff}
.btn-orange:hover{background:var(--orange-dark);box-shadow:0 8px 20px rgba(255,122,41,.32)}
.btn-outline{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-outline:hover{border-color:var(--signal);color:var(--signal)}
.btn-ghost{background:var(--white);border-color:var(--line);color:var(--ink)}
.btn-sm{padding:9px 16px;font-size:13.5px}
.btn-block{width:100%;justify-content:center}

/* Cards */
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.badge{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.02em;padding:5px 10px;border-radius:99px;background:#EAF0FF;color:var(--signal)}
.badge.orange{background:#FFEEE1;color:var(--orange-dark)}
.badge.green{background:#E3F7EE;color:var(--green)}

.grid{display:grid;gap:26px}
.grid-2{grid-template-columns:1fr 1fr}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}
@media(max-width:560px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* Footer */
footer.site{background:var(--ink);color:#C7D0EA;padding:64px 0 24px;margin-top:40px}
footer.site h4{color:#fff;font-size:15px;margin-bottom:18px}
footer.site a{color:#AEBBE0;font-size:14px;display:block;margin-bottom:10px;transition:color .15s}
footer.site a:hover{color:var(--marker)}
.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
@media(max-width:800px){.footgrid{grid-template-columns:1fr 1fr}}
.footbottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:#8593BC}
.social{display:flex;gap:10px;margin-top:14px}
.social a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;margin:0;font-size:13px}
.wa-float{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:200;color:#fff;font-size:26px}

/* Hero */
.hero{padding:80px 0 60px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
.hero h1{font-size:clamp(34px,5vw,54px);letter-spacing:-.01em}
.hero .lead{font-size:18px;color:var(--ink-soft);max-width:520px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-visual{position:relative;background:var(--ink);border-radius:22px;padding:34px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-visual .glow{position:absolute;width:260px;height:260px;background:radial-gradient(circle,rgba(255,122,41,.35),transparent 70%);top:-60px;right:-60px}

.stat{text-align:center}
.stat .num{font-family:'IBM Plex Mono',monospace;font-size:36px;font-weight:700;color:var(--ink)}
.stat .lbl{font-size:13px;color:var(--ink-soft);margin-top:4px}

.faq-item{border-bottom:1px solid var(--line)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:20px 0;cursor:pointer;font-weight:600;font-size:16px}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;color:var(--ink-soft);font-size:14.5px}
.faq-item.open .faq-a{max-height:200px;padding-bottom:18px}
.faq-item.open .faq-q .arrow{transform:rotate(45deg)}
.arrow{transition:transform .2s;font-size:20px;color:var(--signal)}

.section-head{max-width:600px;margin-bottom:44px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}

.pagehero{background:var(--ink);color:#fff;padding:64px 0 44px}
.pagehero .eyebrow{color:var(--marker)}
.pagehero h1{color:#fff}
.breadcrumb{font-size:13px;color:#AEBBE0;margin-bottom:14px}
.breadcrumb a{color:#AEBBE0}
.breadcrumb a:hover{color:var(--marker)}
