/*
 Theme Name:   Vantage Child
 Template:     vantage
 Description:  A child theme for customizing vantage.
 Author:       Me
 Version:      1.0.0
*/
.so-widget-sow-button {
    margin-top: 20px !important; /* Adjust the pixel value to your desired margin */
}
/* 1. Transform the University list into a Multi-Column Mega Menu */
.main-navigation ul li:hover > ul.sub-menu,
#site-navigation ul li:hover > ul.sub-menu {
    display: block !important;
    column-count: 4 !important;    /* Creates 4 columns side-by-side */
    column-gap: 20px !important;   /* Space between columns */
    width: 1000px !important;      /* Total width of the mega menu */
    
    /* Center the mega menu under the 'Courses Tutored' tab */
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    
    /* Ensure the list doesn't clip */
    overflow: visible !important;
    max-height: none !important;
}

/* 2. Force exactly 10 items per column */
/* We set a height that fits 10 items based on standard line-height */
.main-navigation ul li:hover > ul.sub-menu {
    height: 400px !important; /* Adjust this height if 10 items don't fit perfectly */
}

/* 3. Prevent individual University names from splitting across two columns */
.main-navigation ul ul li,
#site-navigation ul ul li {
    display: block !important;
    break-inside: avoid !important; 
    page-break-inside: avoid !important;
    width: 240px !important; /* Width of a single column */
}

/* 4. Position the Course Sub-Menus (Sub-Sub-Menus) */
/* These will pop out to the right of the university names */
.main-navigation ul ul li:hover > ul.sub-menu {
    position: absolute !important;
    left: 100% !important;
    top: 0 !important;
    column-count: 1 !important; /* Courses stay in a single list */
    width: 250px !important;
    height: auto !important;
    display: block !important;
    z-index: 999999 !important;
}

/* 5. Smart Drop-Up for the Course Lists */
/* If a course list is in the bottom half of the columns, pop it UP */
.main-navigation ul ul li:nth-child(n+6):hover > ul.sub-menu {
    top: auto !important;
    bottom: 0 !important;
}

/* 6. Mobile Reset: Revert to standard list on small screens */
@media (max-width: 1024px) {
    .main-navigation ul li:hover > ul.sub-menu {
        column-count: 1 !important;
        width: 100% !important;
        height: auto !important;
        left: 0 !important;
        transform: none !important;
    }
}

/* --- GLOBAL SPACING (Tightened) --- */
.imt-container { 
    max-width: 1100px; 
    margin: 0 auto; 
    padding: 20px; /* Reduced from 40px */
}

/* --- HERO STYLING --- */
.imt-hero { 
    background-color: #004a99; 
    color: #ffffff; 
    padding: 40px 20px; /* Reduced from 80px */
    border-radius: 12px; 
    text-align: center;
    margin-bottom: 20px; /* Reduced gap */
}

.imt-hero h1 { color: #ffffff !important; font-size: 32px; margin-bottom: 5px; }
.imt-subtitle { font-size: 18px; opacity: 0.9; margin-bottom: 20px; }

/* --- BUTTONS --- */
.imt-btn-primary { 
    background-color: #ffcc00; 
    color: #000000 !important; 
    padding: 12px 25px; 
    text-decoration: none; 
    font-weight: bold; 
    border-radius: 5px; 
    display: inline-block;
}

/* --- THE 3-COLUMN GRID (Fixed for 1-Line Desktop) --- */
.imt-grid { 
    display: flex; 
    flex-direction: row; /* Forces side-by-side */
    flex-wrap: wrap; /* Allows stacking ONLY when forced by screen size */
    justify-content: space-between;
    margin: 0 -10px; 
}

.imt-card { 
    flex: 1; 
    min-width: 250px; /* If screen is smaller than 750px (250x3), they stack */
    background-color: #f4f8fc; 
    padding: 20px; /* Tightened internal padding */
    border-radius: 15px; 
    border-bottom: 5px solid #004a99; 
    margin: 10px; 
    text-align: center;
}

.imt-card p { font-size: 14px; line-height: 1.4; margin-bottom: 0; }

/* --- LARGE CENTERED ICONS --- */
.imt-icon-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px; /* Slightly smaller to fit 3-wide better */
    height: 60px;
    background-color: #ffffff;
    border-radius: 50%;
    margin: 0 auto 15px auto;
    box-shadow: 0 3px 8px rgba(0,0,0,0.08);
}
.imt-icon { font-size: 30px; line-height: 1; }

/* --- SUBJECTS SECTION (Reduced Gaps) --- */
.imt-subjects { text-align: center; padding: 20px 20px; }
.imt-subject-pills { margin-top: 15px; }
.imt-subject-pills span { 
    background-color: #e6f0fa; 
    color: #004a99; 
    padding: 8px 15px; 
    border-radius: 50px; 
    display: inline-block; 
    margin: 4px; 
    font-size: 13px;
    font-weight: 600; 
}

/* --- TRUST SECTION --- */
.imt-trust { text-align: center; padding: 30px 20px; border-top: 1px solid #eee; }
.imt-stars { color: #ffcc00; font-size: 24px; }
.imt-testimonial { font-style: italic; font-size: 1.1rem; color: #444; max-width: 700px; margin: 10px auto; }
.imt-btn-secondary {
    border: 2px solid #004a99;
    color: #004a99 !important;
    padding: 10px 20px;
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
    display: inline-block;
    margin-top: 10px;
}
/*CSS for Highlight boxes on availability page*/
.math-features-container {
    display: flex;
    flex-direction: row; /* Horizontal by default */
    flex-wrap: wrap;     /* Allows stacking on mobile */
    gap: 15px;
    justify-content: center;
    padding: 20px 0;
    width: 100%;
}

.feature-block {
    background: #ffffff;
    border: 1px solid #e1e1e1;
    border-radius: 8px;
    padding: 15px; /* Reduced padding */
    /* 40% smaller footprint: roughly 22% width to fit 4 on a line with gaps */
    flex: 1 1 200px; 
    max-width: 220px; 
    text-align: center;
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.feature-block:hover {
    transform: translateY(-3px);
    border-color: #007bff;
}

.feature-icon {
    font-size: 28px; /* Smaller icons */
    margin-bottom: 10px;
}

.feature-block h3 {
    font-size: 1.5rem; /* Smaller headers */
    margin-bottom: 8px;
    color: #333;
    font-weight: 600;
}

.feature-block p {
    font-size: 1.1rem; /* Smaller text */
    color: #666;
    line-height: 1.4;
    margin: 0;
}

/* Mobile responsive adjustment */
@media (max-width: 768px) {
    .feature-block {
        max-width: 100%; /* Take full width when stacked */
        flex: 1 1 100%;
    }
}
/* Something new but I don't remember what */
.panel-grid-cell .widget-title {font-size:1em; color:#ff0000;}
div.tbk-setting-button.tbk-timezones {background:#00ABD4;}