/* 
  Theme Name: Samanata School
  Description: Official Website for Samanata School
  Version: 1.0.0
  Author: Friday Technology
*/


/** This is the cursor style just for the author (I hope you won't be that mean and remove it) **/
/* .author-head-yo{
    cursor: url(includes/email-template/image/bipin-cursor.cur), auto;
  } */

/* Accessibility: Visible Focus Outlines */
:focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
}

/* Fallback for browsers that don't support :focus-visible yet */
*:focus {
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
}

/* Remove default focus for click events if focus-visible is supported */
:focus:not(:focus-visible) {
    outline: none !important;
}

/* Custom Accessibility Toolbar */
.a11y-toolbar-container {
    position: fixed;
    top: 30%;
    right: 0;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px 0 0 8px;
    overflow: hidden;
}

.a11y-btn {
    background: transparent;
    border: none;
    padding: 15px;
    cursor: pointer;
    font-size: 24px;
    color: #333;
    transition: background 0.3s;
    border-bottom: 1px solid #eee;
}

.a11y-btn:last-child {
    border-bottom: none;
}

.a11y-btn:hover,
.a11y-btn[aria-pressed="true"] {
    background: #f0f0f0;
    color: #005fcc;
}

/* Skip to Content Link */
.skip-to-content-link {
    position: absolute;
    top: -100px;
    left: 0;
    background: #005fcc;
    color: #fff;
    padding: 15px;
    z-index: 100000;
    transition: top 0.2s ease-in-out;
}

.skip-to-content-link:focus {
    top: 0;
}

/* High Contrast Mode */
body.high-contrast {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* Global text contrast baseline */
body.high-contrast h1,
body.high-contrast h2,
body.high-contrast h3,
body.high-contrast h4,
body.high-contrast h5,
body.high-contrast h6,
body.high-contrast p,
body.high-contrast li,
body.high-contrast span,
body.high-contrast label,
body.high-contrast div,
body.high-contrast b,
body.high-contrast strong,
body.high-contrast i {
    color: #ffffff !important;
    text-shadow: none !important;
}

/* Links & Interactive Anchor Elements */
body.high-contrast a {
    color: #ffff00 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

body.high-contrast a:hover,
body.high-contrast a:focus {
    color: #00ffff !important;
    background-color: #000000 !important;
}

/* Header, Sticky Navigation, and Dropdowns (Prevents Overlap When Scrolling) */
body.high-contrast header,
body.high-contrast .navbar-area,
body.high-contrast #navbar,
body.high-contrast .main-navbar,
body.high-contrast .nav-item,
body.high-contrast .sticky,
body.high-contrast .is-sticky,
body.high-contrast .header-area {
    background-color: #000000 !important;
    background: #000000 !important;
    border-bottom: 3px solid #ffff00 !important;
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.2) !important;
    position: sticky !important;
    z-index: 9999 !important;
}

body.high-contrast .navbar-area .nav-link,
body.high-contrast #navbar .nav-link {
    color: #ffffff !important;
    background-color: transparent !important;
}

body.high-contrast .navbar-area .nav-link:hover,
body.high-contrast .navbar-area .nav-link:focus,
body.high-contrast #navbar .nav-link:hover,
body.high-contrast #navbar .nav-link.active {
    color: #ffff00 !important;
    text-decoration: underline !important;
}

/* Dropdown Menus and Offcanvas Navigation */
body.high-contrast .dropdown-menu,
body.high-contrast .offcanvas,
body.high-contrast .offcanvas-header,
body.high-contrast .offcanvas-body {
    background-color: #000000 !important;
    background: #000000 !important;
    border: 3px solid #ffff00 !important;
    box-shadow: 0 8px 24px rgba(255, 255, 0, 0.3) !important;
    z-index: 10000 !important;
}

body.high-contrast .dropdown-menu li a,
body.high-contrast .dropdown-item {
    color: #ffff00 !important;
    background-color: #000000 !important;
    border-bottom: 1px solid #333333 !important;
}

body.high-contrast .dropdown-menu li a:hover,
body.high-contrast .dropdown-item:hover {
    background-color: #ffff00 !important;
    color: #000000 !important;
}

/* Section Separation & Distinct Section Borders */
body.high-contrast section,
body.high-contrast main>div,
body.high-contrast .banner-area-2,
body.high-contrast .about-us-area,
body.high-contrast .activities-area,
body.high-contrast .testimonial-area,
body.high-contrast .academics-area,
body.high-contrast .campus-tour,
body.high-contrast .partners-area,
body.high-contrast .quick-search,
body.high-contrast #cta,
body.high-contrast .page-banner-area,
body.high-contrast .contact-area,
body.high-contrast .admission-area,
body.high-contrast .teams-area,
body.high-contrast .single-program-area,
body.high-contrast .footer-area,
body.high-contrast .copy-right-area {
    background-color: #0a0a0a !important;
    background-image: none !important;
    border: 3px solid #ffffff !important;
    margin-top: 15px !important;
    margin-bottom: 25px !important;
    padding-top: 50px !important;
    padding-bottom: 50px !important;
    border-radius: 8px !important;
    position: relative !important;
    z-index: 1 !important;
    clear: both !important;
}

/* Alternating Section Background Fills for Visual Differentiation */
body.high-contrast .activities-area,
body.high-contrast .testimonial-area,
body.high-contrast .campus-tour,
body.high-contrast #cta,
body.high-contrast .footer-area {
    background-color: #141414 !important;
    border-color: #ffff00 !important;
}

/* Cards & Content Boxes */
body.high-contrast .activities-card,
body.high-contrast .academics-item,
body.high-contrast .notice-content,
body.high-contrast .single-program,
body.high-contrast .single-team,
body.high-contrast .single-blog-card,
body.high-contrast .footer-widget,
body.high-contrast .widget,
body.high-contrast .card,
body.high-contrast .text-content,
body.high-contrast .content {
    background-color: #1a1a1a !important;
    background: #1a1a1a !important;
    border: 2px solid #ffffff !important;
    border-radius: 8px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 4px 10px rgba(255, 255, 255, 0.1) !important;
}

body.high-contrast .activities-card:hover,
body.high-contrast .academics-item:hover,
body.high-contrast .single-program:hover {
    border-color: #ffff00 !important;
    box-shadow: 0 0 15px rgba(255, 255, 0, 0.5) !important;
}

/* Buttons & Interactive Controls */
body.high-contrast .default-btn,
body.high-contrast .btn,
body.high-contrast .btn-style-2,
body.high-contrast .search-btn,
body.high-contrast button,
body.high-contrast input[type="submit"],
body.high-contrast input[type="button"] {
    background-color: #ffff00 !important;
    background: #ffff00 !important;
    color: #000000 !important;
    border: 2px solid #ffff00 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    padding: 12px 24px !important;
}

body.high-contrast .default-btn:hover,
body.high-contrast .btn:hover,
body.high-contrast .btn-style-2:hover,
body.high-contrast button:hover,
body.high-contrast input[type="submit"]:hover {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

/* Form Inputs & Fields */
body.high-contrast input[type="text"],
body.high-contrast input[type="email"],
body.high-contrast input[type="password"],
body.high-contrast input[type="number"],
body.high-contrast input[type="tel"],
body.high-contrast textarea,
body.high-contrast select {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 4px !important;
    padding: 10px !important;
}

body.high-contrast input:focus,
body.high-contrast textarea:focus,
body.high-contrast select:focus {
    border-color: #ffff00 !important;
    outline: 3px solid #ffff00 !important;
}

/* Images & Media Frame */
body.high-contrast img {
    filter: grayscale(100%) contrast(150%) !important;
    border: 2px solid #ffffff !important;
    border-radius: 4px !important;
}

/* Accessibility Toolbar Fixes */
body.high-contrast .a11y-toolbar-container {
    background-color: #000000 !important;
    border: 2px solid #ffff00 !important;
    border-radius: 8px 0 0 8px !important;
}

body.high-contrast .a11y-btn {
    background-color: #111111 !important;
    color: #ffffff !important;
    border-bottom: 1px solid #ffff00 !important;
}

body.high-contrast .a11y-btn:hover,
body.high-contrast .a11y-btn[aria-pressed="true"] {
    background-color: #ffff00 !important;
    color: #000000 !important;
}

body.high-contrast .a11y-btn i {
    color: inherit !important;
}

/* Focus Indicator for High Contrast */
body.high-contrast *:focus,
body.high-contrast *:focus-visible {
    outline: 4px solid #ffff00 !important;
    outline-offset: 3px !important;
}

/* Large Font Mode */
body.large-fonts {
    font-size: 115% !important;
}

body.large-fonts h1 {
    font-size: 2.6rem !important;
    line-height: 1.3 !important;
}

body.large-fonts h2 {
    font-size: 2.2rem !important;
    line-height: 1.3 !important;
}

body.large-fonts h3 {
    font-size: 1.8rem !important;
    line-height: 1.4 !important;
}

body.large-fonts h4 {
    font-size: 1.5rem !important;
    line-height: 1.4 !important;
}

body.large-fonts h5 {
    font-size: 1.3rem !important;
    line-height: 1.4 !important;
}

body.large-fonts h6 {
    font-size: 1.15rem !important;
    line-height: 1.4 !important;
}

body.large-fonts p,
body.large-fonts li,
body.large-fonts a,
body.large-fonts span,
body.large-fonts label,
body.large-fonts button,
body.large-fonts input,
body.large-fonts select,
body.large-fonts textarea {
    font-size: 1.15em !important;
    line-height: 1.6 !important;
}

body.large-fonts .activities-card,
body.large-fonts .academics-item,
body.large-fonts .notice-content,
body.large-fonts .single-program,
body.large-fonts .single-team,
body.large-fonts .card {
    height: auto !important;
    min-height: min-content !important;
}