/*
 * Shikkhon — clean, modern skin for the Edulia frontend theme.
 * Loaded after style.css; only overrides look & feel (colors, type, radius, shadows).
 */
:root {
    --sk-primary: #4F46E5;
    --sk-primary-dark: #3730A3;
    --sk-secondary: #2563EB;
    --sk-accent: #06B6D4;
    --sk-bg: #F8FAFC;
    --sk-surface: #FFFFFF;
    --sk-ink: #0F172A;
    --sk-heading: #1E1B4B;
    --sk-text: #475569;
    --sk-muted: #64748B;
    --sk-border: #E2E8F0;
    --sk-soft: #EEF2FF;
    --sk-radius: 16px;
    --sk-radius-sm: 10px;
    --sk-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .06);
    --sk-shadow-lg: 0 20px 45px rgba(30, 27, 75, .12);
    --sk-gradient: linear-gradient(135deg, #4F46E5 0%, #3730A3 100%);
    --sk-gradient-alt: linear-gradient(135deg, #4F46E5 0%, #2563EB 100%);
}

/* ---------- Base & typography ---------- */
body {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-weight: 400;
    color: var(--sk-text);
    -webkit-font-smoothing: antialiased;
    background: var(--sk-surface);
}
h1, h2, h3, h4, h5, h6,
.section_title h2 {
    font-family: "Plus Jakarta Sans", "Inter", sans-serif;
    font-weight: 700;
    color: var(--sk-heading);
    letter-spacing: -.02em;
}
.section_title h2 { font-weight: 800; line-height: 1.15; }
.section_title p { color: var(--sk-muted); }
.section_title_meta,
.section_title .section_title_meta {
    display: inline-block;
    font-size: 13px !important;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--sk-primary);
    background: var(--sk-soft);
    padding: 6px 12px;
    border-radius: 999px;
}
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
a:hover { color: var(--sk-primary); }
::selection { background: var(--sk-primary); color: #fff; }

/* ---------- Buttons ---------- */
.site_btn,
.site_btn_border {
    border-radius: var(--sk-radius-sm);
    text-transform: none;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0;
    padding: 13px 28px;
    border: 1.5px solid var(--sk-primary);
    color: var(--sk-primary);
}
.site_btn::after { border-radius: 8px; background: var(--sk-gradient-alt); }
.site_btn:hover { color: #fff; box-shadow: 0 10px 24px rgba(79, 70, 229, .25); }
.btn-primary,
.site_btn.fill,
button.site_btn {
    background: var(--sk-gradient-alt);
    border-color: transparent;
    color: #fff;
}

/* ---------- Header ---------- */
.heading_sub {
    background-color: var(--sk-heading);
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.heading_sub a, .heading_sub span, .heading_sub i { color: #C7D2FE; }
.heading_sub a:hover { color: #fff; }
.heading_main .container {
    border-radius: var(--sk-radius);
    box-shadow: 0 12px 32px rgba(15, 23, 42, .12);
    border: 1px solid rgba(226, 232, 240, .8);
}
.heading_main_menu_list_link {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    color: var(--sk-heading);
}
.heading_main_menu_list_link:hover,
.heading_main_menu_list_link.active { color: var(--sk-primary); }
.heading_main .input-control input,
.heading_main input[type="search"],
.heading_main input[type="text"] {
    border-radius: var(--sk-radius-sm);
    border-color: var(--sk-border);
    background: var(--sk-bg);
}
.submenu-header, .heading_main_menu_list .submenu, .heading_main_menu_list ul ul {
    border-radius: 12px;
    border: 1px solid var(--sk-border);
    box-shadow: var(--sk-shadow-lg);
}

/* ---------- Hero slider ---------- */
.hero_area_slider .owl-nav button,
.hero_area_slider .owl-nav [class*="owl-"] {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .95) !important;
    color: var(--sk-primary) !important;
    box-shadow: var(--sk-shadow);
}
.hero_area_slider .owl-nav button:hover { background: var(--sk-primary) !important; color: #fff !important; }
@media only screen and (max-width: 767px) {
    /* Theme places the arrows over the slide's bottom-left corner on phones; keep them small there. */
    .hero_area_slider .owl-nav button,
    .hero_area_slider .owl-nav [class*="owl-"] { width: 36px !important; height: 36px !important; font-size: 14px !important; }
    .hero_area_slider .owl-nav { bottom: 10px; left: 12px; display: flex; gap: 8px; }
}

/* ---------- Notice board (home) ---------- */
.notice-section #noticeContent {
    background: var(--sk-gradient);
    border-radius: 20px;
    padding: 24px 26px;
    box-shadow: 0 24px 50px rgba(55, 48, 163, .28);
}
.notice-section #noticeContent .notification-container ul li .noticeboard_inner_item {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
}
.notice-section #noticeContent .notification-container ul li .noticeboard_inner_item:hover { background: rgba(255, 255, 255, .15); }
.notice-section #noticeContent .notice-view-all {
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    font-weight: 600;
}
/* Opening hours + notice widgets near the footer */
.noticeboard_inner {
    border-radius: var(--sk-radius);
    border: 1px solid var(--sk-border);
    box-shadow: var(--sk-shadow);
    overflow: hidden;
}
.noticeboard_inner_head { background: var(--sk-gradient-alt) !important; }
.noticeboard_inner_head h5 { color: #fff; }
.noticeboard_inner_weekinfo li { border-color: var(--sk-border) !important; }
.noticeboard_inner_weekinfo li span:first-child { color: var(--sk-heading); font-weight: 600; }

/* ---------- Generic cards ---------- */
.gallery_item,
.course_item,
.blog_item_inner,
.single_speech_item,
.single-video-item,
.teacher_wrapper,
.events_item,
.openning_hours_container,
.tesimonials_slider_item {
    border-radius: var(--sk-radius) !important;
    overflow: hidden;
}
.course_item,
.blog_item_inner {
    display: block;
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    box-shadow: var(--sk-shadow);
    transition: transform .25s ease, box-shadow .25s ease;
}
.course_item:hover,
.blog_item_inner:hover,
.gallery_item:hover,
.single_speech_item:hover {
    transform: translateY(-4px);
    box-shadow: var(--sk-shadow-lg);
}
.course_item_img { position: relative; }
.course_item_img_inner, .blog_item_img { border-radius: 0; overflow: hidden; }
.course_item_inner { padding: 26px 22px 20px !important; }
.course_item_inner h4 , .course_item_inner h3{ font-size: 18px; margin-bottom: 0; }
.course_item:hover .course_item_inner h4 , .course_item:hover .course_item_inner h3{ color: var(--sk-primary); }
.course_item_img img, .blog_item_img img, .gallery_item_img img, .teacher_wrapper_img img {
    transition: transform .5s ease;
}
.course_item:hover img, .blog_item_inner:hover img, .gallery_item:hover img { transform: scale(1.04); }

/* Photo & video gallery cards */
.gallery_item { display: block; box-shadow: var(--sk-shadow); transition: transform .25s ease, box-shadow .25s ease; background: var(--sk-heading); }
.gallery_item_img { border-radius: 0; overflow: hidden; }
.gallery_item_inner { background: var(--sk-heading); padding: 16px 20px; }
.gallery_item_inner h4, .gallery_item_inner h3, .gallery_item_inner .gallery_item_title { color: #fff; font-size: 17px; }
.gallery_item_inner p, .gallery_item_inner .gallery_item_desc { color: #C7D2FE; }

/* Video gallery */
.video-gallery .single-video-item { box-shadow: var(--sk-shadow); }
.video-gallery .single-video-item::before {
    background: rgba(255, 255, 255, .95);
    color: var(--sk-primary);
    border-radius: 50%;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .25);
}

/* Speech cards: light cards instead of solid blue */
.home_speech_section .single_speech_item {
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    box-shadow: var(--sk-shadow);
    transition: transform .25s ease, box-shadow .25s ease;
}
.home_speech_section .single_speech_item .speaker_info { color: var(--sk-heading); font-family: "Plus Jakarta Sans", sans-serif; }
.home_speech_section .single_speech_item .speaker_info::after { filter: brightness(0) saturate(100%) invert(27%) sepia(89%) saturate(3000%) hue-rotate(238deg) brightness(92%); opacity: .6; }
.home_speech_section .single_speech_item .speech { color: var(--sk-muted); }
.home_speech_section .single_speech_item .speech_details {
    background: var(--sk-soft);
    color: var(--sk-primary);
    border-radius: var(--sk-radius-sm);
    font-weight: 600;
}
.home_speech_section .single_speech_item .speech_details:hover { background: var(--sk-primary); color: #fff; }
.home_speech_section .owl-carousel .owl-nav button { background: var(--sk-heading); border-radius: 50%; }
.home_speech_section .owl-carousel .owl-nav button:hover { background: var(--sk-primary); }

/* Teachers */
.teacher_wrapper_img { border-radius: var(--sk-radius); overflow: hidden; background: var(--sk-soft); }
.teacher_wrapper h4, .teacher_wrapper h5 { margin-top: 14px; }

/* Features strip */
.feature_list, .feature {
    border-radius: 20px;
}
/* Not the app banner's bullet list, which shares the class name. */
.feature_list:not(.download_app_section .feature_list) { background: var(--sk-bg) !important; border: 1px solid var(--sk-border) !important; }
.feature_item_icon {
    background: var(--sk-soft);
    border-radius: 14px;
}

/* Call to action */
.cta_area_inner .boxed_btn {
    background: #fff;
    color: var(--sk-primary);
    border-radius: 12px;
    font-weight: 700;
    text-transform: none;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .18);
}
.cta_area_inner .boxed_btn:last-child {
    background: transparent;
    color: #fff;
    border: 1.5px solid rgba(255, 255, 255, .6);
    box-shadow: none;
}
.cta_area_inner .boxed_btn:hover { color: #fff; }
.cta_area_inner .boxed_btn::after { border-radius: 12px; }

/* Fun facts / counters: white stat card over the CTA */
.funfact #counters {
    background: #fff;
    border-radius: 22px;
    border: 1px solid var(--sk-border);
    box-shadow: 0 24px 50px rgba(30, 27, 75, .14);
}
.funfact_item h3, .funfact_item h3 span {
    color: var(--sk-primary);
    font-weight: 800;
}
.funfact_item p { color: var(--sk-muted); font-weight: 500; }
.funfact .col-md-3 + .col-md-3 .funfact_item { border-left: 1px solid var(--sk-border); }

/* Course category tags */
.course_item_img_status,
.course_item_img_status.orange, .course_item_img_status.red,
.course_item_img_status.green, .course_item_img_status.blue {
    left: 22px;
    background: var(--sk-surface) !important;
    color: var(--sk-primary) !important;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 12px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, .12);
}

/* Events */
.events_schedule_date {
    background: var(--sk-gradient-alt) !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 24px rgba(79, 70, 229, .25);
}
.events_preview_img img { border-radius: 20px; }

/* Testimonials */
.tesimonials_slider_item_star i { color: #F59E0B; }

/* Opening hours & side notice */
.openning_hours_container {
    border: 1px solid var(--sk-border);
    box-shadow: var(--sk-shadow) !important;
}
.notice-board-header, .noticeboard_inner_head {
    background: var(--sk-gradient-alt) !important;
}

/* ---------- Page header / breadcrumb ---------- */
.bradcrumb_area {
    position: relative;
    isolation: isolate;
}
.bradcrumb_area::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(30, 27, 75, .92), rgba(79, 70, 229, .78));
    z-index: -1;
}
.bradcrumb_area h1, .bradcrumb_area h2, .bradcrumb_area h3, .bradcrumb_area a, .bradcrumb_area li { color: #fff !important; }

/* ---------- Forms & tables ---------- */
.input-control input, .input-control select, .input-control textarea,
input.input-control-input, .form-control, .nice-select {
    border-radius: var(--sk-radius-sm) !important;
    border-color: var(--sk-border) !important;
}
.input-control input:focus, .form-control:focus, textarea:focus, select:focus {
    border-color: var(--sk-primary) !important;
    box-shadow: 0 0 0 4px rgba(79, 70, 229, .12) !important;
    outline: none;
}
table.dataTable thead th, .table thead th {
    background: var(--sk-bg);
    color: var(--sk-heading);
    font-weight: 600;
    border-color: var(--sk-border) !important;
}

/* ---------- Footer ---------- */
footer, .footer, .footer_copyright { color: #C7D2FE; }
.footer-item h1, .footer-item h2, .footer-item h3, .footer-item h4, .footer-item h5 { color: #fff !important; }
.footer-item a, .footer-item li { color: #C7D2FE !important; }
.footer-item a:hover { color: #fff !important; }
.footer_copyright a, .footer_copyright i { color: #C7D2FE !important; }
.footer_copyright a:hover, .footer_copyright a:hover i { color: #fff !important; }

/* ---------- Pagination / misc ---------- */
.pagination .page-link, .page-item .page-link { border-radius: 8px !important; margin: 0 3px; border-color: var(--sk-border); color: var(--sk-heading); }
.pagination .active .page-link, .page-item.active .page-link { background: var(--sk-primary); border-color: var(--sk-primary); color: #fff; }
.owl-dots .owl-dot.active span { background: var(--sk-primary) !important; }
.openning_hours_container .noticeboard_inner { border: 0; box-shadow: none; border-radius: 0; }

/* ---------- Page banner & breadcrumb (components/edulia/page-banner) ---------- */
.bradcrumb_area_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.bradcrumb_area_inner .bradcrumb_title {
    font-family: "Plus Jakarta Sans", "Inter", sans-serif;
    font-weight: 700;
    letter-spacing: -.02em;
    font-size: 50px;
    line-height: 1.56;
    margin: 0;
    color: #fff;
}
.bradcrumb_trail ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
}
.bradcrumb_trail li { margin: 0; }
.bradcrumb_trail li + li::before { content: "/"; padding: 0 .35em; color: #fff; }
.bradcrumb_area .bradcrumb_trail a:hover, .bradcrumb_area .bradcrumb_trail a:focus-visible { color: #C7D2FE !important; text-decoration: underline; }
@media only screen and (min-width: 1200px) and (max-width: 1439px) { .bradcrumb_area_inner .bradcrumb_title { font-size: 40px; } }
@media only screen and (min-width: 992px) and (max-width: 1199px) { .bradcrumb_area_inner .bradcrumb_title { font-size: 38px; } }
@media only screen and (min-width: 768px) and (max-width: 991px) { .bradcrumb_area_inner .bradcrumb_title { font-size: 30px; } }
@media only screen and (max-width: 767px) {
    .bradcrumb_area_inner .bradcrumb_title { font-size: 24px; }
    .bradcrumb_trail ol { font-size: 14px; font-weight: 400; }
}
@media only screen and (max-width: 479px) {
    .bradcrumb_area_inner { display: block; }
    .bradcrumb_trail ol { font-size: 12px; margin-top: 5px; }
}
.bradcrumb_area_inner h1 { overflow-wrap: anywhere; }

/* ---------- Accessibility helpers ---------- */
.skip-link {
    position: absolute;
    left: 16px;
    top: -60px;
    z-index: 10000;
    padding: 10px 16px;
    border-radius: 8px;
    background: var(--sk-primary, #4F46E5);
    color: #fff !important;
    font-weight: 600;
    transition: top .15s ease;
}
.skip-link:focus { top: 12px; outline: 3px solid #fff; outline-offset: 2px; }
.mainbag:focus { outline: none; }
.sk-visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}
a:focus-visible, button:focus-visible, [role="button"]:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid var(--sk-primary, #4F46E5);
    outline-offset: 2px;
}
.heading_mobile_thum { background: none; border: 0; padding: 0; color: inherit; cursor: pointer; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ---------- Hero slider: reserve space before Owl initialises (was CLS 0.46) ---------- */
.hero_area_slider.owl-carousel:not(.owl-loaded) { display: block; }
.hero_area_slider.owl-carousel:not(.owl-loaded) > .hero_area ~ .hero_area { display: none; }
.hero_area_inner img { display: block; width: 100%; height: auto; }

/* ---------- Header menu: link-less parents are <button>s; keyboard access ---------- */
button.heading_main_menu_list_link,
.heading_main_menu_sub_toggle {
    background: transparent;
    border: 0;
    margin: 0;
    font-family: inherit;
    text-align: inherit;
    cursor: pointer;
    white-space: nowrap;
}
.heading_main_menu_sub_toggle { width: 100%; }
.heading_main_menu_list:focus-within > ul {
    opacity: 1;
    visibility: visible;
    top: 100%;
    pointer-events: auto;
}
.heading_main_menu_list_dropdown li:focus-within > ul {
    left: 110%;
    opacity: 1;
    visibility: visible;
}
/* Long record titles in the breadcrumb trail */
.bradcrumb_trail li:last-child span { display: inline-block; max-width: 38ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
/* Accent cyan (#06B6D4) is 2.4:1 on white; text links use the darker cyan-700 (5.4:1, WCAG AA). */
.about_us_inner a:first-child { color: #0E7490; }
/* Event description is rich text (was wrapped in an invalid <p>): keep the paragraph look for plain text. */
.events_details_description { font-size: 16px; font-weight: 400; margin-bottom: 30px; }
.events_details_description > p:last-child { margin-bottom: 0; }

/* ---------- Website language switcher (components/edulia/language-switcher) ---------- */
.heading_sub_right ul li.sk-lang { position: relative; display: inline-block; }
.sk-lang-toggle {
    display: flex; align-items: center; gap: 6px;
    background: transparent; border: 0; border-left: 1px solid rgba(227, 227, 227, .1);
    padding: 12px 14px; font: inherit; font-size: 13px; font-weight: 500;
    color: #C7D2FE; cursor: pointer;
}
.sk-lang-toggle:hover, .sk-lang-toggle[aria-expanded="true"] { color: #fff; }
.heading_sub .sk-lang-menu {
    position: absolute; top: 100%; right: 0; z-index: 1000;
    min-width: 170px; margin: 4px 0 0; padding: 6px; list-style: none;
    background: #fff; border-radius: 10px; box-shadow: 0 12px 32px rgba(15, 23, 42, .18);
    display: block;
}
.heading_sub .sk-lang-menu[hidden] { display: none; }
.heading_sub .sk-lang-menu li { display: block; }
.heading_sub .sk-lang-menu li a {
    display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
    padding: 9px 12px !important; border: 0; border-radius: 6px;
    color: #1E1B4B !important; font-size: 14px; font-weight: 500;
}
.heading_sub .sk-lang-menu li a small { color: #64748B; font-size: 12px; }
.heading_sub .sk-lang-menu li a:hover, .heading_sub .sk-lang-menu li a:focus-visible { background: #EEF2FF; color: #4F46E5 !important; }
.heading_sub .sk-lang-menu li a.active { color: #4F46E5 !important; font-weight: 700; }
/* Mobile menu: inline language links next to Login */
.heading_mobile_menu.zeynep .heading_mobile_menu_top ul > li.sk-lang-inline { display: flex; gap: 8px; padding: 8px 20px 12px; }
.heading_mobile_menu.zeynep .heading_mobile_menu_top ul > li.sk-lang-inline > a {
    display: inline-block; padding: 6px 14px; border: 1px solid #E2E8F0; border-radius: 999px;
    font-size: 14px; line-height: 1.4; color: #1E1B4B;
}
/* The theme sets background-color: transparent !important on every mobile menu link. */
.heading_mobile_menu.zeynep .heading_mobile_menu_top ul > li.sk-lang-inline > a.active { background-color: #4F46E5 !important; border-color: #4F46E5; color: #fff; }
/* Bangla: Inter/Plus Jakarta have no Bengali glyphs; use the best installed Bengali font. */
/* Only text elements: a universal :lang(bn) rule would also replace the icon fonts (Font Awesome, Themify). */
html[lang="bn"] body, html[lang="bn"] h1, html[lang="bn"] h2, html[lang="bn"] h3, html[lang="bn"] h4, html[lang="bn"] h5, html[lang="bn"] h6,
html[lang="bn"] button, html[lang="bn"] input, html[lang="bn"] select, html[lang="bn"] textarea,
.sk-lang [lang="bn"], .sk-lang-inline [lang="bn"] { font-family: "Inter", "Hind Siliguri", "Noto Sans Bengali", "Nirmala UI", "Vrinda", "Shonar Bangla", sans-serif; }

/* ---------- Footer layout ---------- */
/* Widget links: <a> and plain-text <span> items get the same size and rhythm (they used to differ). */
.footer-item-links li > a,
.footer-item-links li > span {
    display: block;
    font-size: 15px;
    line-height: 1.6;
    padding: 5px 0;
    color: #C7D2FE !important;
}
.footer-item-links li > a:hover { color: #fff !important; opacity: 1; }
.footer-item-logo { margin-bottom: 18px; }
.footer-item p:last-child { margin-top: 0; }
/* One divider above the copyright row (was a full-width line plus a shorter one, both offset from the grid). */
.footer_copyright { margin-top: 40px; }
.footer_copyright_bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(199, 210, 254, .18);
}
.footer_copyright_inner { font-size: 14px; }
.footer_copyright_social { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none; }
.footer_copyright_social_list_link { padding: 6px 10px; margin: 0; }
/* The page-builder sections carry 100px / 90px inline padding: too tall for small screens. */
/* The copyright section's 90px bottom padding (page-builder setting) left a tall empty band. */
.pb-themesection:has(.footer_copyright) { padding-bottom: 28px !important; }
@media only screen and (max-width: 991px) {
    .pb-themesection:has(.footer-item) { padding-top: 56px !important; }
    .pb-themesection:has(.footer_copyright) { padding-bottom: 24px !important; }
    .footer_copyright { margin-top: 12px; }
}
@media only screen and (max-width: 767px) {
    .footer_copyright_bar { flex-direction: column; text-align: center; }
    .footer_copyright_social { justify-content: center; margin-top: 0 !important; }
}

/* ---------- Events list (components/edulia/event) ---------- */
.sk-events { list-style: none; margin: 0; padding: 0; }
.sk-events_item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--sk-border);
}
.sk-events_item:last-child { border-bottom: 0; }
.sk-events_item .events_schedule_date { flex: 0 0 auto; }
.sk-events_body { flex: 1 1 auto; min-width: 0; }
.sk-events_title h3 {
    font-size: 18px;
    line-height: 1.35;
    margin: 0 0 6px;
    color: var(--sk-heading);
    overflow-wrap: anywhere;
}
.sk-events_title:hover h3 { color: var(--sk-primary); }
.sk-events_meta { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 14px; color: var(--sk-muted); }
.sk-events_meta i { color: var(--sk-accent); margin-right: 4px; }
.sk-events_arrow { flex: 0 0 auto; color: var(--sk-primary); font-size: 18px; padding: 6px; }
@media only screen and (max-width: 991px) {
    .events_preview_img { max-width: 420px; margin: 0 auto 32px; }
}
@media only screen and (max-width: 767px) {
    .sk-events_item { gap: 12px; }
    .sk-events_title h3 { font-size: 16px; }
    .sk-events_meta { font-size: 13px; }
    .sk-events_arrow { display: none; }
}

/* ---------- Course cards: keep the 10:7 artwork whole instead of cropping it into fixed heights ---------- */
.course_item_img_inner { height: auto !important; aspect-ratio: 10 / 7; }

/* ---------- App download banner ---------- */
@media only screen and (max-width: 767px) {
    .download_app_section { margin-top: 32px; padding: 20px; }
}

/* ---------- Opening hours + notice board placed side by side in page-builder columns ---------- */
/* Both sections bring their own .container / offset / top margin, which misaligned them with the grid above. */
@media only screen and (min-width: 768px) {
    .droppable-container > .col-md-6.p-0 > div > section.noticeboard { margin: 0 !important; padding-top: 0 !important; max-width: none; width: auto; }
    .droppable-container > .col-md-6.p-0 > div > section.noticeboard > .container,
    .droppable-container > .col-md-6.p-0 > div > section.noticeboard > .row { max-width: none; margin: 0; padding: 0; }
    .droppable-container > .col-md-6.p-0 > div > section.noticeboard .row > [class*="col-"] { margin-left: 0; width: 100%; padding: 0; }
    .droppable-container > .col-md-6.p-0:first-child { padding-right: 12px !important; }
    .droppable-container > .col-md-6.p-0:last-child { padding-left: 12px !important; }
}

/* ---------- Online admission (frontEnd/theme/edulia/admission) ---------- */
.adm-card {
    background: var(--sk-surface);
    border: 1px solid var(--sk-border);
    border-radius: var(--sk-radius);
    box-shadow: var(--sk-shadow);
    padding: 32px;
    margin-bottom: 24px;
}
.adm-card_title { font-size: 20px; margin-bottom: 12px; }
.adm-step { border: 0; padding: 0; margin: 0; min-width: 0; }
.adm-step_title { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 22px; font-weight: 700; color: var(--sk-heading); margin-bottom: 8px; float: none; width: auto; }
.adm-step_title:focus { outline: none; }
.adm-subtitle { font-size: 18px; margin: 28px 0 4px; }
.adm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; margin-top: 18px; }
.adm-span-2 { grid-column: 1 / -1; }
.adm-field { display: flex; flex-direction: column; min-width: 0; }
.adm-field .input-control-label { font-weight: 600; font-size: 14px; color: var(--sk-heading); margin-bottom: 6px; }
.adm-field .input-control-label span { color: #DC2626; margin-left: 2px; }
.adm-optional { color: var(--sk-muted); font-weight: 400; }
.adm .input-control-input { width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid var(--sk-border); border-radius: var(--sk-radius-sm); background: #fff; font-size: 15px; color: var(--sk-ink); }
.adm textarea.input-control-input { min-height: 90px; resize: vertical; }
.adm input[type=file].input-control-input { padding: 9px 12px; }
.adm .input-control-input.is-invalid { border-color: #DC2626 !important; }
.adm .input-control-input[readonly] { background: var(--sk-bg); }
.adm-help { color: var(--sk-muted); font-size: 13px; margin-top: 4px; }
.adm-error { color: #DC2626; font-size: 13px; margin-top: 4px; display: block; }
.adm-check { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 0; font-size: 15px; color: var(--sk-text); cursor: pointer; }
.adm-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--sk-primary); flex: 0 0 auto; }
.adm-check--confirm { padding: 14px 16px; border-radius: var(--sk-radius-sm); background: var(--sk-soft); }
.adm-alert { padding: 12px 16px; border-radius: var(--sk-radius-sm); font-size: 14px; margin: 0 0 18px; }
.adm-alert--error { background: #FEF2F2; color: #B91C1C; border: 1px solid #FECACA; }
.adm-alert--info { background: var(--sk-soft); color: var(--sk-primary-dark); border: 1px solid #C7D2FE; }
.adm-account-status { margin: 16px 0 0; padding: 10px 14px; border-radius: var(--sk-radius-sm); background: var(--sk-bg); font-size: 14px; }
.adm-account-status.is-found { background: #ECFDF5; color: #047857; }
.adm-account-status.is-new { background: var(--sk-soft); color: var(--sk-primary-dark); }
.adm-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--sk-border); }
.adm-actions #admPrev[hidden] + .adm-btn { margin-left: auto; }
.adm-actions--center { justify-content: center; border-top: 0; padding-top: 8px; }
.adm-btn { min-width: 140px; text-align: center; cursor: pointer; }
.adm-btn:disabled { opacity: .7; cursor: progress; }
.adm-link { background: none; border: 0; padding: 0; color: var(--sk-primary); font-weight: 600; cursor: pointer; }
.adm-summary_section { border: 1px solid var(--sk-border); border-radius: var(--sk-radius-sm); padding: 16px 18px; margin-top: 16px; }
.adm-summary_head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.adm-summary_head h3 { font-size: 16px; margin: 0; }
.adm-summary dl { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 6px 16px; margin: 0; font-size: 14px; }
.adm-summary dt { color: var(--sk-muted); font-weight: 500; }
.adm-summary dd { margin: 0; color: var(--sk-ink); overflow-wrap: anywhere; }
.adm-summary dd.is-empty { color: #94A3B8; font-style: italic; }
.adm-request-list { list-style: none; margin: 0; padding: 0; }
.adm-request-list li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--sk-border); font-size: 14px; }
.adm-badge { flex: 0 0 auto; padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.adm-badge--0 { background: #FEF3C7; color: #92400E; }
.adm-badge--1 { background: #DCFCE7; color: #166534; }
.adm-badge--2 { background: #FEE2E2; color: #991B1B; }
.adm-success { text-align: center; }
.adm-success_icon { width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%; display: grid; place-items: center; background: #DCFCE7; color: #16A34A; font-size: 28px; }
.adm-success h2 { font-size: 24px; }
.adm-reference { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 24px; font-weight: 700; color: var(--sk-primary); letter-spacing: .04em; margin-bottom: 12px; }
@media only screen and (max-width: 767px) {
    .adm-card { padding: 20px 16px; }
    .adm-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .adm-summary dl { grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .adm-summary dd { margin-bottom: 8px; }
    .adm-btn { flex: 1 1 0; min-width: 0; }
}


/* Wizard: header with progress, connected step circles, padded body. */
.adm-wizard { padding: 0; overflow: hidden; }
.adm-wizard_head { position: relative; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px 24px; padding: 28px 32px 34px; background: var(--sk-gradient); color: #fff; }
.adm-wizard_title { color: #fff; font-size: 24px; margin: 0 0 6px; }
.adm-wizard_intro { color: #C7D2FE; font-size: 15px; margin: 0; max-width: 56ch; }
.adm-wizard_count { flex: 0 0 auto; padding: 6px 14px; border-radius: 999px; background: rgba(255, 255, 255, .16); font-size: 13px; font-weight: 700; white-space: nowrap; }
.adm-progress { position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: rgba(255, 255, 255, .18); }
.adm-progress span { display: block; height: 100%; width: 0; background: #67E8F9; transition: width .35s ease; }
.adm-stepper { display: grid; grid-template-columns: repeat(var(--adm-steps, 4), minmax(0, 1fr)); list-style: none; margin: 0; padding: 26px 32px 22px; border-bottom: 1px solid var(--sk-border); background: var(--sk-bg); }
.adm-stepper_item { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; color: var(--sk-muted); font-size: 14px; font-weight: 600; }
.adm-stepper_item + .adm-stepper_item::before { content: ""; position: absolute; top: 19px; right: calc(50% + 26px); left: calc(-50% + 26px); height: 3px; border-radius: 3px; background: var(--sk-border); transition: background-color .3s ease; }
.adm-stepper_item.is-active::before, .adm-stepper_item.is-done::before { background: var(--sk-primary) !important; }
.adm-stepper_num { position: relative; z-index: 1; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 2px solid var(--sk-border); color: var(--sk-muted); font-size: 15px; font-weight: 700; transition: all .3s ease; }
.adm-stepper_num i { display: none; }
.adm-stepper_label { max-width: 16ch; line-height: 1.3; }
.adm-stepper_item.is-active { color: var(--sk-primary); }
.adm-stepper_item.is-active .adm-stepper_num { background: var(--sk-primary); border-color: var(--sk-primary); color: #fff; box-shadow: 0 0 0 6px rgba(79, 70, 229, .15); }
.adm-stepper_item.is-done { color: var(--sk-heading); }
.adm-stepper_item.is-done .adm-stepper_num { background: #16A34A; border-color: #16A34A; color: #fff; }
.adm-stepper_item.is-done .adm-stepper_num span { display: none; }
.adm-stepper_item.is-done .adm-stepper_num i { display: inline; }
.adm-wizard_body { padding: 30px 32px 32px; }
.adm-step_title i { width: 38px; height: 38px; margin-right: 8px; border-radius: 10px; display: inline-grid; place-items: center; background: var(--sk-soft); color: var(--sk-primary); font-size: 18px; vertical-align: middle; }
.adm-step { animation: adm-in .3s ease; }
@keyframes adm-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media only screen and (max-width: 767px) {
    .adm-wizard_head { padding: 22px 18px 26px; }
    .adm-wizard_title { font-size: 20px; }
    .adm-wizard_intro { font-size: 14px; }
    .adm-stepper { padding: 18px 8px 16px; }
    .adm-stepper_item { font-size: 11px; gap: 6px; }
    .adm-stepper_item + .adm-stepper_item::before { top: 15px; right: calc(50% + 20px); left: calc(-50% + 20px); height: 2px; }
    .adm-stepper_num { width: 32px; height: 32px; font-size: 13px; }
    .adm-stepper_item.is-active .adm-stepper_num { box-shadow: 0 0 0 4px rgba(79, 70, 229, .15); }
    .adm-wizard_body { padding: 22px 16px 24px; }
    .adm-step_title { font-size: 19px; }
    .adm-step_title i { width: 32px; height: 32px; font-size: 15px; }
}

/* Admission: "applying as" choice cards */
.adm-choice-group { margin-top: 18px; }
.adm-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.adm-choice { position: relative; margin: 0; cursor: pointer; }
.adm-choice input { position: absolute; opacity: 0; pointer-events: none; }
.adm-choice_body { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; height: 100%; padding: 14px 16px; border: 1.5px solid var(--sk-border); border-radius: var(--sk-radius-sm); background: #fff; transition: border-color .2s ease, background-color .2s ease; }
.adm-choice_body i { grid-row: span 2; width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--sk-soft); color: var(--sk-primary); font-size: 17px; }
.adm-choice_body strong { color: var(--sk-heading); font-size: 15px; }
.adm-choice_body small { color: var(--sk-muted); font-size: 13px; }
.adm-choice input:checked + .adm-choice_body { border-color: var(--sk-primary); background: var(--sk-soft); box-shadow: 0 0 0 3px rgba(79, 70, 229, .12); }
.adm-choice input:focus-visible + .adm-choice_body { outline: 3px solid var(--sk-primary); outline-offset: 2px; }
@media only screen and (max-width: 575px) { .adm-choices { grid-template-columns: minmax(0, 1fr); } }
