/* ============================================================
   theme-kips.css — "Soft Organic Clinical" theme
   Modelled on kipshospitals.com: light pastel surfaces, blue →
   purple brand gradient, Outfit headings + Quicksand body,
   rounded glass cards with soft shadows.
   Loaded AFTER swarn.css and pages.css; remove the <link> in
   base.html to revert to the original Navy + Gold theme.
   ============================================================ */

:root {
  /* KIPS palette */
  --p-blue:          #2563EB;
  --p-blue-light:    #F0F7FF;
  --p-purple:        #8B5CF6;
  --p-purple-light:  #F5F3FF;
  --p-pink:          #EC4899;
  --p-pink-light:    #FFF1F2;
  --p-mint:          #10B981;
  --p-mint-light:    #F0FDF4;
  --p-emergency:     #B91C1C;
  --brand-gradient:  linear-gradient(135deg, #3B82F6 0%, #8B5CF6 50%, #D946EF 100%);
  --brand-gradient-soft: linear-gradient(135deg, #EFF6FF 0%, #F5F3FF 55%, #FDF4FF 100%);

  /* Re-map the legacy Swarn tokens so every template follows */
  --primary:       #1E3A8A;   /* deep blue: dark surfaces keep white text legible */
  --primary-light: #3730A3;
  --gold:          #2563EB;   /* accent → KIPS blue */
  --gold-dark:     #1D4ED8;
  --gold-light:    #93C5FD;
  --gold-bg:       #F0F7FF;
  --blue:          #2563EB;
  --blue-hover:    #1D4ED8;
  --blue-light:    #F0F7FF;
  --teal:          #7C3AED;
  --teal-light:    #F5F3FF;
  --green:         #047857;
  --green-light:   #F0FDF4;
  --bg:            #F8FAFC;
  --text:          #1E293B;
  --text-muted:    #475569;
  --text-light:    #94A3B8;
  --border:        #E6ECF5;
  --shadow-sm:     0 4px 12px rgba(0,0,0,.04);
  --shadow:        0 10px 25px rgba(0,0,0,.06);
  --shadow-lg:     0 16px 32px rgba(0,0,0,.07);
  --shadow-gold:   0 10px 20px rgba(59,130,246,.22);
  --radius:        16px;
  --radius-lg:     24px;
  --radius-xl:     28px;
  --font-heading:  'Outfit', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body:     'Quicksand', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

body { background: var(--bg); font-weight: 500; }
h1,h2,h3,h4,h5,h6 { color: var(--text); letter-spacing: -.01em; }

.text-gradient, .hero h1 span, .hero h1 [data-i18n="hero_h1b"] {
  background: var(--brand-gradient);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent !important;
}

/* ─── Buttons ─── */
.btn { border-radius: 50px; font-family: var(--font-body); font-weight: 700; }
.btn-gold, .btn-blue {
  background: var(--brand-gradient); color: #fff; border-color: transparent;
  box-shadow: 0 10px 20px rgba(59,130,246,.2);
}
.btn-gold:hover, .btn-blue:hover {
  background: var(--brand-gradient); color: #fff; filter: brightness(1.06);
  box-shadow: 0 12px 24px rgba(59,130,246,.24), 0 8px 16px rgba(139,92,246,.16);
}
.btn-primary { background: var(--p-blue); color: #fff; }
.btn-primary:hover { background: #1D4ED8; }
.btn-outline-gold { color: var(--p-blue); border: 2px solid #BFDBFE; background: #fff; }
.btn-outline-gold:hover { background: var(--p-blue-light); color: var(--p-blue); border-color: var(--p-blue); }

/* ─── Badges ─── */
.badge { border-radius: 50px; font-weight: 700; letter-spacing: .03em; }
.badge-gold  { background: var(--p-blue-light);   color: #1D4ED8; }
.badge-blue  { background: var(--p-blue-light);   color: #1D4ED8; }
.badge-teal  { background: var(--p-purple-light); color: #6D28D9; }
.badge-green { background: var(--p-mint-light);   color: #047857; }

/* ─── Top bar → KIPS emergency strip ─── */
.top-bar {
  background: #fff; color: var(--text-muted);
  border-bottom: 1px solid var(--border); font-weight: 600;
}
.top-bar a { color: var(--text-muted); }
.top-bar a:hover { color: var(--p-blue); }
.top-bar-left span:first-child {
  color: var(--p-emergency); background: #FEF2F2; border: 1px solid #FECACA;
  padding: 3px 12px; border-radius: 50px;
}
.lang-toggle { background: var(--p-blue-light); }
.lang-toggle .lang-btn { color: var(--text-muted); }
.lang-toggle .lang-btn.active { background: var(--p-blue); }
.lang-toggle .lang-btn:hover:not(.active) { color: var(--p-blue); }

/* ─── Navbar → glass nav ─── */
.navbar {
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
  border-bottom: 1px solid rgba(230,236,245,.8);
}
.navbar.scrolled { box-shadow: 0 10px 25px rgba(0,0,0,.06); }
.logo-text .name { color: var(--text); }
.logo-text .name span, .footer-brand .name span, .auth-logo-name span {
  background: var(--brand-gradient); -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.nav-menu li a { font-weight: 600; position: relative; }
.nav-menu li a:hover { color: var(--p-blue); background: transparent; }
.nav-menu li a.active { color: var(--p-blue); background: var(--p-blue-light); }
.hamburger { background: var(--p-blue-light); border-radius: 12px; }
.hamburger span { background: var(--p-blue); }
@media (max-width: 991px) {
  .nav-menu li a { background: #F9FBFF; border-color: var(--border); color: var(--text); }
}

/* ─── Hero → light pastel ─── */
.hero {
  background:
    radial-gradient(circle at top right, var(--p-purple-light), transparent 55%),
    radial-gradient(circle at bottom left, var(--p-blue-light), transparent 55%),
    #fff;
}
.hero::before {
  background:
    radial-gradient(circle at 85% 20%, rgba(139,92,246,.10), transparent 40%),
    radial-gradient(circle at 10% 90%, rgba(59,130,246,.10), transparent 40%);
}
.hero-content { color: var(--text); }
.hero h1 { color: var(--text); letter-spacing: -1px; }
.hero-badge {
  background: var(--p-blue-light); border: 1px solid #DBEAFE;
  color: #1D4ED8; font-weight: 700;
}
.hero-desc { color: var(--text-muted); }
.hero-stat .num {
  background: var(--brand-gradient); -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero-stat .lbl { color: var(--text-muted); font-weight: 600; }
.btn-outline-white { color: var(--p-purple); border: 2px solid #DDD6FE; background: #fff; }
.btn-outline-white:hover { background: var(--p-purple-light); color: var(--p-purple); }
@media (max-width: 991px) {
  .hero-stats { background: rgba(255,255,255,.8); border-color: var(--border); box-shadow: var(--shadow-sm); }
}

/* Hero portal mockups keep a dark "app screen" so their inline styles stay legible */
.hero-portal-tabs { background: #fff; border: 1px solid var(--border); border-radius: 50px; padding: 4px; box-shadow: var(--shadow-sm); }
.portal-tab { color: var(--text-muted); border-radius: 50px; }
.portal-tab.active { background: var(--brand-gradient); color: #fff; }
.portal-tab:not(.active):hover { background: var(--p-blue-light); color: var(--p-blue); }
#portal-patient > div, #portal-student > div {
  background: linear-gradient(145deg, #1E3A8A 0%, #312E81 60%, #4C1D95 100%) !important;
  box-shadow: 0 16px 32px rgba(49,46,129,.25);
  border-radius: 24px !important;
}
.hero-float { border: 1px solid var(--border); box-shadow: var(--shadow); border-radius: 20px; }
.hf-icon.gold { background: var(--p-blue-light); color: var(--p-blue); }
.hf-icon.teal { background: var(--p-mint-light); color: #047857; }
.hf-text .val { color: var(--text); }

/* ─── Stats bar ─── */
.stat-item:hover { background: var(--p-blue-light); }
.stat-num { color: var(--text); }
.stat-num span { color: var(--p-blue); }

/* ─── Glass cards (features, why, about, pricing) ─── */
.feature-card, .about-mini, .pricing-card {
  background: rgba(255,255,255,.9); border: 1px solid var(--border);
  box-shadow: var(--shadow-sm); border-radius: var(--radius-lg);
}
.feature-card::before { background: var(--brand-gradient); }
.feature-card:hover, .about-mini:hover { box-shadow: var(--shadow-lg); border-color: #DBEAFE; }
.fi-gold  { background: rgba(29,78,216,.08);  color: #1D4ED8; }
.fi-blue  { background: rgba(29,78,216,.08);  color: #1D4ED8; }
.fi-teal  { background: rgba(109,40,217,.08); color: #6D28D9; }
.fi-green { background: rgba(4,120,87,.08);   color: #047857; }
.fi-purple{ background: rgba(109,40,217,.08); color: #6D28D9; }
.fi-red   { background: rgba(190,24,93,.08); color: #BE185D; }
.feature-icon, .why-icon { border-radius: 16px; }
.why-icon { background: var(--p-blue-light); color: var(--p-blue); }

/* Services: dark navy → soft gradient surface with white cards */
.services-section { background: var(--brand-gradient-soft); }
.services-section::before { background: radial-gradient(circle at top right, rgba(139,92,246,.08), transparent 55%); }
.services-section .section-header h2 { color: var(--text); }
.services-section .section-header p { color: var(--text-muted); }
.service-card { background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-sm); }
.service-card:hover { background: #fff; border-color: #DBEAFE; box-shadow: var(--shadow-lg); }
.service-icon { background: var(--p-blue-light); color: var(--p-blue); }
.service-card:nth-child(4n+2) .service-icon { background: var(--p-purple-light); color: #6D28D9; }
.service-card:nth-child(4n+3) .service-icon { background: var(--p-pink-light); color: #BE185D; }
.service-card:nth-child(4n+4) .service-icon { background: var(--p-mint-light); color: #047857; }
.service-card:hover .service-icon { background: var(--brand-gradient); color: #fff; }
.service-card h4 { color: var(--text); }
.service-card p  { color: var(--text-muted); }

/* Why / Vision / About highlight boxes → brand gradient */
.why-card-box, .about-visual { background: linear-gradient(145deg, #2563EB 0%, #7C3AED 100%); border-radius: var(--radius-xl); box-shadow: 0 16px 32px rgba(59,130,246,.2); }
.why-card-box h3 span, .about-visual h3 span { color: #FDE68A; }
.why-checklist li i { color: #A7F3D0; }
.why-card-box .btn-gold { background: #fff; color: var(--p-blue); box-shadow: none; }
.vm-card.vision  { background: linear-gradient(145deg, #2563EB, #4F46E5); }
.vm-card.mission { background: linear-gradient(145deg, #8B5CF6, #D946EF); }
.about-label { color: var(--p-blue); }
.lang-pill.active { background: #fff; border-color: #fff; color: var(--p-blue); }

/* Courses: dark slate → light */
.courses-section { background: var(--bg); }
.courses-section::before { background: radial-gradient(circle, rgba(139,92,246,.10), transparent 70%); }
.courses-section .section-header h2 { color: var(--text); }
.courses-section .section-header p { color: var(--text-muted); }
.cat-chip, .kh-chip { background: #fff; border: 1px solid var(--border); color: var(--text-muted); font-weight: 600; }
.cat-chip:hover, .cat-chip.active, .kh-chip:hover, .kh-chip.active { background: var(--brand-gradient); border-color: transparent; color: #fff; }
button.cat-chip { font-family: inherit; line-height: inherit; }
.course-card[hidden] { display: none !important; }
.course-card { background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-sm); }
.course-card:hover { background: #fff; border-color: #DBEAFE; box-shadow: var(--shadow-lg); }
.course-head { background: var(--brand-gradient-soft); border-bottom: 1px solid var(--border); }
.course-num, .kh-course-full-num, .kh-courses-num { background: var(--brand-gradient); }
.course-head h3 { color: var(--text); }
.course-tag { background: var(--p-blue-light); color: #1D4ED8; }
.course-info { color: var(--text-muted); }
.course-foot { border-top-color: var(--border); color: var(--text-muted); }
.enroll-btn, .kh-enroll-sm { background: var(--brand-gradient); }
.enroll-btn:hover, .kh-enroll-sm:hover { background: var(--brand-gradient); filter: brightness(1.06); }

/* Pricing */
.pricing-tab { border-color: var(--border); }
.pricing-tab.active { background: var(--brand-gradient); border-color: transparent; }
.pricing-card:hover { border-color: #BFDBFE; }
.pricing-card.featured { background: linear-gradient(145deg, #2563EB 0%, #7C3AED 100%); border-color: transparent; }
.pricing-card.featured .plan-feature i { color: #A7F3D0; }
.pricing-card.featured .btn-gold { background: #fff; color: var(--p-blue); }
.featured-tag { background: var(--p-pink); }
.plan-price { color: var(--text); }
.plan-feature i { color: var(--p-mint); }

/* CTA */
.cta-section { background: var(--brand-gradient); }
.cta-section::before { background: radial-gradient(circle at center, rgba(255,255,255,.12), transparent 65%); }
.cta-section .btn-gold { background: #fff; color: var(--p-blue); }
.cta-section .btn-outline-white { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.cta-section .btn-outline-white:hover { background: #fff; color: var(--p-blue); }

/* ─── Footer → light ─── */
.footer {
  background: linear-gradient(180deg, #fff 0%, #F9FBFF 100%);
  color: var(--text-muted); border-top: 1px solid var(--border);
}
.footer-grid { border-bottom: 0; position: relative; }
.footer-grid::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(59,130,246,.25), transparent);
}
.footer-brand .name { color: var(--text); }
.footer-brand .tagline, .footer-desc { color: var(--text-muted); }
.social-link { background: var(--p-blue-light); border-color: transparent; color: var(--p-blue); }
.social-link:hover { background: var(--p-blue); border-color: var(--p-blue); color: #fff; transform: rotate(15deg) scale(1.1); }
.footer-col h4 { color: var(--text); }
.footer-col h4::after { background: var(--brand-gradient); border-radius: 2px; }
.footer-col ul li a { color: var(--text-muted); font-weight: 500; }
.footer-col ul li a:hover { color: var(--p-blue); }
.footer-col ul li[style] { color: var(--text-muted) !important; }
.footer-bottom, .footer-bottom a { color: var(--text-muted); }
.footer-bottom a:hover { color: var(--p-blue); }

/* ─── Auth pages ─── */
.auth-page {
  background:
    radial-gradient(circle at top right, var(--p-purple-light), transparent 50%),
    radial-gradient(circle at bottom left, #DBEAFE, transparent 50%),
    var(--bg);
}
.auth-page::before { background: none; }
.auth-box { border: 1px solid var(--border); box-shadow: var(--shadow-lg); }
.auth-header { background: var(--brand-gradient); }
.auth-header .auth-logo-name span { background: none; -webkit-text-fill-color: #E0E7FF; color: #E0E7FF; }
.auth-footer-text a { color: var(--p-blue); }
.form-control, .form-select { border-radius: 12px; border-color: var(--border); font-weight: 500; }
.form-control:focus, .form-select:focus { border-color: var(--p-blue); box-shadow: 0 0 0 4px rgba(59,130,246,.15); }

/* ─── Knowledge Hub (course list) dark dashboard → light ─── */
.kh-page { background: var(--bg); }
.kh-sidebar-logo { border-bottom-color: var(--border); }
.kh-sidebar-logo img { filter: none; }
.kh-sidebar { background: #fff; border-right-color: var(--border); }
.kh-sidebar-head { border-bottom-color: var(--border); }
.kh-sb-icon { background: var(--p-blue-light); color: var(--p-blue); }
.kh-sb-title, .kh-sb-menu { color: var(--text-muted); }
.kh-nav-item:hover { background: #F9FBFF; }
.kh-nav-item.active { background: var(--p-blue-light); }
.kh-nav-item.active::before { background: var(--brand-gradient); }
.ni-blue   { background: rgba(29,78,216,.08);  color: #1D4ED8; }
.ni-green  { background: rgba(4,120,87,.08);   color: #047857; }
.ni-purple { background: rgba(109,40,217,.08); color: #6D28D9; }
.ni-gold   { background: rgba(29,78,216,.08);  color: #1D4ED8; }
.ni-teal   { background: rgba(8,145,178,.08);  color: #0E7490; }
.ni-red    { background: rgba(190,24,93,.08);  color: #BE185D; }
.ni-gray   { background: #F1F5F9; color: var(--text-muted); }
.kh-nav-label { color: var(--text-muted); font-weight: 600; }
.kh-nav-item.active .kh-nav-label { color: var(--p-blue); }
.kh-header-text .kh-sub-label, .kh-page-header .kh-sub-label,
.kh-tracker-title, .kh-courses-title, .kh-stat-row, .kh-chart-days { color: var(--text-muted); }
.kh-header-text .kh-big-title, .kh-page-header h1, .kh-big-num { color: var(--text); text-shadow: none; }
.kh-page-header p { color: var(--text-muted); }
.kh-hero-img { background: var(--brand-gradient); }
.kh-progress-card, .kh-courses-section {
  background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-sm); border-radius: 24px;
}
.kh-stats-box { background: var(--p-blue-light); }
.kh-dot.alt { background: #CBD5E1; }
.kh-course-card.light { background: #F9FBFF; border: 1px solid var(--border); }
.kh-course-card.dark  { background: var(--p-purple-light); border: 1px solid #E9D5FF; }
.kh-course-card:hover { box-shadow: var(--shadow); }
.kh-course-icon { background: var(--p-blue-light); color: var(--p-blue); }
.kh-course-title { color: var(--text); }
.kh-course-desc  { color: var(--text-muted); }
.kh-enroll { background: var(--brand-gradient); color: #fff; box-shadow: 0 10px 20px rgba(59,130,246,.2); }
.kh-enroll span { color: rgba(255,255,255,.8); }
.kh-enroll:hover { background: var(--brand-gradient); filter: brightness(1.06); box-shadow: 0 12px 24px rgba(139,92,246,.25); }
.kh-course-full-card { background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-sm); border-radius: 24px; }
.kh-course-full-card:hover { background: #fff; border-color: #DBEAFE; box-shadow: var(--shadow-lg); }
.kh-course-full-head { background: var(--brand-gradient-soft); border-bottom-color: var(--border); }
.kh-course-full-head h3 { color: var(--text); }
.kh-tag { background: var(--p-blue-light); color: #1D4ED8; }
.kh-course-full-desc { color: var(--text-muted); }
.kh-course-full-foot { border-top-color: var(--border); color: var(--text-muted); }

/* ─── Misc ─── */
.alert { border-radius: 16px; }
::selection { background: rgba(139,92,246,.2); }

/* ─── Doctor cards ─── */
.tc-book-btn { background: var(--brand-gradient); color: #fff; border: 0; }
.tc-book-btn:hover { background: var(--brand-gradient); filter: brightness(1.06); }
.tc-book-btn.tc-chat-btn { background: #fff; color: var(--p-blue); border: 2px solid #BFDBFE; margin-top: .5rem; }
.tc-book-btn.tc-chat-btn:hover { background: var(--p-blue-light); color: var(--p-blue); box-shadow: none; }

/* ─── Student pages: neutralise inline styles left over from the dark theme ─── */
.kh-page [style*="color:#fff"]:not([style*="background:var"]):not([style*="gradient"]):not([style*="background:#"]):not([style*="background:rgba(16"]):not([style*="background:rgba(29"]) { color: var(--text) !important; text-shadow: none !important; }
.kh-page [style*="color:rgba(255,255,255,.9"],
.kh-page [style*="color:rgba(255,255,255,.8"],
.kh-page [style*="color:rgba(255,255,255,.7"] { color: var(--text) !important; }
.kh-page [style*="color:rgba(255,255,255,.6"],
.kh-page [style*="color:rgba(255,255,255,.5"],
.kh-page [style*="color:rgba(255,255,255,.4"],
.kh-page [style*="color:rgba(255,255,255,.3"] { color: var(--text-muted) !important; }
.kh-page [style*="background:rgba(255,255,255,.0"] { background: #fff !important; border-color: var(--border) !important; box-shadow: var(--shadow-sm); }
.kh-page [style*="height:1px;background:rgba(255,255,255"] { background: var(--border) !important; box-shadow: none; }
.kh-page [style*="border:1px solid rgba(255,255,255"] { border-color: var(--border) !important; }

/* ─── Why Choose You page ─── */
.wcy-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 1rem; }
.wcy-card { background: #fff; border: 1px solid var(--border); border-radius: 20px; padding: 1.25rem; box-shadow: var(--shadow-sm); transition: var(--transition); }
.wcy-card:hover { box-shadow: var(--shadow); border-color: #DBEAFE; transform: translateY(-2px); }
.wcy-card h3 { font-size: 1rem; margin: .75rem 0 .35rem; }
.wcy-card p { color: var(--text-muted); font-size: .88rem; line-height: 1.6; }
.wcy-icon { width: 44px; height: 44px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: var(--p-purple-light); color: #6D28D9; font-size: 1.1rem; }
.wcy-card:nth-child(3n+1) .wcy-icon { background: var(--p-blue-light); color: #1D4ED8; }
.wcy-card:nth-child(3n+2) .wcy-icon { background: var(--p-mint-light); color: #047857; }
.wcy-pitch { margin-top: 1.5rem; background: var(--brand-gradient-soft); border: 1px solid var(--border); border-radius: 24px; padding: 1.5rem; display: grid; gap: 1rem; }
.wcy-pitch h2 { font-size: 1.4rem; margin: .25rem 0; }
.wcy-pitch p { color: var(--text-muted); }
.wcy-pitch ol { padding-left: 1.25rem; display: grid; gap: .5rem; color: var(--text); font-weight: 600; }
.wcy-actions { display: flex; gap: .75rem; flex-wrap: wrap; }

/* Elements toggled with the hidden attribute must stay hidden even when a class sets display */
[hidden] { display: none !important; }
