/*
Theme Name: ScholarshipInNepal
Theme URI: https://scholarshipinnepal.com
Author: ScholarshipInNepal Team
Author URI: https://scholarshipinnepal.com
Description: A modern, premium, mobile-first WordPress theme built for ScholarshipInNepal.com — a Nepal-focused scholarship discovery platform. Clean white + deep indigo/violet design, considered type rhythm, layered shadows, and SEO-friendly markup.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: scholarshipinnepal
Tags: education, blog, custom-post-types, custom-menu, featured-images, translation-ready, responsive-layout
*/

/* =========================================================
   0. DESIGN TOKENS
   A varied radius scale on purpose: rectangles for structured
   UI (buttons, inputs, cards), full pills reserved for tags/
   badges only. Shadows are tinted with the brand ink rather
   than pure black, which reads far less "default template".
========================================================= */
:root{
  /* Core palette — indigo → violet keeps blue and purple in the same
     family instead of two unrelated hues fighting each other. */
  --c-ink-900: #14152B;
  --c-ink-800: #1E1B4B;
  --c-indigo: #241D6B;
  --c-violet: #7C3AED;
  --c-violet-light: #9668F5;
  --c-blue: #2A4BD1;
  --c-gold: #EFA23B;
  --c-gold-dark: #B9740B;
  --c-green: #12A579;
  --c-red: #E5484D;
  --c-white: #FFFFFF;

  --c-body: #4E5169;
  --c-muted: #8A8FA3;
  --c-faint: #B4B7C9;
  --c-border: #E8E9F3;
  --c-border-strong: #D6D8EC;
  --c-bg-soft: #F6F6FC;
  --c-bg-tint: #F1EEFB;

  --grad-primary: linear-gradient(135deg, var(--c-indigo) 0%, var(--c-violet) 100%);
  --grad-primary-hover: linear-gradient(135deg, #2C2480 0%, #8A4CF0 100%);
  --grad-soft: linear-gradient(135deg, rgba(124,58,237,.08) 0%, rgba(42,75,209,.08) 100%);
  --grad-text: linear-gradient(135deg, var(--c-gold) 0%, #F6C978 100%);

  --font-head: 'Sora', 'Poppins', 'Segoe UI', sans-serif;
  --font-body: 'Inter', 'Segoe UI', sans-serif;

  /* Radius scale — intentionally not uniform */
  --radius-xs: 8px;
  --radius-sm: 12px;    /* buttons, inputs */
  --radius-md: 16px;    /* small cards, list items */
  --radius-lg: 22px;    /* cards */
  --radius-xl: 30px;    /* hero panels, big feature blocks */
  --radius-pill: 999px; /* chips, badges only */

  /* Spacing scale (8px base) */
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px; --sp-9: 96px;

  /* Tinted, layered shadows instead of flat black */
  --shadow-xs: 0 1px 2px rgba(20,21,60,.05);
  --shadow-sm: 0 2px 10px rgba(30,26,90,.06);
  --shadow-md: 0 12px 28px -8px rgba(30,26,90,.16);
  --shadow-lg: 0 30px 60px -20px rgba(24,20,70,.28);
  --shadow-glow: 0 12px 30px -8px rgba(124,58,237,.38);

  --container: 1200px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

/* =========================================================
   1. RESET & BASE
========================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--c-body);
  background:var(--c-white);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,h5{font-family:var(--font-head);color:var(--c-ink-900);margin:0 0 .5em;font-weight:600;line-height:1.18;letter-spacing:-0.015em;}
h1{font-size:clamp(2.1rem,3.6vw,3.4rem);font-weight:700;letter-spacing:-0.02em;}
h2{font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:700;}
h3{font-size:1.2rem;font-weight:600;}
p{margin:0 0 1em;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;font-size:1rem;}
:focus-visible{outline:2px solid var(--c-violet);outline-offset:2px;}

.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.section{padding:var(--sp-9) 0;}
.section-sm{padding:var(--sp-7) 0;}
.section-head{max-width:640px;margin:0 auto var(--sp-7);text-align:center;}
.section-head .eyebrow{justify-content:center;}
.section-head h2{margin-bottom:var(--sp-2);}
.section-head p{color:var(--c-muted);font-size:1.02rem;}
.bg-soft{background:var(--c-bg-soft);}
.bg-navy{background:var(--grad-primary);color:#fff;}
.bg-navy h2,.bg-navy p{color:#fff;}
.text-center{text-align:center;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--c-indigo);color:#fff;padding:10px 16px;z-index:9999;border-radius:0 0 var(--radius-xs) 0;}
.skip-link:focus{left:0;top:0;}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;color:var(--c-violet);font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;margin-bottom:var(--sp-3);
}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--grad-primary);flex-shrink:0;}
.eyebrow i{display:none;}

/* Buttons — rounded rectangles, not pills; a considered CTA shape */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 26px;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;letter-spacing:.01em;
  border:1.5px solid transparent;transition:.22s var(--ease);white-space:nowrap;
}
.btn-primary{background:var(--grad-primary);color:#fff;box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--grad-primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px);color:#fff;}
.btn-outline{border-color:var(--c-border-strong);color:var(--c-ink-900);background:#fff;}
.btn-outline:hover{border-color:var(--c-violet);color:var(--c-violet);background:var(--c-bg-tint);}
.btn-white{background:#fff;color:var(--c-indigo);}
.btn-white:hover{background:var(--c-gold);color:#fff;}
.btn-sm{padding:10px 18px;font-size:.86rem;border-radius:var(--radius-xs);}
.btn-block{width:100%;}

/* Badges & chips — pill shape lives here, and only here */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;padding:5px 12px;border-radius:var(--radius-pill);letter-spacing:.02em;}
.badge-verified{background:rgba(18,165,121,.1);color:var(--c-green);}
.badge-funded{background:rgba(239,162,59,.14);color:var(--c-gold-dark);}
.badge-level{background:rgba(42,75,209,.09);color:var(--c-blue);}
.badge-deadline{background:rgba(229,72,77,.09);color:var(--c-red);}

/* =========================================================
   2. HEADER
========================================================= */
.site-header{
  position:sticky;top:0;z-index:999;background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--c-border);transition:box-shadow .2s var(--ease);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:78px;gap:20px;}
.site-branding{display:flex;align-items:center;gap:11px;font-family:var(--font-head);font-weight:700;font-size:1.2rem;color:var(--c-ink-900);flex-shrink:0;}
.site-branding .logo-mark{
  width:38px;height:38px;border-radius:var(--radius-sm);background:var(--grad-primary);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.05rem;box-shadow:var(--shadow-sm);
}
.site-branding span.accent{color:var(--c-violet);}

.main-navigation{display:flex;align-items:center;flex:1;justify-content:center;}
.main-navigation ul{display:flex;align-items:center;gap:2px;}
.main-navigation a{
  display:inline-block;position:relative;padding:9px 16px;font-weight:500;font-size:.94rem;color:var(--c-ink-900);
  transition:color .2s;
}
.main-navigation a::after{
  content:"";position:absolute;left:16px;right:16px;bottom:2px;height:2px;border-radius:2px;
  background:var(--grad-primary);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease);
}
.main-navigation a:hover{color:var(--c-violet);}
.main-navigation a:hover::after,
.main-navigation .current-menu-item>a::after{transform:scaleX(1);}
.main-navigation .current-menu-item>a{color:var(--c-violet);}

.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.menu-toggle{display:none;background:none;border:none;font-size:1.35rem;color:var(--c-ink-900);flex-shrink:0;}
.mobile-nav-cta{display:none;}

@media (max-width:1180px) and (min-width:1025px){
  .main-navigation ul{gap:0;}
  .main-navigation a{padding:9px 11px;font-size:.9rem;}
  .header-actions .btn-outline{display:none;}
}
@media (max-width:1024px){
  .main-navigation{position:fixed;inset:78px 0 0 0;background:#fff;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:24px;transform:translateX(-100%);transition:.3s var(--ease);overflow-y:auto;z-index:998;}
  .main-navigation.is-open{transform:translateX(0);}
  .main-navigation ul{flex-direction:column;width:100%;align-items:flex-start;gap:0;}
  .main-navigation a{display:block;width:100%;padding:15px 6px;border-bottom:1px solid var(--c-border);font-size:1.02rem;}
  .main-navigation a::after{display:none;}
  .menu-toggle{display:block;}
  .header-actions{display:none;}
  .mobile-nav-cta{display:block;width:100%;margin-top:22px;}
}

/* =========================================================
   3. HERO — asymmetric two-column with an actual visual,
   not just gradient-and-text.
========================================================= */
.hero{position:relative;overflow:hidden;padding:var(--sp-8) 0 var(--sp-7);background:var(--c-ink-800);color:#fff;}
.hero::before{
  content:"";position:absolute;inset:0;background:var(--grad-primary);opacity:.94;z-index:0;
}
.hero-bg-grid{
  position:absolute;inset:0;z-index:1;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.14) 1px, transparent 1px);
  background-size:26px 26px;
  mask-image:radial-gradient(ellipse 80% 60% at 30% 20%, #000 40%, transparent 100%);
}
.hero::after{
  content:"";position:absolute;z-index:1;right:-10%;top:-20%;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle, rgba(239,162,59,.28), transparent 65%);
}
.hero .container.hero-grid{position:relative;z-index:2;}

.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-8);align-items:center;}
.hero-copy{max-width:560px;}
.hero .eyebrow{color:#F6C978;}
.hero .eyebrow::before{background:var(--c-gold);}
.hero h1{color:#fff;}
.hero h1 .highlight{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p.lead{color:rgba(255,255,255,.82);font-size:1.08rem;max-width:520px;margin-bottom:var(--sp-6);}

.search-card{
  background:#fff;border-radius:var(--radius-lg);padding:12px;box-shadow:var(--shadow-lg);
}
.search-card form{display:flex;gap:8px;flex-wrap:wrap;width:100%;}
.search-field{
  flex:1 1 170px;display:flex;align-items:center;gap:10px;background:var(--c-bg-soft);
  border-radius:var(--radius-sm);padding:12px 15px;border:1.5px solid transparent;transition:border-color .2s;
}
.search-field:focus-within{border-color:var(--c-violet-light);background:#fff;}
.search-field i{color:var(--c-violet);flex-shrink:0;font-size:.9rem;}
.search-field input,.search-field select{border:none;background:transparent;width:100%;outline:none;color:var(--c-ink-900);}
.search-card .btn{flex:0 0 auto;}
@media (max-width:640px){.search-card form{flex-direction:column;} .search-card .btn{width:100%;}}

.filter-chips{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:var(--sp-5);}
.filter-chips-label{color:rgba(255,255,255,.6);font-size:.82rem;margin-right:2px;}
.filter-chips a{
  background:rgba(255,255,255,.1);color:#fff;padding:8px 16px;border-radius:var(--radius-pill);
  font-size:.83rem;font-weight:500;border:1px solid rgba(255,255,255,.2);transition:.2s;
}
.filter-chips a:hover,.filter-chips a.active{background:#fff;color:var(--c-indigo);border-color:#fff;}

.chip-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.chip-row a{
  background:#fff;border:1.5px solid var(--c-border);color:var(--c-ink-900);padding:9px 18px;
  border-radius:var(--radius-pill);font-size:.88rem;font-weight:500;transition:.2s;
}
.chip-row a:hover,.chip-row a.active{border-color:var(--c-violet);color:var(--c-violet);background:var(--c-bg-tint);}

/* Hero visual: frosted panel + two floating scholarship-preview cards */
.hero-visual{position:relative;height:420px;display:block;}
.hero-visual-blob{
  position:absolute;inset:-40px;z-index:0;
  background:radial-gradient(circle at 60% 30%, rgba(150,104,245,.5), transparent 60%);
  filter:blur(40px);
}
.glass-panel{
  position:relative;z-index:1;height:100%;border-radius:var(--radius-xl);
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  padding:var(--sp-6);display:flex;flex-direction:column;gap:14px;justify-content:center;
}
.glass-row{height:14px;border-radius:var(--radius-pill);background:rgba(255,255,255,.14);width:100%;}

.float-card{
  position:absolute;z-index:2;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);
  padding:16px 18px;width:230px;color:var(--c-ink-900);
}
.float-card.card-1{top:6%;left:-6%;}
.float-card.card-2{bottom:8%;right:-8%;display:flex;align-items:center;gap:12px;width:250px;}
.float-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.float-card strong{display:block;font-size:.95rem;margin-bottom:2px;}
.muted-sm{font-size:.78rem;color:var(--c-muted);}

@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{display:none;}
  .hero-copy{max-width:none;}
}

.hero-stats{display:flex;gap:var(--sp-7);justify-content:flex-start;margin-top:var(--sp-8);flex-wrap:wrap;position:relative;z-index:2;padding-top:var(--sp-6);border-top:1px solid rgba(255,255,255,.14);}
.hero-stats div strong{display:block;font-family:var(--font-head);font-size:1.6rem;color:#fff;font-weight:700;}
.hero-stats div span{font-size:.83rem;color:rgba(255,255,255,.65);}
@media (max-width:1024px){.hero-stats{justify-content:center;text-align:center;}}

/* =========================================================
   4. GRIDS & CARDS
========================================================= */
.grid{display:grid;gap:26px;}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media (max-width:980px){.grid-4{grid-template-columns:repeat(2,1fr);} .grid-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr;}}

.section-foot{text-align:center;margin-top:var(--sp-6);}

/* Scholarship Card — subtle top accent reveals on hover instead of a big bouncy lift */
.scholarship-card{
  position:relative;background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);
  padding:24px;box-shadow:var(--shadow-xs);transition:.25s var(--ease);display:flex;flex-direction:column;height:100%;
  overflow:hidden;
}
.scholarship-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-primary);
  transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);
}
.scholarship-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:transparent;}
.scholarship-card:hover::before{transform:scaleX(1);}
.sc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;}
.sc-flag{
  width:44px;height:44px;border-radius:var(--radius-sm);background:var(--grad-soft);display:flex;
  align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0;
}
.sc-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;}
.scholarship-card h3{font-size:1.08rem;margin-bottom:6px;line-height:1.35;}
.scholarship-card h3 a:hover{color:var(--c-violet);}
.sc-meta{color:var(--c-muted);font-size:.85rem;margin-bottom:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.sc-meta strong{color:var(--c-ink-900);font-weight:600;}
.sc-info-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.sc-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px;border-top:1px dashed var(--c-border);}
.sc-deadline{font-size:.8rem;color:var(--c-muted);}
.sc-deadline strong{color:var(--c-red);}

/* Country / University cards */
.place-card{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--grad-primary);
  color:#fff;padding:28px 24px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;
  box-shadow:var(--shadow-sm);transition:.25s var(--ease);
}
.place-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.place-card .place-flag{font-size:1.9rem;margin-bottom:8px;}
.place-card h3{color:#fff;margin-bottom:2px;}
.place-card span{font-size:.82rem;color:rgba(255,255,255,.75);}

.uni-card{
  background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:26px;
  text-align:center;transition:.25s var(--ease);
}
.uni-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:transparent;}
.uni-card .uni-mark{
  width:58px;height:58px;border-radius:var(--radius-sm);background:var(--grad-soft);display:flex;align-items:center;
  justify-content:center;font-size:1.5rem;margin:0 auto 14px;color:var(--c-violet);
}
.uni-card span{color:var(--c-muted);font-size:.85rem;}

/* Blog / guide cards */
.post-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden;transition:.25s var(--ease);display:flex;flex-direction:column;height:100%;}
.post-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:transparent;}
.post-card .post-thumb{aspect-ratio:16/10;overflow:hidden;background:var(--c-bg-soft);}
.post-card .post-thumb img{width:100%;height:100%;object-fit:cover;}
.post-card-body{padding:22px;display:flex;flex-direction:column;flex:1;}
.post-card .cat{color:var(--c-violet);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}
.post-card h3{font-size:1.04rem;margin-bottom:10px;line-height:1.4;}
.post-card .excerpt{color:var(--c-muted);font-size:.9rem;flex:1;}
.post-card .meta{font-size:.8rem;color:var(--c-muted);margin-top:14px;border-top:1px solid var(--c-border);padding-top:14px;}

/* =========================================================
   5. NEWSLETTER
========================================================= */
.newsletter{
  background:var(--grad-primary);border-radius:var(--radius-xl);padding:50px;color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
  position:relative;overflow:hidden;
}
.newsletter::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08);}
.newsletter h2,.newsletter p{color:#fff;}
.newsletter-form{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:2;}
.newsletter-form input{padding:14px 18px;border-radius:var(--radius-sm);border:none;min-width:260px;outline:none;}
@media (max-width:768px){.newsletter{padding:34px 24px;text-align:center;justify-content:center;} .newsletter-form{width:100%;justify-content:center;} .newsletter-form input{min-width:0;flex:1;}}

/* =========================================================
   6. TRUST STRIP
========================================================= */
.trust-strip{display:flex;flex-wrap:wrap;gap:34px;justify-content:center;align-items:center;padding:34px 0;color:var(--c-ink-900);font-size:.88rem;font-weight:600;}
.trust-strip div{display:flex;align-items:center;gap:10px;}
.trust-ico{width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;}

/* =========================================================
   7. FOOTER
========================================================= */
.site-footer{background:var(--c-ink-800);color:rgba(255,255,255,.72);padding-top:var(--sp-8);position:relative;}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-primary);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-brand .site-branding{color:#fff;}
.footer-brand p{margin-top:14px;font-size:.9rem;max-width:280px;line-height:1.7;}
.footer-col h4{color:#fff;font-size:.92rem;margin-bottom:16px;letter-spacing:.02em;}
.footer-col ul li{margin-bottom:11px;}
.footer-col a{font-size:.9rem;color:rgba(255,255,255,.68);transition:.2s;}
.footer-col a:hover{color:var(--c-gold);}
.footer-social{display:flex;gap:10px;margin-top:18px;}
.footer-social a{width:38px;height:38px;border-radius:var(--radius-sm);background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:.2s;}
.footer-social a:hover{background:var(--c-violet);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 0;font-size:.82rem;flex-wrap:wrap;gap:10px;}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* =========================================================
   8. LISTING / ARCHIVE PAGES
========================================================= */
.page-hero{background:var(--grad-primary);color:#fff;padding:56px 0;position:relative;}
.page-hero h1{color:#fff;margin-bottom:8px;}
.breadcrumbs{font-size:.85rem;color:rgba(255,255,255,.72);margin-bottom:14px;}
.breadcrumbs a{color:#fff;font-weight:600;}
.listing-layout{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:flex-start;padding:56px 0;}
@media (max-width:900px){.listing-layout{grid-template-columns:1fr;}}

.filter-panel{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:24px;position:sticky;top:96px;}
.filter-panel h4{font-size:1rem;margin-bottom:16px;}
.filter-group{margin-bottom:22px;}
.filter-group label{display:block;font-size:.85rem;font-weight:600;color:var(--c-ink-900);margin-bottom:8px;}
.filter-group select,.filter-group input{
  width:100%;padding:11px 14px;border:1px solid var(--c-border);border-radius:var(--radius-xs);background:var(--c-bg-soft);
}
.filter-checklist label{display:flex;align-items:center;gap:8px;font-weight:400;font-size:.88rem;margin-bottom:8px;color:var(--c-body);}

.results-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;flex-wrap:wrap;gap:10px;}
.results-toolbar .count{color:var(--c-muted);font-size:.9rem;}

.pagination{display:flex;gap:8px;justify-content:center;margin-top:40px;flex-wrap:wrap;}
.pagination a,.pagination span{
  display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border-radius:var(--radius-xs);
  border:1px solid var(--c-border);color:var(--c-ink-900);font-size:.9rem;transition:.2s;
}
.pagination a:hover{border-color:var(--c-violet);color:var(--c-violet);}
.pagination .current{background:var(--grad-primary);color:#fff;border-color:transparent;}

/* =========================================================
   9. SINGLE SCHOLARSHIP DETAIL
========================================================= */
.detail-hero{background:var(--grad-primary);color:#fff;padding:50px 0 90px;position:relative;}
.detail-hero h1{color:#fff;}
.detail-hero .breadcrumbs{color:rgba(255,255,255,.72);}
.detail-card{
  background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:30px;
  margin-top:-60px;position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.detail-card .stat{border-right:1px solid var(--c-border);padding-right:16px;}
.detail-card .stat:last-child{border-right:none;}
.detail-card .stat span{display:block;font-size:.76rem;color:var(--c-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;}
.detail-card .stat strong{font-family:var(--font-head);font-size:1.05rem;color:var(--c-ink-900);}
@media (max-width:820px){.detail-card{grid-template-columns:repeat(2,1fr);} .detail-card .stat{border-right:none;border-bottom:1px solid var(--c-border);padding-bottom:14px;}}

.detail-layout{display:grid;grid-template-columns:2fr 1fr;gap:40px;padding:56px 0;align-items:flex-start;}
@media (max-width:900px){.detail-layout{grid-template-columns:1fr;}}
.detail-content h2{margin-top:36px;}
.detail-content h2:first-child{margin-top:0;}
.detail-content ul{list-style:disc;padding-left:22px;margin-bottom:1em;}
.detail-content ul li{margin-bottom:6px;}

.apply-box{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:26px;position:sticky;top:96px;box-shadow:var(--shadow-sm);}
.apply-box .row{display:flex;justify-content:space-between;font-size:.9rem;padding:10px 0;border-bottom:1px solid var(--c-border);}
.apply-box .row span:first-child{color:var(--c-muted);}
.apply-box .row span:last-child{font-weight:600;color:var(--c-ink-900);text-align:right;}
.apply-box .btn{margin-top:18px;}
.share-row{display:flex;gap:8px;margin-top:16px;}
.share-row a{flex:1;text-align:center;padding:9px;border-radius:var(--radius-xs);background:var(--c-bg-soft);font-size:.85rem;font-weight:600;color:var(--c-indigo);transition:.2s;}
.share-row a:hover{background:var(--c-bg-tint);color:var(--c-violet);}

/* =========================================================
   10. MISC / FORMS / 404
========================================================= */
.not-found-wrap{padding:100px 0;text-align:center;}
.not-found-wrap .code{font-family:var(--font-head);font-size:5rem;font-weight:800;background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;color:transparent;}
.search-form-wide{display:flex;gap:10px;max-width:560px;margin:26px auto 0;}
.search-form-wide input{flex:1;padding:14px 18px;border:1px solid var(--c-border);border-radius:var(--radius-sm);}

.entry-content{max-width:760px;margin:0 auto;}
.entry-content img{border-radius:var(--radius-md);}
.entry-content h2{margin-top:1.6em;}
.entry-header{text-align:center;max-width:760px;margin:0 auto 30px;}
.entry-meta{color:var(--c-muted);font-size:.88rem;margin-bottom:14px;}

.widget{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:22px;margin-bottom:24px;}
.widget h4{font-size:.95rem;margin-bottom:14px;}
.screen-reader-text{position:absolute;left:-9999px;}

/* =========================================================
   11. PREMIUM REFINEMENTS
   Button states, urgency signalling, and richer placement —
   built on the existing tokens rather than new colors, so the
   palette stays a single coherent family everywhere.
========================================================= */

/* --- Buttons: full state coverage so every CTA reads as "alive" --- */
.btn-lg{padding:16px 32px;font-size:1rem;border-radius:var(--radius-md);}
.btn:active{transform:translateY(0) scale(.97);}
.btn:focus-visible{outline:2px solid var(--c-violet);outline-offset:3px;}
.btn[disabled],.btn:disabled{cursor:not-allowed;transform:none !important;box-shadow:none !important;}
.btn-outline:focus-visible{border-color:var(--c-violet);}

/* --- Urgency: gives the unused "deadline" badge tone a real job,
   and keeps it calm — a slow pulse, not a flashing alarm --- */
.badge-deadline{animation:sin-pulse 2.4s ease-in-out infinite;}
@keyframes sin-pulse{0%,100%{opacity:1;}50%{opacity:.62;}}
.sc-deadline strong.is-urgent{color:var(--c-gold-dark);}

/* --- Newsletter "outline" variant used for the on-page finder CTA,
   replacing ad-hoc inline styles with a real, reusable class --- */
.newsletter-outline{background:var(--grad-soft);color:var(--c-ink-900);border:1px solid var(--c-border);box-shadow:none;}
.newsletter-outline::after{display:none;}
.newsletter-outline h2,.newsletter-outline p{color:var(--c-ink-900);}
.newsletter-outline p{color:var(--c-body);max-width:480px;}

/* --- Panel headers get a small accent bar: a quiet premium tell,
   consistent across filter panel, apply box and widgets --- */
.filter-panel h4,.apply-box h4,.widget h4{display:flex;align-items:center;gap:9px;}
.filter-panel h4::before,.apply-box h4::before{content:"";width:4px;height:18px;border-radius:2px;background:var(--grad-primary);flex-shrink:0;}

/* --- Stat strip on the single-scholarship page: each figure gets
   a distinct hue from the existing palette so the row reads at a
   glance instead of as four identical grey blocks --- */
.detail-card .stat{position:relative;padding-left:18px;}
.detail-card .stat::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:3px;border-radius:2px;background:var(--c-violet);}
.detail-card .stat:nth-child(2)::before{background:var(--c-blue);}
.detail-card .stat:nth-child(3)::before{background:var(--c-gold);}
.detail-card .stat:nth-child(4)::before{background:var(--c-green);}

/* --- Footer social icons: gradient fill + lift on hover instead of
   a flat single-color swap --- */
.footer-social a{will-change:transform;}
.footer-social a:hover{background:var(--grad-primary);transform:translateY(-2px);box-shadow:var(--shadow-glow);}

/* --- Card icon marks get a touch of motion on hover so the grid
   feels responsive, not static --- */
.sc-flag,.uni-card .uni-mark{transition:transform .25s var(--ease),background .25s var(--ease);}
.scholarship-card:hover .sc-flag,.uni-card:hover .uni-mark{transform:scale(1.08) rotate(-4deg);}

/* --- Trust strip icons: gentle lift, ties the whole strip together --- */
.trust-strip div{transition:transform .2s var(--ease);}
.trust-strip div:hover{transform:translateY(-2px);}
.trust-ico{transition:transform .2s var(--ease);}

/* --- Filter / apply panels: focus-within lift so the whole card
   feels responsive while a person is actively filtering --- */
.filter-panel,.apply-box{transition:box-shadow .25s var(--ease);}
.filter-panel:focus-within,.apply-box:focus-within{box-shadow:var(--shadow-md);}

/* --- Sticky mobile menu CTA gets its own breathing room + accent --- */
.mobile-nav-cta{padding-top:6px;border-top:1px solid var(--c-border);}

/* --- Disabled "Application Closed" state reads clearly as inactive
   without looking broken --- */
.btn-outline[disabled]{background:var(--c-bg-soft);color:var(--c-muted);border-color:var(--c-border);}
.btn-outline[disabled]:hover{background:var(--c-bg-soft);color:var(--c-muted);border-color:var(--c-border);}
