/*
Theme Name: Pinnacle Academy Child
Template: studeon
Author: WebIgnite
Description: Child theme for Pinnacle Academy
Version: 1.0.3
*/

/* ------------------------------------------------------------------- */
/* Parent Layout - Ensure Tabs & Content Stay Aligned */
.custom-tabs {
    display: flex;
    flex-wrap: nowrap;  /* Prevent stacking */
    align-items: stretch;  /* Ensure both sides stretch evenly */
    justify-content: flex-start;
    max-width: 900px;
    margin: auto;
    padding: 10px 15px;
    background: rgba(20, 30, 50, 0.7); /* Keep sidebar visibility */
    border-radius: 12px;
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.3);
    gap: 4px;
}

/* Sidebar / Menu - Keep this as is */
.custom-tab-list {
    display: flex;
    flex-direction: column;
    flex: 0 0 200px; /* Prevent shrinking */
    max-width: 200px; /* Fixed width */
    height: auto;  /* No scrolling */
    padding: 0;
    border: none;
    background: rgba(20, 30, 50, 0.85); /* Maintain its opacity */
    font-family: 'Raleway', sans-serif; /* Matches Main Text Font */
}

/* Tabs - Compact Sizing */
.custom-tab {
    padding: 6px 10px;
    font-family: 'Montserrat', sans-serif; /* Matches Heading Font */
    font-size: 14px;
    text-align: left;
    color: white;
    cursor: pointer;
    transition: background 0.3s, color 0.3s;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: left;
}

/* Active Tab - Highlighting */
.custom-tab.active {
    font-size: 15px;
    font-weight: 600; /* Matches heading font weight */
    background: #aa8236;
    color: white;
    border-left: 4px solid white;
}

/* Content Box - Improves Readability */
.custom-tab-content {
    flex-grow: 1;
    min-width: 0; /* Allow shrinking */
    padding: 15px;
    background: rgba(55, 73, 109, 0.1); /* Slight transparency */
    font-family: 'Raleway', sans-serif; /* Matches Main Text */
    color: white;
    min-height: 250px;
    border-radius: 12px;
    border-left: 2px solid #aa8236;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
}

/* Course Headings - Make Levels Stand Out */
.course-heading {
    font-family: 'Montserrat', sans-serif; /* Matches Heading Font */
    font-size: 18px;
    font-weight: bold;
    color: white;
    margin-top: 10px;
    margin-bottom: 5px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding-bottom: 5px;
}

/* Course Links - Improve Visibility */
.custom-tab-panel a {
    display: block;
    font-family: 'Montserrat', sans-serif; /* Matches Heading Font */
    font-size: 16px;
    color: white !important; /* Ensures links are visible */
    text-decoration: none;
    margin-left: 10px;
    padding: 5px 0;
}

.custom-tab-panel a:hover {
    color: #ffdd44; /* Gold hover effect */
    text-decoration: underline;
}

/* Fix for Small Screens */
@media (max-width: 768px) {
    .custom-tabs {
        flex-direction: column;
    }

    .custom-tab-list {
        width: 100%;
        flex-direction: row;
        overflow-x: auto;
        min-height: auto;
    }

    .custom-tab {
        flex: 1;
        text-align: center;
        border-bottom: none;
        border-right: 1px solid rgba(255, 255, 255, 0.2);
    }
}

/* General Styles */
.custom-tab {
    padding: 10px;
    font-family: 'Montserrat', sans-serif; /* Matches Heading Font */
    font-size: 14px;
    text-align: left;
    color: white;
    cursor: pointer;
    transition: background 0.3s, color 0.3s;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    white-space: unset;
    display: flex;
    align-items: center;
    justify-content: left;
    line-height: 1.2em;
}

.custom-tabs {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: start;
}

.custom-tab-panel {
    display: none;
}

.custom-tab-panel.active {
    display: block;
}

/* Image Row Background (Apply Dark Blue & Rounded Corners) */
.image-row-bg {
    background: rgba(32, 47, 95, 0.6) !important; /* Apply same dark blue */
    border-radius: 12px !important; /* Apply rounded corners */
    overflow: hidden !important; /* Ensures images follow the border */
    padding: 20px; /* Maintain spacing */
    font-family: 'Raleway', sans-serif; /* Matches Main Text */
}

/* Ensure Images Inside Follow Rounded Borders */
.image-row-bg img {
    border-radius: 12px !important;
    overflow: hidden !important;
}

/* Remove Any WPBakery Row Background */
.image-row {
    background: transparent !important; /* Remove any unwanted background */
}

/* Right Side Panel Styling */
.right-side-bg {
    background: rgba(20, 30, 50, 0.3) !important; /* Deep navy blue */
    border-radius: 12px !important; /* Add rounded corners */
    overflow: hidden !important; /* Ensures elements stay within border */
    padding: 4px 0; /* Maintain spacing */
    font-family: 'Raleway', sans-serif; /* Matches Main Text */
}

/* Improve Course Link Readability */
.custom-tab-panel a {
    font-family: 'Montserrat', sans-serif; /* Matches Headings */
    color: white !important;  /* Ensures visibility */
    text-decoration: none; /* Removes underline */
    font-weight: normal;
    display: block;
    margin: 5px 0; /* Spacing between links */
    font-size: 16px;
}

.custom-tab-panel a:hover {
    color: #f4c842;  /* Highlight color on hover */
}

/* Course Headings - Distinct Appearance */
.course-heading {
    font-family: 'Montserrat', sans-serif; /* Matches Heading Font */
    font-size: 18px; /* Larger than normal text */
    font-weight: bold;
    color: white;
    margin-top: 10px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding-bottom: 5px;
}

.row-overlay {
    position: relative;
}

.row-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Black overlay with 50% opacity */
    z-index: 1;
}

.header_main_bottom.top_panel_title {
    position: relative !important;
    z-index: 1 !important; /* Lowers the breadcrumb row below the menu */
}

.gm-mega-menu .gm-dropdown {
    position: absolute !important;
    z-index: 99999 !important; /* Ensures it stays above */
    top: 100%;
    left: 0;
    visibility: visible !important;
}

/* Lower the breadcrumb column */
.lower-breadcrumb-column {
    position: relative !important;
    z-index: 1 !important; /* Pushes the column below the dropdown */
}

/* Lower the content area that wraps the breadcrumb */
.lower-content-area {
    position: relative !important;
    z-index: 1 !important; /* Ensures the entire wrapper does not interfere */
}

.top_panel {
    position: relative !important;
    z-index: 1 !important;  /* Pushes the top panel below the menu */
}

.gm-grid-row {
    background: rgba(20, 30, 50, 0.7) !important; /* Match existing background color */
    border-radius: 12px !important; /* Apply rounded corners */
    overflow: hidden !important; /* Ensures child elements stay within rounded border */
    padding: 10px; /* Adds some spacing inside */
}

/* Carousel Wrapper */
.course-carousel {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding: 20px 0;
    overflow: hidden; /* Prevents unwanted horizontal scrollbars */
}

.course-container {
    width: 100%;
    overflow-x: hidden; /* Ensures smooth scrolling effect */
    position: relative;
}

/* Scrolling Track */
.course-track {
    display: flex;
    gap: 20px;
    white-space: nowrap;
    flex-wrap: nowrap;
    cursor: grab;
    overflow-x: auto;
    scroll-behavior: smooth; /* Enables smooth scrolling */
    position: relative;
    -webkit-overflow-scrolling: touch; /* Improves mobile scrolling momentum */
    transition: transform 0.6s ease-out, opacity 0.6s ease-out; /* Updated for smoother reset */
}

/* Hide scrollbar in Webkit browsers */
.course-track::-webkit-scrollbar {
    display: none;
}

/* Individual course cards */
.course-card {
    flex: 0 0 calc(100% / 4 - 20px); /* Ensures 4 cards are visible at a time */
    min-width: 280px; /* Prevents shrinking */
    height: auto;
    border-radius: 12px;
    text-decoration: none;
    background: white;
    display: flex;
    flex-direction: column;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.6s ease-in-out; /* Updated timing for smoother effect */
}

/* Course image wrapper */
.course-image {
    height: 180px;
    width: 100%;
    overflow: hidden;
}

.course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Course info */
.course-info {
    padding: 15px;
    text-align: center;
}

/* Course title */
.course-title {
    font-size: 16px;
    font-weight: bold;
    color: #222;
    margin: 0;
}

/* Divider */
.divider {
    width: 50%;
    height: 2px;
    background: black;
    margin: 8px auto;
}

/* Course description */
.course-description {
    font-size: 14px;
    color: #666;
    margin-top: 5px;
    line-height: 1.4;
    min-height: 40px; /* Prevents text from cutting off */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal; /* Allows wrapping */
}

/* Hover effect */
.course-track:hover {
    cursor: pointer;
}

/* Improved Reset Animation Tweaks */
.course-track.reset {
    transform: scale(0.85); /* Slightly smaller for a more dramatic effect */
    opacity: 0;
    transition: transform 0.6s ease-out, opacity 0.6s ease-out; /* Smoother fade-out */
}

/* After reset, smoothly fade back in */
.course-track.active {
    transform: scale(1);
    opacity: 1;
    transition: transform 0.6s ease-in, opacity 0.6s ease-in;
}

/* Keep Desktop Auto-Scroll Working */
@media (min-width: 769px) {
    .course-track {
        scroll-behavior: smooth;
    }
}

/* Mobile Scrolling Optimization */
@media (max-width: 768px) {
    .course-track {
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
    }
}

/* Ensure More Than One Card is Visible on Mobile */
@media (max-width: 1024px) {
    .course-card {
        flex: 0 0 calc(100% / 3 - 20px); /* Show 3 cards at a time */
        min-width: 250px;
    }
}

@media (max-width: 768px) {
    .course-card {
        flex: 0 0 calc(100% / 2 - 20px); /* Show 2 cards at a time */
    }
}

@media (max-width: 480px) {
    .course-card {
        flex: 0 0 80%; /* Show 1.5 cards to indicate scrolling */
    }
}

/* Prevent Choppy Movement */
.course-track.dragging {
    scroll-behavior: auto;
}

.gradient-overlay::before {
    content: "";
    position: absolute;
    top: -50px; /* Adjust to control fade height */
    left: 0;
    width: 100%;
    height: 50px; /* Height of the gradient */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(240, 240, 240, 1) 100%);
    z-index: 1;
}

/* Style the Accordion Titles */
.custom-accordion .vc_tta-title-text {
    font-size: 20px;
    font-weight: 600;
    color: #000000; /* Black for section titles */
    padding: 15px 20px;
    border-bottom: 2px solid #B28629; /* Gold underline */
    display: inline-block;
    width: 100%;
}

/* Default Background for Titles */
.custom-accordion .vc_tta-panel-heading {
    background: transparent !important;
    border-radius: 0px;
    border: none;
    padding-bottom: 10px;
}

/* Hover Effect */
.custom-accordion .vc_tta-panel-heading:hover {
    background: #F2F2F2;
}

/* Active (Opened) Section */
.custom-accordion .vc_tta-panel.vc_active .vc_tta-title-text {
    border-bottom: 2px solid #212A56 !important; /* Dark blue underline */
}

/* Default Content Background with Drop Shadow */
.custom-accordion .vc_tta-panel-body {
    background: #FFFFFF; /* White */
    padding: 20px;
    border: 1px solid #E0E0E0;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1); /* Soft drop shadow */
}

/* Improve Readability Inside Accordion */
.custom-accordion .vc_tta-panel-body p {
    font-size: 16px;
    line-height: 1.6;
    color: #333333;
}

/* Make the Text Inside Open Section More Noticeable */
.custom-accordion .vc_tta-panel.vc_active .vc_tta-panel-body {
    background: #FFFFFF !important; /* Keep it white */
}

/* Style the Accordion Icons (Default - Collapsed) */
.custom-accordion .vc_tta-controls-icon,
.custom-accordion .vc_tta-controls-icon-plus {
    color: #212A56 !important; /* Default Blue */
    transition: color 0.3s ease-in-out;
    font-size: 16px; /* Adjust the size */
}

/* Change Icon Color When Active (Opened) */
.custom-accordion .vc_tta-panel.vc_active .vc_tta-controls-icon,
.custom-accordion .vc_tta-panel.vc_active .vc_tta-controls-icon-minus {
    color: #B28629 !important; /* Gold when active */
}

.sc_courses_item_meta_item.sc_courses_item_meta_duration:empty {
    display: none;
}

.sc_courses_item_meta_date::before {
    content: "Pinnacle International Academy";
    font-weight: bold;
    color: inherit; /* Keeps the text color consistent */
    white-space: nowrap; /* Prevents text from breaking onto a new line */
    display: inline-block; /* Ensures it behaves like a single line element */
}

.sc_courses_item_meta_date {
    visibility: hidden;
    position: relative;
}

.sc_courses_item_meta_date::before {
    visibility: visible;
    position: absolute;
    left: 0;
    top: 0;
}

.courses_page_meta_item.courses_page_meta_date,
.courses_page_meta_item.courses_page_meta_duration {
    display: none !important;
}

.icon-more-button-of-three-dots {
    display: none !important;
}

.sc_services_item_button {
    display: none !important;
}

.disable-links-row a {
    pointer-events: none !important;
    cursor: default !important;
    text-decoration: none !important;
    color: inherit !important;
}

.admission-form-logo-container {
    text-align: center; /* Centers the image */
    margin-bottom: 20px; /* Adds spacing below */
}

.admission-form-logo-container img {
    display: inline-block;
    max-width: 300px; /* Adjust size if needed */
    height: auto;
}

html body table.custom-degree-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 20px !important;
    font-family: Arial, sans-serif !important;
}

/* Table Header Styling */
html body table.custom-degree-table thead tr {
    background-color: #202f5f !important;
    color: #aa8236 !important;
}

/* Table Header Cell */
html body table.custom-degree-table th {
    border: 1px solid #ddd !important;
    padding: 10px !important;
    text-align: left !important;
}

/* Table Body Cells */
html body table.custom-degree-table td {
    border: 1px solid #ddd !important;
    padding: 10px !important;
}

/* Strong Text (for emphasis) */
html body table.custom-degree-table td strong {
    font-weight: bold !important;
}
