/* 
 * Custom Styles for Arasan Ganesan Academy 
 * Replaces Tailwind CSS Utility Classes
 */

:root {
  --primary: #064E2A;
  --on-primary-fixed: #002117;
  --surface-container-lowest: #ffffff;
  --on-secondary-fixed: #241a00;
  --on-surface-variant: #414845;
  --tertiary-fixed-dim: #e8c16f;
  --on-tertiary-fixed-variant: #5b4300;
  --secondary-fixed: #FFB703;
  --secondary-container: #FFB703;
  --on-primary-container: #79a694;
  --surface-container-high: #dfebe6;
  --surface-variant: #dae5e0;
  --surface-bright: #FFF8DC;
  --primary-container: #004d3a;
  --primary-fixed: #68fec3;
  
  --font-display: 'Playfair Display', serif;
  --font-body: 'Plus Jakarta Sans', sans-serif;
}

body {
  font-family: var(--font-body);
  background-color: var(--surface-bright);
  color: var(--primary);
  margin: 0;
  padding: 0;
  overscroll-behavior: none;
}

/* Typography Utility Classes */

.books-hero h1 span {
    color: #FFB703 !important;
}
.font-display { font-family: var(--font-display); }
.font-label-caps {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: bold;
}

/* Utility Colors */
.text-primary { color: var(--primary) !important; }
.text-secondary-fixed { color: #FFB703 !important; }
.bg-primary { background-color: var(--primary) !important; }
.bg-secondary-container { background-color: var(--secondary-container) !important; }
.bg-secondary-fixed { background-color: var(--secondary-fixed) !important; }
.text-white { color: #fff !important; }
.text-on-surface-variant { color: var(--on-surface-variant) !important; }

/* Custom Component Classes */
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.glass-nav {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--surface-container-high);
}

.hero-curve-mask {
  mask-image: radial-gradient(115% 100% at 50% -10%, #000 70%, transparent 71%);
  -webkit-mask-image: radial-gradient(115% 100% at 50% -10%, #000 70%, transparent 71%);
}

.hover-lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 30px rgba(6, 78, 42, 0.1);
}

.btn-custom-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: var(--secondary-container);
  color: var(--primary);
  font-weight: bold;
  padding: 0.875rem 2rem;
  border-radius: 0.5rem;
  transition: all 0.3s ease;
  text-decoration: none;
}
.btn-custom-primary:hover {
  background-color: var(--primary);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(212, 167, 44, 0.2);
}

.btn-custom-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background-color: transparent;
  color: var(--primary);
  border: 2px solid rgba(6, 78, 42, 0.2);
  font-weight: bold;
  padding: 0.875rem 2rem;
  border-radius: 0.5rem;
  transition: all 0.3s ease;
  text-decoration: none;
}
.btn-custom-outline:hover {
  background-color: rgba(6, 78, 42, 0.05);
  border-color: var(--primary);
}

.material-symbols-outlined {
  vertical-align: middle;
}

/* ==========================================================================
   Hero Section
   ========================================================================== */
.hero-section {
  background-color: #FFF8DC;
}
.text-fef9f0 {
  color: #FFF8DC;
}
.hero-bg-gradient {
  background: linear-gradient(to left, var(--primary), rgba(6,78,42,0.7), rgba(6,78,42,0.95));
}
.mix-blend-screen {
  mix-blend-mode: screen;
}
.inset-0 {
  top: 0; right: 0; bottom: 0; left: 0;
}
.hero-title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  letter-spacing: -0.025em;
  line-height: 1.1;
}
.hero-highlight-bg {
  height: 25%;
}
.hero-desc {
  font-size: 1.125rem;
  line-height: 1.6;
}
.eyebrow-line {
  width: 3rem;
  height: 1px;
  background-color: rgba(6,78,42,0.3);
}
.tagline-line {
  width: 2rem;
  height: 2px;
}
.w-sm-auto {
  width: 100%;
}
@media (min-width: 576px) {
  .w-sm-auto {
    width: auto !important;
  }
}
.feature-item:hover .feature-icon {
  transform: scale(1.1);
  background-color: var(--secondary-fixed);
  color: var(--primary) !important;
  border-color: var(--secondary-fixed) !important;
}
.feature-icon {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.tracking-wider {
  letter-spacing: 0.1em;
}
.tracking-widest {
  letter-spacing: 0.2em;
}

.hero-btn-primary:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
}
.hero-btn-primary-bg {
  transform: translateY(100%);
}
.hero-btn-primary:hover .hero-btn-primary-bg {
  transform: translateY(0);
}
.hero-btn-primary:hover .hero-btn-primary-text {
  color: var(--primary) !important;
}
.hero-btn-primary:hover .hero-btn-primary-icon {
  color: var(--primary) !important;
  transform: translateX(4px);
}

.hero-btn-outline:hover {
  border-color: var(--primary) !important;
  background-color: rgba(6,78,42,0.05) !important;
}

/* ==========================================================================
   About Section
   ========================================================================== */
.about-section {
  background-color: var(--surface-bright);
}
.about-bg-glow-right {
  background: linear-gradient(to left, rgba(104, 254, 195, 0.2), transparent);
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
  filter: blur(48px);
}
.about-bg-glow-left {
  background-color: rgba(255, 224, 136, 0.2);
  border-radius: 9999px;
  filter: blur(100px);
}
.about-accent-line {
  background: linear-gradient(to bottom, var(--secondary-fixed), rgba(6,78,42,0.5), transparent);
  border-radius: 9999px;
  opacity: 0.4;
}
.about-pulse-dot {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .5; }
}
.about-right-border {
  border-left: 1px solid rgba(6,78,42,0.1);
}
.btn-about-more:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 30px rgba(6,78,42,0.25);
}
.btn-about-icon {
  width: 32px;
  height: 32px;
  background-color: rgba(255,255,255,0.1);
}
.btn-about-more:hover .btn-about-icon {
  background-color: var(--secondary-fixed);
  color: var(--primary) !important;
}
.about-center-glow {
  background-color: rgba(104, 254, 195, 0.2);
  border-radius: 9999px;
  filter: blur(80px);
}
.about-card {
  border-color: rgba(6,78,42,0.05);
}
.about-card:hover {
  transform: translateY(-8px);
  border-color: rgba(6,78,42,0.1) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.06) !important;
}
.about-card-icon {
  background-color: rgba(6,78,42,0.05);
  color: var(--primary);
  border: 1px solid rgba(6,78,42,0.1);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.about-card:hover .about-card-icon {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  transform: scale(1.1);
}
.about-card:hover .about-card-icon .material-symbols-outlined {
  color: #fff !important;
}
.about-card:hover .about-card-title {
  color: var(--primary) !important;
}
.about-card-icon-primary {
  background-color: rgba(255,255,255,0.1);
  color: var(--secondary-fixed);
  border: 1px solid rgba(255,255,255,0.2);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.about-card-primary:hover {
  transform: translateY(-8px);
  border-color: rgba(255,255,255,0.2) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.15) !important;
}
.about-card-primary:hover .about-card-icon-primary {
  background-color: var(--secondary-fixed) !important;
  border-color: var(--secondary-fixed) !important;
  transform: scale(1.1);
}
.about-card-primary:hover .about-card-icon-primary .material-symbols-outlined {
  color: var(--primary) !important;
}
.about-card-pattern {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMSIgY3k9IjEiIHI9IjEiIGZpbGw9InJnYmEoMjU1LDI1NSwyNTUsMC4wNSkiLz48L3N2Zz4=');
}
.min-h-340 {
  min-height: 340px;
}
/* ==========================================================================
   Courses Section
   ========================================================================== */
.bg-course-radial {
  background: radial-gradient(ellipse at top right, rgba(6,78,42,0.05), #ffffff, #ffffff);
}
.bg-course-pattern {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMiIgY3k9IjIiIHI9IjEiIGZpbGw9InJnYmEoMCwgMzYsIDI2LCAwLjA4KSIvPjwvc3ZnPg==');
  -webkit-mask-image: linear-gradient(to bottom, white, transparent 80%);
  mask-image: linear-gradient(to bottom, white, transparent 80%);
}
.course-orb-top {
  top: 2.5rem;
  right: 0;
  width: 30rem;
  height: 30rem;
  filter: blur(120px);
}
.course-orb-bottom {
  bottom: -5rem;
  left: -5rem;
  width: 40rem;
  height: 40rem;
  filter: blur(120px);
}
.course-card {
  border-color: rgba(6,78,42,0.05);
  box-shadow: 0 8px 30px rgba(0,0,0,0.04);
}
.course-card:hover {
  transform: translateY(-8px);
  border-color: rgba(255,224,136,0.5) !important;
  box-shadow: 0 20px 50px rgba(212,167,44,0.15) !important;
}
.course-card:hover .course-card-badge {
  background-color: var(--primary) !important;
  color: #fff !important;
}
.course-card:hover .course-card-icon {
  background-color: var(--secondary-fixed) !important;
  transform: scale(1.1) rotate(3deg);
}
.course-card:hover .course-card-title {
  color: var(--primary) !important;
}
.course-card-gradient {
  background: linear-gradient(to bottom right, rgba(255,224,136,0.1), transparent);
}
.course-card:hover .course-card-gradient {
  opacity: 1;
}
.course-card-badge {
  background-color: rgba(6,78,42,0.05);
  color: var(--primary);
  border-color: rgba(6,78,42,0.1);
}
.course-card:hover .course-card-badge {
  background-color: var(--primary);
  color: #fff;
}
.course-card-badge-alt {
  color: var(--secondary-fixed);
}
.course-card:hover .course-card-badge-alt {
  background-color: var(--secondary-fixed) !important;
  color: #fff !important;
}
.course-card-icon {
  background-color: var(--surface-bright);
}
.course-card:hover .course-card-icon {
  background-color: var(--secondary-fixed);
  transform: scale(1.1) rotate(3deg);
}
.course-card:hover .course-card-icon .material-symbols-outlined {
  color: var(--primary) !important;
}
.course-card-icon-primary {
  background-color: var(--surface-bright);
}
.course-card:hover .course-card-icon-primary {
  background-color: var(--primary);
  transform: scale(1.1) rotate(3deg);
}
.course-card:hover .course-card-icon-primary .material-symbols-outlined {
  color: #fff !important;
}
.course-card:hover .course-card-title {
  color: var(--primary) !important;
}
.course-enroll-btn:hover span.position-absolute {
  width: 100% !important;
}
.course-enroll-btn:hover .material-symbols-outlined {
  transform: translateX(6px);
}
.min-h-3rem {
  min-height: 3rem;
}
/* ==========================================================================
   Why Choose Us Section
   ========================================================================== */
.bg-primary-soft {
  background-color: rgba(6, 78, 42, 0.08) !important;
}
.bg-secondary-soft {
  background-color: rgba(212, 167, 44, 0.2) !important;
}
.border-primary-soft {
  border-color: rgba(6, 78, 42, 0.1) !important;
}
.border-secondary-soft {
  border-color: rgba(212, 167, 44, 0.2) !important;
}
.bg-why-pattern {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMiIgY3k9IjIiIHI9IjEiIGZpbGw9InJnYmEoMCwgMzYsIDI2LCAwLjA1KSIvPjwvc3ZnPg==');
  -webkit-mask-image: linear-gradient(to bottom, white, transparent);
  mask-image: linear-gradient(to bottom, white, transparent);
}
.why-card {
  border-bottom-right-radius: 40px;
  border-top-left-radius: 40px;
  border-top-right-radius: 12px;
  border-bottom-left-radius: 12px;
  border-color: rgba(6,78,42,0.05) !important;
}
.why-card:hover {
  box-shadow: 0 1rem 3rem rgba(0,0,0,0.1) !important;
}
.why-card-tab {
  top: 2.5rem;
  left: -0.5rem;
  width: 0.5rem;
  height: 4rem;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.why-card:hover .why-card-tab {
  height: 5rem;
  left: -0.75rem;
}
.why-card-icon {
  top: -2rem;
  left: 2rem;
  width: 4rem;
  height: 4rem;
  border-width: 6px !important;
}
.why-card:hover .why-card-icon {
  transform: translateY(-8px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}
.why-card-number {
  top: 0.5rem;
  left: 7rem;
  font-size: 4rem;
}
.why-card:hover .why-card-number {
  transform: scale(1.1);
  color: rgba(6,78,42,0.1) !important;
}
.why-card:hover .why-card-title {
  color: var(--secondary) !important;
}
.min-h-4rem {
  min-height: 4rem;
}
.why-learn-icon {
  width: 24px;
  height: 24px;
}
.why-learn-btn:hover {
  color: var(--secondary) !important;
}
.why-learn-btn:hover .why-learn-icon {
  border-color: var(--secondary) !important;
  background-color: var(--secondary) !important;
  color: #fff !important;
  transform: translateX(6px);
}
.why-learn-btn:hover .why-learn-icon .material-symbols-outlined {
  color: #fff !important;
}
.why-learn-btn-alt:hover {
  color: var(--primary) !important;
}
.why-learn-btn-alt:hover .why-learn-icon {
  border-color: var(--primary) !important;
  background-color: var(--primary) !important;
  color: #fff !important;
  transform: translateX(6px);
}
.why-learn-btn-alt:hover .why-learn-icon .material-symbols-outlined {
  color: #fff !important;
}
/* ==========================================================================
   Learning Process Section
   ========================================================================== */
.roadmap-bg {
  background: radial-gradient(circle at bottom left, rgba(6,78,42,0.05), #ffffff, #ffffff);
}
.roadmap-line-desktop {
  top: 2.5rem;
  left: 10%;
  right: 10%;
  height: 2px;
}
.roadmap-gradient-line {
  background: linear-gradient(to right, rgba(6,78,42,0.2), var(--secondary-fixed), rgba(6,78,42,0.2));
}
.roadmap-line-mobile {
  left: 2.25rem;
  width: 2px;
}
.roadmap-gradient-line-mobile {
  background: linear-gradient(to bottom, rgba(6,78,42,0.2), var(--secondary-fixed), rgba(6,78,42,0.2));
}
.roadmap-node {
  width: 5rem;
  height: 5rem;
  border: 6px solid var(--surface-bright);
}
.roadmap-step:hover .roadmap-node {
  border-color: var(--primary) !important;
  transform: translateY(-8px);
  background-color: var(--primary) !important;
  color: #fff !important;
  box-shadow: 0 10px 20px rgba(6,78,42,0.15) !important;
}
.roadmap-step:hover .roadmap-title {
  color: var(--secondary-fixed) !important;
}
.roadmap-node-final {
  width: 6rem;
  height: 6rem;
  border: 6px solid #fff;
  box-shadow: 0 0 30px rgba(212,167,44,0.4);
}
.roadmap-step:hover .roadmap-node-final {
  transform: translateY(-8px);
}
.roadmap-ring {
  transform: scale(1.1);
}
/* ==========================================================================
   CTA Banner Section
   ========================================================================== */
.cta-banner {
  box-shadow: 0 10px 40px rgba(6,78,42,0.1);
}
/* .cta-pattern {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMiIgY3k9IjIiIHI9IjEiIGZpbGw9InJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSIvPjwvc3ZnPg==');
} */
.btn-secondary-fixed {
  background-color: var(--secondary-fixed);
  color: var(--primary);
  border: none;
}
.btn-secondary-fixed:hover {
  background-color: #e5b948;
  color: var(--primary);
}
.cta-icon {
  width: 3.5rem;
  height: 3.5rem;
  box-shadow: 0 0 20px rgba(212,167,44,0.4);
}
.cta-btn:hover {
  background-color: #e5b948 !important;
}
/* ==========================================================================
   Tally Highlight Section
   ========================================================================== */
.bg-gradient-tally-light {
  background: linear-gradient(to left, #ffffff, transparent);
}
.tally-glow {
  bottom: -8rem;
  left: -8rem;
  width: 30rem;
  height: 30rem;
  filter: blur(100px);
}
.tally-pattern {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMiIgY3k9IjIiIHI9IjEiIGZpbGw9InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkiLz48L3N2Zz4=');
}
.tally-explore-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 30px rgba(6,78,42,0.25) !important;
}
.tally-explore-btn:hover .tally-explore-bg {
  transform: translateY(0);
}
.tally-explore-bg {
  transform: translateY(100%);
}
.tally-explore-btn:hover .tally-explore-icon {
  background-color: var(--secondary-fixed) !important;
  color: var(--primary) !important;
}
.tally-explore-btn:hover .tally-explore-icon .material-symbols-outlined {
  transform: translateX(2px);
}
.tally-card-backdrop {
  background: linear-gradient(to top right, rgba(212,167,44,0.4), rgba(6,78,42,0.1), transparent);
  transform: rotate(3deg) scale(1.05);
}
.tally-card-container:hover .tally-card-backdrop {
  transform: rotate(6deg) scale(1.1);
}
.tally-card-container:hover .tally-card-content {
  transform: translateY(-8px);
  box-shadow: 0 30px 80px rgba(6,78,42,0.12) !important;
}
.tally-skill-item:hover {
  background-color: #fff !important;
  box-shadow: 0 15px 30px rgba(6,78,42,0.06) !important;
  transform: translateY(-4px);
  border-color: rgba(6,78,42,0.05) !important;
}
.tally-skill-icon {
  width: 3rem;
  height: 3rem;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.tally-skill-item:hover .tally-skill-icon {
  background-color: var(--secondary-fixed) !important;
  color: var(--primary) !important;
  box-shadow: 0 10px 20px rgba(212,167,44,0.3) !important;
  transform: scale(1.1) rotate(3deg);
  border-color: transparent !important;
}
.tally-skill-item:hover .tally-skill-icon .material-symbols-outlined {
  color: var(--primary) !important;
}
.tally-skill-item:hover .tally-skill-title {
  transform: translateY(-2px);
}
.tally-tag:hover {
  transform: scale(1.05);
  color: var(--primary) !important;
}
/* ==========================================================================
   Student Success Section
   ========================================================================== */
.metrics-bg-right {
  background: linear-gradient(to left, #f4fcf6, transparent);
}
.metrics-bg-left {
  background: linear-gradient(to right, #f4fcf6, transparent);
}
@media (min-width: 992px) {
  .metrics-divider .metric-item {
    border-right: 1px solid rgba(6,78,42,0.1);
  }
  .metrics-divider .col-lg-3:last-child .metric-item {
    border-right: none;
  }
}
.metric-icon {
  width: 3rem;
  height: 3rem;
}
.metric-item:hover .metric-icon {
  transform: translateY(-8px);
  background-color: var(--secondary-fixed) !important;
  color: var(--primary) !important;
}
/* ==========================================================================
   Final CTA Section
   ========================================================================== */
.final-cta-banner {
  box-shadow: 0 1rem 3rem rgba(6,78,42,0.15) !important;
}
.final-cta-glow {
  top: -20%;
  right: 10%;
  width: 50%;
  height: 100%;
  filter: blur(100px);
}
.final-cta-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 30px rgba(255,255,255,0.15) !important;
}
.final-cta-btn:hover .final-cta-btn-bg {
  transform: translateY(0);
}
.final-cta-btn-bg {
  transform: translateY(100%);
  background-color: #fafafa;
}
.final-cta-btn:hover .final-cta-btn-icon-wrapper {
  background-color: var(--secondary-fixed) !important;
  color: var(--primary) !important;
}
.final-cta-btn-icon-wrapper .material-symbols-outlined {
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.final-cta-btn:hover .final-cta-btn-icon {
  transform: translateX(4px);
}
.final-cta-outline-btn {
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.final-cta-outline-btn:hover {
  transform: translateY(-4px);
  border-color: rgba(255,255,255,0.5) !important;
  box-shadow: 0 1rem 3rem rgba(0,0,0,0.175) !important;
}
.final-cta-outline-btn:hover .final-cta-outline-btn-bg {
  transform: translateY(0);
}
.final-cta-outline-btn-bg {
  transform: translateY(100%);
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.final-cta-outline-btn-icon-wrapper {
  transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1), color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.final-cta-outline-btn:hover .final-cta-outline-btn-text {
  color: var(--primary) !important;
}
.final-cta-outline-btn:hover .final-cta-outline-btn-icon-wrapper {
  background-color: #fff !important;
  color: var(--primary) !important;
}
.final-cta-outline-btn-icon-wrapper .material-symbols-outlined {
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.final-cta-outline-btn:hover .final-cta-outline-btn-icon {
  transform: translateX(4px);
}


/* ==========================================================================
   Extracted Inline Styles
   ========================================================================== */

/* Extracted from about-us.php */

        .premium-container {
            width: min(1200px, calc(100% - 40px));
            margin: 0 auto;
        }

        /* --- Global Refined Section Label --- */
        .premium-label {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 4px 12px;
            background: color-mix(in srgb, var(--secondary-fixed) 10%, transparent);
            border: 1px solid color-mix(in srgb, var(--secondary-fixed) 25%, transparent);
            border-radius: 99px;
            color: var(--secondary-fixed);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 1.2px;
            text-transform: uppercase;
            margin-bottom: 14px;
        }
        .premium-label .material-symbols-outlined {
            font-size: 14px;
        }

        /* 1. HERO SECTION */
        .hero-premium {
            position: relative;
            padding: 72px 24px 45px;
            background: var(--surface-bright);
            overflow: hidden;
            border-bottom: 1px solid var(--surface-container-high);
        }

        .hero-grid {
            margin-top: -50px;
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(430px, 1fr);
            align-items: center;
            gap: 32px;
        }

        .hero-content {
            max-width: 580px;
            position: relative;
            z-index: 2;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
                top: -30px;
        }

        .hero-tag-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 12px;
            padding: 4px 12px;
            border-radius: 20px;
            background: color-mix(in srgb, var(--primary-fixed) 15%, transparent);
            color: var(--primary);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: .5px;
            text-transform: uppercase;
        }
        .hero-tag-badge .material-symbols-outlined {
            font-size: 13px;
            color: var(--secondary-container);
        }

        .hero-content h1 {
            margin: 0;
            color: var(--primary);
            font-family: var(--font-display);
            font-size: clamp(30px, 3.2vw, 42px);
            line-height: 1.18;
            font-weight: 700;
            letter-spacing: -0.4px;
        }
        .hero-content h1 .gold-italic {
            color: #FFB703 !important;
            font-style: normal;
            font-weight: 700;
        }

        .hero-content p {
            margin: 12px 0 24px;
            color: var(--on-surface-variant);
            font-size: 13.5px;
            line-height: 1.6;
            max-width: 480px;
        }

        /* Action Buttons */
        .hero-actions-group {
            display: flex;
            align-items: center;
            gap: 20px;
            flex-wrap: wrap;
            margin-top: 4px;
        }

        .btn-primary-action {
            display: inline-flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            min-height: 46px;
            padding: 4px 6px 4px 18px;
            border-radius: 30px;
            background: #0d382b;
            color: #fff;
            text-decoration: none;
            font-size: 13.5px;
            font-weight: 700;
            box-shadow: 0 8px 18px rgba(13, 56, 43, 0.25);
            transition: transform .25s ease, box-shadow .25s ease;
        }
        .btn-primary-action:hover {
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 12px 24px rgba(13, 56, 43, 0.35);
        }

        .btn-primary-action > span:first-child {
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }
        .btn-primary-action > span:first-child > .material-symbols-outlined {
            font-size: 18px;
            color: #34d399;
        }
        .btn-primary-action .icon-circle {
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: #fbd67d;
            color: #0d382b;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .btn-primary-action .icon-circle .material-symbols-outlined {
            font-size: 18px;
            font-weight: 700;
        }

        /* Trust Proof Avatars */
        .hero-trust {
            display: inline-flex;
            align-items: center;
            gap: 12px;
        }
        .trust-avatars {
            display: flex;
        }
        .trust-avatars img {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            border: 2.5px solid #ffffff;
            margin-left: -10px;
            object-fit: cover;
            box-shadow: 0 2px 6px rgba(0,0,0,0.1);
        }
        .trust-avatars img:first-child {
            margin-left: 0;
        }
        .trust-text {
            display: flex;
            flex-direction: column;
            line-height: 1.25;
        }
        .trust-text strong {
            font-size: 14px;
            font-weight: 800;
            color: #0d382b;
        }
        .trust-text span {
            font-size: 11px;
            color: #64748b;
            font-weight: 600;
        }

        /* Highlights Strip */
        .hero-highlights-strip {
            background: #ffffff;
            border-bottom: 1px solid var(--surface-container-high);
            padding: 22px 0;
        }
        .highlights-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
        }
        .highlight-card {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .hl-icon {
            width: 44px;
            height: 44px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .hl-icon.green {
            background: #e8f7f0;
            color: #0d5f42;
        }
        .hl-icon.yellow {
            background: #fef5dc;
            color: #FFB703;
        }
        .hl-icon .material-symbols-outlined {
            font-size: 22px;
        }
        .hl-content {
            display: flex;
            flex-direction: column;
        }
        .hl-content strong {
            font-size: 13.5px;
            font-weight: 800;
            color: var(--primary);
            line-height: 1.2;
            margin-bottom: 2px;
        }
        .hl-content span {
            font-size: 11.5px;
            color: var(--on-surface-variant);
            line-height: 1.35;
        }

        /* Hero Visual */
        .hero-visual-wrapper {
            position: relative;
            width: 100%;
            height: 380px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 40px;
        }

        .hero-image-box {
            position: relative;
            z-index: 2;
            width: 100%;
            max-width: 360px;
            height: 360px;
            border-radius: 18px;
            overflow: hidden;
            box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
            border: 1px solid var(--surface-container-high);
            background: var(--surface-container-lowest);
        }
        .hero-image-box img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center top;
            display: block;
        }

        .hero-floating-badges {
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            display: flex;
            flex-direction: column;
            gap: 12px;
            z-index: 3;
        }

        .hero-badge-card {
            background: rgba(255, 255, 255, 0.96);
            backdrop-filter: blur(8px);
            border: 1px solid rgba(226, 232, 240, 0.9);
            border-radius: 12px;
            padding: 10px 14px;
            display: flex;
            align-items: center;
            gap: 10px;
            box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
            width: 200px;
            transition: transform 0.3s ease;
        }
        .hero-badge-card:hover {
            transform: translateX(-4px);
        }

        .hb-icon {
            width: 32px;
            height: 32px;
            border-radius: 8px;
            background: color-mix(in srgb, var(--primary) 10%, #ffffff);
            color: var(--primary);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .hb-icon.gold {
            background: color-mix(in srgb, var(--secondary-fixed) 15%, #ffffff);
            color: var(--secondary-fixed);
        }
        .hb-icon span {
            font-size: 18px;
        }

        .hb-content {
            display: flex;
            flex-direction: column;
        }
        .hb-content strong {
            font-size: 12px;
            font-weight: 700;
            color: var(--primary);
            line-height: 1.2;
        }
        .hb-content span {
            font-size: 10px;
            color: var(--on-surface-variant);
            line-height: 1.3;
        }

        /* 2. COMPACT STORY TIMELINE */
        .story-section {
            padding: 48px 0;
            background: #ffffff;
            border-bottom: 1px solid var(--surface-container-high);
        }
        .story-grid {
            display: grid;
            grid-template-columns: 0.8fr 1.2fr;
            gap: 40px;
        }
        .story-sticky {
            position: sticky;
            top: 100px;
            background: var(--surface-bright);
            border: 1px solid var(--surface-container-high);
            padding: 28px;
            border-radius: 16px;
        }
        .story-sticky h2 {
            font-size: clamp(26px, 2.6vw, 34px);
            font-weight: 800;
            line-height: 1.18;
            margin: 0 0 12px;
            color: var(--primary);
        }
        .story-sticky h2 span {
            color: var(--secondary-fixed);
            font-style: italic;
        }
        .story-sticky p {
            font-size: 14px;
            line-height: 1.65;
            color: var(--on-surface-variant);
            margin: 0;
        }

        .timeline-wrapper {
            position: relative;
            padding-left: 36px;
        }
        .timeline-wrapper::before {
            content: '';
            position: absolute;
            left: 9px;
            top: 8px;
            bottom: 8px;
            width: 2px;
            background: linear-gradient(to bottom, var(--secondary-fixed), #CBD5E1);
        }

        .timeline-item {
            position: relative;
            margin-bottom: 22px;
            background: var(--surface-bright);
            padding: 20px 24px;
            border-radius: 14px;
            border: 1px solid var(--surface-container-high);
            transition: all 0.25s ease;
        }
        .timeline-item:last-child {
            margin-bottom: 0;
        }
        .timeline-item:hover {
            transform: translateX(6px);
            border-color: var(--secondary-fixed);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
        }
        .timeline-item::before {
            content: '';
            position: absolute;
            left: -33px;
            top: 24px;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: var(--secondary-fixed);
            border: 2px solid #ffffff;
            box-shadow: 0 0 0 3px color-mix(in srgb, var(--secondary-fixed) 25%, transparent);
        }

        .timeline-step {
            display: inline-block;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: 1.2px;
            color: var(--secondary-fixed);
            margin-bottom: 6px;
            text-transform: uppercase;
        }
        .timeline-item h3 {
            font-size: 17px;
            font-weight: 700;
            margin: 0 0 6px;
            color: var(--primary);
        }
        .timeline-item p {
            font-size: 13px;
            line-height: 1.55;
            color: var(--on-surface-variant);
            margin: 0;
        }

        /* 3. EXPERTISE STRIP */
        .expertise-section {
            padding: 14px 0;
            background: var(--primary);
            color: #ffffff;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            overflow: hidden;
        }
        .exp-strip-layout {
            display: grid;
            grid-template-columns: auto 1fr;
            align-items: center;
            gap: 24px;
        }
        .exp-left-fixed {
            display: flex;
            align-items: center;
            gap: 20px;
            flex-shrink: 0;
        }
        .exp-stat-pill {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding-right: 20px;
            border-right: 1px solid rgba(255, 255, 255, 0.15);
        }
        .exp-stat-pill strong {
            font-size: 34px;
            font-weight: 900;
            line-height: 1;
            color: var(--secondary-fixed);
            letter-spacing: -1px;
        }
        .exp-stat-pill span {
            font-size: 10.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1.1px;
            line-height: 1.3;
            color: rgba(255, 255, 255, 0.9);
        }
        .exp-center-info {
            display: flex;
            align-items: center;
            gap: 14px;
        }
        .exp-center-info .premium-label {
            margin-bottom: 0;
            flex-shrink: 0;
            background: rgba(255, 255, 255, 0.08);
            border-color: rgba(255, 255, 255, 0.18);
            color: #ffffff;
            font-size: 10px;
            padding: 3px 10px;
        }
        .exp-center-info h2 {
            font-size: 16px;
            font-weight: 700;
            margin: 0;
            line-height: 1.2;
            white-space: nowrap;
        }
        .exp-center-info h2 span {
            color: var(--secondary-fixed);
            font-style: italic;
        }
        .exp-marquee-wrapper {
            position: relative;
            overflow: hidden;
            width: 100%;
            min-width: 0;
            display: flex;
            align-items: center;
            mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
            -webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
        }
        .exp-marquee-track {
            display: flex;
            align-items: center;
            gap: 10px;
            width: max-content;
            animation: marqueeSlide 18s linear infinite;
        }
        .exp-marquee-track:hover {
            animation-play-state: paused;
        }
        .exp-marquee-track span {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 5px 12px;
            background: rgba(255, 255, 255, 0.07);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 99px;
            font-size: 11.5px;
            font-weight: 600;
            color: rgba(255, 255, 255, 0.92);
            white-space: nowrap;
            transition: all 0.2s ease;
        }
        .exp-marquee-track span .material-symbols-outlined {
            font-size: 14px;
            color: var(--secondary-fixed);
        }
        .exp-marquee-track span:hover {
            background: rgba(255, 255, 255, 0.15);
            border-color: var(--secondary-fixed);
        }

        @keyframes marqueeSlide {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        /* 4. METHODOLOGY CARDS */
        .methodology-section {
            padding: 48px 0;
            background: var(--surface-bright);
            border-bottom: 1px solid var(--surface-container-high);
        }
        .method-header {
            text-align: center;
            max-width: 580px;
            margin: 0 auto 32px;
        }
        .method-header h2 {
            font-size: clamp(26px, 2.8vw, 34px);
            font-weight: 800;
            color: var(--primary);
            margin: 0 0 10px;
        }
        .method-header h2 span {
            color: var(--secondary-fixed);
            font-style: italic;
        }
        .method-header p {
            font-size: 14px;
            color: var(--on-surface-variant);
            line-height: 1.55;
            margin: 0;
        }
        .method-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 16px;
        }
        .method-card {
            background: #ffffff;
            border-radius: 14px;
            padding: 24px 18px;
            border: 1px solid var(--surface-container-high);
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            transition: all 0.25s ease;
        }
        .method-card:hover {
            transform: translateY(-4px);
            border-color: var(--secondary-fixed);
            box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
        }
        .m-icon-wrapper {
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background: color-mix(in srgb, var(--primary) 8%, transparent);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 14px;
            color: var(--primary);
        }
        .m-icon-wrapper span {
            font-size: 22px;
        }
        .method-card h3 {
            font-size: 16px;
            font-weight: 700;
            color: var(--primary);
            margin: 0 0 8px;
        }
        .method-card p {
            font-size: 12.5px;
            color: var(--on-surface-variant);
            line-height: 1.5;
            margin: 0;
        }

        /* 5. FOUNDER SECTION */
        .founder-section {
            padding: 48px 0;
            background: #ffffff;
        }
        .founder-grid {
            display: grid;
            grid-template-columns: 0.75fr 1.25fr;
            gap: 40px;
            align-items: center;
        }
        .founder-visual {
            position: relative;
            display: flex;
            justify-content: center;
        }
        .founder-image-wrapper {
            position: relative;
            z-index: 2;
            width: 100%;
            max-width: 310px;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 16px 36px rgba(0,0,0,0.08);
            border: 1px solid var(--surface-container-high);
        }
        .founder-image-wrapper img {
            width: 100%;
            height: 370px;
            object-fit: cover;
            display: block;
        }
        .f-title h2 {
            font-size: clamp(26px, 2.8vw, 36px);
            font-weight: 800;
            margin: 0 0 4px;
            color: var(--primary);
        }
        .f-role {
            display: inline-block;
            font-size: 11px;
            font-weight: 700;
            color: var(--secondary-fixed);
            letter-spacing: 1.5px;
            text-transform: uppercase;
            margin-bottom: 16px;
        }
        .quote-glass {
            background: var(--surface-bright);
            border-left: 3px solid var(--secondary-fixed);
            padding: 16px 20px;
            border-radius: 0 10px 10px 0;
            margin-bottom: 16px;
        }
        .quote-glass p {
            font-size: 13.5px;
            line-height: 1.55;
            color: var(--primary);
            font-weight: 600;
            font-style: italic;
            margin: 0;
        }
        .founder-desc {
            font-size: 13.5px;
            line-height: 1.65;
            color: var(--on-surface-variant);
            margin-bottom: 20px;
        }
        .f-stats-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 12px;
        }
        .f-stat-card {
            background: var(--primary);
            padding: 14px 10px;
            border-radius: 12px;
            color: #ffffff;
            text-align: center;
        }
        .f-stat-card strong {
            display: block;
            font-size: 22px;
            font-weight: 800;
            color: var(--secondary-fixed);
            margin-bottom: 2px;
        }
        .f-stat-card span {
            display: block;
            font-size: 10px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.8px;
            color: rgba(255,255,255,0.75);
        }

        /* RESPONSIVE */
        @media (max-width: 1024px) {
            .hero-grid { grid-template-columns: 1fr; gap: 35px; }
            .hero-content { max-width: 100%; }
            .highlights-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
            .exp-strip-layout { grid-template-columns: 1fr; gap: 12px; }
            .exp-left-fixed { width: 100%; justify-content: space-between; }
        }

        @media (max-width: 768px) {
            .highlights-grid { grid-template-columns: 1fr; }
            .hero-actions-group { flex-direction: column; align-items: flex-start; gap: 16px; }
            .hero-floating-badges {
                position: static;
                transform: none;
                flex-direction: row;
                flex-wrap: wrap;
                margin-top: 18px;
                justify-content: center;
                width: 100%;
            }
            .hero-badge-card { width: 100%; }
            .story-grid, .founder-grid { grid-template-columns: 1fr; gap: 32px; }
            .method-grid { grid-template-columns: 1fr; }
            .f-stats-grid { grid-template-columns: 1fr; }
        }
    
/* Extracted from books.php */

/* =========================================================
   BOOKS PAGE
   ========================================================= */

.books-page {
    min-height: calc(100vh - 100px);
    background:
        radial-gradient(circle at 85% 12%, color-mix(in srgb, var(--primary-fixed, #68fec3) 8%, transparent), transparent 25%),
        var(--surface-bright, #f8fafc);
    color: var(--primary, #064E2A);
    overflow-x: clip;
}

/* =========================================================
   HERO
   ========================================================= */

.books-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 38px 24px 42px;
    color: #fff;
    background:
        radial-gradient(circle at 82% 28%, color-mix(in srgb, var(--primary-fixed, #68fec3) 18%, transparent), transparent 27%),
        radial-gradient(circle at 12% 100%, color-mix(in srgb, var(--secondary-fixed, #FFB703) 10%, transparent), transparent 30%),
        linear-gradient(118deg, #064E2A 0%, #16604b 58%, #064E2A 100%);
    border-radius: 0 0 30px 30px;
    box-shadow: 0 18px 45px rgba(6, 78, 42, 0.16);
}

.books-hero::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -150px;
    top: -250px;
    border: 1px solid color-mix(in srgb, var(--primary-fixed, #68fec3) 28%, transparent);
    border-radius: 50%;
    box-shadow:
        0 0 0 34px color-mix(in srgb, var(--primary-fixed, #68fec3) 5%, transparent),
        0 0 0 72px color-mix(in srgb, var(--primary-fixed, #68fec3) 4%, transparent);
    opacity: .75;
    animation: booksOrbit 12s ease-in-out infinite alternate;
    pointer-events: none;
}

.books-hero::after {
    content: "";
    position: absolute;
    left: -8%;
    right: -8%;
    bottom: -35px;
    height: 100px;
    border-top: 2px solid color-mix(in srgb, var(--secondary-fixed, #FFB703) 45%, transparent);
    border-radius: 50%;
    transform: rotate(-2deg) scaleX(1.08);
    opacity: .7;
    animation: booksWave 9s ease-in-out infinite alternate;
    pointer-events: none;
}

.books-hero-inner {
    position: relative;
    z-index: 2;
    width: min(1220px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(310px, .8fr);
    align-items: center;
    gap: 42px;
}

/* =========================================================
   LEFT CONTENT
   ========================================================= */

.books-hero-copy {
    position: relative;
    z-index: 3;
    max-width: 720px;
}

.books-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 11px;
    padding: 7px 14px;
    border: 1px solid color-mix(in srgb, #fff 28%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, #fff 9%, transparent);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
    box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 18%, transparent);
    animation: booksReveal .75s ease both;
}

.books-eyebrow .material-symbols-outlined {
    font-size: 15px;
    color: var(--secondary-fixed, #FFB703);
}

.books-hero h1 {
    margin: 0;
    color: #fff;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(30px, 3.5vw, 46px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.8px;
    max-width: 760px;
    animation: booksReveal .8s .08s ease both;
}

.books-hero h1::after {
    content: "";
    display: block;
    width: 90px;
    height: 2px;
    margin-top: 10px;
    border-radius: 999px;
    background: var(--secondary-fixed, #FFB703);
    transform-origin: left;
    animation: booksLine 1s .55s ease both;
}

.books-hero-description {
    max-width: 650px;
    margin: 11px 0 16px;
    color: color-mix(in srgb, #fff 82%, transparent);
    font-size: 13px;
    line-height: 1.55;
    animation: booksReveal .8s .16s ease both;
}

.books-search-bar {
    position: relative;
    max-width: 570px;
    animation: booksReveal .8s .24s ease both;
}

.books-search-bar input {
    width: 100%;
    height: 44px;
    padding: 0 20px 0 48px;
    border: 1px solid color-mix(in srgb, #fff 32%, transparent);
    border-radius: 14px;
    outline: none;
    background: color-mix(in srgb, #fff 96%, transparent);
    color: #064E2A;
    font-size: 12.5px;
    box-shadow:
        0 12px 30px rgba(0, 0, 0, .14),
        inset 0 1px 0 #fff;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.books-search-bar input:focus {
    transform: translateY(-2px);
    border-color: var(--secondary-fixed, #FFB703);
    box-shadow:
        0 16px 35px rgba(0, 0, 0, .20),
        0 0 0 4px color-mix(in srgb, var(--secondary-fixed, #FFB703) 18%, transparent);
}

.books-search-bar input::placeholder {
    color: #475569;
}

.books-search-bar .search-icon {
    position: absolute;
    left: 17px;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    color: #064E2A;
    font-size: 19px;
    pointer-events: none;
}

/* =========================================================
   RIGHT VISUAL / STATS
   ========================================================= */

.books-hero-visual {
    position: relative;
    min-height: 190px;
    display: grid;
    place-items: center;
    animation: booksReveal .9s .18s ease both;
}

.books-hero-visual::before {
    content: "";
    position: absolute;
    width: 205px;
    height: 205px;
    border: 1px solid color-mix(in srgb, var(--primary-fixed, #68fec3) 25%, transparent);
    border-radius: 50%;
    animation: booksRing 8s linear infinite;
}

.books-hero-visual::after {
    content: "menu_book";
    position: absolute;
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    border-radius: 24px;
    color: var(--secondary-fixed, #FFB703);
    background: rgba(6, 78, 42, 0.7);
    border: 1px solid color-mix(in srgb, #fff 16%, transparent);
    box-shadow:
        0 20px 45px rgba(0, 0, 0, .20),
        inset 0 1px 0 color-mix(in srgb, #fff 18%, transparent);
    font-family: "Material Symbols Outlined";
    font-size: 32px;
    font-variation-settings: 'FILL' 1;
    animation: booksIconFloat 4s ease-in-out infinite;
}

.books-hero-stats {
    position: relative;
    z-index: 3;
    width: min(100%, 420px);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    padding: 16px 12px;
    border: 1px solid color-mix(in srgb, #fff 22%, transparent);
    border-radius: 22px;
    background:
        linear-gradient(145deg,
            color-mix(in srgb, #fff 12%, transparent),
            rgba(6, 78, 42, 0.58));
    backdrop-filter: blur(18px);
    box-shadow:
        0 24px 55px rgba(0, 0, 0, .22),
        inset 0 1px 0 color-mix(in srgb, #fff 22%, transparent);
    animation: booksCardFloat 5s ease-in-out infinite;
}

.books-stat-item {
    position: relative;
    padding: 8px 12px;
    text-align: center;
}

.books-stat-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 18%;
    width: 1px;
    height: 64%;
    background: color-mix(in srgb, #fff 18%, transparent);
}

.books-stat-val {
    display: block;
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.1;
}

.books-stat-val.gold {
    color: var(--secondary-fixed, #FFB703);
}

.books-stat-val.highlight {
    font-size: 18px;
    line-height: 1.35;
}

.books-stat-label {
    display: block;
    margin-top: 6px;
    color: color-mix(in srgb, #fff 72%, transparent);
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.35;
    text-transform: uppercase;
}

/* =========================================================
   FILTER TOOLBAR
   ========================================================= */

.books-filter-container {
    position: relative;
    z-index: 5;
    width: min(1220px, calc(100% - 40px));
    margin: -20px auto 0;
}

.books-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid rgba(6, 78, 42, 0.1);
    border-radius: 18px;
    box-shadow: 0 15px 35px rgba(6, 78, 42, 0.09);
}

.books-tabs {
    display: flex;
    align-items: center;
    gap: 7px;
    overflow-x: auto;
    scrollbar-width: none;
}

.books-tabs::-webkit-scrollbar {
    display: none;
}

.books-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: transparent;
    color: #475569;
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: transform .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;
}

.books-tab:hover {
    transform: translateY(-2px);
    background: color-mix(in srgb, var(--primary-fixed, #68fec3) 7%, #fff);
    color: var(--primary, #064E2A);
}

.books-tab.active {
    background: #064E2A;
    color: #fff;
    box-shadow: 0 7px 17px rgba(6, 78, 42, 0.22);
}

.books-tab .material-symbols-outlined {
    font-size: 16px;
}

.books-dropdowns {
    display: flex;
    align-items: center;
    gap: 10px;
}

.books-select {
    height: 40px;
    padding: 0 32px 0 13px;
    border: 1px solid rgba(6, 78, 42, 0.12);
    border-radius: 11px;
    background: #fff;
    color: #064E2A;
    font-size: 11.5px;
    font-weight: 700;
    outline: none;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2300241a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.books-select:hover,
.books-select:focus {
    transform: translateY(-1px);
    border-color: #064E2A;
    box-shadow: 0 5px 15px rgba(6, 78, 42, 0.08);
}

/* =========================================================
   EMPTY STATE
   ========================================================= */

.books-empty-container {
    width: min(1220px, calc(100% - 40px));
    margin: 42px auto 90px;
    padding: 54px 20px;
    text-align: center;
    border: 1px dashed rgba(6, 78, 42, 0.15);
    border-radius: 22px;
    background: #fff;
}

.books-empty-icon {
    width: 62px;
    height: 62px;
    margin: 0 auto 17px;
    display: grid;
    place-items: center;
    position: relative;
    border: 1px solid rgba(6, 78, 42, 0.2);
    border-radius: 17px;
    background: color-mix(in srgb, var(--primary-fixed, #68fec3) 7%, #fff);
    color: #064E2A;
    animation: booksEmptyFloat 3.5s ease-in-out infinite;
}

.books-empty-icon::before {
    content: "menu_book";
    font-family: "Material Symbols Outlined";
    font-size: 30px;
    font-variation-settings: 'FILL' 1;
}

.books-empty-container h3 {
    margin: 0 0 6px;
    color: #064E2A;
    font-size: 18px;
    font-weight: 800;
}

.books-empty-container p {
    max-width: 440px;
    margin: 0 auto;
    color: #475569;
    font-size: 12.5px;
}

/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes booksReveal {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes booksLine {
    from { opacity: 0; transform: scaleX(0); }
    to { opacity: 1; transform: scaleX(1); }
}

@keyframes booksOrbit {
    0% { transform: translate3d(0, 0, 0) rotate(0deg); }
    100% { transform: translate3d(-25px, 18px, 0) rotate(18deg); }
}

@keyframes booksWave {
    0% { transform: translateX(-2%) rotate(-2deg) scaleX(1.08); }
    100% { transform: translateX(3%) rotate(2deg) scaleX(1.02); }
}

@keyframes booksCardFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}

@keyframes booksIconFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-8px) rotate(2deg); }
}

@keyframes booksRing {
    from { transform: rotate(0deg) scale(.96); }
    to { transform: rotate(360deg) scale(1.04); }
}

@keyframes booksEmptyFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991px) {
    .books-hero { padding: 34px 22px 42px; }
    .books-hero-inner { grid-template-columns: 1fr; gap: 42px; }
    .books-hero-copy { max-width: 760px; }
    .books-hero-visual { min-height: 190px; }
    .books-hero-stats { max-width: 500px; }
    .books-filter-container { margin-top: -24px; }
    .books-filter-bar { flex-direction: column; align-items: stretch; }
    .books-dropdowns { justify-content: flex-start; flex-wrap: wrap; }
}

@media (max-width: 576px) {
    .books-hero { padding: 30px 16px 36px; border-radius: 0 0 22px 22px; }
    .books-hero-inner { gap: 32px; }
    .books-hero h1 { font-size: 31px; }
    .books-hero-description { font-size: 11.5px; line-height: 1.6; }
    .books-search-bar input { height: 46px; }
    .books-hero-visual { min-height: 170px; }
    .books-hero-visual::before { width: 195px; height: 195px; }
    .books-hero-visual::after { width: 65px; height: 65px; border-radius: 20px; font-size: 31px; }
    .books-hero-stats { grid-template-columns: 1fr; width: 100%; max-width: 330px; padding: 10px; gap: 0; }
    .books-stat-item { padding: 10px; }
    .books-stat-item:not(:last-child)::after { right: 15%; left: 15%; top: auto; bottom: 0; width: 70%; height: 1px; }
    .books-filter-container, .books-empty-container { width: min(100% - 24px, 1220px); }
    .books-tabs { width: 100%; }
    .books-dropdowns { display: grid; grid-template-columns: 1fr; }
    .books-select { width: 100%; }
    .books-empty-container { margin-top: 30px; padding: 42px 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .books-hero *,
    .books-hero::before,
    .books-hero::after,
    .books-empty-icon {
        animation: none !important;
        transition: none !important;
    }
}

/* Extracted from cart.php */

.cart-page{min-height:calc(100vh - 120px);background:#f7faf9;color:var(--primary)}
.cart-container{width:min(1160px,calc(100% - 40px));margin:auto}
.cart-heading { padding: 115px 0 40px; background-color: #FFF8DC; border-bottom: none; }
.cart-heading-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.cart-heading h1 {
    margin: 0 0 6px 0;
    color: var(--primary);
    font-family: var(--font-display);
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.18;
    font-weight: 700;
    letter-spacing: -0.4px;
}
.cart-heading p { margin: 0; color: var(--primary); opacity: 0.75; font-size: 14px; line-height: 1.6; max-width: 42rem; }
.cart-count { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; border-radius: 999px; background: #004d3a; color: #ffffff; font-size: 13px; font-weight: 800; box-shadow: 0 8px 20px rgba(0,0,0,0.08); transition: all 0.3s ease; }
.cart-count:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(0,77,58,0.2); }
.cart-section{padding:38px 0 70px}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}
.cart-items-panel{min-height:390px;padding:22px;border:1px solid var(--surface-container-high);border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(6,78,42,.04)}
.cart-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:15px;border-bottom:1px solid var(--surface-container-high)}
.cart-panel-title{display:flex;align-items:center;gap:9px}
.cart-panel-title>.material-symbols-outlined{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--primary-fixed) 24%,white);color:var(--primary);font-size:18px}
.cart-panel-title h2{margin:0;font-size:14px;font-weight:800}
.cart-panel-title span{display:block;margin-top:2px;color:var(--on-surface-variant);font-size:8.5px}
.continue-link{display:inline-flex;align-items:center;gap:5px;color:var(--primary-container);text-decoration:none;font-size:9px;font-weight:800}
.continue-link:hover{color:var(--secondary-fixed)}
.empty-cart{min-height:315px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 20px}
.empty-cart-icon{position:relative;width:76px;height:76px;display:grid;place-items:center;margin-bottom:17px;border-radius:22px;background:color-mix(in srgb,var(--primary-fixed) 16%,white);color:var(--primary)}
.empty-cart-icon:after{content:"";position:absolute;inset:-7px;border:1px dashed color-mix(in srgb,var(--secondary-fixed) 60%,transparent);border-radius:27px}
.empty-cart-icon .material-symbols-outlined{font-size:34px}
.empty-cart h3{margin:0 0 7px;font-size:18px;font-weight:800}
.empty-cart p{max-width:360px;margin:0 0 18px;color:var(--on-surface-variant);font-size:10px;line-height:1.6}
.browse-courses-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 9px 8px 16px;border-radius:999px;background:var(--primary);color:#fff;text-decoration:none;font-size:10px;font-weight:800;transition:.25s}
.browse-courses-btn span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--secondary-container);color:var(--primary)}
.browse-courses-btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(6,78,42,.15)}
.summary-card{position:sticky;top:20px;padding:20px;border:1px solid var(--surface-container-high);border-radius:20px;background:#fff;box-shadow:0 14px 35px rgba(6,78,42,.07)}
.summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}
.summary-header h2{margin:0;font-size:16px;font-weight:800}
.secure-badge{display:inline-flex;align-items:center;gap:4px;color:#39825f;font-size:8px;font-weight:800}
.secure-badge .material-symbols-outlined{font-size:13px}
.coupon-box{display:flex;align-items:center;gap:6px;min-height:42px;padding:5px 6px 5px 11px;border:1px solid var(--surface-container-high);border-radius:10px;background:#fbfcfb;margin-bottom:18px}
.coupon-box .material-symbols-outlined{color:var(--secondary-fixed);font-size:17px}
.coupon-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--primary);font-size:9px}
.apply-coupon{border:0;background:transparent;color:var(--primary-container);font-size:9px;font-weight:800;cursor:pointer}
.summary-lines{display:grid;gap:11px}
.summary-row{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--on-surface-variant);font-size:10px}
.summary-row strong{color:var(--primary);font-weight:800}
.summary-divider{height:1px;background:var(--surface-container-high);margin:7px 0}
.payment-title{display:flex;align-items:center;justify-content:space-between;margin:5px 0 6px;color:var(--primary);font-size:8px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}
.payment-min{color:var(--on-surface-variant);font-size:7.5px;font-weight:600;text-transform:none;letter-spacing:0}
.payment-input{display:flex;align-items:center;border:1px solid var(--surface-container-high);border-radius:8px;overflow:hidden;background:#fbfcfb}
.payment-input input{width:100%;height:34px;padding:0 10px;border:0;outline:0;background:transparent;color:var(--primary);font-size:10px;font-weight:700}
.currency{display:grid;place-items:center;width:34px;height:34px;border-left:1px solid var(--surface-container-high);color:var(--on-surface-variant);font-size:10px}
.remaining{margin-top:12px}
.total-area{display:flex;align-items:end;justify-content:space-between;gap:15px;padding-top:18px;margin-top:15px;border-top:1px solid var(--surface-container-high)}
.total-area strong{font-size:10px}.total-price{color:#0876f9;font-size:29px;line-height:1;font-weight:700}
.pay-now-btn{width:100%;height:45px;margin-top:18px;border:0;border-radius:9px;background:var(--primary);color:#fff;font-size:10px;font-weight:800;cursor:pointer;transition:.2s}
.pay-now-btn:disabled{background:var(--surface-container-high);color:#7d8984;cursor:not-allowed}
.payment-note{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:10px;color:#9aa39f;font-size:7.5px}
.payment-note .material-symbols-outlined{font-size:12px}
.cart-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.trust-card{display:flex;align-items:center;gap:9px;padding:13px;border:1px solid var(--surface-container-high);border-radius:13px;background:#fff}
.trust-card .material-symbols-outlined{color:var(--secondary-fixed);font-size:18px}
.trust-card strong{display:block;font-size:9px}.trust-card span{display:block;margin-top:2px;color:var(--on-surface-variant);font-size:7.5px}
@media(max-width:900px){.cart-layout{grid-template-columns:1fr}.summary-card{position:static;max-width:520px}.cart-trust{grid-template-columns:1fr}}
@media(max-width:650px){.cart-container{width:min(100% - 28px,620px)}.cart-heading{padding:110px 0 25px}.cart-heading-inner{align-items:flex-start;flex-direction:column;gap:12px}.cart-section{padding-top:25px}.cart-items-panel{min-height:340px;padding:17px}.cart-panel-heading{align-items:flex-start;flex-direction:column;gap:15px}.summary-card{padding:17px}}

/* Extracted from classes.php */


/* =========================================================
   CLASSES PAGE
   Academy Theme
   Uses variables from style.css
   ========================================================= */

.classes-page {
    min-height: calc(100vh - 100px);
    background: var(--surface-bright);
    color: var(--primary);
}


/* =========================================================
   HERO SECTION
   ========================================================= */

.classes-hero {
    position: relative;
    overflow: hidden;

    min-height: 210px;

    display: flex;
    align-items: center;

    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(104, 254, 195, 0.13),
            transparent 28%
        ),
        radial-gradient(
            circle at 72% 100%,
            rgba(255, 224, 136, 0.10),
            transparent 30%
        ),
        linear-gradient(
            120deg,
            var(--primary) 0%,
            var(--primary-container) 100%
        );

    border-radius: 0 0 32px 32px;

    box-shadow:
        0 14px 35px rgba(6, 78, 42, 0.12);
}


/* Animated background glow */

.classes-hero::before {
    content: "";

    position: absolute;

    width: 330px;
    height: 330px;

    right: 4%;
    top: -220px;

    border-radius: 50%;

    background: rgba(104, 254, 195, 0.10);

    filter: blur(60px);

    animation: classesHeroGlow 7s ease-in-out infinite alternate;
}


/* Gold glow */

.classes-hero::after {
    content: "";

    position: absolute;

    width: 230px;
    height: 230px;

    left: 48%;
    bottom: -180px;

    border-radius: 50%;

    background: rgba(255, 224, 136, 0.08);

    filter: blur(55px);

    animation: classesHeroGoldGlow 8s ease-in-out infinite alternate;
}


/* Hero inner */

.classes-hero-inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1320px;

    margin: 0 auto;

    padding: 32px 24px 38px;
}


/* Breadcrumb */

.classes-breadcrumb {
    display: flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 13px;

    color: rgba(255, 255, 255, 0.65);

    font-size: 12px;
    font-weight: 600;
}

.classes-breadcrumb span:last-child {
    color: var(--secondary-fixed);
    font-weight: 700;
}

.classes-breadcrumb-arrow {
    color: rgba(255, 255, 255, 0.45);

    font-size: 18px;
    line-height: 1;
}


/* Hero title */

.classes-hero h1 {
    position: relative;
    width: fit-content;
    margin: 0;
    color: var(--primary);
    font-family: var(--font-display);
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.5px;
}

.classes-hero h1 span {
    color: var(--secondary-fixed);
}

/* Gold animated underline */

.classes-hero h1::after {
    content: "";

    display: block;

    width: 0;
    height: 2px;

    margin-top: 9px;

    background: var(--secondary-fixed);

    border-radius: 10px;

    box-shadow:
        0 0 12px rgba(255, 224, 136, 0.55);

    animation: classesTitleLine 1.2s ease forwards;
}


.classes-hero p {
    margin: 9px 0 0;

    max-width: 600px;

    color: rgba(255, 255, 255, 0.68);

    font-size: 14px;

    line-height: 1.6;

    font-weight: 500;
}


/* Decorative Background Elements */

.hero-bg-glow-left {
    position: absolute;
    left: -10%;
    top: -50%;
    width: 60%;
    height: 200%;
    border-radius: 50%;
    background: radial-gradient(circle at center, rgba(104, 254, 195, 0.08) 0%, transparent 60%);
    z-index: 1;
    pointer-events: none;
    animation: pulseGlow 8s ease-in-out infinite alternate;
}

.hero-bg-glow-right {
    position: absolute;
    right: -15%;
    bottom: -50%;
    width: 70%;
    height: 200%;
    border-radius: 50%;
    background: radial-gradient(circle at center, rgba(255, 224, 136, 0.06) 0%, transparent 65%);
    z-index: 1;
    pointer-events: none;
    animation: pulseGlow 10s ease-in-out infinite alternate-reverse;
}

@keyframes pulseGlow {
    0% { opacity: 0.5; transform: scale(0.9); }
    100% { opacity: 1; transform: scale(1.1); }
}

.hero-bg-waves {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
    pointer-events: none;
}

.hero-bg-waves svg {
    position: absolute;
    width: 110%;
    height: 110%;
    left: -5%;
    top: -5%;
    transform-origin: center center;
}

.hero-bg-waves .wave {
    fill: none;
    animation: waveAnim 15s ease-in-out infinite alternate;
}

.hero-bg-waves .wave1 {
    stroke: rgba(255, 224, 136, 0.5);
    stroke-width: 2px;
    filter: drop-shadow(0 0 10px rgba(255, 224, 136, 0.8));
    animation-duration: 14s;
}

.hero-bg-waves .wave2 {
    stroke: rgba(104, 254, 195, 0.25);
    stroke-width: 4px;
    filter: drop-shadow(0 0 12px rgba(104, 254, 195, 0.6));
    animation-duration: 18s;
}

.hero-bg-waves .wave3 {
    stroke: rgba(255, 224, 136, 0.15);
    stroke-width: 1px;
    filter: drop-shadow(0 0 6px rgba(255, 224, 136, 0.5));
    animation-duration: 22s;
}

@keyframes waveAnim {
    0% { transform: scale(1) translate(0, 0) rotate(0deg); opacity: 0.8; }
    100% { transform: scale(1.05) translate(-15px, 10px) rotate(1deg); opacity: 1; }
}

.hero-bg-dots {
    position: absolute;
    right: 25%;
    top: 40%;
    width: 70px;
    height: 40px;
    background-image: radial-gradient(rgba(255, 224, 136, 0.25) 1.5px, transparent 1.5px);
    background-size: 14px 14px;
    pointer-events: none;
    z-index: 1;
}

.hero-bg-gradcap {
    position: absolute;
    right: 2%;
    top: 50%;
    transform: translateY(-40%) rotate(-10deg);
    width: 400px;
    opacity: 0.04;
    z-index: 1;
    pointer-events: none;
    filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.5));
}



/* =========================================================
   CONTENT LAYOUT
   ========================================================= */

.classes-content {
    width: 100%;

    max-width: 1320px;

    margin: 0 auto;

    padding: 30px 24px 70px;

    display: grid;

    grid-template-columns: 290px minmax(0, 1fr);

    gap: 30px;

    align-items: start;
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.classes-sidebar {
    display: flex;

    flex-direction: column;

    gap: 14px;
}


/* Sidebar search */

.sidebar-search {
    position: relative;

    width: 100%;
}


.sidebar-search input {
    width: 100%;

    height: 46px;

    padding: 0 42px 0 16px;

    border: 1px solid rgba(6, 78, 42, 0.10);

    border-radius: 12px;

    outline: none;

    background: #fff;

    color: var(--primary);

    font-size: 13px;

    box-shadow:
        0 5px 18px rgba(6, 78, 42, 0.04);

    transition: all 0.3s ease;
}


.sidebar-search input::placeholder {
    color: var(--on-surface-variant);
}


.sidebar-search input:hover {
    border-color: rgba(6, 78, 42, 0.18);
}


.sidebar-search input:focus {
    border-color: var(--primary);

    box-shadow:
        0 0 0 3px rgba(6, 78, 42, 0.07),
        0 8px 20px rgba(6, 78, 42, 0.06);
}


.sidebar-search .material-symbols-outlined {
    position: absolute;

    right: 14px;
    top: 50%;

    transform: translateY(-50%);

    color: var(--primary);

    font-size: 20px;

    pointer-events: none;

    transition: transform 0.25s ease;
}


.sidebar-search:focus-within .material-symbols-outlined {
    transform:
        translateY(-50%)
        scale(1.08);

    color: var(--secondary-container);
}


/* =========================================================
   SIDEBAR CARDS
   ========================================================= */

.sidebar-card {
    background: #fff;

    border: 1px solid rgba(6, 78, 42, 0.08);

    border-radius: 16px;

    padding: 18px;

    box-shadow:
        0 5px 20px rgba(6, 78, 42, 0.04);

    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}


.sidebar-card:hover {
    border-color: rgba(6, 78, 42, 0.13);

    box-shadow:
        0 10px 28px rgba(6, 78, 42, 0.07);
}


/* Filter header */

.filter-header {
    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 18px;

    padding-bottom: 13px;

    border-bottom: 1px solid rgba(6, 78, 42, 0.08);
}


.filter-header h3 {
    font-size: 12px;

    font-weight: 800;

    margin: 0;

    display: flex;

    align-items: center;

    gap: 7px;

    color: var(--primary);

    letter-spacing: 0.4px;
}


.filter-header h3 .material-symbols-outlined {
    color: var(--primary);

    font-size: 17px;
}


.reset-btn {
    font-size: 11px;

    font-weight: 700;

    color: var(--on-surface-variant);

    background: none;

    border: none;

    display: flex;

    align-items: center;

    gap: 4px;

    cursor: pointer;

    padding: 0;

    transition: all 0.25s ease;
}


.reset-btn:hover {
    color: var(--primary);

    transform: translateX(2px);
}


/* =========================================================
   FILTER GROUPS
   ========================================================= */

.filter-group {
    margin-bottom: 17px;
}


.filter-group:last-child {
    margin-bottom: 0;
}


.filter-group-title {
    font-size: 12px;

    font-weight: 700;

    margin-bottom: 8px;

    display: flex;

    align-items: center;

    gap: 6px;

    color: var(--primary);
}


.filter-group-title .material-symbols-outlined {
    font-size: 17px;

    color: var(--primary);
}


.filter-group-title .campus-icon {
    color: #b45309;
}


.filter-group-title .batch-icon {
    color: #15803d;
}


/* =========================================================
   MODE TOGGLE
   ========================================================= */

.toggle-group {
    display: flex;

    background: rgba(6, 78, 42, 0.055);

    border-radius: 10px;

    padding: 3px;

    gap: 3px;
}


.toggle-btn {
    flex: 1;

    padding: 7px 3px;

    font-size: 10.5px;

    font-weight: 700;

    color: var(--on-surface-variant);

    background: transparent;

    border: none;

    border-radius: 8px;

    cursor: pointer;

    transition: all 0.25s ease;
}


.toggle-btn:hover {
    color: var(--primary);
}


.toggle-btn.active {
    background: #fff;

    color: var(--primary);

    box-shadow:
        0 2px 7px rgba(6, 78, 42, 0.10);
}


/* =========================================================
   CUSTOM DROPDOWNS
   ========================================================= */

.custom-dropdown {
    position: relative;
    width: 100%;
}

.custom-dropdown-btn {
    width: 100%;
    min-height: 42px;

    padding: 10px 34px 10px 13px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    position: relative;

    border: 1px solid rgba(6, 78, 42, 0.10);
    border-radius: 10px;

    background: #fff;
    color: var(--primary);

    font-size: 12px;
    font-weight: 600;

    text-align: left;

    cursor: pointer;
    outline: none;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.custom-dropdown-btn:hover {
    border-color: rgba(6, 78, 42, 0.20);
}

.custom-dropdown.open .custom-dropdown-btn {
    border-color: var(--primary);

    box-shadow:
        0 0 0 3px rgba(6, 78, 42, 0.06);
}

.custom-dropdown-value {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.custom-dropdown-arrow {
    position: absolute;

    right: 10px;
    top: 50%;

    transform: translateY(-50%);

    font-size: 18px;

    color: var(--primary);

    pointer-events: none;

    transition: transform 0.25s ease;
}

.custom-dropdown.open .custom-dropdown-arrow {
    transform: translateY(-50%) rotate(180deg);
}

.custom-dropdown-menu {
    position: absolute;

    left: 0;
    right: 0;
    top: calc(100% + 6px);

    z-index: 1000;

    max-height: 230px;

    overflow-y: auto;

    padding: 5px;

    background: #fff;

    border: 1px solid rgba(6, 78, 42, 0.10);

    border-radius: 11px;

    box-shadow:
        0 14px 30px rgba(6, 78, 42, 0.13);

    opacity: 0;
    visibility: hidden;

    transform: translateY(-6px);

    pointer-events: none;

    transition:
        opacity 0.20s ease,
        transform 0.20s ease,
        visibility 0.20s ease;
}

.custom-dropdown.open .custom-dropdown-menu {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);

    pointer-events: auto;

    animation: customDropdownOpen 0.20s ease;
}

.custom-dropdown-option {
    width: 100%;

    display: block;

    padding: 9px 11px;

    border: none;
    border-radius: 7px;

    background: transparent;
    color: var(--primary);

    font-size: 11.5px;
    font-weight: 600;

    text-align: left;

    cursor: pointer;

    transition:
        background 0.20s ease,
        color 0.20s ease,
        padding-left 0.20s ease;
}

.custom-dropdown-option:hover {
    background: rgba(104, 254, 195, 0.13);

    color: var(--primary);

    padding-left: 15px;
}

.custom-dropdown-option.active {
    background: var(--primary);

    color: #fff;
}

.custom-dropdown-option.active:hover {
    background: var(--primary-container);

    color: #fff;
}

.custom-dropdown-menu::-webkit-scrollbar {
    width: 5px;
}

.custom-dropdown-menu::-webkit-scrollbar-track {
    background: transparent;
}

.custom-dropdown-menu::-webkit-scrollbar-thumb {
    background: rgba(6, 78, 42, 0.20);

    border-radius: 10px;
}

@keyframes customDropdownOpen {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* =========================================================
   TREE VIEW
   ========================================================= */

.tree-view-card {
    background: #fff;

    border: 1px solid rgba(6, 78, 42, 0.08);

    border-radius: 14px;

    padding: 5px;

    box-shadow:
        0 5px 20px rgba(6, 78, 42, 0.04);
}


.tree-view-btn {
    width: 100%;

    background: transparent;

    border: none;

    border-radius: 10px;

    padding: 11px 12px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    font-size: 12px;

    font-weight: 700;

    color: var(--primary);

    cursor: pointer;

    outline: none;

    transition: all 0.25s ease;
}


.tree-view-btn:hover {
    background: rgba(6, 78, 42, 0.045);
}


.tree-view-btn-left {
    display: flex;

    align-items: center;

    gap: 7px;
}


.tree-view-btn-left .material-symbols-outlined {
    font-size: 17px;

    color: var(--primary);
}


.tree-view-arrow {
    transition: transform 0.3s ease;
}


.tree-view-btn.open .tree-view-arrow {
    transform: rotate(180deg);
}


.tree-view-body {
    display: none;

    margin: 2px 7px 8px;

    padding: 10px 10px;

    border-top: 1px solid rgba(6, 78, 42, 0.07);
}


.tree-view-body.open {
    display: block;

    animation: treeReveal 0.3s ease;
}


.tree-view-helper {
    font-size: 10.5px;

    color: var(--on-surface-variant);

    margin-bottom: 8px;
}


.tree-nodes {
    list-style: none;

    padding-left: 0;

    margin: 0;

    display: flex;

    flex-direction: column;

    gap: 4px;

    font-size: 11.5px;

    color: var(--on-surface-variant);
}


.tree-nodes li {
    display: flex;

    align-items: center;

    gap: 6px;

    cursor: pointer;

    padding: 6px;

    border-radius: 7px;

    transition: all 0.2s ease;
}


.tree-nodes li:hover {
    background: rgba(6, 78, 42, 0.05);

    color: var(--primary);

    transform: translateX(3px);
}


.tree-nodes li .material-symbols-outlined {
    font-size: 15px;

    color: var(--secondary-container);
}


/* =========================================================
   ACADEMIC PORTALS
   ========================================================= */

.portal-header {
    font-size: 11px;

    font-weight: 800;

    color: var(--primary);

    margin-bottom: 12px;

    display: flex;

    align-items: center;

    gap: 6px;

    letter-spacing: 0.7px;
}


.portal-nav {
    display: flex;

    flex-direction: column;

    gap: 4px;
}


.portal-item {
    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 9px 10px;

    border-radius: 10px;

    text-decoration: none;

    color: var(--primary);

    background: transparent;

    border: 1px solid transparent;

    transition: all 0.25s ease;

    cursor: pointer;
}


.portal-item:hover {
    background: rgba(6, 78, 42, 0.045);

    border-color: rgba(6, 78, 42, 0.06);

    transform: translateX(3px);
}


.portal-item-content {
    display: flex;

    align-items: center;

    gap: 10px;
}


.portal-icon {
    width: 34px;
    height: 34px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 9px;

    transition: all 0.3s ease;
}


.portal-item:hover .portal-icon {
    transform: scale(1.07);
}


.portal-icon.blue {
    background: rgba(104, 254, 195, 0.16);
    color: var(--primary);
}

.portal-icon.cyan {
    background: rgba(104, 254, 195, 0.12);
    color: var(--primary-container);
}

.portal-icon.green {
    background: rgba(22, 163, 74, 0.10);
    color: #15803d;
}

.portal-icon.yellow {
    background: rgba(255, 224, 136, 0.22);
    color: #9a6700;
}

.portal-icon.pink {
    background: rgba(219, 39, 119, 0.08);
    color: #be185d;
}


.portal-item-title {
    font-size: 12px;

    font-weight: 700;

    color: var(--primary);

    line-height: 1.2;
}


.portal-item-desc {
    font-size: 10px;

    color: var(--on-surface-variant);

    margin-top: 3px;
}


.portal-item-arrow {
    color: rgba(6, 78, 42, 0.35);

    font-size: 17px;

    transition: all 0.25s ease;
}


.portal-item:hover .portal-item-arrow {
    color: var(--primary);

    transform: translateX(3px);
}


/* Portal submenu */

.portal-submenu {
    display: none !important;

    flex-direction: column;

    gap: 5px;

    padding: 3px 10px 8px 45px;
}


.portal-submenu.open {
    display: flex !important;

    animation: treeReveal 0.3s ease;
}


.portal-trigger.active .portal-item-arrow {
    transform: rotate(180deg);
}


.portal-submenu a {
    font-size: 11px;

    color: var(--on-surface-variant);

    text-decoration: none;

    display: flex;

    align-items: center;

    justify-content: space-between;

    font-weight: 600;

    padding: 4px 0;

    transition: color 0.2s ease;
}


.portal-submenu a:hover {
    color: var(--primary);
}


/* =========================================================
   MAIN CONTENT
   ========================================================= */

.classes-main {
    min-width: 0;

    display: flex;

    flex-direction: column;
}


/* Toolbar */

.classes-toolbar {
    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 18px;

    flex-wrap: wrap;
}


.classes-title h2 {
    margin: 0;

    color: var(--primary);

    font-family: var(--font-display);

    font-size: 29px;

    font-weight: 700;

    letter-spacing: -0.5px;
}


.classes-title p {
    margin: 5px 0 0;

    color: var(--on-surface-variant);

    font-size: 12px;
}


.classes-title p strong {
    color: var(--primary-container);

    font-weight: 800;
}


/* =========================================================
   TOP FILTERS
   ========================================================= */

.classes-actions {
    display: flex;

    align-items: center;

    gap: 10px;
}


.classes-filters {
    display: flex;

    align-items: center;

    gap: 6px;
}


.class-filter {
    height: 35px;

    padding: 0 13px;

    border: 1px solid rgba(6, 78, 42, 0.10);

    border-radius: 20px;

    background: #fff;

    color: var(--on-surface-variant);

    font-size: 11px;

    font-weight: 700;

    cursor: pointer;

    display: flex;

    align-items: center;

    gap: 5px;

    white-space: nowrap;

    box-shadow:
        0 3px 10px rgba(6, 78, 42, 0.025);

    transition: all 0.25s ease;
}


.class-filter .material-symbols-outlined {
    font-size: 14px;
}


.class-filter:hover {
    color: var(--primary);

    border-color: rgba(6, 78, 42, 0.22);

    transform: translateY(-2px);

    box-shadow:
        0 7px 16px rgba(6, 78, 42, 0.07);
}


.class-filter.active {
    background: var(--primary);

    color: #fff;

    border-color: var(--primary);

    box-shadow:
        0 7px 16px rgba(6, 78, 42, 0.18);
}


.class-filter.active:hover {
    background: var(--primary-container);

    border-color: var(--primary-container);

    color: #fff;
}


/* Sort */

.class-sort {
    height: 35px;

    padding: 0 28px 0 10px;

    border: 1px solid transparent;

    outline: none;

    border-radius: 18px;

    background: transparent;

    color: var(--primary);

    font-size: 11px;

    font-weight: 700;

    cursor: pointer;

    appearance: none;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2300241a'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z'/%3E%3C/svg%3E");

    background-repeat: no-repeat;

    background-position: right 6px center;

    background-size: 16px;

    transition: all 0.25s ease;
}


.class-sort:hover,
.class-sort:focus {
    border-color: rgba(6, 78, 42, 0.10);

    background-color: #fff;
}


/* =========================================================
   ACTIVE FILTER BAR
   ========================================================= */

.active-filter-bar {
    background: #fff;

    border: 1px solid rgba(6, 78, 42, 0.08);

    border-radius: 11px;

    padding: 9px 14px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 18px;

    box-shadow:
        0 3px 12px rgba(6, 78, 42, 0.025);

    animation: filterBarIn 0.3s ease;
}


.active-filter-bar.hidden {
    display: none;
}


.active-filter-tags {
    display: flex;

    align-items: center;

    gap: 10px;

    font-size: 11px;

    color: var(--on-surface-variant);
}


.active-filter-title {
    display: flex;

    align-items: center;

    gap: 4px;

    font-weight: 700;

    color: var(--primary);
}


.active-filter-title .material-symbols-outlined {
    font-size: 15px;

    color: var(--secondary-container);
}


.filter-tag {
    background: rgba(255, 224, 136, 0.15);

    border: 1px solid rgba(212, 167, 44, 0.40);

    color: var(--primary);

    border-radius: 6px;

    padding: 4px 8px;

    font-size: 10.5px;

    font-weight: 700;

    display: inline-flex;

    align-items: center;

    gap: 6px;
}


.filter-tag .remove-icon {
    font-size: 13px;

    cursor: pointer;

    color: rgba(6, 78, 42, 0.45);

    transition: color 0.2s ease;
}


.filter-tag .remove-icon:hover {
    color: #b91c1c;
}


.clear-all-btn {
    background: none;

    border: none;

    color: var(--primary);

    font-size: 10.5px;

    font-weight: 700;

    display: flex;

    align-items: center;

    gap: 4px;

    cursor: pointer;

    transition: color 0.2s ease;
}


.clear-all-btn:hover {
    color: #b91c1c;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.classes-empty {
    position: relative;

    flex: 1;

    min-height: 380px;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 50% 10%,
            rgba(104, 254, 195, 0.07),
            transparent 35%
        ),
        #fff;

    border: 1px solid rgba(6, 78, 42, 0.07);

    border-radius: 18px;

    box-shadow:
        0 7px 25px rgba(6, 78, 42, 0.04);
}


/* Empty decorative glow */

.classes-empty::before {
    content: "";

    position: absolute;

    width: 220px;
    height: 220px;

    left: -120px;
    top: -120px;

    border-radius: 50%;

    background: rgba(104, 254, 195, 0.08);

    filter: blur(15px);
}


.classes-empty::after {
    content: "";

    position: absolute;

    width: 200px;
    height: 200px;

    right: -110px;
    bottom: -120px;

    border-radius: 50%;

    background: rgba(255, 224, 136, 0.10);

    filter: blur(15px);
}


.classes-empty-content {
    position: relative;

    z-index: 2;

    max-width: 420px;

    padding: 40px 20px;
}


/* Empty icon */

.classes-empty-icon {
    width: 76px;
    height: 76px;

    margin: 0 auto 20px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(104, 254, 195, 0.14),
            rgba(255, 224, 136, 0.16)
        );

    border: 1px solid rgba(6, 78, 42, 0.09);

    color: var(--primary);

    font-size: 38px;

    box-shadow:
        0 10px 25px rgba(6, 78, 42, 0.07);

    animation: emptyIconFloat 3s ease-in-out infinite;
}


.classes-empty h3 {
    margin: 0 0 10px;

    color: var(--primary);

    font-size: 22px;

    font-weight: 800;
}


.classes-empty p {
    margin: 0 0 24px;

    color: var(--on-surface-variant);

    font-size: 14px;

    line-height: 1.65;
}


.classes-empty-btn {
    padding: 12px 28px;

    font-size: 13px;

    font-weight: 700;

    color: #fff;

    background: var(--primary);

    border: 1px solid var(--primary);

    border-radius: 10px;

    cursor: pointer;

    transition: all 0.25s ease;
}


.classes-empty-btn:hover {
    background: var(--primary-container);

    border-color: var(--primary-container);

    color: #fff;

    transform: translateY(-2px);

    box-shadow:
        0 8px 18px rgba(6, 78, 42, 0.15);
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes classesHeroGlow {

    0% {
        transform: translate(0, 0) scale(1);
        opacity: 0.7;
    }

    100% {
        transform: translate(-25px, 18px) scale(1.12);
        opacity: 1;
    }
}


@keyframes classesHeroGoldGlow {

    0% {
        transform: translateX(-20px);
        opacity: 0.4;
    }

    100% {
        transform: translateX(35px);
        opacity: 0.8;
    }
}


@keyframes classesTitleLine {

    0% {
        width: 0;
        opacity: 0;
    }

    100% {
        width: 100%;
        opacity: 1;
    }
}


@keyframes emptyIconFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}


@keyframes filterBarIn {

    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


@keyframes treeReveal {

    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .classes-content {
        grid-template-columns: 1fr;

        gap: 20px;
    }

    .classes-sidebar {
        display: none;
    }

    .classes-toolbar {
        align-items: flex-start;
    }

    .classes-actions {
        width: 100%;

        justify-content: space-between;

        overflow-x: auto;

        padding-bottom: 3px;
    }

    .classes-filters {
        flex-shrink: 0;
    }

    .class-sort {
        flex-shrink: 0;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 576px) {

    .custom-dropdown-menu {
        max-height: 210px;
    }

    .classes-hero {
        min-height: 180px;

        border-radius: 0 0 24px 24px;
    }

    .classes-hero-inner {
        padding: 27px 18px 31px;
    }

    .classes-breadcrumb {
        font-size: 11px;

        margin-bottom: 10px;
    }

    .classes-breadcrumb-arrow {
        font-size: 17px;
    }

    .classes-hero h1 {
        font-size: 30px;
    }

    .classes-hero p {
        max-width: 95%;

        font-size: 12px;
    }

    .classes-content {
        padding: 20px 16px 45px;

        gap: 16px;
    }

    .classes-toolbar {
        gap: 15px;

        margin-bottom: 15px;
    }

    .classes-title h2 {
        font-size: 25px;
    }

    .classes-title p {
        font-size: 11.5px;
    }

    .classes-actions {
        gap: 8px;
        width: 100%;
        flex-wrap: nowrap;
    }

    .classes-filters {
        gap: 5px;
        overflow-x: auto;
        scrollbar-width: none;
        flex-wrap: nowrap;
        flex: 1;
    }

    .classes-filters::-webkit-scrollbar {
        display: none;
    }

    .class-filter {
        height: 34px;
        padding: 0 11px;
        font-size: 10px;
        flex-shrink: 0;
        white-space: nowrap;
    }

    .class-sort {
        height: 34px;
        min-width: 105px;
        font-size: 10px;
        flex-shrink: 0;
    }

    .active-filter-bar {
        padding: 8px 10px;
    }

    .active-filter-tags {
        gap: 6px;
    }

    .active-filter-title {
        display: none;
    }

    .filter-tag {
        font-size: 10px;
    }

    .clear-all-btn {
        font-size: 10px;
    }

    .classes-empty {
        min-height: 300px;

        border-radius: 16px;
    }

    .classes-empty-content {
        padding: 35px 18px;
    }

    .classes-empty-icon {
        width: 60px;
        height: 60px;
        font-size: 29px;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .classes-empty h3 {
        font-size: 18px;
    }

    .classes-empty p {
        font-size: 11.5px;
    }
}


/* Extracted from contact-us.php */

        .contact-page {
            background: var(--surface-bright);
            color: var(--primary);
            overflow: hidden;
        }

        .contact-container {
            width: min(1160px, calc(100% - 40px));
            margin: 0 auto;
        }

        /* =========================
           HERO
        ========================= */
        .contact-hero {
            position: relative;
            padding: 72px 0 45px;
            background:
                radial-gradient(circle at 90% 10%, rgba(104,254,195,.14), transparent 28%),
                radial-gradient(circle at 8% 85%, rgba(255,224,136,.14), transparent 25%),
                var(--surface-bright);
            border-bottom: 1px solid var(--surface-container-high);
        }

        .contact-hero-inner {
            max-width: 760px;
        }

        .contact-label {
                    display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 12px;
            padding: 4px 12px;
            border-radius: 20px;
            background: 
        color-mix(in srgb, var(--primary-fixed) 15%, transparent);
            color: var(--primary);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: .5px;
            text-transform: uppercase;
        }

        .contact-label .material-symbols-outlined {
                font-size: 13px;
          color: var(--secondary-container);
        }

        .contact-hero h1 {
            margin: 0 0 13px;
            color: var(--primary);
            font-size: clamp(30px, 3.2vw, 42px);
            line-height: 1.18;
            font-weight: 700;
            letter-spacing: -0.4px;
            font-family: 'Playfair Display', serif;
        }

        .contact-hero h1 span {
            color: #FFB703 !important;
        }

        .contact-hero p {
            max-width: 650px;
            margin: 0;
            color: var(--on-surface-variant);
            font-size: 15px;
            line-height: 1.6;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        /* =========================
           MAIN CONTACT AREA
        ========================= */
        .contact-section {
            padding: 42px 0 65px;
            background: #f8faf9;
        }

        .contact-card {
            display: grid;
            grid-template-columns: .85fr 1.15fr;
            border: 1px solid var(--surface-container-high);
            border-radius: 24px;
            background: #fff;
            overflow: hidden;
            box-shadow: 0 18px 45px rgba(6,78,42,.07);
        }

        /* Left panel */
        .contact-info {
            position: relative;
            padding: 34px 30px;
            background: var(--primary);
            color: #fff;
            overflow: hidden;
        }

        .contact-info::before {
            content: "";
            position: absolute;
            width: 260px;
            height: 260px;
            border-radius: 50%;
            background: var(--primary-container);
            right: -120px;
            top: -100px;
            opacity: .7;
        }

        .contact-info::after {
            content: "";
            position: absolute;
            width: 180px;
            height: 180px;
            border-radius: 50%;
            border: 1px solid rgba(255,224,136,.25);
            left: -90px;
            bottom: -90px;
        }

        .contact-info-content {
            position: relative;
            z-index: 1;
        }

        .info-kicker {
            color: var(--secondary-fixed);
            font-size: 13px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 9px;
        }

        .contact-info h2 {
            margin: 0 0 11px;
            color: #fff;
            font-size: 34px;
            line-height: 1.1;
            font-weight: 800;
            font-family: 'Playfair Display', serif;
        }

        .contact-info > .contact-info-content > p {
            max-width: 350px;
            margin: 0 0 27px;
            color: rgba(255,255,255,.72);
            font-size: 14px;
            line-height: 1.65;
        }

        .info-list {
            display: grid;
            gap: 17px;
        }

        .info-item {
            display: flex;
            align-items: flex-start;
            gap: 12px;
        }

        .info-icon {
            width: 37px;
            height: 37px;
            flex: 0 0 37px;
            display: grid;
            place-items: center;
            border-radius: 11px;
            background: rgba(255,255,255,.09);
            border: 1px solid rgba(255,255,255,.12);
            color: var(--secondary-fixed);
        }

        .info-icon .material-symbols-outlined {
            font-size: 18px;
        }

        .info-item strong {
            display: block;
            margin-bottom: 3px;
            color: #fff;
            font-size: 14px;
        }

        .info-item span,
        .info-item a {
            display: block;
            color: rgba(255,255,255,.68);
            font-size: 13px;
            line-height: 1.55;
            text-decoration: none;
        }

        .info-item a:hover {
            color: var(--secondary-fixed);
        }

        .academy-note {
            display: flex;
            align-items: center;
            gap: 9px;
            margin-top: 28px;
            padding-top: 18px;
            border-top: 1px solid rgba(255,255,255,.12);
            color: rgba(255,255,255,.66);
            font-size: 13px;
        }

        .academy-note .material-symbols-outlined {
            color: var(--secondary-fixed);
            font-size: 20px;
        }

        /* Right form */
        .contact-form-area {
            padding: 34px 36px;
            background: #fff;
        }

        .form-heading {
            margin-bottom: 20px;
        }

        .form-heading h2 {
            margin: 0 0 5px;
            font-size: 28px;
            font-weight: 800;
            font-family: 'Playfair Display', serif;
        }

        .form-heading p {
            margin: 0;
            color: var(--on-surface-variant);
            font-size: 14px;
            line-height: 1.55;
        }

        .contact-form {
            display: grid;
            gap: 12px;
        }

        .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
        }

        .field-group {
            position: relative;
        }

        .field-group label {
            display: block;
            margin: 0 0 5px 2px;
            color: var(--primary);
            font-size: 13px;
            font-weight: 700;
        }

        .field-group input,
        .field-group select,
        .field-group textarea {
            width: 100%;
            border: 1px solid var(--surface-container-high);
            border-radius: 10px;
            outline: none;
            background: #fbfcfb;
            color: var(--primary);
            padding: 13px 14px;
            font-family: inherit;
            font-size: 14px;
            transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
        }

        .field-group input,
        .field-group select {
            height: 48px;
        }

        .field-group textarea {
            min-height: 115px;
            resize: vertical;
        }

        .field-group input:focus,
        .field-group select:focus,
        .field-group textarea:focus {
            border-color: var(--primary-container);
            background: #fff;
            box-shadow: 0 0 0 3px rgba(0,77,58,.07);
        }

        .field-group input::placeholder,
        .field-group textarea::placeholder {
            color: #98a39e;
        }

        .form-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 15px;
            margin-top: 2px;
        }

        .form-note {
            display: flex;
            align-items: center;
            gap: 5px;
            color: var(--on-surface-variant);
            font-size: 13px;
        }

        .form-note .material-symbols-outlined {
            font-size: 18px;
            color: var(--primary-container);
        }

        .contact-submit {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            border: 0;
            border-radius: 999px;
            padding: 10px 12px 10px 20px;
            background: var(--primary);
            color: #fff;
            font-size: 14px;
            font-weight: 800;
            cursor: pointer;
            transition: transform .25s ease, box-shadow .25s ease;
        }

        .contact-submit span {
            width: 29px;
            height: 29px;
            display: grid;
            place-items: center;
            border-radius: 50%;
            background: var(--secondary-container);
            color: var(--primary);
        }

        .contact-submit:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 22px rgba(6,78,42,.16);
        }

        /* =========================
           QUICK CONTACT STRIP
        ========================= */
        .contact-benefits {
            padding: 0 0 62px;
            background: #f8faf9;
        }

        .contact-benefits-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 14px;
        }

        .benefit-card {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 17px;
            border: 1px solid var(--surface-container-high);
            border-radius: 15px;
            background: #fff;
            transition: transform .25s ease, box-shadow .25s ease;
        }

        .benefit-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 25px rgba(6,78,42,.06);
        }

        .benefit-icon {
            width: 39px;
            height: 39px;
            flex: 0 0 39px;
            display: grid;
            place-items: center;
            border-radius: 11px;
            background: color-mix(in srgb, var(--primary-fixed) 25%, white);
            color: var(--primary);
        }

        .benefit-card:nth-child(2) .benefit-icon {
            background: color-mix(in srgb, var(--secondary-fixed) 25%, white);
        }

        .benefit-card:nth-child(3) .benefit-icon {
            background: color-mix(in srgb, var(--primary-container) 12%, white);
        }

        .benefit-card strong {
            display: block;
            margin-bottom: 2px;
            font-size: 11px;
        }

        .benefit-card span {
            color: var(--on-surface-variant);
            font-size: 9px;
            line-height: 1.4;
        }

        /* =========================
           MAP / VISIT SECTION
        ========================= */
        .visit-section {
            padding: 0 0 70px;
            background: #f8faf9;
        }

        .visit-card {
            display: grid;
            grid-template-columns: 1fr .85fr;
            min-height: 210px;
            border-radius: 20px;
            overflow: hidden;
            background: var(--primary);
        }

        .visit-copy {
            padding: 28px 30px;
            color: #fff;
        }

        .visit-copy .info-kicker {
            margin-bottom: 7px;
        }

        .visit-copy h2 {
            margin: 0 0 8px;
            color: #fff;
            font-size: 25px;
            font-weight: 800;
            font-family: 'Playfair Display', serif;
        }

        .visit-copy p {
            max-width: 500px;
            margin: 0 0 15px;
            color: rgba(255,255,255,.7);
            font-size: 10px;
            line-height: 1.6;
        }

        .visit-address {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            color: rgba(255,255,255,.84);
            font-size: 9.5px;
        }

        .visit-address .material-symbols-outlined {
            color: var(--secondary-fixed);
            font-size: 18px;
        }

        .map-visual {
            position: relative;
            min-height: 210px;
            background:
                linear-gradient(135deg, rgba(104,254,195,.08), rgba(255,224,136,.08)),
                repeating-linear-gradient(25deg, transparent 0 28px, rgba(255,255,255,.06) 29px 30px),
                var(--primary-container);
        }

        .map-road {
            position: absolute;
            width: 120%;
            height: 38px;
            left: -10%;
            top: 42%;
            border-top: 2px solid rgba(255,255,255,.13);
            border-bottom: 2px solid rgba(255,255,255,.13);
            transform: rotate(-12deg);
        }

        .map-road.second {
            top: 58%;
            transform: rotate(22deg);
        }

        .map-pin {
            position: absolute;
            left: 52%;
            top: 50%;
            width: 48px;
            height: 48px;
            display: grid;
            place-items: center;
            transform: translate(-50%, -50%);
            border-radius: 50%;
            background: var(--secondary-container);
            color: var(--primary);
            box-shadow: 0 0 0 10px rgba(212,167,44,.12), 0 15px 35px rgba(0,0,0,.18);
        }

        /* =========================
           RESPONSIVE
        ========================= */
        @media (max-width: 900px) {
            .contact-card {
                grid-template-columns: 1fr;
            }

            .contact-info {
                padding: 28px;
            }

            .contact-info::before {
                right: -80px;
            }

            .contact-benefits-grid {
                grid-template-columns: 1fr;
            }

            .visit-card {
                grid-template-columns: 1fr;
            }

            .map-visual {
                min-height: 170px;
            }
        }

        @media (max-width: 650px) {
            .contact-container {
                width: min(100% - 28px, 620px);
            }

            .contact-hero {
                padding: 60px 0 34px;
            }

            .contact-hero h1 {
                font-size: 38px;
                letter-spacing: -1.3px;
            }

            .contact-section {
                padding-top: 28px;
            }

            .contact-form-area {
                padding: 25px 20px;
            }

            .form-row {
                grid-template-columns: 1fr;
            }

            .form-footer {
                align-items: flex-start;
                flex-direction: column;
            }

            .contact-submit {
                width: 100%;
                justify-content: center;
            }

            .contact-info h2 {
                font-size: 27px;
            }
        }
    
/* Extracted from courses.php */
@layer base{html,body{margin:0;padding:0;}body{overscroll-behavior:none;}main>:first-child{margin-top:0!important;}main>:last-child{margin-bottom:0!important;}}::-webkit-scrollbar{display:none;}
/* Extracted from help-desk(24-09-26).php */

        .helpdesk-page {
            background: var(--surface-bright);
            color: var(--primary);
            overflow-x: hidden;
        }

        .helpdesk-container {
            width: min(1200px, calc(100% - 40px));
            margin: 0 auto;
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: 'Playfair Display', serif;
        }

        /* =========================
           1. HERO SECTION
        ========================= */
        .helpdesk-hero {
            position: relative;
            padding: 72px 24px 45px;
            background: var(--surface-bright);
            border-bottom: 1px solid var(--surface-container-high);
        }

        .helpdesk-hero-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(430px, 1fr);
            align-items: center;
            gap: 40px;
        }

        .helpdesk-hero-content {
            position: relative;
            z-index: 2;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }

        .helpdesk-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 12px;
            padding: 4px 12px;
            border-radius: 20px;
            background: color-mix(in srgb, var(--primary-fixed) 15%, transparent);
            color: var(--primary);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: .5px;
            text-transform: uppercase;
        }

        .helpdesk-eyebrow .material-symbols-outlined {
            font-size: 13px;
            color: var(--secondary-container);
        }

        .helpdesk-hero h1 {
            margin: 0;
            color: var(--primary);
            font-size: clamp(30px, 3.2vw, 42px);
            line-height: 1.18;
            font-weight: 700;
            letter-spacing: -0.4px;
        }

        .helpdesk-hero h1 span {
            color: #FFB703 !important;
            font-style: normal;
        }

        .helpdesk-hero-copy {
            margin: 12px 0 24px;
            color: var(--on-surface-variant);
            font-size: 15px;
            line-height: 1.6;
            max-width: 480px;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .hero-actions {
            display: flex;
            align-items: center;
            gap: 20px;
            flex-wrap: wrap;
            margin-top: 4px;
        }

        .helpdesk-primary-btn {
            display: inline-flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            min-height: 46px;
            padding: 4px 6px 4px 18px;
            border-radius: 30px;
            background: #0d382b;
            color: #fff;
            text-decoration: none;
            font-size: 14px;
            font-weight: 700;
            box-shadow: 0 8px 18px rgba(13, 56, 43, 0.25);
            transition: transform .25s ease, box-shadow .25s ease;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .helpdesk-primary-btn:hover {
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 12px 24px rgba(13, 56, 43, 0.35);
        }

        .helpdesk-primary-btn .btn-icon {
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: #fbd67d;
            color: #0d382b;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .helpdesk-primary-btn .btn-icon .material-symbols-outlined {
            font-size: 18px;
            font-weight: 700;
        }

        .helpdesk-secondary-btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            min-height: 46px;
            padding: 0 18px;
            border-radius: 24px;
            background: var(--surface-container-lowest);
            color: var(--primary-container);
            text-decoration: none;
            font-size: 14px;
            font-weight: 700;
            border: 1px solid color-mix(in srgb, var(--primary-container) 20%, transparent);
            box-shadow: 0 4px 12px color-mix(in srgb, var(--primary) 4%, transparent);
            transition: all .25s ease;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .helpdesk-secondary-btn:hover {
            background: var(--surface-container-high);
            transform: translateY(-2px);
            color: var(--primary);
        }
        .helpdesk-secondary-btn .material-symbols-outlined {
            font-size: 16px;
            color: var(--primary-container);
        }

        .support-status {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: 24px;
            color: var(--on-surface-variant);
            font-size: 12px;
            font-weight: 600;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .status-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #34d399;
            box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.15);
        }

        /* Hero visual (Mock Chat) */
        .hero-support-card {
            position: relative;
            margin-top: 65px;
            min-height: 300px;
            background: var(--surface-container-lowest);
            border: 1px solid var(--surface-container-high);
            border-radius: 18px;
            box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
            overflow: visible; /* Changed from hidden to allow float overflow */
            padding: 24px;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .support-card-top {
            position: relative;
            z-index: 1;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 15px;
            margin-bottom: 24px;
            padding-bottom: 16px;
            border-bottom: 1px solid var(--surface-container-high);
        }

        .support-profile {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .support-avatar {
            width: 40px;
            height: 40px;
            display: grid;
            place-items: center;
            border-radius: 10px;
            background: color-mix(in srgb, var(--primary) 10%, transparent);
            color: var(--primary);
        }
        .support-avatar .material-symbols-outlined { font-size: 20px; }

        .support-profile strong {
            display: block;
            font-size: 15px;
            font-weight: 700;
            color: var(--primary);
        }

        .support-profile span {
            display: block;
            margin-top: 2px;
            color: var(--on-surface-variant);
            font-size: 12px;
        }

        .online-pill {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 12px;
            border-radius: 20px;
            background: #e8f7f0;
            color: #0d5f42;
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .online-pill i {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: #34d399;
        }

        .support-message {
            position: relative;
            z-index: 1;
            max-width: 85%;
            padding: 12px 16px;
            border-radius: 14px 14px 14px 4px;
            background: #ffffff;
            border: 1px solid var(--surface-container-high);
            margin-bottom: 14px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.02);
        }

        .support-message small {
            display: block;
            color: var(--primary);
            font-size: 11px;
            font-weight: 800;
            margin-bottom: 4px;
        }

        .support-message p {
            margin: 0;
            color: var(--on-surface-variant);
            font-size: 13px;
            line-height: 1.55;
        }

        .support-message.user {
            margin-left: auto;
            border-radius: 14px 14px 4px 14px;
            background: #0d382b;
            border-color: #0d382b;
        }

        .support-message.user p {
            color: rgba(255,255,255,.9);
        }

        .support-message.user small {
            color: #fbd67d;
        }

        .quick-help-float {
            position: absolute;
            z-index: 3;
            right: 20px;
            bottom: -15px; /* Offset to overlap bottom */
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 10px 14px;
            border-radius: 12px;
            background: rgba(255, 255, 255, 0.96);
            backdrop-filter: blur(8px);
            border: 1px solid rgba(226, 232, 240, 0.9);
            box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
            transition: transform 0.3s ease;
        }
        
        .quick-help-float:hover {
            transform: translateY(-4px);
        }

        .quick-help-float .material-symbols-outlined {
            color: #FFB703;
            font-size: 18px;
            background: #fef5dc;
            padding: 6px;
            border-radius: 8px;
        }

        .quick-help-float strong {
            display: block;
            font-size: 13px;
            font-weight: 700;
            color: var(--primary);
        }

        .quick-help-float span {
            display: block;
            color: var(--on-surface-variant);
            font-size: 11px;
            margin-top: 2px;
        }

        /* =========================
           2. SUPPORT HUB
        ========================= */
        .support-hub {
            padding: 48px 0;
            background: #ffffff;
            border-bottom: 1px solid var(--surface-container-high);
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .hub-heading {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 25px;
            margin-bottom: 32px;
        }

        .section-label {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 4px 12px;
            background: color-mix(in srgb, var(--secondary-fixed) 10%, transparent);
            border: 1px solid color-mix(in srgb, var(--secondary-fixed) 25%, transparent);
            border-radius: 99px;
            color: var(--secondary-fixed);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 1.2px;
            text-transform: uppercase;
            margin-bottom: 14px;
        }

        .section-label .material-symbols-outlined { font-size: 14px; }

        .hub-heading h2 {
            margin: 0;
            font-size: clamp(26px, 2.8vw, 34px);
            font-weight: 800;
            color: var(--primary);
            font-family: 'Playfair Display', serif;
        }

        .hub-heading p {
            max-width: 420px;
            margin: 0;
            color: var(--on-surface-variant);
            font-size: 15px;
            line-height: 1.55;
            text-align: right;
        }

        .hub-grid.new-layout {
            display: grid;
            grid-template-columns: 1fr minmax(320px, 420px);
            gap: 40px;
            align-items: start;
        }

        /* Left Side: Contacts & FAQ */
        .support-side {
            display: flex;
            flex-direction: column;
            gap: 40px;
        }

        .quick-contacts-row {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }

        .contact-pill {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 10px 18px;
            background: #f1f5f9;
            color: var(--primary);
            border-radius: 40px;
            text-decoration: none;
            font-size: 13px;
            font-weight: 700;
            transition: all .25s ease;
        }
        .contact-pill .material-symbols-outlined {
            font-size: 18px;
            color: var(--secondary-fixed);
        }
        .contact-pill:hover {
            background: var(--primary);
            color: #fff;
            transform: translateY(-2px);
        }

        .minimal-faq-title {
            margin: 0 0 20px;
            font-size: 22px;
            font-weight: 800;
            color: var(--primary);
            font-family: 'Playfair Display', serif;
        }

        .minimal-faq .faq-list {
            display: flex;
            flex-direction: column;
            gap: 0;
            border-top: 1px solid var(--surface-container-high);
        }

        .minimal-faq .faq-item {
            border-bottom: 1px solid var(--surface-container-high);
            background: transparent;
        }

        .minimal-faq .faq-question {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding: 18px 0;
            border: 0;
            background: transparent;
            color: var(--primary);
            text-align: left;
            font-size: 15px;
            font-weight: 700;
            cursor: pointer;
            font-family: 'Plus Jakarta Sans', sans-serif;
            transition: color .2s;
        }
        .minimal-faq .faq-question:hover {
            color: var(--secondary-fixed);
        }
        .minimal-faq .faq-question .material-symbols-outlined {
            font-size: 20px;
            transition: transform .3s ease;
        }
        .minimal-faq .faq-item.active .faq-question .material-symbols-outlined {
            transform: rotate(45deg);
            color: var(--secondary-fixed);
        }
        
        .minimal-faq .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height .3s ease;
        }
        .minimal-faq .faq-answer p {
            margin: 0;
            padding: 0 0 20px 0;
            color: var(--on-surface-variant);
            font-size: 14px;
            line-height: 1.6;
        }
        .minimal-faq .faq-item.active .faq-answer {
            max-height: 150px;
        }

        /* Right Side: Chat Panel */
        .chat-panel.borderless-chat {
            background: #f8fafc;
            border: 0;
            border-radius: 24px;
            overflow: hidden;
            box-shadow: inset 0 2px 4px rgba(0,0,0,.02), 0 20px 40px rgba(0,0,0,.05);
        }

        .chat-header.inverted {
            background: var(--primary);
            color: #fff;
            border: 0;
            padding: 20px 24px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .chat-header.inverted .chat-title {
            display: flex;
            align-items: center;
            gap: 14px;
        }
        .chat-header.inverted .chat-title strong {
            display: block;
            font-size: 15px;
            font-weight: 700;
            color: #fff;
        }
        .chat-header.inverted .chat-title span {
            display: block;
            color: #a3b8b0;
            font-size: 12px;
            font-weight: 600;
            margin-top: 2px;
        }
        .chat-header.inverted .chat-icon {
            width: 44px;
            height: 44px;
            display: grid;
            place-items: center;
            border-radius: 12px;
            background: rgba(255,255,255,0.1);
            color: var(--secondary-fixed);
        }
        
        .chat-header.inverted .clear-chat {
            background: rgba(255,255,255,0.1);
            border: 0;
            color: #fff;
            border-radius: 50%;
            width: 36px;
            height: 36px;
            display: grid;
            place-items: center;
            cursor: pointer;
            transition: all .2s;
        }
        .chat-header.inverted .clear-chat:hover {
            background: rgba(255,255,255,0.2);
            color: #fff;
        }

        .borderless-chat .chat-body {
            background: transparent;
            padding: 20px 24px 10px;
            max-height: 350px;
            overflow-y: auto;
        }

        .borderless-chat .chat-bubble {
            max-width: 80%;
            padding: 14px 18px;
            background: #fff;
            border-radius: 16px 16px 16px 4px;
            margin-bottom: 16px;
            box-shadow: 0 2px 10px rgba(0,0,0,.04);
            border: 0;
        }
        .borderless-chat .chat-bubble.user {
            margin-left: auto;
            border-radius: 16px 16px 4px 16px;
            background: #0d382b;
            color: #fff;
        }
        .borderless-chat .chat-bubble .bubble-name {
            display: block;
            font-size: 11px;
            font-weight: 800;
            margin-bottom: 6px;
            color: var(--primary);
        }
        .borderless-chat .chat-bubble.user .bubble-name {
            color: #fbd67d;
        }
        .borderless-chat .chat-bubble p {
            margin: 0;
            font-size: 13.5px;
            line-height: 1.55;
            color: var(--on-surface-variant);
        }
        .borderless-chat .chat-bubble.user p {
            color: rgba(255,255,255,.9);
        }
        .borderless-chat .bubble-time {
            display: block;
            margin-top: 8px;
            color: #94a3b8;
            font-size: 10px;
            font-weight: 600;
        }

        .borderless-chat .chat-compose {
            display: flex;
            align-items: center;
            gap: 12px;
            background: #fff;
            margin: 12px 20px 20px;
            border-radius: 20px;
            border: 0;
            box-shadow: 0 4px 12px rgba(0,0,0,.04);
            padding: 12px 16px;
        }
        .borderless-chat .attach-btn {
            background: transparent;
            border: 0;
            color: #94a3b8;
            cursor: pointer;
            display: grid;
            place-items: center;
            transition: color .2s;
        }
        .borderless-chat .attach-btn:hover {
            color: var(--primary);
        }
        .borderless-chat .chat-compose input {
            flex: 1;
            min-width: 0;
            border: 0;
            outline: none;
            font-size: 14px;
            color: var(--primary);
            background: transparent;
        }
        .borderless-chat .chat-compose input::placeholder {
            color: #cbd5e1;
        }
        .borderless-chat .send-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: #0d382b;
            color: #fff;
            border: 0;
            cursor: pointer;
            transition: transform .2s, box-shadow .2s;
        }
        .borderless-chat .send-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 16px rgba(13,56,43,.2);
        }
        .borderless-chat .send-btn .btn-text {
            display: none;
        }
        .borderless-chat .send-btn .material-symbols-outlined {
            font-size: 18px;
        }

        /* =========================
           3. LOWER SUPPORT CARDS (Bento Box)
        ========================= */
        .help-options {
            padding: 64px 0;
            background: #ffffff;
            font-family: 'Plus Jakarta Sans', sans-serif;
            border-top: 1px solid var(--surface-container-high);
        }

        .help-options-bento {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
        }

        .bento-card {
            position: relative;
            border-radius: 24px;
            overflow: hidden;
            padding: 40px 32px;
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            min-height: 280px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .bento-card:hover {
            transform: translateY(-6px);
        }

        .bento-featured {
            background: var(--primary);
            color: #fff;
            box-shadow: 0 16px 32px rgba(13, 56, 43, 0.15);
        }
        .bento-featured:hover {
            box-shadow: 0 24px 48px rgba(13, 56, 43, 0.25);
        }

        .bento-light {
            background: #f8fafc;
            border: 1px solid var(--surface-container-high);
            color: var(--primary);
        }
        .bento-light:hover {
            box-shadow: 0 16px 32px rgba(0,0,0,0.06);
            border-color: #cbd5e1;
        }

        .watermark-icon {
            position: absolute;
            top: -20px;
            right: -20px;
            font-size: 180px !important;
            color: rgba(0,0,0,0.03);
            pointer-events: none;
            transform: rotate(15deg);
        }
        .bento-featured .watermark-icon {
            color: rgba(255,255,255,0.05);
        }
        
        .bento-content {
            position: relative;
            z-index: 1;
        }

        .bento-content h3 {
            margin: 0 0 12px;
            font-size: 24px;
            font-weight: 800;
            font-family: 'Playfair Display', serif;
        }
        .bento-featured .bento-content h3 {
            color: #fff;
        }

        .bento-content p {
            margin: 0 0 24px;
            font-size: 15px;
            line-height: 1.6;
            opacity: 0.8;
            max-width: 90%;
        }

        .bento-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 13px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 1px;
            text-decoration: none;
            transition: gap 0.2s;
        }
        .bento-featured .bento-link {
            color: var(--secondary-fixed);
        }
        .bento-light .bento-link {
            color: var(--primary);
        }
        .bento-link:hover {
            gap: 12px;
        }

        /* =========================
           RESPONSIVE
        ========================= */
        @media (max-width: 1024px) {
            .helpdesk-hero h1 { font-size: 38px; }
            .hub-grid { grid-template-columns: 1fr; gap: 32px; }
            .support-side { grid-template-columns: repeat(2, 1fr); gap: 20px; }
        }

        @media (max-width: 992px) {
            .helpdesk-hero { padding: 38px 24px 45px; }
            .helpdesk-hero-grid { grid-template-columns: 1fr; gap: 40px; }
            .hero-support-card { max-width: 520px; margin: 0 auto; width: 100%; }
            .helpdesk-hero-content { max-width: 100%; text-align: center; align-items: center; }
            .helpdesk-hero-copy { margin: 12px auto 24px; }
            .hero-actions { justify-content: center; }
            .hub-heading { flex-direction: column; align-items: flex-start; gap: 12px; }
            .hub-heading p { text-align: left; max-width: 100%; }
        }

        @media (max-width: 768px) {
            .hero-actions { flex-direction: column; align-items: stretch; gap: 16px; }
            .helpdesk-primary-btn, .helpdesk-secondary-btn { justify-content: center; }
            .support-side { grid-template-columns: 1fr; }
            .help-options-grid { grid-template-columns: 1fr; }
        }
        
        @media (max-width: 640px) {
            .helpdesk-hero { padding: 32px 18px 38px; }
            .helpdesk-hero h1 { font-size: 28px; white-space: normal; }
            .chat-compose { flex-wrap: wrap; }
            .chat-compose input { min-width: calc(100% - 45px); order: 2; }
            .send-btn { margin-left: auto; }
            .quick-help-float { right: auto; left: 50%; transform: translateX(-50%); bottom: -20px; width: 90%; justify-content: center; }
        }
        /* =========================
           RESPONSIVE
        ========================= */
        @media (max-width: 1024px) {
            .helpdesk-hero h1 { font-size: 38px; }
            .hub-grid.new-layout { grid-template-columns: 1fr; gap: 40px; }
            .chat-panel.borderless-chat { order: -1; }
            .help-options-bento { grid-template-columns: 1fr; }
            .bento-featured { grid-column: span 1; }
        }

        @media (max-width: 768px) {
            .helpdesk-hero { padding: 40px 20px 24px; }
            .helpdesk-hero h1 { font-size: 32px; }
            .hero-actions { flex-direction: column; align-items: stretch; }
            .hero-support-card { margin-top: 32px; min-height: 250px; }
            .quick-help-float { width: 100%; position: relative; bottom: 0; left: 0; transform: none; margin-top: 16px; }
            
            .support-hub { padding: 32px 0; }
            .hub-heading { flex-direction: column; align-items: flex-start; gap: 16px; }
            .hub-heading h2 { font-size: 24px; }
            .hub-heading p { text-align: left; }
            
            .help-options { padding: 32px 0; }
            .bento-card { padding: 24px; min-height: 220px; }
            .bento-content h3 { font-size: 20px; }
        }
    
/* Extracted from help-desk.php */

        .helpdesk-page {
            background: var(--surface-bright);
            color: var(--primary);
            overflow-x: hidden;
        }
        
        /* Removed negative margin and site-header-spacer hack for proper flow */

        .helpdesk-container {
            width: min(1200px, calc(100% - 40px));
            margin: 0 auto;
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: 'Playfair Display', serif;
        }

        /* =========================
           1. HERO SECTION
        ========================= */
        .helpdesk-hero {
            padding: 48px 24px 45px;
            background: var(--surface-bright);
            border-bottom: 1px solid var(--surface-container-high);
        }

        .helpdesk-hero-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(430px, 1fr);
            align-items: center;
            gap: 40px;
        }

        .helpdesk-hero-content {
            position: relative;
            z-index: 2;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }

        .helpdesk-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 12px;
            padding: 4px 12px;
            border-radius: 20px;
            background: color-mix(in srgb, var(--primary-fixed) 15%, transparent);
            color: var(--primary);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: .5px;
            text-transform: uppercase;
        }

        .helpdesk-eyebrow .material-symbols-outlined {
            font-size: 13px;
            color: var(--secondary-container);
        }

        .helpdesk-hero h1 {
            margin: 0;
            color: var(--primary);
            font-size: clamp(30px, 3.2vw, 42px);
            line-height: 1.18;
            font-weight: 700;
            letter-spacing: -0.4px;
        }

        .helpdesk-hero h1 span {
            color: #FFB703 !important;
            font-style: normal;
        }

        .helpdesk-hero-copy {
            margin: 12px 0 24px;
            color: var(--on-surface-variant);
            font-size: 15px;
            line-height: 1.6;
            max-width: 480px;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .hero-actions {
            display: flex;
            align-items: center;
            gap: 20px;
            flex-wrap: wrap;
            margin-top: 4px;
        }

        .helpdesk-primary-btn {
            display: inline-flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            min-height: 46px;
            padding: 4px 6px 4px 18px;
            border-radius: 30px;
            background: #0d382b;
            color: #fff;
            text-decoration: none;
            font-size: 14px;
            font-weight: 700;
            box-shadow: 0 8px 18px rgba(13, 56, 43, 0.25);
            transition: transform .25s ease, box-shadow .25s ease;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .helpdesk-primary-btn:hover {
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 12px 24px rgba(13, 56, 43, 0.35);
        }

        .helpdesk-primary-btn .btn-icon {
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: #fbd67d;
            color: #0d382b;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }

        .helpdesk-primary-btn .btn-icon .material-symbols-outlined {
            font-size: 18px;
            font-weight: 700;
        }

        .helpdesk-secondary-btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            min-height: 46px;
            padding: 0 18px;
            border-radius: 24px;
            background: var(--surface-container-lowest);
            color: var(--primary-container);
            text-decoration: none;
            font-size: 14px;
            font-weight: 700;
            border: 1px solid color-mix(in srgb, var(--primary-container) 20%, transparent);
            box-shadow: 0 4px 12px color-mix(in srgb, var(--primary) 4%, transparent);
            transition: all .25s ease;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .helpdesk-secondary-btn:hover {
            background: var(--surface-container-high);
            transform: translateY(-2px);
            color: var(--primary);
        }

        .helpdesk-secondary-btn .material-symbols-outlined {
            font-size: 16px;
            color: var(--primary-container);
        }

        .support-status {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: 24px;
            color: var(--on-surface-variant);
            font-size: 12px;
            font-weight: 600;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .status-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #34d399;
            box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.15);
        }

        .hero-support-card {
            position: relative;
            margin-top: 65px;
            min-height: 300px;
            background: var(--surface-container-lowest);
            border: 1px solid var(--surface-container-high);
            border-radius: 18px;
            box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
            overflow: visible;
            padding: 24px;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .support-card-top {
            position: relative;
            z-index: 1;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 15px;
            margin-bottom: 24px;
            padding-bottom: 16px;
            border-bottom: 1px solid var(--surface-container-high);
        }

        .support-profile {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .support-avatar {
            width: 40px;
            height: 40px;
            display: grid;
            place-items: center;
            border-radius: 10px;
            background: color-mix(in srgb, var(--primary) 10%, transparent);
            color: var(--primary);
        }

        .support-avatar .material-symbols-outlined { font-size: 20px; }

        .support-profile strong {
            display: block;
            font-size: 15px;
            font-weight: 700;
            color: var(--primary);
        }

        .support-profile span {
            display: block;
            margin-top: 2px;
            color: var(--on-surface-variant);
            font-size: 12px;
        }

        .online-pill {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 12px;
            border-radius: 20px;
            background: #e8f7f0;
            color: #0d5f42;
            font-size: 10px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .online-pill i {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: #34d399;
        }

        .support-message {
            position: relative;
            z-index: 1;
            max-width: 85%;
            padding: 12px 16px;
            border-radius: 14px 14px 14px 4px;
            background: #ffffff;
            border: 1px solid var(--surface-container-high);
            margin-bottom: 14px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.02);
        }

        .support-message small {
            display: block;
            color: var(--primary);
            font-size: 11px;
            font-weight: 800;
            margin-bottom: 4px;
        }

        .support-message p {
            margin: 0;
            color: var(--on-surface-variant);
            font-size: 13px;
            line-height: 1.55;
        }

        .support-message.user {
            margin-left: auto;
            border-radius: 14px 14px 4px 14px;
            background: #0d382b;
            border-color: #0d382b;
        }

        .support-message.user p { color: rgba(255,255,255,.9); }
        .support-message.user small { color: #fbd67d; }

        /* =========================
           2. SUPPORT HUB
        ========================= */
        .support-hub {
            padding: 48px 0;
            background: #ffffff;
            border-bottom: 1px solid var(--surface-container-high);
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .hub-heading {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 25px;
            margin-bottom: 32px;
        }

        .section-label {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 4px 12px;
            background: color-mix(in srgb, var(--secondary-fixed) 10%, transparent);
            border: 1px solid color-mix(in srgb, var(--secondary-fixed) 25%, transparent);
            border-radius: 99px;
            color: var(--secondary-fixed);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 1.2px;
            text-transform: uppercase;
            margin-bottom: 14px;
        }

        .section-label .material-symbols-outlined { font-size: 14px; }

        .hub-heading h2 {
            margin: 0;
            font-size: clamp(26px, 2.8vw, 34px);
            font-weight: 800;
            color: var(--primary);
            font-family: 'Playfair Display', serif;
        }

        .hub-heading p {
            max-width: 420px;
            margin: 0;
            color: var(--on-surface-variant);
            font-size: 15px;
            line-height: 1.55;
            text-align: right;
        }

        .hub-grid.new-layout {
            display: grid;
            grid-template-columns: 1fr minmax(320px, 420px);
            gap: 40px;
            align-items: start;
        }

        .support-side {
            display: flex;
            flex-direction: column;
            gap: 40px;
        }

        .quick-contacts-row {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }

        .contact-pill {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 10px 18px;
            background: #f1f5f9;
            color: var(--primary);
            border-radius: 40px;
            text-decoration: none;
            font-size: 13px;
            font-weight: 700;
            transition: all .25s ease;
        }

        .contact-pill .material-symbols-outlined {
            font-size: 18px;
            color: var(--secondary-fixed);
        }

        .contact-pill:hover {
            background: var(--primary);
            color: #fff;
            transform: translateY(-2px);
        }

        .minimal-faq-title {
            margin: 0 0 20px;
            font-size: 22px;
            font-weight: 800;
            color: var(--primary);
            font-family: 'Playfair Display', serif;
        }

        .minimal-faq .faq-list {
            display: flex;
            flex-direction: column;
            gap: 0;
            border-top: 1px solid var(--surface-container-high);
        }

        .minimal-faq .faq-item {
            border-bottom: 1px solid var(--surface-container-high);
            background: transparent;
        }

        .minimal-faq .faq-question {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding: 18px 0;
            border: 0;
            background: transparent;
            color: var(--primary);
            text-align: left;
            font-size: 15px;
            font-weight: 700;
            cursor: pointer;
            font-family: 'Plus Jakarta Sans', sans-serif;
            transition: color .2s;
        }

        .minimal-faq .faq-question:hover { color: var(--secondary-fixed); }

        .minimal-faq .faq-question .material-symbols-outlined {
            font-size: 20px;
            transition: transform .3s ease;
        }

        .minimal-faq .faq-item.active .faq-question .material-symbols-outlined {
            transform: rotate(45deg);
            color: var(--secondary-fixed);
        }
        
        .minimal-faq .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height .3s ease;
        }

        .minimal-faq .faq-answer p {
            margin: 0;
            padding: 0 0 20px 0;
            color: var(--on-surface-variant);
            font-size: 14px;
            line-height: 1.6;
        }

        .minimal-faq .faq-item.active .faq-answer { max-height: 150px; }

        .chat-panel.borderless-chat {
            background: #f8fafc;
            border: 0;
            border-radius: 24px;
            overflow: hidden;
            box-shadow: inset 0 2px 4px rgba(0,0,0,.02), 0 20px 40px rgba(0,0,0,.05);
        }

        .chat-header.inverted {
            background: var(--primary);
            color: #fff;
            border: 0;
            padding: 20px 24px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .chat-header.inverted .chat-title {
            display: flex;
            align-items: center;
            gap: 14px;
        }

        .chat-header.inverted .chat-title strong {
            display: block;
            font-size: 15px;
            font-weight: 700;
            color: #fff;
        }

        .chat-header.inverted .chat-title span {
            display: block;
            color: #a3b8b0;
            font-size: 12px;
            font-weight: 600;
            margin-top: 2px;
        }

        .chat-header.inverted .chat-icon {
            width: 44px;
            height: 44px;
            display: grid;
            place-items: center;
            border-radius: 12px;
            background: rgba(255,255,255,0.1);
            color: var(--secondary-fixed);
        }
        
        .chat-header.inverted .clear-chat {
            background: rgba(255,255,255,0.1);
            border: 0;
            color: #fff;
            border-radius: 50%;
            width: 36px;
            height: 36px;
            display: grid;
            place-items: center;
            cursor: pointer;
            transition: all .2s;
        }

        .chat-header.inverted .clear-chat:hover {
            background: rgba(255,255,255,0.2);
            color: #fff;
        }

        .borderless-chat .chat-body {
            background: transparent;
            padding: 20px 24px 10px;
            max-height: 350px;
            overflow-y: auto;
        }

        .borderless-chat .chat-bubble {
            max-width: 80%;
            padding: 14px 18px;
            background: #fff;
            border-radius: 16px 16px 16px 4px;
            margin-bottom: 16px;
            box-shadow: 0 2px 10px rgba(0,0,0,.04);
            border: 0;
        }

        .borderless-chat .chat-bubble.user {
            margin-left: auto;
            border-radius: 16px 16px 4px 16px;
            background: #0d382b;
            color: #fff;
        }

        .borderless-chat .chat-bubble .bubble-name {
            display: block;
            font-size: 11px;
            font-weight: 800;
            margin-bottom: 6px;
            color: var(--primary);
        }

        .borderless-chat .chat-bubble.user .bubble-name { color: #fbd67d; }

        .borderless-chat .chat-bubble p {
            margin: 0;
            font-size: 13.5px;
            line-height: 1.55;
            color: var(--on-surface-variant);
        }

        .borderless-chat .chat-bubble.user p { color: rgba(255,255,255,.9); }

        .borderless-chat .bubble-time {
            display: block;
            margin-top: 8px;
            color: #94a3b8;
            font-size: 10px;
            font-weight: 600;
        }

        .borderless-chat .chat-compose {
            display: flex;
            align-items: center;
            gap: 12px;
            background: #fff;
            margin: 12px 20px 20px;
            border-radius: 20px;
            border: 0;
            box-shadow: 0 4px 12px rgba(0,0,0,.04);
            padding: 12px 16px;
        }

        .borderless-chat .attach-btn {
            background: transparent;
            border: 0;
            color: #94a3b8;
            cursor: pointer;
            display: grid;
            place-items: center;
            transition: color .2s;
        }

        .borderless-chat .attach-btn:hover { color: var(--primary); }

        .borderless-chat .chat-compose input {
            flex: 1;
            min-width: 0;
            border: 0;
            outline: none;
            font-size: 14px;
            color: var(--primary);
            background: transparent;
        }

        .borderless-chat .chat-compose input::placeholder { color: #cbd5e1; }

        .borderless-chat .send-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: #0d382b;
            color: #fff;
            border: 0;
            cursor: pointer;
            transition: transform .2s, box-shadow .2s;
        }

        .borderless-chat .send-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 16px rgba(13,56,43,.2);
        }

        .borderless-chat .send-btn .btn-text { display: none; }
        .borderless-chat .send-btn .material-symbols-outlined { font-size: 18px; }

        /* =========================================
           3. LOWER SUPPORT CARDS (MINIMIZED COMPACT)
        ========================================= */
        .help-options {
            padding: 42px 0;
            background: #ffffff;
            font-family: 'Plus Jakarta Sans', sans-serif;
            border-top: 1px solid var(--surface-container-high);
        }

        .help-options-bento {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 18px;
        }

        .bento-card {
            position: relative;
            border-radius: 16px;
            overflow: hidden;
            padding: 22px 20px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            min-height: 180px;
            transition: transform 0.25s ease, box-shadow 0.25s ease;
        }

        .bento-card:hover {
            transform: translateY(-3px);
        }

        .bento-featured {
            background: var(--primary);
            color: #fff;
            box-shadow: 0 10px 24px rgba(13, 56, 43, 0.12);
        }

        .bento-featured:hover {
            box-shadow: 0 14px 30px rgba(13, 56, 43, 0.2);
        }

        .bento-light {
            background: #f8fafc;
            border: 1px solid var(--surface-container-high);
            color: var(--primary);
        }

        .bento-light:hover {
            box-shadow: 0 10px 20px rgba(0,0,0,0.04);
            border-color: #cbd5e1;
        }

        .watermark-icon {
            position: absolute;
            top: -10px;
            right: -10px;
            font-size: 110px !important;
            color: rgba(0,0,0,0.03);
            pointer-events: none;
            transform: rotate(15deg);
        }

        .bento-featured .watermark-icon {
            color: rgba(255,255,255,0.06);
        }

        .bento-content {
            position: relative;
            z-index: 1;
            display: flex;
            flex-direction: column;
            height: 100%;
            justify-content: space-between;
        }

        .bento-content h3 {
            margin: 0 0 6px;
            font-size: 18px;
            font-weight: 700;
            font-family: 'Playfair Display', serif;
            line-height: 1.25;
        }

        .bento-featured .bento-content h3 {
            color: #fff;
        }

        .bento-content p {
            margin: 0 0 16px;
            font-size: 13px;
            line-height: 1.5;
            opacity: 0.85;
            max-width: 100%;
        }

        .bento-link {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 11.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.8px;
            text-decoration: none;
            transition: gap 0.2s;
            margin-top: auto;
        }

        .bento-featured .bento-link {
            color: #fbd67d;
        }

        .bento-light .bento-link {
            color: var(--primary);
        }

        .bento-link .material-symbols-outlined {
            font-size: 15px;
        }

        .bento-link:hover {
            gap: 9px;
        }

        /* =========================
           RESPONSIVE
        ========================= */
        @media (max-width: 1024px) {
            .helpdesk-hero h1 { font-size: 38px; }
            .helpdesk-hero-grid { grid-template-columns: 1fr; gap: 40px; }
            .hub-grid.new-layout { grid-template-columns: 1fr; gap: 40px; }
            .chat-panel.borderless-chat { order: -1; }
            .help-options-bento { grid-template-columns: 1fr; }
        }

        @media (max-width: 768px) {
            .helpdesk-hero { padding: 40px 20px 24px; }
            .helpdesk-hero h1 { font-size: 32px; }
            .hero-actions { flex-direction: column; align-items: stretch; }
            .hero-support-card { margin-top: 32px; min-height: 250px; }
            .support-hub { padding: 32px 0; }
            .hub-heading { flex-direction: column; align-items: flex-start; gap: 16px; }
            .hub-heading h2 { font-size: 24px; }
            .hub-heading p { text-align: left; }
            .help-options { padding: 32px 0; }
            .bento-card { min-height: 160px; }
        }
    
/* Extracted from index.php */

    /* Removed invalid @layer base, using style.css defaults */
    main > :first-child {
      margin-top: 0 !important;
    }
    main > :last-child {
      margin-bottom: 0 !important;
    }
    /*::-webkit-scrollbar {*/
    /*  display: none;*/
    /*}*/

    /* Hero Feature Hover Fix */
    .feature-item {
      transition: transform 0.3s ease, background 0.3s ease;
      padding: 0.5rem 0.75rem;
      border-radius: 8px;
    }
    .feature-item:hover {
      background: rgba(255, 255, 255, 0.05);
      transform: translateX(-5px);
    }
    .feature-item:hover h4, .feature-item:hover p {
      color: #fff !important;
    }
    .feature-item:hover .feature-icon,
    .feature-item:hover .material-symbols-outlined {
      color: var(--secondary-fixed) !important;
    }

    /* =========================================================================
       UPDATED POPUP MODAL STYLES (MATCHING CARD DESIGN)
       ========================================================================= */

    /* Modal Backdrop */
    .modal-backdrop.show {
      opacity: 0.65;
      backdrop-filter: blur(4px);
    }
    .modal-dialog-enquiry {
      max-width: 350px;
      margin: 1.75rem auto;
    }

    /* Rounded Modal Card */
    .enquiry-modal-card {
      background-color: #ffffff;
      border-radius: 20px !important;
      border: 1px solid rgba(6, 78, 42, 0.08) !important;
      box-shadow: 0 25px 60px rgba(6, 78, 42, 0.3) !important;
      position: relative;
      overflow: hidden;
    }

    /* Corner Background Shapes Removed for Simple Design */

    /* Circular Close Button */
    .btn-close-enquiry {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background-color: #eaf3ee;
      border: none;
      color: #1a4d3e;
      transition: all 0.2s ease;
      z-index: 10;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .btn-close-enquiry:hover {
      background-color: #d6e8df;
      transform: scale(1.05);
    }

    /* Modal Header & Typography */
    .enquiry-dash {
      display: inline-block;
      width: 26px;
      height: 1.5px;
      background-color: #FFB703;
    }
    .enquiry-badge-text {
      color: #FFB703;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.12em;
    }
    .enquiry-title {
      font-family: 'Playfair Display', serif;
      font-size: 1.75rem;
      font-weight: 700;
      color: #032b21;
      line-height: 1.2;
    }
    .enquiry-title span {
      font-style: italic;
      color: #FFB703;
      font-weight: 600;
    }

    /* Form Fields & Label */
    .enquiry-label {
      font-size: 11px;
      font-weight: 700;
      color: #1a2b25;
      margin-bottom: 4px;
      display: block;
    }
    .input-icon-pill {
      width: 28px;
      height: 28px;
      border-radius: 6px;
      background-color: #eaf4ef;
      color: #004d3a;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-left: 6px;
    }
    .input-icon-pill .material-symbols-outlined {
      font-size: 16px !important;
    }
    .form-control-enquiry {
      height: 40px;
      border: 1.5px solid #e2ece7 !important;
      border-radius: 10px !important;
      font-size: 12.5px;
      color: #212529;
      background-color: #ffffff;
      padding-left: 42px !important;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }
    .form-control-enquiry::placeholder {
      color: #8c9b95;
      font-size: 12px;
    }
    .form-control-enquiry:focus {
      border-color: #0b5c46 !important;
      box-shadow: 0 0 0 3px rgba(11, 92, 70, 0.1) !important;
    }

    /* Custom Dropdown Chevron Icon */
    select.form-control-enquiry {
      appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='20' viewBox='0 -960 960 960' width='20' fill='%23004d3a'%3E%3Cpath d='M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 14px center;
    }

    /* Simple Submit Button */
    .btn-enquiry-submit {
      background: linear-gradient(135deg, #004d3a 0%, #00291e 100%) !important;
      border: none;
      border-radius: 8px !important;
      height: 44px;
      padding: 0 15px !important;
      color: #ffffff;
      font-size: 14px;
      font-weight: 700;
      transition: all 0.3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
    }
    .btn-enquiry-submit:hover {
      opacity: 0.95;
      transform: translateY(-1px);
      box-shadow: 0 10px 22px rgba(0, 41, 30, 0.3);
    }

    /* Security Note */
    .security-badge-icon {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background-color: #eaf4ef;
      color: #0d684f;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* Course Card Hover Effects */
    .course-card {
      transition: all 0.4s ease;
      border: 1px solid rgba(0,0,0,0.05);
    }
    .course-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 20px 40px rgba(6, 78, 42, 0.08) !important;
      border-color: rgba(6, 78, 42, 0.1);
    }
    .course-img-box {
      overflow: hidden;
      height: 220px;
    }
    .course-img-box img {
      transition: transform 0.6s ease;
    }
    .course-card:hover .course-img-box img {
      transform: scale(1.08);
    }

    /* Course Carousel Navigation Arrows */
    .courses-carousel-wrapper {
      position: relative;
    }
    .course-carousel-prev,
    .course-carousel-next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background-color: #004d3a;
      border: 1px solid #004d3a;
      color: #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 20px rgba(0,0,0,0.06);
      z-index: 10;
      transition: all 0.3s ease;
    }
    .course-carousel-prev:hover,
    .course-carousel-next:hover {
      background-color: #00291e;
      color: #ffffff;
      border-color: #00291e;
      box-shadow: 0 10px 24px rgba(0, 77, 58, 0.25);
    }
    /* Pull them halfway out of the container so they don't overlap the cards too much */
    .course-carousel-prev {
      left: -70px;
    }
    .course-carousel-next {
      right: -70px;
    }
    
    /* Ensure default owl nav is completely hidden */
    .owl-carousel .owl-nav {
      display: none !important;
    }

    /* Roadmap Custom Animations */
    .roadmap-node {
      border-radius: 50% 50% 50% 0 !important;
      transform: rotate(-45deg);
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    }
    .roadmap-node > span {
      transform: rotate(45deg);
      display: block;
    }
    .roadmap-step:hover .roadmap-node {
      transform: rotate(-45deg) scale(1.15) translateY(-5px);
      background-color: #004d3a !important;
      color: #ffffff !important;
      border-color: #004d3a !important;
      border-color: #004d3a !important;
      box-shadow: 0 12px 25px rgba(0, 77, 58, 0.3) !important;
    }
    .roadmap-step:hover .roadmap-node-final {
      transform: rotate(-45deg) scale(1.15) translateY(-5px);
      background-color: #FFB703 !important;
      color: #ffffff !important;
      border-color: #FFB703 !important;
      box-shadow: 0 12px 25px rgba(255, 183, 3, 0.4) !important;
    }

    /* CTA Button Hover Effects */
    .cta-btn {
      position: relative;
      overflow: hidden;
      transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    }
    .cta-btn:hover {
      transform: translateY(-4px) scale(1.02);
      box-shadow: 0 15px 30px rgba(255, 183, 3, 0.4) !important;
    }
    .cta-btn::before {
      content: '';
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
      transition: left 0.6s ease;
    }
    .cta-btn:hover::before {
      left: 100%;
    }
    .cta-btn .material-symbols-outlined {
      transition: transform 0.3s ease;
    }
    .cta-btn:hover .material-symbols-outlined {
      transform: translateX(5px);
    }

    /* =========================================================================
       HERO MOBILE VIEW FIX
       ========================================================================= */
    @media (max-width: 991.98px) {
      #hero-bg-wrapper {
        max-width: 100% !important;
      }
      #hero-bg-wrapper svg {
        display: none !important;
      }
      .hero-section .text-primary {
        color: #ffffff !important;
      }
      .hero-section .text-primary.text-opacity-75 {
        color: rgba(255, 255, 255, 0.8) !important;
        opacity: 1 !important;
      }
      /* Convert dark green button to gold to stand out on dark background */
      .hero-section .row .bg-primary {
        background-color: var(--secondary-fixed) !important;
        color: var(--primary) !important;
        border: none !important;
      }
      /* Convert white button to transparent/outline */
      .hero-section .row .bg-white {
        background-color: rgba(255, 255, 255, 0.1) !important;
        color: #ffffff !important;
        border-color: rgba(255, 255, 255, 0.3) !important;
      }
      .hero-section .border-end {
        display: none !important; /* Hide vertical dividers on mobile stats */
      }
      /* Center everything on mobile */
      .hero-section .col-lg-7 > .d-flex {
        align-items: center !important;
        text-align: center;
      }
      .hero-section .col-lg-7 .d-flex.flex-wrap {
        justify-content: center !important;
        width: 100%;
      }
      /* Feature list */
      .hero-section .hero-features-list {
        margin: 0 auto !important;
        align-items: center !important;
      }
      .hero-section .feature-item {
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.1);
        padding: 14px 16px;
        border-radius: 12px;
      }
    }

    /* Fix for equal height course cards */
    .courses-carousel .owl-stage {
      display: flex;
    }
    .courses-carousel .owl-item {
      display: flex;
      flex: 1 0 auto;
    }
    .courses-carousel .course-slide-item {
      width: 100%;
      display: flex;
      flex-direction: column;
    }
  
/* Extracted from livecourse.php */

        /* =========================================================
           ROOT & BASE PAGE RESETS
           ========================================================= */
        :root {
            --primary: #023325;
            --primary-light: #065f46;
            --primary-surface: #dcfce7;
            --gold-accent: #FFB703;
            --badge-shadow: 0 10px 25px rgba(15, 23, 42, 0.08), 0 3px 8px rgba(15, 23, 42, 0.04);
        }

        body {
            margin: 0;
            padding: 0;
            background-color: #ffffff;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        .live-course-page {
            min-height: calc(100vh - 100px);
            background: #ffffff;
            color: var(--primary);
            overflow-x: clip;
            margin-top: 15px !important;
            padding-top: 0 !important;
        }

        /* =========================================================
           HERO SECTION
           ========================================================= */
        .live-course-hero {
            position: relative;
            isolation: isolate;
            padding: 16px 24px 30px;
            overflow: hidden;
            background: #ffffff;
        }

        .live-course-hero::before {
            content: "";
            position: absolute;
            width: 600px;
            height: 600px;
            right: 8%;
            top: -100px;
            background: radial-gradient(circle, rgba(167, 243, 208, 0.3) 0%, rgba(209, 250, 229, 0.1) 45%, transparent 70%);
            z-index: -1;
            pointer-events: none;
            filter: blur(40px);
        }

        .live-hero-inner {
            width: 100%;
            max-width: 1220px;
            margin: 0 auto;
        }

        .live-hero-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(420px, 1fr);
            align-items: center;
            gap: 36px;
        }

        /* =========================================================
           HERO LEFT COPY & UPDATED HEADING DESIGN
           ========================================================= */
        .live-hero-copy {
            max-width: 540px;
            margin-top: 5px;
        }

        .live-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 14px;
            padding: 5px 12px;
            border-radius: 20px;
            background: #e8fbf3;
            color: var(--primary-light);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: .5px;
            text-transform: uppercase;
        }

        .live-eyebrow .material-symbols-outlined {
            font-size: 14px;
            color: #059669;
        }

        /* EXACT HEADING MATCHING REFERENCE DESIGN */
        .live-hero-copy h1 {
            margin: 0;
            color: var(--primary);
            font-family: 'Playfair Display', Georgia, serif;
            font-size: clamp(34px, 3.7vw, 47px);
            line-height: 1.18;
            font-weight: 700;
            letter-spacing: -0.4px;
        }

        .live-hero-copy h1 .highlight-text {
            color: var(--gold-accent);
            font-weight: 700;
        }

        .live-hero-copy p {
            margin: 16px 0 22px;
            color: #4b5563;
            font-size: 13.5px;
            line-height: 1.6;
            max-width: 450px;
        }

        .live-primary-btn {
            display: inline-flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            min-height: 44px;
            padding: 4px 5px 4px 18px;
            border-radius: 26px;
            background: var(--primary);
            color: #fff;
            text-decoration: none;
            font-size: 13px;
            font-weight: 700;
            box-shadow: 0 10px 22px rgba(2, 51, 37, 0.2);
            transition: transform .25s ease, box-shadow .25s ease;
        }

        .live-primary-btn:hover {
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 14px 28px rgba(2, 51, 37, 0.25);
        }

        .live-primary-btn .btn-left-content {
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .live-primary-btn .btn-left-content .material-symbols-outlined {
            font-size: 16px;
            color: #fef08a;
        }

        .live-btn-arrow {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: #fde047;
            color: var(--primary);
        }

        .live-btn-arrow .material-symbols-outlined {
            font-size: 18px;
            font-weight: 700;
        }

        /* Features List Grid */
        .live-features-list {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 10px;
            margin-top: 28px;
            padding-top: 20px;
            border-top: 1px solid #f1f5f9;
        }

        .live-feature-item {
            display: flex;
            align-items: center;
            gap: 7px;
            font-size: 10.5px;
            font-weight: 700;
            color: var(--primary);
            line-height: 1.2;
        }

        .live-feature-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 28px;
            height: 28px;
            border-radius: 7px;
            background: #ecfdf5;
            color: #059669;
            flex-shrink: 0;
        }

        .live-feature-icon.yellow {
            background: #fef9c3;
            color: #ca8a04;
        }

        .live-feature-icon .material-symbols-outlined {
            font-size: 15px;
        }

        /* =========================================================
           HERO VISUAL (LAPTOP + FLOATING BADGES)
           ========================================================= */
        .live-visual-wrapper {
            position: relative;
            padding: 24px 15px 30px;
        }

        .laptop-mockup {
            position: relative;
            width: 100%;
            max-width: 480px;
            margin: 0 auto;
            z-index: 2;
        }

        .laptop-screen {
            border-radius: 14px 14px 2px 2px;
            aspect-ratio: 16 / 10;
            position: relative;
            overflow: hidden;
            background: #111a17;
        }

        .laptop-base {
            position: relative;
            height: 11px;
            background: linear-gradient(to bottom, #cbd5e1 0%, #94a3b8 100%);
            border-radius: 0 0 12px 12px;
            box-shadow: 0 15px 25px rgba(0, 0, 0, 0.15);
        }

        .laptop-base::after {
            content: "";
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 55px;
            height: 4px;
            background: #64748b;
            border-radius: 0 0 4px 4px;
        }

        .laptop-shadow {
            position: absolute;
            bottom: 18px;
            left: 8%;
            right: 8%;
            height: 18px;
            background: radial-gradient(ellipse at center, rgba(15, 23, 42, 0.25) 0%, transparent 75%);
            z-index: 1;
            filter: blur(5px);
        }

        /* Floating Badges */
        .hero-floating-card {
            position: absolute;
            z-index: 8;
            background: #ffffff;
            border-radius: 10px;
            padding: 7px 11px;
            display: flex;
            align-items: center;
            gap: 8px;
            box-shadow: var(--badge-shadow);
            border: 1px solid rgba(241, 245, 249, 0.9);
            animation: floatGently 6s ease-in-out infinite;
        }

        .hero-floating-card .card-icon {
            width: 26px;
            height: 26px;
            border-radius: 6px;
            display: grid;
            place-items: center;
            flex-shrink: 0;
        }

        .hero-floating-card .card-icon .material-symbols-outlined {
            font-size: 15px;
        }

        .hero-floating-card .card-text strong {
            display: block;
            font-size: 10.5px;
            font-weight: 800;
            color: var(--primary);
            line-height: 1.2;
        }

        .hero-floating-card .card-text small {
            display: block;
            font-size: 8px;
            color: #64748b;
            font-weight: 500;
        }

        .badge-top-faculty {
            top: 35px;
            right: -15px;
            animation-delay: 1.5s;
        }
        .badge-top-faculty .card-icon {
            background: #fef9c3;
            color: #ca8a04;
        }

        .badge-study-material {
            top: 135px;
            right: -35px;
            animation-delay: 2.2s;
        }
        .badge-study-material .card-icon {
            background: #e0f2fe;
            color: #0284c7;
        }

        .badge-partial-payments {
            bottom: 30px;
            right: -20px;
            animation-delay: 3s;
        }
        .badge-partial-payments .card-icon {
            background: #ffedd5;
            color: #ea580c;
        }
        .badge-partial-payments .arrow-indicator {
            color: #94a3b8;
            font-size: 12px;
            margin-left: 2px;
        }

        .card-learning-progress {
            bottom: 40px;
            left: -35px;
            background: #ffffff;
            border-radius: 10px;
            padding: 8px 11px;
            box-shadow: var(--badge-shadow);
            border: 1px solid rgba(241, 245, 249, 0.9);
            width: 155px;
            z-index: 8;
            animation: floatGently 6s ease-in-out infinite 3.8s;
        }

        .progress-header {
            display: flex;
            align-items: center;
            gap: 4px;
            font-size: 8.5px;
            font-weight: 800;
            color: var(--primary);
            margin-bottom: 5px;
        }

        .progress-header .material-symbols-outlined {
            font-size: 11px;
            color: #059669;
        }

        .progress-track {
            width: 100%;
            height: 5px;
            background: #f1f5f9;
            border-radius: 8px;
            overflow: hidden;
            margin-bottom: 4px;
        }

        .progress-fill {
            width: 78%;
            height: 100%;
            background: linear-gradient(90deg, #10b981 0%, #34d399 100%);
            border-radius: 8px;
        }

        .progress-meta {
            display: flex;
            justify-content: space-between;
            font-size: 7.5px;
            font-weight: 700;
            color: #64748b;
        }

        .progress-meta span:last-child {
            color: #059669;
        }

        @keyframes floatGently {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-6px); }
        }

        /* =========================================================
           CONTENT CONTROLS & EMPTY STATE
           ========================================================= */
        .live-course-content {
            width: 100%;
            max-width: 1220px;
            margin: 0 auto;
            padding: 10px 24px 60px;
            position: relative;
            z-index: 5;
        }

        .live-control-card {
            display: grid;
            grid-template-columns: auto minmax(220px, 1fr) auto;
            align-items: center;
            gap: 16px;
            padding: 11px;
            border: 1px solid rgba(2, 51, 37, 0.08);
            border-radius: 14px;
            background: #fff;
            box-shadow: 0 12px 35px rgba(2, 51, 37, 0.04);
        }

        .live-category-btn {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            min-height: 40px;
            padding: 0 15px;
            border: 1px solid var(--primary);
            border-radius: 9px;
            background: var(--primary);
            color: #fff;
            font-size: 11px;
            font-weight: 800;
            cursor: pointer;
        }

        .live-category-btn .material-symbols-outlined {
            font-size: 16px;
        }

        .live-search {
            position: relative;
        }

        .live-search input {
            width: 100%;
            height: 40px;
            padding: 0 40px 0 13px;
            border: 1px solid rgba(2, 51, 37, 0.1);
            border-radius: 9px;
            outline: none;
            background: #f8fafc;
            color: var(--primary);
            font-size: 11.5px;
        }

        .live-search button {
            position: absolute;
            right: 4px;
            top: 4px;
            width: 32px;
            height: 32px;
            display: grid;
            place-items: center;
            border: 0;
            border-radius: 7px;
            background: var(--primary);
            color: #fff;
            cursor: pointer;
        }

        .live-search button .material-symbols-outlined {
            font-size: 16px;
        }

        .live-sort {
            min-width: 120px;
            height: 40px;
            padding: 0 25px 0 10px;
            border: 1px solid rgba(2, 51, 37, 0.1);
            border-radius: 9px;
            outline: none;
            background: #fff;
            color: var(--primary);
            font-size: 10.5px;
            font-weight: 700;
            cursor: pointer;
        }

        .live-section-heading {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 20px;
            margin: 32px 0 15px;
        }

        .live-section-heading h2 {
            margin: 0;
            color: var(--primary);
            font-size: 21px;
            font-weight: 800;
            letter-spacing: -.4px;
        }

        .live-section-heading p {
            margin: 4px 0 0;
            color: #64748b;
            font-size: 11.5px;
        }

        .live-status {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 10px;
            border-radius: 20px;
            background: rgba(2, 51, 37, 0.06);
            color: var(--primary);
            font-size: 9.5px;
            font-weight: 800;
        }

        .live-status span {
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--primary);
        }

        .live-empty {
            position: relative;
            min-height: 280px;
            display: grid;
            place-items: center;
            overflow: hidden;
            padding: 30px 20px;
            border: 1px solid rgba(2, 51, 37, 0.08);
            border-radius: 18px;
            background: #fff;
            text-align: center;
        }

        .live-empty-icon {
            width: 60px;
            height: 60px;
            margin: 0 auto 12px;
            display: grid;
            place-items: center;
            border-radius: 14px;
            background: #ecfdf5;
            color: var(--primary);
        }

        .live-empty-icon .material-symbols-outlined {
            font-size: 28px;
        }

        .live-empty h3 {
            margin: 0 0 5px;
            color: var(--primary);
            font-size: 17px;
            font-weight: 800;
        }

        .live-empty p {
            margin: 0 auto 16px;
            color: #64748b;
            font-size: 11.5px;
            max-width: 340px;
        }

        .view-all-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            min-height: 36px;
            padding: 0 16px;
            border: 1px solid var(--primary);
            border-radius: 7px;
            background: var(--primary);
            color: #fff;
            font-size: 10.5px;
            font-weight: 800;
            cursor: pointer;
            transition: transform .25s ease, background .25s ease;
        }

        .view-all-btn:hover {
            background: var(--primary-light);
            color: #fff;
            transform: translateY(-2px);
        }

        /* =========================================================
           RESPONSIVE BREAKPOINTS
           ========================================================= */
        @media (max-width: 1080px) {
            .live-hero-grid {
                grid-template-columns: 1fr;
                gap: 40px;
            }
            .live-hero-copy {
                max-width: 100%;
                text-align: center;
            }
            .live-hero-copy p {
                margin: 15px auto 22px;
            }
            .live-hero-actions {
                justify-content: center;
            }
            .live-features-list {
                max-width: 540px;
                margin: 25px auto 0;
            }
            .live-visual-wrapper {
                max-width: 520px;
                margin: 0 auto;
            }
        }

        @media (max-width: 640px) {
            .live-features-list {
                grid-template-columns: repeat(2, 1fr);
                gap: 14px 10px;
            }
            .hero-floating-card, .card-learning-progress {
                display: none;
            }
            .live-control-card {
                grid-template-columns: 1fr;
            }
            .live-sort {
                display: none;
            }
        }
    
/* Extracted from login.php */

        .login-page {
            position: relative;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 120px 20px 60px;
            box-sizing: border-box;
            overflow: hidden;
            background:
                radial-gradient(circle at 12% 18%, rgba(104,254,195,.20), transparent 25%),
                radial-gradient(circle at 88% 82%, rgba(255,224,136,.22), transparent 27%),
                radial-gradient(circle at 82% 15%, rgba(0,77,58,.08), transparent 24%),
                linear-gradient(135deg, #f4faf7 0%, #fbfcfa 48%, #fffaf0 100%);
        }

        .login-page::before {
            content: "";
            position: absolute;
            width: 520px;
            height: 520px;
            left: -260px;
            top: -180px;
            border: 1px solid rgba(0,77,58,.08);
            border-radius: 50%;
            box-shadow:
                0 0 0 42px rgba(0,77,58,.025),
                0 0 0 84px rgba(0,77,58,.018);
        }

        .login-page::after {
            content: "";
            position: absolute;
            width: 460px;
            height: 460px;
            right: -250px;
            bottom: -230px;
            border: 1px solid rgba(196,122,0,.13);
            border-radius: 50%;
            box-shadow:
                0 0 0 38px rgba(255,224,136,.06),
                0 0 0 76px rgba(255,224,136,.035);
        }

        @keyframes cardPop {
            0% { opacity: 0; transform: scale(0.96) translateY(20px); }
            100% { opacity: 1; transform: scale(1) translateY(0); }
        }

        @keyframes fadeUp {
            0% { opacity: 0; transform: translateY(10px); }
            100% { opacity: 1; transform: translateY(0); }
        }

        .login-card {
            position: relative;
            z-index: 2;
            width: min(100%, 360px);
            padding: 31px 32px 32px;
            border: 1px solid rgba(0,77,58,.06);
            border-radius: 20px;
            background: #fff;
            box-shadow: 0 18px 45px rgba(6,78,42,.09);
            animation: cardPop 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        .login-header {
            text-align: center;
            margin-bottom: 25px;
        }

        .login-header h1 {
            margin: 0 0 5px;
            color: var(--primary);
            font-size: 24px;
            line-height: 1.2;
            font-weight: 800;
        }

        .login-header p {
            margin: 0;
            color: var(--on-surface-variant);
            font-size: 14px;
            line-height: 1.5;
        }

        .login-form {
            display: grid;
            gap: 16px;
        }

        .login-field label {
            display: block;
            margin: 0 0 7px;
            color: var(--primary);
            font-size: 13px;
            font-weight: 800;
        }

        .input-wrap {
            position: relative;
        }

        .login-field input {
            width: 100%;
            height: 44px;
            box-sizing: border-box;
            padding: 0 12px;
            border: 1px solid #e0e8e5;
            border-radius: 8px;
            outline: none;
            background: #fff;
            color: var(--primary);
            font-size: 14px;
            transition: border-color .2s ease, box-shadow .2s ease;
        }

        .login-field input.password-input {
            padding-right: 40px;
        }

        .login-field input:focus {
            border-color: var(--primary-container);
            box-shadow: 0 0 0 3px rgba(0,77,58,.07);
        }

        .login-field input::placeholder {
            color: #8c9893;
        }

        .password-toggle {
            position: absolute;
            top: 50%;
            right: 8px;
            width: 28px;
            height: 28px;
            display: grid;
            place-items: center;
            transform: translateY(-50%);
            border: 0;
            border-radius: 50%;
            background: transparent;
            color: #697570;
            cursor: pointer;
        }

        .password-toggle:hover {
            color: var(--primary);
            background: #f2f7f5;
        }

        .password-toggle .material-symbols-outlined {
            font-size: 17px;
        }

        .forgot-row {
            display: flex;
            justify-content: flex-end;
            margin-top: -7px;
        }

        .forgot-link {
            color: #0876f9;
            font-size: 13px;
            font-weight: 800;
            text-decoration: none;
            cursor: pointer;
        }

        .forgot-link:hover {
            text-decoration: underline;
        }

        .login-submit {
            width: 100%;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            margin-top: 3px;
            border: 0;
            border-radius: 9px;
            background: var(--primary);
            color: #fff;
            font-size: 14px;
            font-weight: 800;
            cursor: pointer;
            box-shadow: 0 7px 16px rgba(6,78,42,.14);
            transition: transform .2s ease, box-shadow .2s ease;
        }

        .login-submit:hover {
            transform: translateY(-1px);
            box-shadow: 0 10px 21px rgba(6,78,42,.19);
        }

        .login-submit:hover .material-symbols-outlined {
            transform: translateX(4px);
        }

        .login-submit .material-symbols-outlined {
            font-size: 17px;
            transition: transform .25s ease;
        }

        .login-footer {
            margin-top: 20px;
            text-align: center;
            color: var(--on-surface-variant);
            font-size: 13px;
        }

        .login-footer a {
            color: var(--primary-container);
            font-weight: 800;
            text-decoration: none;
        }

        /* =========================
           FORGOT PASSWORD STEPS
        ========================= */

        .auth-step {
            display: none;
        }

        .auth-step.active {
            display: block;
            animation: fadeUp 0.4s ease-out forwards;
        }

        .step-back {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 5px;
            margin-top: 17px;
            border: 0;
            background: transparent;
            color: var(--primary);
            font-size: 13px;
            font-weight: 700;
            cursor: pointer;
        }

        .step-back:hover {
            color: var(--primary-container);
        }

        .step-back .material-symbols-outlined {
            font-size: 15px;
        }

        .otp-info {
            margin: -4px 0 20px;
            text-align: center;
            color: var(--on-surface-variant);
            font-size: 14px;
            line-height: 1.45;
        }

        .otp-info strong {
            color: var(--primary);
        }

        .otp-input {
            text-align: center;
            letter-spacing: 7px;
            font-size: 20px !important;
            font-weight: 800;
            height: 50px !important;
        }

        .success-message {
            margin: -3px 0 17px;
            padding: 12px 14px;
            border: 1px solid rgba(32,120,79,.22);
            border-radius: 6px;
            background: #dff3e9;
            color: #146b49;
            font-size: 13px;
            line-height: 1.45;
        }

        .success-message strong {
            font-weight: 800;
        }

        .password-rules {
            margin-top: 7px;
            color: var(--on-surface-variant);
            font-size: 12px;
        }

        .otp-error {
            display: none;
            margin-top: 7px;
            color: #b42318;
            font-size: 13px;
        }

        .otp-error.show {
            display: block;
        }

        .reset-error {
            display: none;
            margin-top: 7px;
            color: #b42318;
            font-size: 13px;
        }

        .reset-error.show {
            display: block;
        }

        @media (max-width: 450px) {
            .login-page {
                min-height: calc(100vh - 70px);
                padding: 28px 14px;
            }

            .login-card {
                padding: 27px 22px 25px;
                border-radius: 17px;
            }
        }
    
/* Extracted from policy.php */

        .policy-page {
            background: #f6f9f8;
            color: var(--primary, #064E2A);
            overflow: hidden;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        /* =========================
           HERO
        ========================= */

        .policy-hero {
            position: relative;
            min-height: 220px;
            display: flex;
            align-items: center;
            overflow: hidden;
            background:
                linear-gradient(115deg, #fbfaf5 0%, #f9fbf8 58%, #eef8f3 100%);
            border-bottom: 1px solid var(--surface-container-high, #e2e8f0);
        }

        .policy-hero::before {
            content: "";
            position: absolute;
            width: 500px;
            height: 500px;
            left: -310px;
            bottom: -390px;
            border: 1px solid rgba(0, 77, 58, .08);
            border-radius: 50%;
        }

        .policy-hero::after {
            content: "";
            position: absolute;
            width: 420px;
            height: 420px;
            right: -220px;
            top: -270px;
            border: 1px solid rgba(255, 224, 136, .22);
            border-radius: 50%;
        }

        .policy-hero-inner {
            position: relative;
            z-index: 2;
            width: min(1100px, calc(100% - 40px));
            margin: 0 auto;
            padding: 48px 0 45px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 40px;
        }

        .policy-hero-content {
            max-width: 710px;
        }

        .policy-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            margin-bottom: 14px;
            color: #c47a00;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 1.4px;
            text-transform: uppercase;
        }

        .policy-eyebrow::before,
        .policy-eyebrow::after {
            content: "";
            width: 34px;
            height: 1px;
            background: #c47a00;
            opacity: .55;
        }

        .policy-hero h1 {
            margin: 0;
            color: var(--primary, #064E2A);
            font-family: 'Playfair Display', Georgia, serif;
            font-size: clamp(34px, 4.2vw, 54px);
            line-height: 1.1;
            letter-spacing: -1.2px;
        }

        .policy-hero h1 span {
            color: #d57b00;
        }

        .policy-description {
            max-width: 680px;
            margin: 14px 0 0;
            color: var(--on-surface-variant, #475569);
            font-size: 14.5px;
            line-height: 1.65;
        }

        .policy-hero-mark {
            position: relative;
            width: 180px;
            height: 130px;
            flex: 0 0 180px;
            display: grid;
            place-items: center;
            border-radius: 100px 20px 20px 100px;
            background:
                linear-gradient(135deg, rgba(0, 77, 58, .90), rgba(6, 78, 42, .98));
            overflow: hidden;
        }

        .policy-hero-mark::before {
            content: "";
            position: absolute;
            width: 200px;
            height: 200px;
            right: -95px;
            top: -80px;
            border: 1px solid rgba(255, 224, 136, .35);
            border-radius: 50%;
        }

        .policy-hero-mark::after {
            content: "";
            position: absolute;
            width: 95px;
            height: 95px;
            left: -38px;
            bottom: -45px;
            border: 1px solid rgba(104, 254, 195, .22);
            border-radius: 50%;
        }

        .policy-hero-mark .material-symbols-outlined {
            position: relative;
            z-index: 2;
            color: var(--secondary-fixed, #FFB703);
            font-size: 58px;
        }

        /* =========================
           POLICY CONTENT
        ========================= */

        .policy-content {
            width: min(920px, calc(100% - 40px));
            margin: 0 auto;
            padding: 35px 0 65px;
        }

        .policy-list {
            display: grid;
            gap: 12px;
        }

        .policy-card {
            position: relative;
            display: grid;
            grid-template-columns: 56px minmax(0, 1fr) 60px;
            align-items: center;
            min-height: 76px;
            padding: 16px 20px 16px 16px;
            border: 1px solid rgba(0, 77, 58, .08);
            border-left: 3px solid #16a26e;
            border-radius: 14px;
            background: rgba(255, 255, 255, .96);
            box-shadow: 0 4px 18px rgba(6, 78, 42, .03);
            overflow: hidden;
            transition: transform .25s ease,
                        box-shadow .25s ease,
                        border-color .25s ease;
        }

        .policy-card:hover {
            transform: translateY(-2px);
            border-left-color: var(--secondary-container, #FFB703);
            box-shadow: 0 10px 26px rgba(6, 78, 42, .07);
        }

        .policy-icon {
            width: 44px;
            height: 44px;
            display: grid;
            place-items: center;
            border-radius: 12px;
            color: var(--primary, #064E2A);
            background: #e0f8ed;
        }

        .policy-card:nth-child(odd) .policy-icon {
            color: #d58a00;
            background: #fff1c9;
        }

        .policy-icon .material-symbols-outlined {
            font-size: 20px;
        }

        .policy-copy {
            padding-right: 15px;
        }

        .policy-copy h2 {
            margin: 0 0 5px;
            color: var(--primary, #064E2A);
            font-family: 'Playfair Display', Georgia, serif;
            font-size: 18px;
            line-height: 1.25;
            font-weight: 700;
        }

        .policy-copy p {
            margin: 0;
            color: var(--on-surface-variant, #475569);
            font-size: 13.5px;
            line-height: 1.55;
        }

        .policy-copy ul {
            margin: 6px 0 0;
            padding-left: 17px;
            color: var(--on-surface-variant, #475569);
        }

        .policy-copy li {
            margin: 4px 0;
            font-size: 13px;
            line-height: 1.45;
        }

        .policy-number {
            justify-self: end;
            color: rgba(0, 77, 58, .1);
            font-family: 'Playfair Display', Georgia, serif;
            font-size: 38px;
            line-height: 1;
            font-weight: 800;
            letter-spacing: -2px;
        }

        .policy-note {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-top: 20px;
            padding: 16px 18px;
            border: 1px solid rgba(0, 77, 58, .08);
            border-radius: 12px;
            background: #fff;
        }

        .policy-note-icon {
            width: 34px;
            height: 34px;
            flex: 0 0 34px;
            display: grid;
            place-items: center;
            border-radius: 9px;
            background: #e9f2ff;
            color: #0876f9;
        }

        .policy-note p {
            margin: 0;
            color: var(--on-surface-variant, #475569);
            font-size: 13.5px;
            line-height: 1.55;
        }

        /* =========================
           RESPONSIVE
        ========================= */

        @media (max-width: 800px) {
            .policy-hero-inner {
                padding: 38px 0;
            }

            .policy-hero-mark {
                width: 140px;
                height: 110px;
                flex-basis: 140px;
            }

            .policy-hero-mark .material-symbols-outlined {
                font-size: 46px;
            }

            .policy-card {
                grid-template-columns: 50px minmax(0, 1fr) 45px;
            }
        }

        @media (max-width: 620px) {
            .policy-hero-inner {
                width: min(100% - 28px, 560px);
            }

            .policy-hero-content {
                max-width: 100%;
            }

            .policy-hero-mark {
                display: none;
            }

            .policy-hero h1 {
                font-size: 34px;
                letter-spacing: -0.8px;
            }

            .policy-description {
                font-size: 12.5px;
            }

            .policy-content {
                width: min(100% - 28px, 560px);
                padding-top: 20px;
            }

            .policy-card {
                grid-template-columns: 44px minmax(0, 1fr);
                padding: 14px 14px 14px 10px;
            }

            .policy-icon {
                width: 38px;
                height: 38px;
                border-radius: 10px;
            }

            .policy-icon .material-symbols-outlined {
                font-size: 18px;
            }

            .policy-copy {
                padding-right: 0;
            }

            .policy-copy h2 {
                font-size: 15px;
            }

            .policy-copy p,
            .policy-copy li {
                font-size: 12.5px;
            }

            .policy-number {
                position: absolute;
                right: 12px;
                bottom: 8px;
                font-size: 26px;
                opacity: 0.5;
            }
        }
    
/* Extracted from question-bank.php */

        /* =========================================================
           QUESTION BANK PAGE
           Uses the existing Academy theme from style.css.
           ========================================================= */

        .question-bank-page {
            min-height: calc(100vh - 100px);
            background:
                radial-gradient(circle at 90% 8%, color-mix(in srgb, var(--primary-fixed) 8%, transparent), transparent 25%),
                var(--surface-bright);
            color: var(--primary);
            overflow: hidden;
        }

        /* =========================================================
           HERO (COMPACT, PROFESSIONAL & BALANCED)
           ========================================================= */

        .qb-hero {
            position: relative;
            overflow: hidden;
            padding: 34px 32px 38px;
            background:
                radial-gradient(circle at 86% 20%, color-mix(in srgb, var(--primary-fixed) 18%, transparent), transparent 30%),
                radial-gradient(circle at 68% 110%, color-mix(in srgb, var(--secondary-fixed) 14%, transparent), transparent 34%),
                linear-gradient(115deg, var(--primary) 0%, var(--primary-container) 62%, color-mix(in srgb, var(--primary-container) 82%, var(--primary-fixed)) 100%);
            border-radius: 0 0 28px 28px;
            box-shadow: 0 18px 40px color-mix(in srgb, var(--primary) 13%, transparent);
            isolation: isolate;
        }

        .qb-hero::before {
            content: "";
            position: absolute;
            width: 460px;
            height: 460px;
            right: -120px;
            top: -230px;
            border: 1px solid color-mix(in srgb, var(--primary-fixed) 22%, transparent);
            border-radius: 50%;
            box-shadow:
                0 0 0 55px color-mix(in srgb, var(--primary-fixed) 5%, transparent),
                0 0 0 110px color-mix(in srgb, var(--primary-fixed) 3%, transparent);
            pointer-events: none;
            animation: qbHeroOrb 10s ease-in-out infinite alternate;
        }

        .qb-hero::after {
            content: "";
            position: absolute;
            left: -8%;
            right: -8%;
            bottom: 4px;
            height: 90px;
            border-top: 2px solid color-mix(in srgb, var(--secondary-fixed) 48%, transparent);
            border-radius: 50%;
            transform: rotate(-2deg) scaleX(1.08);
            pointer-events: none;
            opacity: .7;
            animation: qbHeroWave 9s ease-in-out infinite alternate;
        }

        .qb-hero-inner {
            position: relative;
            z-index: 3;
            width: min(1240px, 100%);
            min-height: 190px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 360px;
            align-items: center;
            gap: 58px;
        }

        .qb-hero-copy {
            max-width: 760px;
        }

        .qb-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            margin-bottom: 12px;
            padding: 6px 13px;
            border: 1px solid color-mix(in srgb, #fff 28%, transparent);
            border-radius: 999px;
            background: color-mix(in srgb, #fff 9%, transparent);
            color: #fff;
            font-size: 10px;
            font-weight: 800;
            letter-spacing: .05em;
            text-transform: uppercase;
            backdrop-filter: blur(10px);
            animation: qbHeroReveal .7s ease both;
        }

        .qb-eyebrow .material-symbols-outlined {
            font-size: 14px;
            color: var(--secondary-fixed);
        }

        .qb-hero h1 {
            margin: 0;
            color: #fff;
            font-family: var(--font-display);
            font-size: clamp(30px, 3.15vw, 43px);
            font-weight: 700;
            line-height: 1.08;
            letter-spacing: -.7px;
            max-width: 700px;
            animation: qbHeroReveal .8s .08s ease both;
        }

        .qb-hero h1 span {
            color: var(--secondary-fixed);
        }

        .qb-hero-description {
            max-width: 700px;
            margin: 12px 0 20px;
            color: color-mix(in srgb, #fff 82%, transparent);
            font-size: 13px;
            line-height: 1.6;
            animation: qbHeroReveal .8s .16s ease both;
        }

        .qb-hero-actions {
            display: flex;
            align-items: center;
            gap: 11px;
            flex-wrap: wrap;
            animation: qbHeroReveal .8s .24s ease both;
        }

        .qb-hero-btn {
            min-height: 39px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            padding: 0 17px;
            border-radius: 999px;
            text-decoration: none;
            font-size: 11.5px;
            font-weight: 800;
            transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
        }

        .qb-hero-btn .material-symbols-outlined {
            font-size: 15px;
        }

        .qb-hero-btn.primary {
            background: #fff;
            color: var(--primary);
            box-shadow: 0 7px 18px rgba(0, 0, 0, .14);
        }

        .qb-hero-btn.secondary {
            border: 1px solid color-mix(in srgb, #fff 48%, transparent);
            background: color-mix(in srgb, #fff 8%, transparent);
            color: #fff;
            backdrop-filter: blur(8px);
        }

        .qb-hero-btn:hover {
            transform: translateY(-2px);
        }

        .qb-hero-btn.primary:hover {
            background: var(--secondary-fixed);
            color: var(--primary);
        }

        .qb-hero-btn.secondary:hover {
            background: #fff;
            color: var(--primary);
        }

        .qb-hero-visual {
            position: relative;
            min-height: 156px;
            display: flex;
            align-items: center;
            justify-content: center;
            animation: qbHeroReveal .9s .18s ease both;
        }

        .qb-visual-board {
            position: relative;
            z-index: 2;
            width: 100%;
            max-width: 340px;
            min-height: 132px;
            padding: 20px 24px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            border: 1px solid color-mix(in srgb, #fff 25%, transparent);
            border-radius: 18px;
            background:
                linear-gradient(145deg,
                    color-mix(in srgb, var(--primary-container) 88%, transparent),
                    color-mix(in srgb, var(--primary) 92%, transparent));
            box-shadow:
                0 20px 45px color-mix(in srgb, var(--primary) 25%, transparent),
                inset 0 1px 0 color-mix(in srgb, #fff 22%, transparent);
            backdrop-filter: blur(16px);
            overflow: hidden;
            animation: qbHeroCardFloat 5s ease-in-out infinite;
        }

        .qb-visual-board::before {
            content: "";
            position: absolute;
            inset: 10px;
            border: 1px solid color-mix(in srgb, var(--primary-fixed) 16%, transparent);
            border-radius: 13px;
            pointer-events: none;
        }

        .qb-board-top {
            display: flex;
            flex-direction: column;
            align-items: center;
            margin-bottom: 5px;
        }

        .qb-board-title {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            color: var(--secondary-fixed);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .04em;
            text-transform: uppercase;
        }

        .qb-board-title .material-symbols-outlined {
            font-size: 16px;
        }

        .qb-board-live {
            margin-top: 2px;
            color: color-mix(in srgb, #fff 72%, transparent);
            font-size: 9.5px;
            font-weight: 600;
        }

        .qb-question-text {
            margin: 7px 0 6px;
            color: #fff;
            font-size: clamp(24px, 2.45vw, 31px);
            font-weight: 800;
            line-height: 1.05;
            letter-spacing: -.5px;
        }

        .qb-board-stat {
            color: color-mix(in srgb, #fff 76%, transparent);
            font-size: 10px;
            line-height: 1.45;
            max-width: 250px;
        }

        @keyframes qbHeroReveal {
            from {
                opacity: 0;
                transform: translateY(12px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes qbHeroOrb {
            0% { transform: translate3d(0, 0, 0) scale(1); }
            100% { transform: translate3d(-24px, 18px, 0) scale(1.06); }
        }

        @keyframes qbHeroWave {
            0% { transform: translateX(-2%) rotate(-2deg) scaleX(1.08); }
            100% { transform: translateX(3%) rotate(2deg) scaleX(1.02); }
        }

        @keyframes qbHeroCardFloat {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-6px); }
        }

        /* =========================================================
           BUILDER LAYOUT
           ========================================================= */

        .qb-main-content {
            position: relative;
            z-index: 5;
            width: min(1240px, calc(100% - 40px));
            margin: 28px auto 60px;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 350px;
            gap: 24px;
            align-items: start;
        }

        .qb-builder-steps {
            min-width: 0;
        }

        .qb-step-card,
        .qb-config-card {
            border: 1px solid color-mix(in srgb, var(--primary) 10%, transparent);
            background: #fff;
            box-shadow: 0 10px 30px color-mix(in srgb, var(--primary) 5%, transparent);
        }

        .qb-step-card {
            position: relative;
            margin-bottom: 20px;
            padding: 22px;
            border-radius: 18px;
            overflow: hidden;
        }

        .qb-step-header {
            position: relative;
            z-index: 2;
            display: flex;
            align-items: flex-start;
            gap: 14px;
            margin-bottom: 18px;
        }

        .qb-step-num {
            width: 36px;
            height: 36px;
            flex: 0 0 36px;
            display: grid;
            place-items: center;
            border-radius: 10px;
            background: var(--primary);
            color: #fff;
            font-size: 14px;
            font-weight: 800;
            box-shadow: 0 6px 14px color-mix(in srgb, var(--primary) 18%, transparent);
        }

        .qb-step-header h2 {
            margin: 0;
            color: var(--primary);
            font-size: 17px;
            font-weight: 800;
            line-height: 1.25;
        }

        .qb-step-header p {
            margin: 4px 0 0;
            color: var(--on-surface-variant);
            font-size: 12.5px;
            line-height: 1.5;
        }

        /* Subject empty state */

        .qb-subject-empty {
            min-height: 150px;
            display: grid;
            place-items: center;
            align-content: center;
            padding: 22px;
            border: 1px dashed color-mix(in srgb, var(--primary) 20%, transparent);
            border-radius: 14px;
            background: color-mix(in srgb, var(--primary-fixed) 4%, #fff);
            text-align: center;
        }

        .qb-subject-empty .material-symbols-outlined {
            margin-bottom: 8px;
            color: var(--primary);
            font-size: 36px;
        }

        .qb-subject-empty h4 {
            margin: 0 0 4px;
            color: var(--primary);
            font-size: 14.5px;
            font-weight: 800;
        }

        .qb-subject-empty p {
            max-width: 460px;
            margin: 0;
            color: var(--on-surface-variant);
            font-size: 12px;
            line-height: 1.5;
        }

        /* Selectable cards */

        .qb-selection-grid {
            position: relative;
            z-index: 2;
            display: grid;
            gap: 12px;
        }

        .qb-count-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .qb-select-card {
            position: relative;
            padding: 15px 12px;
            border: 1px solid color-mix(in srgb, var(--primary) 12%, transparent);
            border-radius: 14px;
            background: #fff;
            cursor: pointer;
            transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
        }

        .qb-select-card:hover {
            transform: translateY(-3px);
            border-color: color-mix(in srgb, var(--primary) 30%, transparent);
            box-shadow: 0 10px 22px color-mix(in srgb, var(--primary) 8%, transparent);
        }

        .qb-select-card.active {
            border-color: var(--primary);
            background: color-mix(in srgb, var(--primary-fixed) 8%, #fff);
            box-shadow: 0 8px 20px color-mix(in srgb, var(--primary) 10%, transparent);
        }

        .qb-select-card.active::after {
            content: "check";
            position: absolute;
            top: 8px;
            right: 8px;
            width: 18px;
            height: 18px;
            display: grid;
            place-items: center;
            border-radius: 50%;
            background: var(--primary);
            color: #fff;
            font-family: "Material Symbols Outlined";
            font-size: 12px;
            font-variation-settings: 'FILL' 1;
        }

        .qb-select-title {
            margin-bottom: 4px;
            color: var(--primary);
            font-size: 13px;
            font-weight: 800;
        }

        .qb-select-sub {
            margin-bottom: 9px;
            color: var(--on-surface-variant);
            font-size: 10.5px;
            line-height: 1.4;
        }

        .qb-price-pill {
            display: inline-flex;
            padding: 4px 8px;
            border-radius: 6px;
            background: color-mix(in srgb, var(--secondary-fixed) 30%, #fff);
            color: var(--on-tertiary-fixed-variant);
            font-size: 11.5px;
            font-weight: 800;
        }

        /* Difficulty */

        .qb-section-label {
            display: block;
            margin: 4px 0 9px;
            color: var(--primary);
            font-size: 11.5px;
            font-weight: 800;
            letter-spacing: .06em;
            text-transform: uppercase;
        }

        .qb-difficulty-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 12px;
            margin-bottom: 22px;
        }

        .qb-diff-card {
            text-align: center;
            padding: 13px 10px;
        }

        .qb-diff-title {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
            margin-bottom: 4px;
            color: var(--primary);
            font-size: 12.5px;
            font-weight: 800;
        }

        .qb-diff-title .material-symbols-outlined {
            font-size: 17px;
        }

        .qb-diff-card.easy .qb-diff-title .material-symbols-outlined { color: var(--primary-fixed); }
        .qb-diff-card.medium .qb-diff-title .material-symbols-outlined { color: var(--on-primary-container); }
        .qb-diff-card.hard .qb-diff-title .material-symbols-outlined { color: #b45309; }
        .qb-diff-card.adaptive .qb-diff-title .material-symbols-outlined { color: var(--secondary-container); }

        .qb-diff-desc {
            color: var(--on-surface-variant);
            font-size: 10.5px;
            line-height: 1.4;
        }

        /* Test mode */

        .qb-mode-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px;
        }

        .qb-mode-card {
            min-height: 95px;
            padding: 15px;
        }

        .qb-mode-header {
            display: flex;
            align-items: center;
            gap: 7px;
            margin-bottom: 6px;
            color: var(--primary);
            font-size: 13px;
            font-weight: 800;
        }

        .qb-mode-header .material-symbols-outlined {
            color: var(--primary);
            font-size: 19px;
        }

        .qb-mode-desc {
            margin: 0;
            color: var(--on-surface-variant);
            font-size: 11.5px;
            line-height: 1.5;
        }

        /* =========================================================
           CONFIGURATION SIDEBAR
           ========================================================= */

        .qb-sidebar {
            position: sticky;
            top: 20px;
        }

        .qb-config-card {
            overflow: hidden;
            border-radius: 18px;
        }

        .qb-config-head {
            padding: 18px 20px;
            background: var(--primary);
            color: #fff;
        }

        .qb-config-title {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 15px;
            font-weight: 800;
        }

        .qb-config-title .material-symbols-outlined {
            color: var(--secondary-fixed);
            font-size: 19px;
        }

        .qb-config-subtitle {
            margin: 4px 0 0 27px;
            color: color-mix(in srgb, #fff 75%, transparent);
            font-size: 11px;
        }

        .qb-config-body {
            padding: 18px;
        }

        .qb-user-box {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 15px;
            padding: 11px;
            border-radius: 12px;
            background: color-mix(in srgb, var(--primary-fixed) 6%, #fff);
            border: 1px solid color-mix(in srgb, var(--primary) 8%, transparent);
        }

        .qb-user-info {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .qb-user-avatar {
            width: 34px;
            height: 34px;
            display: grid;
            place-items: center;
            border-radius: 9px;
            background: var(--primary);
            color: #fff;
        }

        .qb-user-avatar .material-symbols-outlined {
            font-size: 19px;
        }

        .qb-user-info strong {
            display: block;
            color: var(--primary);
            font-size: 12.5px;
            font-weight: 800;
        }

        .qb-user-info small {
            display: block;
            margin-top: 1px;
            color: var(--on-surface-variant);
            font-size: 10.5px;
        }

        .qb-sign-btn {
            padding: 5px 13px;
            border: 1px solid color-mix(in srgb, var(--primary) 20%, transparent);
            border-radius: 8px;
            color: var(--primary);
            background: #fff;
            text-decoration: none;
            font-size: 11px;
            font-weight: 800;
            transition: all .2s ease;
        }

        .qb-sign-btn:hover {
            background: var(--primary);
            color: #fff;
        }

        .qb-summary {
            margin: 0;
        }

        .qb-meta-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 15px;
            padding: 9px 0;
            border-bottom: 1px dashed color-mix(in srgb, var(--primary) 12%, transparent);
            font-size: 12px;
        }

        .qb-meta-label {
            color: var(--on-surface-variant);
        }

        .qb-meta-val {
            color: var(--primary);
            font-weight: 800;
            text-align: right;
        }

        .qb-included-pill {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            color: var(--primary-container);
            font-weight: 800;
        }

        .qb-included-pill .material-symbols-outlined {
            font-size: 15px;
        }

        .qb-price-box {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            margin: 18px 0 15px;
            padding: 12px 15px;
            border-radius: 12px;
            background: color-mix(in srgb, var(--secondary-fixed) 20%, #fff);
        }

        .qb-price-label {
            color: var(--on-surface-variant);
            font-size: 11px;
            font-weight: 700;
        }

        .qb-price {
            margin: 0;
            color: var(--primary);
            font-size: 26px;
            font-weight: 800;
            line-height: 1;
        }

        .qb-action {
            width: 100%;
            min-height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            border-radius: 10px;
            font-size: 12.5px;
            font-weight: 800;
            cursor: pointer;
            transition: all .25s ease;
        }

        .qb-action .material-symbols-outlined {
            font-size: 17px;
        }

        .qb-action.cart {
            margin-bottom: 9px;
            border: 1px solid color-mix(in srgb, var(--primary) 20%, transparent);
            background: #fff;
            color: var(--primary);
        }

        .qb-action.buy {
            border: 1px solid var(--primary);
            background: var(--primary);
            color: #fff;
            box-shadow: 0 8px 20px color-mix(in srgb, var(--primary) 18%, transparent);
        }

        .qb-action:hover {
            transform: translateY(-2px);
        }

        .qb-action.cart:hover {
            border-color: var(--primary);
            background: color-mix(in srgb, var(--primary-fixed) 8%, #fff);
        }

        .qb-action.buy:hover {
            background: var(--primary-container);
        }

        .qb-guarantee-note {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
            margin-top: 12px;
            color: var(--on-surface-variant);
            font-size: 10.5px;
            text-align: center;
            line-height: 1.4;
        }

        .qb-guarantee-note .material-symbols-outlined {
            color: var(--primary);
            font-size: 15px;
        }

        /* =========================================================
           RESPONSIVE
           ========================================================= */

        @media (max-width: 1100px) {
            .qb-hero-inner {
                grid-template-columns: minmax(0, 1fr) 320px;
                gap: 34px;
            }

            .qb-main-content {
                grid-template-columns: minmax(0, 1fr) 320px;
            }
        }

        @media (max-width: 900px) {
            .qb-hero {
                padding: 30px 20px 34px;
            }

            .qb-hero-inner,
            .qb-main-content {
                grid-template-columns: 1fr;
            }

            .qb-hero-copy {
                max-width: 760px;
            }

            .qb-hero-visual {
                max-width: 360px;
                width: 100%;
                margin: 4px auto 0;
            }

            .qb-sidebar {
                position: static;
            }
        }

        @media (max-width: 640px) {
            .qb-hero {
                padding: 26px 16px 30px;
                border-radius: 0 0 20px 20px;
            }

            .qb-hero h1 {
                font-size: 28px;
                line-height: 1.12;
            }

            .qb-hero-description {
                font-size: 12px;
                margin-bottom: 17px;
            }

            .qb-hero-actions {
                gap: 8px;
            }

            .qb-hero-btn {
                min-height: 38px;
                padding: 0 14px;
            }

            .qb-visual-board {
                width: 100%;
                max-width: 340px;
                min-height: 125px;
                padding: 16px;
            }

            .qb-main-content {
                width: min(100% - 24px, 1240px);
                margin-top: 20px;
            }

            .qb-step-card {
                padding: 16px;
            }

            .qb-count-grid,
            .qb-difficulty-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .qb-mode-grid {
                grid-template-columns: 1fr;
            }

            .qb-config-body {
                padding: 15px;
            }
        }
    
/* Extracted from termsandcondition.php */

        /* =========================================
           TERMS & CONDITIONS
        ========================================= */

        .terms-page {
            background: #f6f9f8;
            color: var(--primary, #064E2A);
            overflow: hidden;
            font-family: 'Plus Jakarta Sans', sans-serif;
        }

        /* Hero */
        .terms-hero {
            position: relative;
            min-height: 220px;
            display: flex;
            align-items: center;
            overflow: hidden;
            background: #fbf8ef;
            border-bottom: 1px solid var(--surface-container-high, #e2e8f0);
        }

        .terms-hero::before {
            content: "";
            position: absolute;
            width: 520px;
            height: 520px;
            left: -300px;
            bottom: -390px;
            border: 1px solid rgba(0, 77, 58, .08);
            border-radius: 50%;
        }

        .terms-hero::after {
            content: "";
            position: absolute;
            width: 430px;
            height: 430px;
            right: -210px;
            top: -270px;
            border: 1px solid rgba(255, 208, 70, .18);
            border-radius: 50%;
        }

        .terms-hero-inner {
            position: relative;
            z-index: 2;
            width: min(1100px, calc(100% - 40px));
            margin: 0 auto;
            padding: 48px 0 45px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 40px;
        }

        .terms-hero-content {
            max-width: 690px;
        }

        .terms-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 11px;
            margin-bottom: 14px;
            color: #c47a00;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 1.4px;
            text-transform: uppercase;
        }

        .terms-eyebrow::before,
        .terms-eyebrow::after {
            content: "";
            width: 34px;
            height: 1px;
            background: #c47a00;
            opacity: .55;
        }

        .terms-hero h1 {
            margin: 0;
            color: var(--primary, #064E2A);
            font-family: 'Playfair Display', Georgia, serif;
            font-size: clamp(34px, 4.2vw, 54px);
            line-height: 1.1;
            letter-spacing: -1.2px;
        }

        .terms-hero h1 span {
            color: #d57b00;
        }

        .terms-hero-description {
            max-width: 650px;
            margin: 14px 0 0;
            color: var(--on-surface-variant, #475569);
            font-size: 14.5px;
            line-height: 1.65;
        }

        .terms-hero-mark {
            position: relative;
            width: 180px;
            height: 130px;
            flex: 0 0 180px;
            display: grid;
            place-items: center;
            border-radius: 100px 20px 20px 100px;
            background: linear-gradient(135deg, rgba(0,77,58,.88), rgba(6,78,42,.98));
            overflow: hidden;
        }

        .terms-hero-mark::before {
            content: "";
            position: absolute;
            width: 200px;
            height: 200px;
            right: -95px;
            top: -80px;
            border: 1px solid rgba(255,224,136,.35);
            border-radius: 50%;
        }

        .terms-hero-mark .material-symbols-outlined {
            position: relative;
            z-index: 2;
            color: var(--secondary-fixed, #FFB703);
            font-size: 58px;
        }

        /* Content */
        .terms-content {
            width: min(920px, calc(100% - 40px));
            margin: 0 auto;
            padding: 35px 0 65px;
        }

        .terms-list {
            display: grid;
            gap: 12px;
        }

        .term-card {
            position: relative;
            display: grid;
            grid-template-columns: 56px minmax(0, 1fr) 60px;
            align-items: center;
            min-height: 76px;
            padding: 16px 20px 16px 16px;
            border: 1px solid rgba(0, 77, 58, .08);
            border-left: 3px solid #16a26e;
            border-radius: 14px;
            background: #ffffff;
            box-shadow: 0 4px 18px rgba(6,78,42,.03);
            overflow: hidden;
            transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
        }

        .term-card:hover {
            transform: translateY(-2px);
            border-left-color: var(--secondary-container, #FFB703);
            box-shadow: 0 10px 26px rgba(6,78,42,.07);
        }

        .term-icon {
            width: 44px;
            height: 44px;
            display: grid;
            place-items: center;
            border-radius: 12px;
            color: var(--primary, #064E2A);
            background: #e0f8ed;
        }

        .term-card:nth-child(odd) .term-icon {
            color: #d58a00;
            background: #fff1c9;
        }

        .term-icon .material-symbols-outlined {
            font-size: 21px;
        }

        .term-copy {
            padding-right: 15px;
        }

        .term-copy h2 {
            margin: 0 0 4px;
            color: var(--primary, #064E2A);
            font-family: 'Playfair Display', Georgia, serif;
            font-size: 18px;
            line-height: 1.25;
            font-weight: 700;
        }

        .term-copy p {
            max-width: 760px;
            margin: 0;
            color: var(--on-surface-variant, #475569);
            font-size: 13.5px;
            line-height: 1.55;
        }

        .term-number {
            justify-self: end;
            color: rgba(0, 77, 58, .1);
            font-family: 'Playfair Display', Georgia, serif;
            font-size: 38px;
            line-height: 1;
            font-weight: 800;
            letter-spacing: -2px;
        }

        /* Final note */
        .terms-note {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-top: 20px;
            padding: 16px 18px;
            border: 1px solid rgba(0,77,58,.08);
            border-radius: 12px;
            background: #fff;
        }

        .terms-note-icon {
            width: 34px;
            height: 34px;
            flex: 0 0 34px;
            display: grid;
            place-items: center;
            border-radius: 9px;
            background: #fff0c7;
            color: #b87300;
        }

        .terms-note p {
            margin: 0;
            color: var(--on-surface-variant, #475569);
            font-size: 13.5px;
            line-height: 1.55;
        }

        /* Responsive */
        @media (max-width: 800px) {
            .terms-hero-inner {
                padding: 38px 0;
            }

            .terms-hero-mark {
                width: 140px;
                height: 110px;
                flex-basis: 140px;
            }

            .terms-hero-mark .material-symbols-outlined {
                font-size: 46px;
            }

            .term-card {
                grid-template-columns: 50px minmax(0, 1fr) 45px;
            }
        }

        @media (max-width: 620px) {
            .terms-hero-inner {
                width: min(100% - 28px, 560px);
            }

            .terms-hero-content {
                max-width: 100%;
            }

            .terms-hero-mark {
                display: none;
            }

            .terms-hero h1 {
                font-size: 34px;
                letter-spacing: -0.8px;
            }

            .terms-content {
                width: min(100% - 28px, 560px);
                padding-top: 20px;
            }

            .term-card {
                grid-template-columns: 44px minmax(0, 1fr);
                padding: 14px 14px 14px 10px;
            }

            .term-icon {
                width: 38px;
                height: 38px;
                border-radius: 10px;
            }

            .term-icon .material-symbols-outlined {
                font-size: 18px;
            }

            .term-copy {
                padding-right: 0;
            }

            .term-copy h2 {
                font-size: 15px;
            }

            .term-copy p {
                font-size: 12.5px;
            }

            .term-number {
                position: absolute;
                right: 12px;
                bottom: 8px;
                font-size: 26px;
                opacity: 0.5;
            }
        }
    
/* Extracted from test-series.php */

        /* =========================================================
           ROOT & BASE PAGE RESETS
           ========================================================= */
        body {
            background-color: var(--surface-container-lowest);
            color: var(--primary);
            margin: 0;
            padding: 0;
        }

        .test-series-page {
            min-height: calc(100vh - 100px);
            background: var(--surface-container-lowest);
            color: var(--primary);
            overflow-x: clip;
            margin-top: 0 !important;
            padding-top: 0 !important;
        }

        /* =========================================================
           HERO SECTION (SPACED DOWN ACCURATELY)
           ========================================================= */
        .ts-hero {
            position: relative;
            isolation: isolate;
            padding: 38px 24px 45px; /* Brought down with 38px top padding */
            background: var(--surface-bright);
            overflow: hidden;
        }

        /* Ambient Glows */
        .ts-hero::before {
            content: "";
            position: absolute;
            width: 500px;
            height: 500px;
            right: -60px;
            top: -120px;
            background: radial-gradient(circle, color-mix(in srgb, var(--primary-fixed) 25%, transparent) 0%, color-mix(in srgb, var(--primary-fixed) 5%, transparent) 50%, transparent 70%);
            z-index: -1;
            pointer-events: none;
            filter: blur(40px);
        }

        .ts-hero::after {
            content: "";
            position: absolute;
            width: 400px;
            height: 400px;
            left: -100px;
            bottom: -100px;
            background: radial-gradient(circle, color-mix(in srgb, var(--primary-fixed) 20%, transparent) 0%, transparent 60%);
            z-index: -1;
            pointer-events: none;
            filter: blur(40px);
        }

        .ts-hero-inner {
            width: 100%;
            max-width: 1220px;
            margin: 0 auto;
        }

        .ts-hero-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.15fr) minmax(430px, 1fr);
            align-items: center;
            gap: 32px;
        }

        /* =========================================================
           HERO LEFT COPY
           ========================================================= */
        .ts-hero-copy {
            max-width: 540px;
            position: relative;
            z-index: 2;
            margin-top: 10px;
        }

        .ts-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 12px;
            padding: 4px 12px;
            border-radius: 20px;
            background: color-mix(in srgb, var(--primary-fixed) 15%, transparent);
            color: var(--primary);
            font-size: 10px;
            font-weight: 800;
            letter-spacing: .5px;
            text-transform: uppercase;
        }

        .ts-eyebrow .material-symbols-outlined {
            font-size: 13px;
            color: var(--secondary-container);
        }

        .ts-hero-copy h1 {
            margin: 0;
            color: var(--primary);
            font-family: var(--font-display);
            font-size: clamp(28px, 3.2vw, 42px);
            line-height: 1.18;
            font-weight: 700;
            letter-spacing: -0.4px;
        }

        .ts-hero-copy h1 span {
            color: #FFB703 !important;
        }

        .ts-hero-copy p {
            margin: 12px 0 20px;
            color: var(--on-surface-variant);
            font-size: 13px;
            line-height: 1.55;
            max-width: 440px;
        }

        /* Buttons */
        .ts-hero-actions {
            display: flex;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
        }

        .ts-primary-btn {
            display: inline-flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            min-height: 42px;
            padding: 4px 5px 4px 18px;
            border-radius: 24px;
            background: var(--primary);
            color: #fff;
            text-decoration: none;
            font-size: 13px;
            font-weight: 700;
            box-shadow: 0 8px 18px color-mix(in srgb, var(--primary) 25%, transparent);
            transition: transform .25s ease, box-shadow .25s ease;
        }

        .ts-primary-btn:hover {
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 12px 24px color-mix(in srgb, var(--primary) 35%, transparent);
        }

        .ts-primary-btn .btn-left-content {
            display: inline-flex;
            align-items: center;
            gap: 7px;
        }

        .ts-primary-btn .btn-left-content .material-symbols-outlined {
            font-size: 16px;
            color: var(--primary-fixed);
        }

        .ts-btn-arrow {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: var(--secondary-fixed);
            color: var(--primary);
        }

        .ts-btn-arrow .material-symbols-outlined {
            font-size: 16px;
            font-weight: 700;
        }

        .ts-secondary-btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            min-height: 42px;
            padding: 0 18px;
            border-radius: 24px;
            background: var(--surface-container-lowest);
            color: var(--primary-container);
            text-decoration: none;
            font-size: 13px;
            font-weight: 700;
            border: 1px solid color-mix(in srgb, var(--primary-container) 20%, transparent);
            box-shadow: 0 4px 12px color-mix(in srgb, var(--primary) 4%, transparent);
            transition: all .25s ease;
        }

        .ts-secondary-btn:hover {
            background: var(--surface-container-high);
            transform: translateY(-2px);
            color: var(--primary);
        }

        .ts-secondary-btn .material-symbols-outlined {
            font-size: 16px;
            color: var(--primary-container);
        }

        /* Feature List */
        .ts-features-list {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 10px;
            margin-top: 22px;
            padding-top: 16px;
            border-top: 1px solid var(--surface-variant);
        }

        .ts-feature-item {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 10px;
            font-weight: 700;
            color: var(--primary);
            line-height: 1.2;
        }

        .ts-feature-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 28px;
            height: 28px;
            border-radius: 7px;
            background: color-mix(in srgb, var(--primary-fixed) 20%, transparent);
            color: var(--primary-container);
            flex-shrink: 0;
        }

        .ts-feature-icon.yellow {
            background: color-mix(in srgb, var(--secondary-fixed) 30%, transparent);
            color: var(--on-tertiary-fixed-variant);
        }

        .ts-feature-icon .material-symbols-outlined {
            font-size: 14px;
        }

        /* =========================================================
           HERO RIGHT VISUAL
           ========================================================= */
        .ts-visual-wrapper {
            position: relative;
            width: 100%;
            height: 350px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .ts-main-image {
            position: relative;
            z-index: 2;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center top;
            border-radius: 16px;
        }

        /* Floating Badges */
        .ts-floating-card {
            position: absolute;
            z-index: 5;
            background: var(--surface-container-lowest);
            border-radius: 10px;
            padding: 7px 11px;
            display: flex;
            align-items: center;
            gap: 8px;
            box-shadow: 0 8px 20px color-mix(in srgb, var(--primary) 8%, transparent);
            border: 1px solid var(--surface-container-high);
            animation: floatGently 6s ease-in-out infinite;
        }

        .ts-floating-card .card-icon {
            width: 26px;
            height: 26px;
            border-radius: 6px;
            display: grid;
            place-items: center;
            flex-shrink: 0;
        }

        .ts-floating-card .card-icon .material-symbols-outlined {
            font-size: 15px;
        }

        .ts-floating-card .card-text strong {
            display: block;
            font-size: 10.5px;
            font-weight: 800;
            color: var(--primary);
            line-height: 1.2;
        }

        .ts-floating-card .card-text small {
            display: block;
            font-size: 8px;
            color: var(--on-surface-variant);
            font-weight: 500;
            margin-top: 1px;
        }

        .badge-students {
            top: 20px;
            left: -15px;
            animation-delay: 0s;
        }
        .badge-students .card-icon {
            background: color-mix(in srgb, var(--primary-fixed) 20%, transparent);
            color: var(--primary-container);
        }

        .badge-rankings {
            top: 100px;
            left: -25px;
            animation-delay: 1.5s;
        }
        .badge-rankings .card-icon {
            background: color-mix(in srgb, var(--secondary-fixed) 30%, transparent);
            color: var(--on-tertiary-fixed-variant);
        }

        .badge-rank {
            top: 10px;
            right: -10px;
            animation-delay: 2.2s;
            padding: 8px 14px;
        }
        .badge-rank .card-icon {
            background: transparent;
            color: var(--secondary-container);
            width: auto;
            height: auto;
        }
        .badge-rank .card-icon .material-symbols-outlined {
            font-size: 26px;
        }
        .badge-rank .card-text {
            text-align: left;
        }
        .badge-rank .card-text small:first-child {
            color: var(--on-surface-variant);
            font-weight: 700;
            font-size: 8.5px;
        }
        .badge-rank .card-text strong {
            font-size: 16px;
            margin: 1px 0;
        }
        .badge-rank .card-text small:last-child {
            color: color-mix(in srgb, var(--on-surface-variant) 80%, transparent);
            font-size: 8px;
        }

        .badge-analysis {
            top: 95px;
            right: -20px;
            animation-delay: 3s;
        }
        .badge-analysis .card-icon {
            background: color-mix(in srgb, var(--primary-fixed) 20%, transparent);
            color: var(--primary-container);
        }

        @keyframes floatGently {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-5px); }
        }

        .decor-text {
            position: absolute;
            font-family: var(--font-display);
            font-style: italic;
            font-weight: 700;
            color: var(--primary);
            opacity: 0.8;
            z-index: 4;
        }

        .decor-compete {
            top: -5px;
            right: 150px;
            font-size: 15px;
            line-height: 1.1;
            transform: rotate(-10deg);
        }

        .decor-small-tests {
            bottom: 30px;
            right: -20px;
            font-size: 12px;
            line-height: 1.1;
            color: var(--on-surface-variant);
        }

        .decor-plane {
            position: absolute;
            bottom: 75px;
            right: -10px;
            color: var(--on-surface-variant);
            font-size: 18px;
            transform: rotate(-15deg);
        }

        /* =========================================================
           COMPACT FILTER BAR
           ========================================================= */
        .ts-filter-wrapper {
            position: relative;
            max-width: 1100px;
            margin: -25px auto 30px;
            z-index: 10;
            padding: 0 20px;
        }

        .ts-filter-bar {
            background: var(--surface-container-lowest);
            border-radius: 16px;
            padding: 8px 10px 8px 14px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            box-shadow: 0 12px 30px color-mix(in srgb, var(--primary) 6%, transparent);
            border: 1px solid var(--surface-container-high);
        }

        .ts-tabs {
            display: flex;
            align-items: center;
            gap: 8px;
            overflow-x: auto;
            scrollbar-width: none;
        }
        .ts-tabs::-webkit-scrollbar {
            display: none;
        }

        .ts-tab {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 8px 14px;
            border-radius: 10px;
            background: var(--surface-container-high);
            color: var(--on-surface-variant);
            font-size: 11px;
            font-weight: 700;
            text-decoration: none;
            white-space: nowrap;
            transition: all 0.2s ease;
            border: 1px solid transparent;
        }

        .ts-tab:hover {
            background: var(--surface-variant);
            color: var(--primary);
        }

        .ts-tab.active {
            background: var(--primary);
            color: var(--surface-container-lowest);
            box-shadow: 0 6px 14px color-mix(in srgb, var(--primary) 20%, transparent);
        }

        .ts-tab .material-symbols-outlined {
            font-size: 15px;
        }

        .ts-search {
            position: relative;
            min-width: 260px;
        }

        .ts-search input {
            width: 100%;
            height: 40px;
            padding: 0 45px 0 38px;
            border: 1px solid var(--surface-variant);
            border-radius: 20px;
            outline: none;
            background: var(--surface-container-lowest);
            color: var(--primary);
            font-size: 11.5px;
            transition: border-color .25s ease;
        }

        .ts-search input:focus {
            border-color: var(--primary-container);
        }

        .ts-search .search-icon {
            position: absolute;
            left: 12px;
            top: 50%;
            transform: translateY(-50%);
            color: var(--on-surface-variant);
            font-size: 16px;
        }

        .ts-search button {
            position: absolute;
            right: 4px;
            top: 4px;
            width: 32px;
            height: 32px;
            display: grid;
            place-items: center;
            border: 0;
            border-radius: 50%;
            background: var(--primary);
            color: #fff;
            cursor: pointer;
        }

        .ts-search button .material-symbols-outlined {
            font-size: 15px;
        }

        /* =========================================================
           CONTENT SECTION: PROMO CARDS & EMPTY STATE
           ========================================================= */
        .ts-content-container {
            width: 100%;
            max-width: 1100px;
            margin: 0 auto;
            padding: 0 20px 60px;
        }

        .ts-promo-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 18px;
            margin-bottom: 35px;
        }

        .ts-promo-card {
            position: relative;
            border-radius: 16px;
            padding: 20px;
            background: color-mix(in srgb, var(--primary-fixed) 8%, var(--surface-container-lowest));
            border: 1px solid color-mix(in srgb, var(--primary) 12%, transparent);
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            min-height: 150px;
        }

        .ts-promo-card-bg-icon {
            position: absolute;
            right: -10px;
            bottom: -15px;
            font-size: 95px;
            color: color-mix(in srgb, var(--primary) 6%, transparent);
            pointer-events: none;
            user-select: none;
        }

        .ts-promo-header {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 10px;
        }

        .ts-promo-icon {
            font-size: 18px;
            color: var(--primary);
        }

        .ts-promo-title {
            font-size: 10.5px;
            font-weight: 800;
            letter-spacing: .5px;
            text-transform: uppercase;
            color: var(--primary);
        }

        .ts-promo-pill {
            font-size: 8.5px;
            font-weight: 800;
            padding: 2px 6px;
            border-radius: 8px;
            background: var(--primary);
            color: var(--surface-container-lowest);
            letter-spacing: .4px;
            text-transform: uppercase;
        }

        .ts-promo-card h3 {
            margin: 0 0 15px;
            font-size: 15.5px;
            font-weight: 750;
            color: var(--primary);
            line-height: 1.35;
            position: relative;
            z-index: 2;
        }

        .ts-promo-link {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 5px 12px;
            border-radius: 14px;
            background: var(--surface-container-lowest);
            color: var(--primary);
            font-size: 11px;
            font-weight: 700;
            text-decoration: none;
            border: 1px solid color-mix(in srgb, var(--primary) 15%, transparent);
            width: fit-content;
            position: relative;
            z-index: 2;
            transition: all 0.2s ease;
        }

        .ts-promo-link:hover {
            background: var(--primary);
            color: var(--surface-container-lowest);
        }

        .ts-promo-link .material-symbols-outlined {
            font-size: 14px;
        }

        .ts-heading-row {
            margin-bottom: 20px;
        }

        .ts-heading-row h2 {
            margin: 0;
            font-size: 21px;
            font-weight: 800;
            color: var(--primary);
            letter-spacing: -.4px;
        }

        .ts-heading-row p {
            margin: 4px 0 0;
            color: var(--on-surface-variant);
            font-size: 12px;
        }

        .ts-empty-card {
            border: 1px solid color-mix(in srgb, var(--primary) 10%, transparent);
            border-radius: 16px;
            background: var(--surface-container-lowest);
            padding: 45px 20px;
            text-align: center;
            box-shadow: 0 6px 20px color-mix(in srgb, var(--primary) 4%, transparent);
        }

        .ts-empty-icon {
            font-size: 46px;
            color: color-mix(in srgb, var(--primary) 40%, transparent);
            margin-bottom: 10px;
        }

        .ts-empty-card h4 {
            margin: 0 0 5px;
            font-size: 16.5px;
            font-weight: 800;
            color: var(--primary);
        }

        .ts-empty-card p {
            margin: 0 auto 18px;
            font-size: 12px;
            color: var(--on-surface-variant);
            max-width: 360px;
        }

        .ts-empty-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 8px 20px;
            border-radius: 18px;
            background: var(--primary);
            color: var(--surface-container-lowest);
            font-size: 11.5px;
            font-weight: 700;
            text-decoration: none;
            border: none;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .ts-empty-btn:hover {
            background: var(--primary-container);
            color: var(--surface-container-lowest);
            transform: translateY(-1px);
        }

        /* =========================================================
           RESPONSIVE BREAKPOINTS
           ========================================================= */
        @media (max-width: 1100px) {
            .ts-hero-grid {
                grid-template-columns: 1fr;
                gap: 35px;
            }
            .ts-hero-copy {
                max-width: 100%;
                text-align: center;
            }
            .ts-hero-copy p {
                margin: 12px auto 20px;
            }
            .ts-hero-actions {
                justify-content: center;
            }
            .ts-features-list {
                max-width: 540px;
                margin: 22px auto 0;
            }
            .ts-filter-bar {
                flex-direction: column;
                align-items: stretch;
            }
            .ts-visual-wrapper {
                height: 300px;
                max-width: 520px;
                margin: 0 auto;
            }
        }

        @media (max-width: 768px) {
            .ts-promo-grid {
                grid-template-columns: 1fr;
                gap: 14px;
            }
        }

        @media (max-width: 640px) {
            .ts-features-list {
                grid-template-columns: repeat(2, 1fr);
                gap: 12px;
            }
            .ts-hero-copy h1 {
                font-size: 28px;
            }
            .ts-visual-wrapper {
                height: 250px;
            }
            .ts-floating-card, .decor-text, .decor-plane {
                display: none;
            }
        }
    
/* Extracted from footer.php */

/* Footer Styles */
.site-footer {
  width: 100%;
  background-color: var(--primary, #064E2A);
  color: var(--surface-container, #f3f3f3);
  border-top: 1px solid var(--primary-container, #004d3a);
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif);
}
.footer-inner {
  max-width: 80rem;
  margin: 0 auto;
  padding: 4rem 1.5rem 3rem;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media (min-width: 768px) {
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .footer-grid { grid-template-columns: repeat(4, 1fr); }
}

.footer-col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.footer-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.footer-logo {
  height: 4rem;
  width: auto;
  object-fit: contain;
  /*background-color: #fff;*/
  padding: 0.25rem;
  border-radius: 0.125rem;
}
.footer-brand-text {
  display: flex;
  flex-direction: column;
}
.footer-brand-title {
  font-family: var(--font-display, 'Playfair Display', serif);
  color: var(--surface-bright, #FFF8DC);
  font-size: 1.125rem;
  line-height: 1.25;
}
.footer-brand-subtitle {
  color: var(--secondary-fixed, #FFB703);
  font-size: 10px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.footer-desc {
  color: var(--surface-container-high, #dfebe6);
  font-size: 0.875rem;
  line-height: 1.625;
}

.footer-social {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.social-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background-color: var(--primary-container, #004d3a);
  color: var(--surface-bright, #FFF8DC);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.3s ease;
}
.social-icon:hover {
  background-color: var(--secondary-container, #FFB703);
  color: var(--on-secondary-fixed, #241a00);
}
.social-icon span {
  font-size: 18px !important;
}

.footer-title {
  color: var(--secondary-fixed, #FFB703);
  font-weight: bold;
  font-size: 1.125rem;
  border-bottom: 1px solid var(--primary-container, #004d3a);
  padding-bottom: 0.5rem;
  margin-bottom: 0.75rem;
  display: block;
}
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.footer-links li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--surface-container-high, #dfebe6);
  font-size: 0.875rem;
}
.footer-links li span {
  color: var(--secondary-fixed, #FFB703);
  font-size: 14px !important;
}
.footer-links a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}
.footer-links a:hover {
  color: var(--secondary-fixed, #FFB703);
}

.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  color: var(--surface-container-high, #dfebe6);
  font-size: 0.875rem;
}
.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
}
.footer-contact-item span.material-symbols-outlined {
  color: var(--secondary-fixed, #FFB703);
  font-size: 18px !important;
  margin-top: 0.125rem;
}
.contact-verified {
  font-size: 0.75rem;
  color: var(--primary-fixed, #68fec3);
}

.footer-bottom {
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(0, 77, 58, 0.8);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.75rem;
  color: var(--on-primary-container, #79a694);
}
@media (min-width: 768px) {
  .footer-bottom { flex-direction: row; }
}

/* Extracted from header.php */

:root {
  /* Site Theme Colors */
  --theme-primary: #064E2A;
  --theme-hover: #16604b;
  --theme-mint: #68fec3;
  --theme-gold: #FFB703;
  --text-dark: #1e293b;
  --text-slate: #475569;
  --badge-green-bg: #dcfce7;
  --badge-green-text: #16a34a;
  --badge-red: #ef4444;
  --header-offset: 98px; /* UPDATED (was 86px) */
}

*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  background-color: #f8fafc;
  padding-top: var(--header-offset);
  overflow-x: hidden;
}

/* --- Header Shell --- */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* --- Top Bar --- */
.top-bar {
  background-color: var(--theme-primary);
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 500;
  padding: 0.32rem 2rem;
}

.top-bar-inner {
  width: 100%;
  padding: 0 1rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2rem;
}

.top-bar-item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  white-space: nowrap;
}

.top-bar-item .material-symbols-outlined {
  font-size: 15px !important;
  color: var(--theme-mint);
}

/* --- Navbar Container --- */
.navbar-container {
  width: 100%;
  margin: 0 auto;
  padding: 6px 3rem; /* UPDATED (was 8px 3rem) */
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

/* --- Left Brand Logo --- */
.brand-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
  min-width: 0;
}

.brand-logo {
  height: 5rem; /* UPDATED (was 4rem) */
  width: auto;
  object-fit: contain;
  transition: height 0.2s ease;
}

.brand-text {
  display: flex;
  flex-direction: column;
}

.brand-name {
  color: var(--theme-primary);
  font-size: 1.50rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  white-space: nowrap;
}

.brand-tagline {
  color: var(--theme-gold);
  font-size: 0.80rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  white-space: nowrap;
}

/* --- Nav Menu --- */
.nav-list {
  display: flex;
  align-items: center;
  gap: 1.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-link {
  color: var(--text-dark);
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 0;
  white-space: nowrap;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  transition: color 0.15s ease;
}

.nav-link:hover,
.dropdown-wrapper:hover .nav-link,
.dropdown-wrapper.is-open .nav-link {
  color: var(--theme-hover);
}

/* Specific Icons */
.icon-home {
  font-size: 20px;
  color: #334155;
  font-variation-settings: 'FILL' 1;
}

.icon-books {
  font-size: 20px;
  color: var(--theme-hover) !important;
  font-variation-settings: 'FILL' 1;
}

.dropdown-arrow {
  font-size: 18px;
  color: var(--text-slate);
  transition: transform 0.2s ease, color 0.15s ease;
}

.dropdown-wrapper:hover .dropdown-arrow,
.dropdown-wrapper.is-open .dropdown-arrow {
  transform: rotate(180deg);
  color: var(--theme-hover);
}

/* Soft Green Badge */
.badge-new {
  background-color: var(--badge-green-bg);
  color: var(--badge-green-text);
  font-size: 0.7rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 9999px;
  line-height: 1;
}

/* --- Dropdown Menus --- */
.dropdown-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.dropdown-wrapper::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 12px;
}

.dropdown-menu {
  display: block !important;
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%) translateY(6px);
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 6px;
  min-width: 210px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
  pointer-events: none;
  z-index: 9999;
}

.dropdown-wrapper:hover .dropdown-menu,
.dropdown-wrapper.is-open .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

.dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 6px;
  text-decoration: none;
  color: var(--text-dark);
  font-size: 0.88rem;
  font-weight: 600;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.dropdown-item:hover {
  background-color: #f1f5f9;
  color: var(--theme-hover);
}

.dropdown-item .material-symbols-outlined {
  font-size: 19px;
  color: var(--theme-hover);
}

/* --- Right Action Group --- */
.nav-actions {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.cart-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  color: #0f172a;
  text-decoration: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.cart-btn:hover {
  border-color: var(--theme-hover);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.cart-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  background-color: var(--badge-red);
  color: #ffffff;
  font-size: 0.68rem;
  font-weight: 700;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #ffffff;
}

.login-btn {
  background-color: var(--theme-primary);
  color: #ffffff;
  text-decoration: none;
  padding: 8px 20px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 0.94rem;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(6, 78, 42, 0.2);
  transition: background-color 0.15s ease, transform 0.1s ease;
}

.login-btn:hover {
  background-color: var(--theme-hover);
}

.login-btn:active {
  transform: scale(0.98);
}

.login-btn .material-symbols-outlined {
  font-size: 19px;
  font-weight: 700;
}

/* Responsive */
@media (max-width: 1200px) {
  .nav-list { gap: 1.25rem; }
  .nav-link { font-size: 0.88rem; }
}

/* Tablet logo size (NEW) */
@media (max-width: 992px) {
  .brand-logo { height: 4.4rem; }
}

/* Mobile Menu Button */
.mobile-menu-btn {
  display: none;
  background: none;
  border: none;
  color: var(--theme-primary);
  cursor: pointer;
  padding: 4px;
}
.mobile-menu-btn .material-symbols-outlined {
  font-size: 28px;
}

@media (max-width: 992px) {
  .mobile-menu-btn {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .nav-list {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #ffffff;
    flex-direction: column;
    align-items: stretch;
    padding: 1rem 2rem;
    gap: 0;
    box-shadow: 0 10px 15px rgba(0,0,0,0.05);
    border-top: 1px solid #e2e8f0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 999;
  }
  
  .nav-list > li {
    width: 100% !important;
    display: block !important;
  }

  .nav-list.mobile-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .nav-link {
    width: 100% !important;
    display: flex !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  
  .nav-link:focus, .nav-link:active {
    outline: none !important;
    box-shadow: none !important;
    background: transparent;
  }

  .dropdown-wrapper {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }
  
  .dropdown-wrapper > .nav-link {
    justify-content: space-between !important;
  }

  .dropdown-menu {
    position: static !important;
    transform: none !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 0 0 1rem !important;
    width: 100% !important;
    border-left: 2px solid var(--badge-green-bg) !important;
    margin-top: 0 !important;
    display: none !important;
  }

  .dropdown-wrapper.is-open .dropdown-menu,
  .dropdown-wrapper:hover .dropdown-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  .login-btn span:not(.material-symbols-outlined) {
    display: none !important;
  }
  .login-btn {
    padding: 8px 12px !important;
  }
}

/* ==========================================================================
   MOBILE VIEW FIXES (Max 576px)
   ========================================================================== */
@media (max-width: 576px) {
  :root {
    --header-offset: 75px; /* UPDATED (was 68px) */
  }

  /* Compact Top Bar: Phone and Email in one line */
  .top-bar {
    padding: 3px 0.5rem !important;
  }

  .top-bar-inner {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.6rem !important;
    padding: 0 !important;
  }

  .top-bar-item {
    font-size: 0.65rem !important;
    gap: 0.2rem !important;
    white-space: nowrap !important;
  }

  .top-bar-item .material-symbols-outlined {
    font-size: 12px !important;
  }

  /* Compact Main Navbar */
  .navbar-container {
    padding: 6px 0.6rem !important;
    gap: 0.4rem !important;
  }

  /* Minimized Logo + Title visible next to it */
  .brand-link {
    gap: 6px !important;
    flex: 1 1 auto;
  }

  .brand-logo {
    height: 2.6rem !important; /* UPDATED (was 2.2rem) */
    width: auto !important;
    flex-shrink: 0;
  }

  .brand-text {
    display: flex !important; /* Made visible */
    justify-content: center;
  }

  .brand-name {
    font-size: 0.82rem !important; /* Scaled down to fit mobile */
    line-height: 1.1 !important;
  }

  .brand-tagline {
    font-size: 0.46rem !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
  }

  /* Compact Navigation Actions */
  .nav-actions {
    gap: 6px !important;
    flex-shrink: 0;
  }

  .cart-btn {
    width: 32px !important;
    height: 32px !important;
  }

  .cart-btn .material-symbols-outlined {
    font-size: 16px !important;
  }

  .cart-badge {
    width: 15px !important;
    height: 15px !important;
    font-size: 0.58rem !important;
    top: -3px !important;
    right: -3px !important;
  }

  .login-btn {
    padding: 5px 8px !important;
    border-radius: 8px !important;
  }

  .login-btn .material-symbols-outlined {
    font-size: 16px !important;
  }

  .mobile-menu-btn {
    padding: 2px !important;
  }

  .mobile-menu-btn .material-symbols-outlined {
    font-size: 24px !important;
  }
}

/* Extra small devices (<= 380px) fine-tuning */
@media (max-width: 380px) {
  .brand-name {
    font-size: 0.74rem !important;
  }
  .brand-tagline {
    font-size: 0.42rem !important;
  }
  .brand-logo {
    height: 2.3rem !important; /* UPDATED (was 2rem) */
  }
  .nav-actions {
    gap: 4px !important;
  }
}
