/* --- Root & Global Settings --- */
html {
    scroll-behavior: smooth !important;
    overscroll-behavior-y: auto !important;
}

body {
    margin: 0;
    padding: 0;
    width: 100% !important;
    overflow-x: hidden !important; 
    position: static !important; 
}

section, article {
    scroll-margin-top: 90px !important;
}

section {
    padding: 3rem 0;
    margin-top: 2rem;
}

:root {
    --pico-primary: #1d4ed8 !important;
    --pico-primary-background: #1d4ed8 !important;
    --pico-primary-underline: rgba(29, 78, 216, 0.5) !important;
    --pico-form-element-active-border-color: #1d4ed8 !important;
    --pico-switch-background-color: #1d4ed8 !important;
}

/* Soft green theme for index.html */
header.full-width-nav.theme-green {
    background-color: #dcfce7 !important; /* Soft light green */
    border-bottom: 1px solid #bbf7d0 !important;
}
header.full-width-nav.theme-green h1,
header.full-width-nav.theme-green h2,
header.full-width-nav.theme-green h3,
header.full-width-nav.theme-green h4,
header.full-width-nav.theme-green a {
    color: #15803d !important; /* Rich green text */
}

header.full-width-nav.theme-blue {
    background-color: #e0f2fe !important;
    border-bottom: 1px solid #bae6fd !important;
}

header.full-width-nav.theme-blue h1,
header.full-width-nav.theme-blue h2,
header.full-width-nav.theme-blue h3,
header.full-width-nav.theme-blue h4,
header.full-width-nav.theme-blue a {
    color: #0c4a6e !important;
}

/* Soft blue styling exclusively for the physics curriculum section */
section.theme-services-blue {
    background-color: #f0f9ff !important; /* Soft light blue background */
    border-top: 1px solid #bae6fd !important;
    border-bottom: 1px solid #bae6fd !important;
    padding: 3rem 0 !important;
}

section.theme-services-blue h2 {
    color: #0369a1 !important; /* Rich blue heading */
}

section.theme-services-blue article {
    background-color: #ffffff !important;
    border: 1px solid #7dd3fc !important;
    box-shadow: 0 4px 12px rgba(3, 105, 161, 0.08) !important;
}

section.theme-services-blue article header {
    background-color: #0c4a6e !important;
    border-bottom: 1px solid #0369a1 !important;
    color: #ffffff !important;
}

section.theme-services-blue article p,
section.theme-services-blue article li {
    color: #334155 !important;
}

/* ==========================================
   PURPLE THEME (Suggested for Advanced/Standard Maths)
   ========================================== */

header.full-width-nav.theme-purple {
    background-color: #f3e8ff !important;
    border-bottom: 1px solid #e9d5ff !important;
}

header.full-width-nav.theme-purple h1,
header.full-width-nav.theme-purple h2,
header.full-width-nav.theme-purple h3,
header.full-width-nav.theme-purple h4,
header.full-width-nav.theme-purple a {
    color: #581c87 !important;
}

section.theme-services-purple {
    background-color: #faf5ff !important;
    border-top: 1px solid #e9d5ff !important;
    border-bottom: 1px solid #e9d5ff !important;
    padding: 3rem 0 !important;
}

section.theme-services-purple h2 {
    color: #7e22ce !important;
}

section.theme-services-purple article {
    background-color: #ffffff !important;
    border: 1px solid #d8b4fe !important;
    box-shadow: 0 4px 12px rgba(126, 34, 206, 0.08) !important;
}

section.theme-services-purple article header {
    background-color: #581c87 !important;
    border-bottom: 1px solid #7e22ce !important;
    color: #ffffff !important;
}

section.theme-services-purple article p,
section.theme-services-purple article li {
    color: #334155 !important;
}


/* ==========================================
   AMBER / WARM GOLD THEME (Suggested for Junior Maths)
   ========================================== */

header.full-width-nav.theme-amber {
    background-color: #fef3c7 !important;
    border-bottom: 1px solid #fde68a !important;
}

header.full-width-nav.theme-amber h1,
header.full-width-nav.theme-amber h2,
header.full-width-nav.theme-amber h3,
header.full-width-nav.theme-amber h4,
header.full-width-nav.theme-amber a {
    color: #78350f !important;
}

section.theme-services-amber {
    background-color: #fffbeb !important;
    border-top: 1px solid #fde68a !important;
    border-bottom: 1px solid #fde68a !important;
    padding: 3rem 0 !important;
}

section.theme-services-amber h2 {
    color: #b45309 !important;
}

section.theme-services-amber article {
    background-color: #ffffff !important;
    border: 1px solid #fcd34d !important;
    box-shadow: 0 4px 12px rgba(180, 83, 9, 0.08) !important;
}

section.theme-services-amber article header {
    background-color: #78350f !important;
    border-bottom: 1px solid #b45309 !important;
    color: #ffffff !important;
}

section.theme-services-amber article p,
section.theme-services-amber article li {
    color: #334155 !important;
}/* ==========================================
   PURPLE THEME (Suggested for Advanced/Standard Maths)
   ========================================== */

header.full-width-nav.theme-purple {
    background-color: #f3e8ff !important;
    border-bottom: 1px solid #e9d5ff !important;
}

header.full-width-nav.theme-purple h1,
header.full-width-nav.theme-purple h2,
header.full-width-nav.theme-purple h3,
header.full-width-nav.theme-purple h4,
header.full-width-nav.theme-purple a {
    color: #581c87 !important;
}

section.theme-services-purple {
    background-color: #faf5ff !important;
    border-top: 1px solid #e9d5ff !important;
    border-bottom: 1px solid #e9d5ff !important;
    padding: 3rem 0 !important;
}

section.theme-services-purple h2 {
    color: #7e22ce !important;
}

section.theme-services-purple article {
    background-color: #ffffff !important;
    border: 1px solid #d8b4fe !important;
    box-shadow: 0 4px 12px rgba(126, 34, 206, 0.08) !important;
}

section.theme-services-purple article header {
    background-color: #581c87 !important;
    border-bottom: 1px solid #7e22ce !important;
    color: #ffffff !important;
}

section.theme-services-purple article p,
section.theme-services-purple article li {
    color: #334155 !important;
}


/* ==========================================
   MODERN SLATE / TEAL THEME (Junior Maths)
   ========================================== */

header.full-width-nav.theme-slate {
    background-color: #0d9488 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

header.full-width-nav.theme-slate h1,
header.full-width-nav.theme-slate h2,
header.full-width-nav.theme-slate h3,
header.full-width-nav.theme-slate h4,
header.full-width-nav.theme-slate a {
    color: #0f172a !important;
}

section.theme-services-slate {
    background-color: #f1f5f9 !important;
    border-top: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 3rem 0 !important;
}

section.theme-services-slate h2 {
    color: #0f766e !important;
}

section.theme-services-slate article {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05) !important;
}

section.theme-services-slate article header {
    background-color: #0f766e !important;
    border-bottom: 1px solid #0d9488 !important;
    color: #ffffff !important;
}

section.theme-services-slate article p,
section.theme-services-slate article li {
    color: #334155 !important;
}

article {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important;
    border: none !important; 
}

/* --- Calendar Popup Suppression --- */
.fc-popover {
    display: none !important;
}

/* --- Custom Scrollbar Styles --- */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1; 
}
::-webkit-scrollbar-thumb {
    background: #888; 
    border-radius: 5px; 
}
::-webkit-scrollbar-thumb:hover {
    background: #555; 
}

/* --- Navigation --- */
.full-width-nav {
    background-color: rgba(232, 245, 233, 0.8) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    margin-bottom: -1rem;       
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.full-width-nav nav, 
.full-width-nav ul,
.full-width-nav li {
    background: transparent !important;
}

.full-width-nav a {
    color: #2e7d32;          
    font-weight: bold;
}

.full-width-nav a:hover {
    color: #1b5e20;          
}

header nav a {
    transition: color 0.2s ease-in-out;
}

header nav a:focus-visible {
    outline: 2px solid #2e7d32;
    border-radius: 4px;
}

/* --- Typography & Branding --- */
h1 {
    --pico-font-family: Pacifico, cursive;
    --pico-font-weight: 400;
    --pico-typography-spacing-vertical: 0.5rem;
}

/* --- Components & Images --- */
.profile_image {
    border-radius: 50%;
    width: 200px;
    height: 200px;
    margin: 0 auto 1rem auto;
    display: block;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease;
}

.profile_image:hover {
    transform: translateY(-5px); 
}

.contact-section-wrapper {
    background-color: #f4f4f4;
    padding-top: 3rem;
    padding-bottom: 3rem;
    width: 100%;
    border-top: 1px solid #e2e8f0;
}


section.theme-services-blue {
    background-color: #f0f9ff !important;
    border-top: 1px solid #bae6fd !important;
    border-bottom: 1px solid #bae6fd !important;
    padding: 0rem 0 2rem 0 !important; /* Reduced top padding from 3rem to 1rem */
}

.dark {
    background-color: #cde9a9;
}

.stats {
    padding-top: 1rem !important; 
}

/* --- Animations --- */
details[open] summary ~ * {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    0% { opacity: 0; transform: translateY(-4px); }
    100% { opacity: 1; transform: translateY(0); }
}/* --- Root & Global Settings --- */
html {
    scroll-behavior: smooth !important;
    overscroll-behavior-y: auto !important;
}

body {
    margin: 0;
    padding: 0;
    width: 100% !important;
    overflow-x: hidden !important; 
    position: static !important; 
}

section, article {
    scroll-margin-top: 90px !important;
}

section {
    padding: 3rem 0;
    margin-top: 2rem;
}

:root {
    --pico-primary: #1d4ed8 !important;
    --pico-primary-background: #1d4ed8 !important;
    --pico-primary-underline: rgba(29, 78, 216, 0.5) !important;
    --pico-form-element-active-border-color: #1d4ed8 !important;
    --pico-switch-background-color: #1d4ed8 !important;
}

/* Soft green theme for index.html */
header.full-width-nav.theme-green {
    background-color: #dcfce7 !important; /* Soft light green */
    border-bottom: 1px solid #bbf7d0 !important;
}
header.full-width-nav.theme-green h1,
header.full-width-nav.theme-green h2,
header.full-width-nav.theme-green h3,
header.full-width-nav.theme-green h4,
header.full-width-nav.theme-green a {
    color: #15803d !important; /* Rich green text */
}

header.full-width-nav.theme-blue {
    background-color: #e0f2fe !important;
    border-bottom: 1px solid #bae6fd !important;
}

header.full-width-nav.theme-blue h1,
header.full-width-nav.theme-blue h2,
header.full-width-nav.theme-blue h3,
header.full-width-nav.theme-blue h4,
header.full-width-nav.theme-blue a {
    color: #0c4a6e !important;
}

/* Soft blue styling exclusively for the physics curriculum section */
section.theme-services-blue {
    background-color: #f0f9ff !important; /* Soft light blue background */
    border-top: 1px solid #bae6fd !important;
    border-bottom: 1px solid #bae6fd !important;
    padding: 3rem 0 !important;
}

section.theme-services-blue h2 {
    color: #0369a1 !important; /* Rich blue heading */
}

section.theme-services-blue article {
    background-color: #ffffff !important;
    border: 1px solid #7dd3fc !important;
    box-shadow: 0 4px 12px rgba(3, 105, 161, 0.08) !important;
}

section.theme-services-blue article header {
    background-color: #0c4a6e !important;
    border-bottom: 1px solid #0369a1 !important;
    color: #ffffff !important;
}

section.theme-services-blue article p,
section.theme-services-blue article li {
    color: #334155 !important;
}

/* ==========================================
   PURPLE THEME (Suggested for Advanced/Standard Maths)
   ========================================== */

header.full-width-nav.theme-purple {
    background-color: #f3e8ff !important;
    border-bottom: 1px solid #e9d5ff !important;
}

header.full-width-nav.theme-purple h1,
header.full-width-nav.theme-purple h2,
header.full-width-nav.theme-purple h3,
header.full-width-nav.theme-purple h4,
header.full-width-nav.theme-purple a {
    color: #581c87 !important;
}

section.theme-services-purple {
    background-color: #faf5ff !important;
    border-top: 1px solid #e9d5ff !important;
    border-bottom: 1px solid #e9d5ff !important;
    padding: 3rem 0 !important;
}

section.theme-services-purple h2 {
    color: #7e22ce !important;
}

section.theme-services-purple article {
    background-color: #ffffff !important;
    border: 1px solid #d8b4fe !important;
    box-shadow: 0 4px 12px rgba(126, 34, 206, 0.08) !important;
}

section.theme-services-purple article header {
    background-color: #581c87 !important;
    border-bottom: 1px solid #7e22ce !important;
    color: #ffffff !important;
}

section.theme-services-purple article p,
section.theme-services-purple article li {
    color: #334155 !important;
}


/* ==========================================
   AMBER / WARM GOLD THEME (Suggested for Junior Maths)
   ========================================== */

header.full-width-nav.theme-amber {
    background-color: #fef3c7 !important;
    border-bottom: 1px solid #fde68a !important;
}

header.full-width-nav.theme-amber h1,
header.full-width-nav.theme-amber h2,
header.full-width-nav.theme-amber h3,
header.full-width-nav.theme-amber h4,
header.full-width-nav.theme-amber a {
    color: #78350f !important;
}

section.theme-services-amber {
    background-color: #fffbeb !important;
    border-top: 1px solid #fde68a !important;
    border-bottom: 1px solid #fde68a !important;
    padding: 3rem 0 !important;
}

section.theme-services-amber h2 {
    color: #b45309 !important;
}

section.theme-services-amber article {
    background-color: #ffffff !important;
    border: 1px solid #fcd34d !important;
    box-shadow: 0 4px 12px rgba(180, 83, 9, 0.08) !important;
}

section.theme-services-amber article header {
    background-color: #78350f !important;
    border-bottom: 1px solid #b45309 !important;
    color: #ffffff !important;
}

section.theme-services-amber article p,
section.theme-services-amber article li {
    color: #334155 !important;
}/* ==========================================
   PURPLE THEME (Suggested for Advanced/Standard Maths)
   ========================================== */

header.full-width-nav.theme-purple {
    background-color: #f3e8ff !important;
    border-bottom: 1px solid #e9d5ff !important;
}

header.full-width-nav.theme-purple h1,
header.full-width-nav.theme-purple h2,
header.full-width-nav.theme-purple h3,
header.full-width-nav.theme-purple h4,
header.full-width-nav.theme-purple a {
    color: #581c87 !important;
}

section.theme-services-purple {
    background-color: #faf5ff !important;
    border-top: 1px solid #e9d5ff !important;
    border-bottom: 1px solid #e9d5ff !important;
    padding: 3rem 0 !important;
}

section.theme-services-purple h2 {
    color: #7e22ce !important;
}

section.theme-services-purple article {
    background-color: #ffffff !important;
    border: 1px solid #d8b4fe !important;
    box-shadow: 0 4px 12px rgba(126, 34, 206, 0.08) !important;
}

section.theme-services-purple article header {
    background-color: #581c87 !important;
    border-bottom: 1px solid #7e22ce !important;
    color: #ffffff !important;
}

section.theme-services-purple article p,
section.theme-services-purple article li {
    color: #334155 !important;
}


/* ==========================================
   MODERN SLATE / TEAL THEME (Junior Maths)
   ========================================== */

header.full-width-nav.theme-slate {
    background-color: #0d9488 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

header.full-width-nav.theme-slate h1,
header.full-width-nav.theme-slate h2,
header.full-width-nav.theme-slate h3,
header.full-width-nav.theme-slate h4,
header.full-width-nav.theme-slate a {
    color: #0f172a !important;
}

section.theme-services-slate {
    background-color: #f1f5f9 !important;
    border-top: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 3rem 0 !important;
}

section.theme-services-slate h2 {
    color: #0f766e !important;
}

section.theme-services-slate article {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05) !important;
}

section.theme-services-slate article header {
    background-color: #0f766e !important;
    border-bottom: 1px solid #0d9488 !important;
    color: #ffffff !important;
}

section.theme-services-slate article p,
section.theme-services-slate article li {
    color: #334155 !important;
}

article {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important;
    border: none !important; 
}

/* --- Calendar Popup Suppression --- */
.fc-popover {
    display: none !important;
}

/* --- Custom Scrollbar Styles --- */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1; 
}
::-webkit-scrollbar-thumb {
    background: #888; 
    border-radius: 5px; 
}
::-webkit-scrollbar-thumb:hover {
    background: #555; 
}

/* --- Navigation --- */
.full-width-nav {
    background-color: rgba(232, 245, 233, 0.8) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    margin-bottom: -1rem;       
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.full-width-nav nav, 
.full-width-nav ul,
.full-width-nav li {
    background: transparent !important;
}

.full-width-nav a {
    color: #2e7d32;          
    font-weight: bold;
}

.full-width-nav a:hover {
    color: #1b5e20;          
}

header nav a {
    transition: color 0.2s ease-in-out;
}

header nav a:focus-visible {
    outline: 2px solid #2e7d32;
    border-radius: 4px;
}

/* --- Typography & Branding --- */
h1 {
    --pico-font-family: Pacifico, cursive;
    --pico-font-weight: 400;
    --pico-typography-spacing-vertical: 0.5rem;
}

/* --- Components & Images --- */
.profile_image {
    border-radius: 50%;
    width: 200px;
    height: 200px;
    margin: 0 auto 1rem auto;
    display: block;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease;
}

.profile_image:hover {
    transform: translateY(-5px); 
}

.contact-section-wrapper {
    background-color: #f4f4f4;
    padding-top: 3rem;
    padding-bottom: 3rem;
    width: 100%;
    border-top: 1px solid #e2e8f0;
}


section.theme-services-blue {
    background-color: #f0f9ff !important;
    border-top: 1px solid #bae6fd !important;
    border-bottom: 1px solid #bae6fd !important;
    padding: 0rem 0 2rem 0 !important; /* Reduced top padding from 3rem to 1rem */
}

.dark {
    background-color: #cde9a9;
}

.stats {
    padding-top: 1rem !important; 
}

/* --- Animations --- */
details[open] summary ~ * {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    0% { opacity: 0; transform: translateY(-4px); }
    100% { opacity: 1; transform: translateY(0); }
}
