/* KG Institute System Frontend */
.kgis-course-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    margin: 25px 0;
    font-family: "Roboto Condensed", Arial, sans-serif;
}

.kgis-course-card {
    background: #ffffff;
    border: 1px solid #e6eaf0;
    border-radius: 14px;
    overflow: hidden;
    transition: 0.25s ease;
}

.kgis-course-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.09);
}

.kgis-course-thumb {
    display: block;
    background: #f1f5f9;
    text-decoration: none !important;
}

.kgis-course-thumb img {
    width: 100%;
    height: var(--kgis-course-image-height, 225px);
    object-fit: cover;
    display: block;
}

.kgis-course-placeholder {
    height: var(--kgis-course-image-height, 225px);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 22px;
    font-weight: 300;
}

.kgis-course-body {
    padding: 22px;
}

.kgis-course-body h3 {
    margin: 0 0 10px;
    color: #0f172a;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 500;
}

.kgis-course-body h3 a {
    color: inherit;
    text-decoration: none !important;
}

.kgis-course-body p {
    color: #475569;
    font-size: 16px;
    line-height: 1.65;
    font-weight: 300;
    margin: 12px 0 0;
}

.kgis-course-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}

.kgis-course-meta span {
    background: #eef2ff;
    color: #334155;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 400;
}

.kgis-course-actions {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.kgis-btn,
.kgis-submit-btn,
.login-submit .button {
    display: inline-block;
    padding: 11px 20px;
    border-radius: 7px;
    border: none;
    cursor: pointer;
    text-decoration: none !important;
    font-family: "Roboto Condensed", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 400;
}

.kgis-btn-primary,
.kgis-submit-btn,
.login-submit .button {
    background: #2563eb !important;
    color: #ffffff !important;
}

.kgis-btn-dark {
    background: #111827 !important;
    color: #ffffff !important;
}

.kgis-btn-light {
    background: #f1f5f9 !important;
    color: #0f172a !important;
}

.kgis-big-btn {
    padding: 14px 28px;
    font-size: 18px;
    margin-top: 15px;
}

.kgis-form,
.kgis-login-box {
    max-width: 850px;
    background: #ffffff;
    border: 1px solid #e6eaf0;
    border-radius: 14px;
    padding: 30px;
    font-family: "Roboto Condensed", Arial, sans-serif;
}

.kgis-login-box {
    max-width: 460px;
}

.kgis-login-box h3 {
    margin-top: 0;
    font-size: 28px;
    font-weight: 500;
    color: #0f172a;
}

.kgis-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.kgis-form-group {
    margin-bottom: 18px;
}

.kgis-form-group label,
.kgis-filter-form label,
.kgis-inline-form label,
.kgis-login-box label {
    display: block;
    margin-bottom: 7px;
    color: #0f172a;
    font-size: 16px;
    font-weight: 400;
}

.kgis-form-group label span {
    color: #dc2626;
}

.kgis-form-group input,
.kgis-form-group select,
.kgis-form-group textarea,
.kgis-filter-form select,
.kgis-inline-form select,
.kgis-inline-form textarea,
.kgis-login-box input[type="text"],
.kgis-login-box input[type="password"] {
    width: 100%;
    min-height: 44px;
    padding: 11px 13px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    color: #0f172a;
    background: #ffffff;
    font-size: 16px;
}

.kgis-form-group textarea,
.kgis-inline-form textarea {
    min-height: 100px;
}

.kgis-notice {
    margin: 15px 0 22px;
    padding: 14px 17px;
    border-radius: 8px;
    font-family: "Roboto Condensed", Arial, sans-serif;
}

.kgis-notice-success {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
}

.kgis-notice-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.kgis-single-course-box {
    margin-top: 28px;
    padding: 26px;
    border: 1px solid #e6eaf0;
    border-radius: 14px;
    background: #ffffff;
    font-family: "Roboto Condensed", Arial, sans-serif;
}

.kgis-single-course-box h3 {
    margin-top: 0;
}

.kgis-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 16px 0 22px;
}

.kgis-info-grid div {
    background: #f8fafc;
    border: 1px solid #e6eaf0;
    border-radius: 10px;
    padding: 15px;
}

.kgis-info-grid strong {
    display: block;
    color: #0f172a;
    font-size: 15px;
}

.kgis-info-grid span {
    display: block;
    color: #475569;
    margin-top: 5px;
}

.kgis-dashboard {
    font-family: "Roboto Condensed", Arial, sans-serif;
}

.kgis-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
    padding: 24px;
    background: #f8fafc;
    border: 1px solid #e6eaf0;
    border-radius: 14px;
}

.kgis-dashboard-header h2 {
    margin: 0;
    font-size: 30px;
    font-weight: 500;
    color: #0f172a;
}

.kgis-dashboard-header p {
    margin: 6px 0 0;
    color: #475569;
}

.kgis-header-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.kgis-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 26px;
}

.kgis-stat-card {
    background: #ffffff;
    border: 1px solid #e6eaf0;
    border-radius: 14px;
    padding: 20px;
}

.kgis-stat-card strong {
    display: block;
    font-size: 30px;
    font-weight: 500;
    color: #0f172a;
    word-break: break-word;
}

.kgis-stat-card span {
    display: block;
    margin-top: 5px;
    color: #64748b;
    font-weight: 300;
}

.kgis-filter-form {
    display: flex;
    align-items: end;
    gap: 12px;
    background: #ffffff;
    border: 1px solid #e6eaf0;
    border-radius: 14px;
    padding: 18px;
    margin-bottom: 20px;
}

.kgis-filter-form > div {
    min-width: 180px;
}

.kgis-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e6eaf0;
    border-radius: 14px;
    background: #ffffff;
}

.kgis-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px;
}

.kgis-table th,
.kgis-table td {
    padding: 14px 15px;
    border-bottom: 1px solid #e6eaf0;
    text-align: left;
    vertical-align: top;
}

.kgis-table th {
    background: #f8fafc;
    color: #0f172a;
    font-weight: 500;
}

.kgis-table td {
    color: #334155;
    font-weight: 300;
}

.kgis-status {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 400;
    background: #f1f5f9;
    color: #334155;
}

.kgis-status-new {
    background: #dbeafe;
    color: #1e40af;
}

.kgis-status-contacted {
    background: #fef3c7;
    color: #92400e;
}

.kgis-status-approved {
    background: #dcfce7;
    color: #166534;
}

.kgis-status-rejected {
    background: #fee2e2;
    color: #991b1b;
}

.kgis-status-converted {
    background: #ede9fe;
    color: #5b21b6;
}

.kgis-manage-details summary {
    cursor: pointer;
    color: #2563eb;
    font-weight: 500;
}

.kgis-inline-form {
    margin-top: 12px;
    min-width: 260px;
}

.kgis-inline-form select,
.kgis-inline-form textarea {
    margin-bottom: 10px;
}

.kgis-login-help {
    margin-bottom: 0;
}

@media (max-width: 921px) {
    .kgis-course-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kgis-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kgis-info-grid,
    .kgis-form-row {
        grid-template-columns: 1fr;
    }

    .kgis-dashboard-header,
    .kgis-filter-form {
        display: block;
    }

    .kgis-header-actions {
        margin-top: 14px;
    }

    .kgis-filter-form > div {
        margin-bottom: 12px;
    }
}

@media (max-width: 600px) {
    .kgis-course-grid,
    .kgis-stat-grid {
        grid-template-columns: 1fr;
    }

    .kgis-form,
    .kgis-login-box,
    .kgis-single-course-box,
    .kgis-dashboard-header {
        padding: 20px;
    }
}


/* Course page with Tutor-LMS-style sidebar filter */
.kgis-courses-page-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.kgis-course-sidebar {
    position: sticky;
    top: 25px;
}

.kgis-course-filter-form,
.kgis-category-list {
    background: #ffffff;
    border: 1px solid #e6eaf0;
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 20px;
    font-family: "Roboto Condensed", Arial, sans-serif;
}

.kgis-course-filter-form h3,
.kgis-category-list h3 {
    margin: 0 0 16px;
    font-size: 22px;
    font-weight: 500;
    color: #0f172a;
}

.kgis-filter-field {
    margin-bottom: 15px;
}

.kgis-filter-field label {
    display: block;
    margin-bottom: 7px;
    color: #0f172a;
    font-size: 15px;
    font-weight: 400;
}

.kgis-filter-field input,
.kgis-filter-field select {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #ffffff;
    color: #0f172a;
}

.kgis-filter-btn {
    width: 100%;
    text-align: center;
    margin-top: 8px;
}

.kgis-category-list a {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: #334155;
    padding: 10px 0;
    border-bottom: 1px solid #f1f5f9;
    text-decoration: none !important;
    font-weight: 300;
}

.kgis-category-list a:last-child {
    border-bottom: none;
}

.kgis-category-list a.active,
.kgis-category-list a:hover {
    color: #2563eb;
}

.kgis-category-list span {
    background: #f1f5f9;
    color: #475569;
    min-width: 28px;
    text-align: center;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 13px;
}

.kgis-courses-topbar {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 15px;
    margin-bottom: 18px;
}

.kgis-courses-topbar h2 {
    margin: 0;
    font-size: 30px;
    color: #0f172a;
    font-weight: 500;
}

.kgis-courses-topbar p {
    margin: 0;
    color: #64748b;
}

.kgis-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 28px 0 0;
    font-family: "Roboto Condensed", Arial, sans-serif;
}

.kgis-pagination span {
    color: #475569;
}

.kgis-empty-courses {
    grid-column: 1 / -1;
    background: #f8fafc;
    border: 1px solid #e6eaf0;
    border-radius: 14px;
    padding: 25px;
    color: #475569;
}

@media (max-width: 921px) {
    .kgis-courses-page-layout {
        grid-template-columns: 1fr;
    }

    .kgis-course-sidebar {
        position: static;
    }

    .kgis-courses-topbar {
        display: block;
    }
}


/* v1.2 compact professional course filter and flat cards */
.kgis-courses-page-layout {
    grid-template-columns: 235px minmax(0, 1fr);
    gap: 24px;
}

.kgis-course-filter-form,
.kgis-category-list {
    background: transparent;
    border: 0 !important;
    border-radius: 0;
    padding: 0;
    margin-bottom: 24px;
    box-shadow: none !important;
}

.kgis-course-filter-form h3,
.kgis-category-list h3 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 500;
    color: #111827;
}

.kgis-filter-field {
    margin-bottom: 10px;
}

.kgis-filter-field label {
    margin-bottom: 5px;
    color: #4b5563;
    font-size: 13px;
    font-weight: 400;
}

.kgis-filter-field input,
.kgis-filter-field select {
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #ffffff;
    color: #111827;
    font-size: 14px;
    outline: none;
}

.kgis-filter-field input:focus,
.kgis-filter-field select:focus {
    border-color: #2563eb;
}

.kgis-filter-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.kgis-live-search-note {
    color: #6b7280;
    font-size: 12px;
    line-height: 1.3;
}

.kgis-reset-link {
    color: #2563eb;
    font-size: 13px;
    text-decoration: none !important;
    font-weight: 400;
}

.kgis-reset-link:hover {
    color: #111827;
}

.kgis-filter-btn {
    width: auto;
    margin-top: 0;
}

.kgis-category-list a {
    padding: 7px 0;
    border-bottom: 0;
    color: #374151;
    font-size: 14px;
}

.kgis-category-list a.active {
    color: #2563eb;
    font-weight: 500;
}

.kgis-category-list span {
    background: transparent;
    color: #9ca3af;
    min-width: auto;
    padding: 0;
    font-size: 12px;
}

.kgis-courses-topbar {
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f3f4f6;
}

.kgis-courses-topbar h2 {
    font-size: 26px;
    font-weight: 500;
}

.kgis-courses-topbar p {
    font-size: 14px;
}

.kgis-course-grid {
    gap: 22px;
}

.kgis-course-card {
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
    background: transparent;
}

.kgis-course-card:hover {
    transform: none;
    box-shadow: none !important;
}

.kgis-course-thumb {
    border-radius: 10px;
    overflow: hidden;
    background: #f3f4f6;
}

.kgis-course-thumb img {
    border-radius: 10px;
}

.kgis-course-body {
    padding: 14px 0 0;
}

.kgis-course-body h3 {
    font-size: 21px;
    margin-bottom: 8px;
}

.kgis-course-body p {
    font-size: 15px;
    line-height: 1.55;
}

.kgis-course-meta {
    gap: 6px;
    margin: 8px 0;
}

.kgis-course-meta span {
    background: #f3f4f6;
    color: #4b5563;
    padding: 4px 8px;
    font-size: 12px;
}

.kgis-course-actions {
    margin-top: 13px;
    gap: 8px;
}

.kgis-btn,
.kgis-submit-btn,
.login-submit .button {
    padding: 9px 15px;
    border-radius: 6px;
    font-size: 14px;
}

@media (max-width: 921px) {
    .kgis-courses-page-layout {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .kgis-course-sidebar {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .kgis-course-filter-form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px 12px;
        align-items: end;
    }

    .kgis-course-filter-form h3,
    .kgis-filter-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .kgis-course-filter-form {
        grid-template-columns: 1fr;
    }

    .kgis-courses-topbar {
        display: block;
    }
}


/* v1.2 compact modern course page */
.kgis-course-grid {
    gap: 22px;
}

.kgis-course-card {
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0;
    background: transparent;
}

.kgis-course-card:hover {
    transform: none;
    box-shadow: none !important;
}

.kgis-course-thumb {
    border-radius: 12px;
    overflow: hidden;
    background: #f4f6f8;
}

.kgis-course-body {
    padding: 14px 2px 4px;
}

.kgis-course-body h3 {
    font-size: 21px;
    margin-bottom: 8px;
}

.kgis-course-body p {
    font-size: 15px;
    line-height: 1.55;
}

.kgis-course-meta {
    gap: 6px;
    margin: 8px 0;
}

.kgis-course-meta span {
    padding: 4px 8px;
    font-size: 12px;
    background: #f3f4f6;
    color: #475569;
}

.kgis-course-actions {
    margin-top: 14px;
    gap: 8px;
}

.kgis-btn,
.kgis-submit-btn,
.login-submit .button {
    padding: 9px 15px;
    border-radius: 6px;
    font-size: 15px;
}

.kgis-courses-page-layout {
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 26px;
}

.kgis-course-filter-form,
.kgis-category-list {
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0;
    padding: 0;
    margin-bottom: 22px;
    background: transparent;
}

.kgis-filter-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.kgis-filter-heading h3,
.kgis-course-filter-form h3,
.kgis-category-list h3 {
    margin: 0 0 10px;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 500;
}

.kgis-filter-heading h3 {
    margin: 0;
}

.kgis-filter-heading a {
    color: #2563eb;
    font-size: 13px;
    text-decoration: none !important;
}

.kgis-filter-field {
    margin-bottom: 11px;
}

.kgis-filter-field label {
    margin-bottom: 5px;
    font-size: 13px;
    color: #475569;
}

.kgis-filter-field input,
.kgis-filter-field select {
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 7px;
    font-size: 14px;
}

.kgis-category-list a {
    padding: 8px 0;
    font-size: 14px;
}

.kgis-category-list span {
    min-width: 24px;
    padding: 1px 7px;
    font-size: 12px;
}

.kgis-courses-topbar {
    margin-bottom: 18px;
    align-items: center;
}

.kgis-courses-topbar h2 {
    font-size: 26px;
}

.kgis-courses-topbar p {
    font-size: 14px;
}

.kgis-course-view-options {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.kgis-course-view-options label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #475569;
    font-size: 13px;
    font-family: "Roboto Condensed", Arial, sans-serif;
}

.kgis-course-view-options select {
    min-height: 34px;
    padding: 6px 28px 6px 9px;
    border: 1px solid #e2e8f0;
    border-radius: 7px;
    background: #ffffff;
    color: #0f172a;
    font-size: 14px;
}

.kgis-empty-courses {
    border: 0;
    background: #f8fafc;
}

@media (max-width: 921px) {
    .kgis-courses-page-layout {
        grid-template-columns: 1fr;
    }

    .kgis-course-view-options {
        margin-top: 12px;
    }
}


/* v1.2.2: remove top title/count/per-row/show area from course page */
.kgis-courses-topbar,
.kgis-course-view-options {
    display: none !important;
}


/* v1.2.4: flexible course column width */
.kgis-courses-main {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.kgis-course-grid {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: repeat(var(--kgis-course-columns, 3), minmax(0, 1fr)) !important;
    align-items: start;
}

.kgis-course-grid.kgis-cols-1 {
    --kgis-course-columns: 1;
}

.kgis-course-grid.kgis-cols-2 {
    --kgis-course-columns: 2;
}

.kgis-course-grid.kgis-cols-3 {
    --kgis-course-columns: 3;
}

.kgis-course-grid.kgis-cols-4 {
    --kgis-course-columns: 4;
}

.kgis-course-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.kgis-course-thumb,
.kgis-course-thumb img,
.kgis-course-placeholder {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 921px) and (min-width: 601px) {
    .kgis-course-grid.kgis-cols-4,
    .kgis-course-grid.kgis-cols-3,
    .kgis-course-grid.kgis-cols-2 {
        --kgis-course-columns: 2;
    }

    .kgis-course-grid.kgis-cols-1 {
        --kgis-course-columns: 1;
    }
}

@media (max-width: 600px) {
    .kgis-course-grid.kgis-cols-1,
    .kgis-course-grid.kgis-cols-2,
    .kgis-course-grid.kgis-cols-3,
    .kgis-course-grid.kgis-cols-4 {
        --kgis-course-columns: 1;
    }
}


/* v1.2.5: professional boxed course details page, no author display */
.single-kg_course .entry-meta,
.single-kg_course .posted-by,
.single-kg_course .byline,
.single-kg_course .author,
.single-kg_course .cat-links,
.single-kg_course .comments-link,
.single-kg_course .ast-single-post-order .entry-meta,
.single-kg_course .ast-single-post-order .posted-on,
.single-kg_course .ast-single-post-order .posted-by,
.single-kg_course .post-navigation,
.single-kg_course .nav-links,
.single-kg_course .ast-post-format-,
.single-kg_course .ast-separate-container .ast-article-single > .entry-header {
    display: none !important;
}

.single-kg_course .ast-article-single,
.single-kg_course .site-content .ast-container,
.single-kg_course .content-area,
.single-kg_course .entry-content {
    max-width: 1180px;
}

.kgis-course-detail-page {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto 50px;
    font-family: "Roboto Condensed", Arial, sans-serif;
    color: #0f172a;
}

.kgis-course-hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    gap: 0;
    background: #ffffff;
    border: 1px solid #e6eaf0;
    border-radius: 18px;
    overflow: hidden;
    margin: 20px 0 28px;
}

.kgis-course-hero-media {
    min-height: 380px;
    background: #f3f6fa;
}

.kgis-course-hero-media img,
.kgis-course-detail-placeholder {
    width: 100%;
    height: 100%;
    min-height: 380px;
    object-fit: cover;
    display: block;
}

.kgis-course-detail-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    font-size: 26px;
    font-weight: 300;
}

.kgis-course-hero-content {
    padding: 38px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.kgis-course-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
    color: #64748b;
    font-size: 14px;
}

.kgis-course-breadcrumb a {
    color: #2563eb;
    text-decoration: none !important;
}

.kgis-course-hero-content h1 {
    margin: 0;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.kgis-course-detail-excerpt {
    margin: 16px 0 0;
    color: #475569;
    font-size: 18px;
    line-height: 1.65;
    font-weight: 300;
}

.kgis-course-detail-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 24px 0 0;
}

.kgis-course-detail-meta span {
    background: #f8fafc;
    border: 1px solid #edf2f7;
    border-radius: 12px;
    padding: 13px 14px;
    color: #334155;
    font-size: 15px;
    font-weight: 400;
}

.kgis-course-detail-meta strong {
    display: block;
    margin-bottom: 3px;
    color: #64748b;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 500;
}

.kgis-course-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.kgis-course-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 28px;
    align-items: start;
}

.kgis-course-detail-main {
    display: grid;
    gap: 20px;
}

.kgis-course-section,
.kgis-course-apply-box {
    background: #ffffff;
    border: 1px solid #e6eaf0;
    border-radius: 18px;
    padding: 28px;
}

.kgis-course-section h2,
.kgis-course-apply-box h3 {
    margin: 0 0 14px;
    color: #0f172a;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.kgis-course-section-content {
    color: #334155;
    font-size: 17px;
    line-height: 1.75;
    font-weight: 300;
}

.kgis-course-section-content p:last-child {
    margin-bottom: 0;
}

.kgis-clean-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.kgis-clean-list li {
    position: relative;
    padding: 10px 0 10px 28px;
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
    font-size: 17px;
    font-weight: 300;
}

.kgis-clean-list li:last-child {
    border-bottom: none;
}

.kgis-clean-list li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 19px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2563eb;
}

.kgis-course-detail-sidebar {
    position: sticky;
    top: 24px;
}

.kgis-course-apply-box p {
    margin: 0 0 20px;
    color: #475569;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 300;
}

.kgis-quick-info {
    display: grid;
    gap: 0;
    border: 1px solid #edf2f7;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 22px;
}

.kgis-quick-info div {
    padding: 14px 16px;
    background: #f8fafc;
    border-bottom: 1px solid #edf2f7;
}

.kgis-quick-info div:last-child {
    border-bottom: none;
}

.kgis-quick-info span {
    display: block;
    margin-bottom: 2px;
    color: #64748b;
    font-size: 13px;
    font-weight: 300;
}

.kgis-quick-info strong {
    display: block;
    color: #0f172a;
    font-size: 16px;
    font-weight: 500;
}

.kgis-full-btn {
    display: block;
    width: 100%;
    text-align: center;
}

@media (max-width: 767px) {
    .kgis-course-hero-card,
    .kgis-course-detail-layout {
        grid-template-columns: 1fr;
    }

    .kgis-course-detail-sidebar {
        position: static;
    }
}

@media (max-width: 700px) {
    .kgis-course-hero-content,
    .kgis-course-section,
    .kgis-course-apply-box {
        padding: 22px;
    }

    .kgis-course-hero-media,
    .kgis-course-hero-media img,
    .kgis-course-detail-placeholder {
        min-height: 240px;
    }

    .kgis-course-detail-meta {
        grid-template-columns: 1fr;
    }

    .kgis-course-hero-actions .kgis-btn {
        width: 100%;
        text-align: center;
    }
}


/* v1.2.6: dedicated course template spacing fix */
.kgis-course-template-wrap {
    width: 100%;
    max-width: 1220px;
    margin: 0 auto;
    padding: 28px 20px 60px;
}

.single-kg_course .site-content,
.single-kg_course .ast-container {
    padding-top: 0 !important;
}

.single-kg_course .entry-header,
.single-kg_course .entry-title,
.single-kg_course .entry-meta,
.single-kg_course .posted-on,
.single-kg_course .posted-by,
.single-kg_course .byline,
.single-kg_course .author,
.single-kg_course .cat-links,
.single-kg_course .tags-links,
.single-kg_course .comments-link {
    display: none !important;
}


/* v1.2.7: force course detail visibility */
.single-kg_course .kgis-course-template-wrap,
.single-kg_course .kgis-course-detail-page,
.kgis-course-template-wrap .kgis-course-detail-page {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.single-kg_course .kgis-course-template-wrap {
    min-height: 400px;
}

.single-kg_course .site-main,
.single-kg_course .kgis-course-template-wrap {
    clear: both;
}


/* v1.2.8: fit full course detail image without cropping */
.kgis-course-hero-card {
    align-items: stretch;
}

.kgis-course-hero-media {
    min-height: unset !important;
    height: auto !important;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kgis-course-hero-media img {
    width: 100% !important;
    height: auto !important;
    min-height: unset !important;
    max-height: none !important;
    aspect-ratio: 16 / 9;
    object-fit: contain !important;
    object-position: center center !important;
    display: block;
    background: #f8fafc;
}

.kgis-course-detail-placeholder {
    width: 100%;
    min-height: 340px;
    aspect-ratio: 16 / 9;
}

@media (max-width: 700px) {
    .kgis-course-hero-media,
    .kgis-course-hero-media img,
    .kgis-course-detail-placeholder {
        min-height: unset !important;
    }
}


/* v1.2.8: compact professional plugin pages, course listing unchanged */
.kgis-course-template-wrap {
    max-width: 1180px !important;
    padding: 18px 18px 44px !important;
}

.kgis-course-detail-page {
    max-width: 1100px !important;
    margin: 0 auto 38px !important;
}

.kgis-course-hero-card {
    grid-template-columns: minmax(0, 0.54fr) minmax(320px, 0.46fr) !important;
    border-radius: 16px !important;
    margin: 10px 0 22px !important;
    border: 1px solid #e5eaf2 !important;
}

.kgis-course-hero-media {
    min-height: 300px !important;
    height: 300px !important;
    background: #f8fafc !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.kgis-course-hero-media img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    background: #f8fafc !important;
}

.kgis-course-detail-placeholder {
    min-height: 300px !important;
    height: 300px !important;
}

.kgis-course-hero-content {
    padding: 28px 30px !important;
}

.kgis-course-breadcrumb {
    margin-bottom: 12px !important;
    font-size: 13px !important;
}

.kgis-course-hero-content h1 {
    font-size: clamp(28px, 3vw, 40px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
}

.kgis-course-detail-excerpt {
    margin-top: 12px !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
}

.kgis-course-detail-meta {
    gap: 9px !important;
    margin-top: 20px !important;
}

.kgis-course-detail-meta span {
    padding: 11px 12px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
}

.kgis-course-detail-meta strong {
    font-size: 11px !important;
}

.kgis-course-hero-actions {
    margin-top: 22px !important;
    gap: 10px !important;
}

.kgis-course-detail-layout {
    grid-template-columns: minmax(0, 1fr) 300px !important;
    gap: 22px !important;
}

.kgis-course-section,
.kgis-course-apply-box {
    border-radius: 15px !important;
    padding: 22px !important;
    border: 1px solid #e5eaf2 !important;
}

.kgis-course-section h2,
.kgis-course-apply-box h3 {
    font-size: 22px !important;
    margin-bottom: 11px !important;
}

.kgis-course-section-content {
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.kgis-clean-list li {
    padding: 8px 0 8px 24px !important;
    font-size: 16px !important;
}

.kgis-clean-list li::before {
    top: 17px !important;
    width: 7px !important;
    height: 7px !important;
}

.kgis-course-apply-box p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    margin-bottom: 16px !important;
}

.kgis-quick-info {
    border-radius: 12px !important;
    margin-bottom: 18px !important;
}

.kgis-quick-info div {
    padding: 11px 13px !important;
}

.kgis-quick-info span {
    font-size: 12px !important;
}

.kgis-quick-info strong {
    font-size: 15px !important;
}

.kgis-big-btn {
    padding: 11px 20px !important;
    font-size: 16px !important;
}

/* Compact all plugin forms/dashboards except the course listing cards */
.kgis-form,
.kgis-login-box {
    padding: 24px !important;
    border-radius: 14px !important;
    border: 1px solid #e5eaf2 !important;
    box-shadow: none !important;
}

.kgis-login-box h3 {
    font-size: 24px !important;
}

.kgis-form-group {
    margin-bottom: 14px !important;
}

.kgis-form-group input,
.kgis-form-group select,
.kgis-form-group textarea,
.kgis-login-box input[type="text"],
.kgis-login-box input[type="password"] {
    min-height: 40px !important;
    padding: 9px 12px !important;
    font-size: 15px !important;
}

.kgis-dashboard-header {
    padding: 20px !important;
    border-radius: 14px !important;
}

.kgis-dashboard-header h2 {
    font-size: 26px !important;
}

.kgis-stat-grid {
    gap: 14px !important;
}

.kgis-stat-card {
    padding: 16px !important;
    border-radius: 13px !important;
}

.kgis-stat-card strong {
    font-size: 24px !important;
}

.kgis-table th,
.kgis-table td {
    padding: 11px 12px !important;
}

/* Keep author/meta hidden on course detail pages */
.single-kg_course .entry-header,
.single-kg_course .entry-title,
.single-kg_course .entry-meta,
.single-kg_course .posted-on,
.single-kg_course .posted-by,
.single-kg_course .byline,
.single-kg_course .author,
.single-kg_course .cat-links,
.single-kg_course .tags-links,
.single-kg_course .comments-link,
.single-kg_course .post-author,
.single-kg_course .ast-post-meta {
    display: none !important;
}

@media (max-width: 767px) {
    .kgis-course-hero-card,
    .kgis-course-detail-layout {
        grid-template-columns: 1fr !important;
    }

    .kgis-course-hero-media,
    .kgis-course-hero-media img,
    .kgis-course-detail-placeholder {
        height: auto !important;
        min-height: 0 !important;
    }

    .kgis-course-hero-media img {
        aspect-ratio: 16 / 9 !important;
    }

    .kgis-course-detail-sidebar {
        position: static !important;
    }
}

@media (max-width: 700px) {
    .kgis-course-template-wrap {
        padding: 14px 12px 36px !important;
    }

    .kgis-course-hero-content,
    .kgis-course-section,
    .kgis-course-apply-box,
    .kgis-form,
    .kgis-login-box {
        padding: 18px !important;
    }

    .kgis-course-hero-content h1 {
        font-size: 28px !important;
    }

    .kgis-course-detail-meta {
        grid-template-columns: 1fr !important;
    }
}


/* v1.3.0: admission form builder + director sidebar dashboard */
.kgis-form-title {
    margin-bottom: 18px;
}

.kgis-form-title h3 {
    margin: 0 0 5px;
    font-size: 24px;
    font-weight: 600;
    color: #0f172a;
}

.kgis-form-title p {
    margin: 0;
    color: #64748b;
    font-size: 15px;
    font-weight: 300;
}

.kgis-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
}

.kgis-form-wide {
    grid-column: 1 / -1;
}

.kgis-director-layout {
    display: grid;
    grid-template-columns: 235px minmax(0, 1fr);
    gap: 24px;
    max-width: 1220px;
    margin: 0 auto;
    font-family: "Roboto Condensed", Arial, sans-serif;
}

.kgis-director-sidebar {
    position: sticky;
    top: 24px;
    align-self: start;
    background: #0f172a;
    border-radius: 16px;
    padding: 18px;
    color: #ffffff;
}

.kgis-director-brand {
    padding-bottom: 16px;
    margin-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,0.12);
}

.kgis-director-brand strong {
    display: block;
    font-size: 18px;
    font-weight: 600;
}

.kgis-director-brand span {
    display: block;
    margin-top: 3px;
    font-size: 13px;
    color: #cbd5e1;
    font-weight: 300;
}

.kgis-director-sidebar nav {
    display: grid;
    gap: 6px;
}

.kgis-director-sidebar nav a,
.kgis-director-logout {
    display: block;
    padding: 10px 12px;
    border-radius: 9px;
    color: #e5e7eb !important;
    text-decoration: none !important;
    font-size: 15px;
    font-weight: 400;
}

.kgis-director-sidebar nav a:hover,
.kgis-director-sidebar nav a.active {
    background: #2563eb;
    color: #ffffff !important;
}

.kgis-director-logout {
    margin-top: 16px;
    background: rgba(255,255,255,0.08);
    text-align: center;
}

.kgis-director-main {
    min-width: 0;
}

.kgis-director-manage-box {
    min-width: 330px;
    padding: 12px 0 0;
}

.kgis-edit-form-details {
    margin: 14px 0;
}

.kgis-edit-form-details summary {
    cursor: pointer;
    color: #2563eb;
    font-weight: 500;
    margin-bottom: 10px;
}

.kgis-record-edit-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 12px;
}

.kgis-record-edit-form .kgis-form-group {
    margin-bottom: 10px !important;
}

.kgis-record-edit-form .kgis-field-address,
.kgis-record-edit-form .kgis-field-message,
.kgis-record-edit-form .kgis-field-custom_4,
.kgis-record-edit-form .kgis-field-custom_5 {
    grid-column: 1 / -1;
}

.kgis-settings-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.kgis-settings-card {
    display: block;
    background: #ffffff;
    border: 1px solid #e5eaf2;
    border-radius: 14px;
    padding: 18px;
    text-decoration: none !important;
}

.kgis-settings-card strong {
    display: block;
    color: #0f172a;
    font-size: 18px;
    margin-bottom: 6px;
}

.kgis-settings-card span {
    display: block;
    color: #64748b;
    font-size: 14px;
    line-height: 1.5;
}

.kgis-login-subtitle {
    color: #64748b;
    margin-top: -8px;
    margin-bottom: 16px;
}

.kgis-filter-form input[type="text"] {
    min-height: 44px;
    padding: 11px 13px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
}

@media (max-width: 921px) {
    .kgis-director-layout {
        grid-template-columns: 1fr;
    }

    .kgis-director-sidebar {
        position: static;
    }

    .kgis-director-sidebar nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kgis-form-grid,
    .kgis-record-edit-form,
    .kgis-settings-card-grid {
        grid-template-columns: 1fr;
    }
}


/* v1.3.1 Admission form exact layout + receipt upload */
.kgis-admission-form-modern {
    max-width: 920px !important;
}

.kgis-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
}

.kgis-form-wide,
.kgis-field-permanent_address,
.kgis-field-local_address,
.kgis-field-education,
.kgis-field-occupation,
.kgis-field-course_id,
.kgis-field-payment_method,
.kgis-field-receipt_upload,
.kgis-field-message {
    grid-column: 1 / -1;
}

.kgis-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    padding: 10px 0 2px;
}

.kgis-radio-group label {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    font-weight: 300 !important;
    color: #334155 !important;
}

.kgis-radio-group input {
    width: auto !important;
    min-height: auto !important;
}

.kgis-field-help {
    margin: 7px 0 0;
    color: #64748b;
    font-size: 13px;
    font-weight: 300;
}

.kgis-field-help a {
    color: #2563eb;
    text-decoration: none !important;
}

.kgis-form-group input[type="file"] {
    padding: 10px;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
}

@media (max-width: 700px) {
    .kgis-form-grid {
        grid-template-columns: 1fr;
    }
}


/* v1.3.2 Director full width + filled form popup */
body.kgis-director-dashboard-page .site-content .ast-container,
body.kgis-director-dashboard-page .ast-container,
body.kgis-director-dashboard-page .content-area,
body.kgis-director-dashboard-page .entry-content {
    max-width: none !important;
    width: 100% !important;
}

body.kgis-director-dashboard-page .entry-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.kgis-director-dashboard-page .kgis-director-layout {
    width: calc(100vw - 36px) !important;
    max-width: 1600px !important;
    margin-left: calc(50% - 50vw + 18px) !important;
    margin-right: auto !important;
}

body.kgis-admission-form-page .entry-title,
body.kgis-admission-form-page .page-title,
body.kgis-admission-form-page .ast-archive-title,
body.kgis-admission-form-page .entry-header {
    display: none !important;
}

.kgis-view-form-btn {
    white-space: nowrap;
    padding: 7px 12px !important;
    font-size: 14px !important;
}

.kgis-modal-open {
    overflow: hidden;
}

.kgis-form-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999999;
}

.kgis-form-modal.is-open {
    display: block;
}

.kgis-form-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.68);
}

.kgis-form-modal-panel {
    position: relative;
    z-index: 1;
    width: min(960px, calc(100vw - 32px));
    max-height: calc(100vh - 36px);
    overflow: auto;
    margin: 18px auto;
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 30px 80px rgba(0,0,0,0.28);
}

.kgis-form-modal-head {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    padding: 14px 18px;
}

.kgis-form-modal-head h3 {
    margin: 0;
    font-size: 21px;
    color: #0f172a;
}

.kgis-form-modal-head p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: 13px;
}

.kgis-modal-close {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: #f1f5f9;
    color: #0f172a;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.kgis-filled-form-paper {
    margin: 18px;
    border: 1px solid #111827;
    background: #ffffff;
    color: #111827;
    font-family: "Roboto Condensed", Arial, sans-serif;
}

.kgis-paper-title {
    text-align: center;
    padding: 16px 18px 12px;
    border-bottom: 1px solid #111827;
}

.kgis-paper-title h2 {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 700;
    color: #111827;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.kgis-paper-title p {
    margin: 0;
    color: #374151;
    font-size: 14px;
}

.kgis-paper-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kgis-paper-cell {
    min-height: 58px;
    padding: 9px 11px;
    border-right: 1px solid #111827;
    border-bottom: 1px solid #111827;
}

.kgis-paper-cell:nth-child(2n) {
    border-right: 0;
}

.kgis-paper-cell.kgis-span-2 {
    grid-column: span 2;
    border-right: 0;
}

.kgis-paper-cell span {
    display: block;
    color: #4b5563;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.kgis-paper-cell strong {
    display: block;
    margin-top: 5px;
    color: #111827;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 500;
    min-height: 20px;
}

.kgis-paper-cell a {
    color: #2563eb;
    text-decoration: none !important;
}

.kgis-form-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 0 18px 18px;
}

@media (max-width: 921px) {
    body.kgis-director-dashboard-page .kgis-director-layout {
        width: calc(100vw - 24px) !important;
        margin-left: calc(50% - 50vw + 12px) !important;
    }

    .kgis-paper-grid {
        grid-template-columns: 1fr;
    }

    .kgis-paper-cell,
    .kgis-paper-cell:nth-child(2n),
    .kgis-paper-cell.kgis-span-2 {
        grid-column: span 1;
        border-right: 0;
    }
}


/* v1.3.3: click course detail image to view full image */
.kgis-clickable-course-image {
    cursor: zoom-in !important;
}

.kgis-course-image-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000000;
}

.kgis-course-image-lightbox.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
}

.kgis-course-image-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.82);
}

.kgis-course-image-lightbox-panel {
    position: relative;
    z-index: 1;
    width: min(1100px, calc(100vw - 36px));
    max-height: calc(100vh - 36px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.kgis-course-image-lightbox-panel img {
    max-width: 100%;
    max-height: calc(100vh - 36px);
    object-fit: contain;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 30px 90px rgba(0,0,0,0.35);
}

.kgis-course-image-lightbox-close {
    position: absolute;
    top: -14px;
    right: -14px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: #ffffff;
    color: #0f172a;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

.kgis-image-lightbox-open {
    overflow: hidden;
}

@media (max-width: 700px) {
    .kgis-course-image-lightbox-close {
        top: 8px;
        right: 8px;
    }

    .kgis-course-image-lightbox-panel img {
        border-radius: 8px;
    }
}


/* v1.3.4: professional image viewer with zoom, wheel and drag */
.kgis-clickable-course-image { cursor: zoom-in !important; }
.kgis-course-image-viewer { display:none; position:fixed; inset:0; z-index:1000000; }
.kgis-course-image-viewer.is-open { display:block; }
.kgis-course-image-viewer-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.78); backdrop-filter:blur(3px); }
.kgis-course-image-viewer-shell { position:relative; z-index:1; width:min(1180px, calc(100vw - 34px)); height:min(760px, calc(100vh - 34px)); margin:17px auto; background:#0b1220; border:1px solid rgba(255,255,255,.12); border-radius:16px; overflow:hidden; box-shadow:0 28px 90px rgba(0,0,0,.42); display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.kgis-course-image-viewer-toolbar { min-height:54px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 14px; background:rgba(15,23,42,.96); color:#fff; border-bottom:1px solid rgba(255,255,255,.10); }
.kgis-course-image-viewer-title { font-family:"Roboto Condensed", Arial, sans-serif; font-size:16px; font-weight:500; color:#fff; }
.kgis-course-image-viewer-actions { display:flex; align-items:center; gap:8px; }
.kgis-course-image-viewer-actions button { min-width:38px; height:34px; padding:0 11px; border:1px solid rgba(255,255,255,.14); border-radius:8px; background:rgba(255,255,255,.08); color:#fff; font-size:16px; font-weight:500; line-height:1; cursor:pointer; }
.kgis-course-image-viewer-actions button:hover { background:rgba(255,255,255,.16); }
.kgis-course-image-viewer-actions .kgis-course-image-viewer-close { min-width:38px; border-radius:50%; font-size:24px; background:#fff; color:#0f172a; border-color:#fff; }
.kgis-course-image-viewer-stage { position:relative; overflow:hidden; background:radial-gradient(circle at 20% 20%, rgba(37,99,235,.16), transparent 26%), #111827; display:flex; align-items:center; justify-content:center; cursor:default; user-select:none; }
.kgis-course-image-viewer-stage.is-zoomed { cursor:grab; }
.kgis-course-image-viewer-stage.is-dragging { cursor:grabbing; }
.kgis-course-image-viewer-stage img { max-width:100%; max-height:100%; object-fit:contain; border-radius:8px; transform-origin:center center; transition:transform 120ms ease; will-change:transform; user-select:none; pointer-events:none; }
.kgis-course-image-viewer-stage.is-dragging img { transition:none; }
.kgis-course-image-viewer-help { padding:9px 14px; background:rgba(15,23,42,.96); border-top:1px solid rgba(255,255,255,.10); color:rgba(255,255,255,.72); font-family:"Roboto Condensed", Arial, sans-serif; font-size:13px; text-align:center; }
.kgis-image-viewer-open { overflow:hidden; }
@media (max-width:700px){ .kgis-course-image-viewer-shell{width:calc(100vw - 16px);height:calc(100vh - 16px);margin:8px auto;border-radius:12px}.kgis-course-image-viewer-toolbar{min-height:50px;padding:8px 10px}.kgis-course-image-viewer-title{font-size:14px}.kgis-course-image-viewer-actions{gap:5px}.kgis-course-image-viewer-actions button{min-width:34px;height:32px;padding:0 8px}.kgis-course-image-viewer-help{display:none} }


/* v1.4.0: Elementor module responsive controls */
.kgis-elementor-courses-grid .kgis-course-grid,
.kgis-elementor-courses-page .kgis-course-grid {
    --kgis-course-columns: var(--kgis-el-cols-desktop, 3) !important;
    gap: var(--kgis-el-grid-gap, 22px) !important;
}

.kgis-elementor-filter .kgis-course-sidebar {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
}

.kgis-elementor-filter .kgis-course-filter-form,
.kgis-elementor-filter .kgis-category-list {
    width: 100% !important;
}

.kgis-elementor-admission-form .kgis-admission-form {
    max-width: var(--kgis-form-max-width, 920px) !important;
    width: 100% !important;
}

.elementor-widget-kgis_director_dashboard_elementor .kgis-director-layout,
.elementor-widget-kgis_director_dashboard_elementor .kgis-director-main {
    max-width: 100% !important;
    width: 100% !important;
}

@media (max-width: 921px) {
    .kgis-elementor-courses-grid .kgis-course-grid,
    .kgis-elementor-courses-page .kgis-course-grid {
        --kgis-course-columns: var(--kgis-el-cols-tablet, 2) !important;
    }
}

@media (max-width: 600px) {
    .kgis-elementor-courses-grid .kgis-course-grid,
    .kgis-elementor-courses-page .kgis-course-grid {
        --kgis-course-columns: var(--kgis-el-cols-mobile, 1) !important;
    }

    .kgis-elementor-filter .kgis-course-sidebar {
        margin-bottom: 18px;
    }
}


/* v1.4.1 Elementor full customization for courses page */
.kgis-elementor-courses-grid,
.kgis-elementor-filter,
.kgis-elementor-courses-page {
    width: 100%;
}

.kgis-elementor-courses-grid .kgis-course-grid {
    grid-template-columns: repeat(var(--kgis-el-cols-desktop, 3), minmax(0, 1fr)) !important;
    width: 100%;
}

.kgis-elementor-courses-page .kgis-course-grid {
    grid-template-columns: repeat(var(--kgis-el-cols-desktop, 3), minmax(0, 1fr)) !important;
    width: 100%;
}

.kgis-elementor-courses-grid .kgis-course-card,
.kgis-elementor-courses-page .kgis-course-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.kgis-elementor-courses-grid .kgis-course-thumb img,
.kgis-elementor-courses-page .kgis-course-thumb img,
.kgis-elementor-courses-grid .kgis-course-placeholder,
.kgis-elementor-courses-page .kgis-course-placeholder {
    height: var(--kgis-course-image-height, 225px);
}

.kgis-elementor-courses-page .kgis-courses-page-layout {
    display: grid;
    grid-template-columns: var(--kgis-page-filter-width, 250px) minmax(0, 1fr);
    gap: var(--kgis-page-gap, 26px);
    align-items: start;
}

.kgis-elementor-courses-page.kgis-filter-right .kgis-courses-page-layout {
    grid-template-columns: minmax(0, 1fr) var(--kgis-page-filter-width, 250px);
}

.kgis-elementor-courses-page.kgis-filter-right .kgis-page-filter-area {
    order: 2;
}

.kgis-elementor-courses-page.kgis-filter-right .kgis-page-grid-area {
    order: 1;
}

.kgis-elementor-courses-page.kgis-filter-top .kgis-courses-page-layout {
    grid-template-columns: 1fr;
}

.kgis-elementor-courses-page.kgis-filter-top .kgis-page-filter-area {
    width: 100%;
}

.kgis-elementor-courses-page .kgis-page-filter-area,
.kgis-elementor-courses-page .kgis-page-grid-area {
    min-width: 0;
}

.kgis-el-filter-wrap .kgis-course-sidebar,
.kgis-el-courses-page .kgis-course-sidebar {
    width: 100%;
    max-width: 100%;
    position: static;
}

.kgis-el-filter-wrap .kgis-course-filter-form,
.kgis-el-filter-wrap .kgis-category-list,
.kgis-el-courses-page .kgis-course-filter-form,
.kgis-el-courses-page .kgis-category-list {
    box-shadow: none;
}

.kgis-el-filter-wrap .kgis-filter-heading,
.kgis-el-courses-page .kgis-filter-heading {
    align-items: center;
}

.kgis-el-filter-wrap .kgis-filter-field input,
.kgis-el-filter-wrap .kgis-filter-field select,
.kgis-el-courses-page .kgis-filter-field input,
.kgis-el-courses-page .kgis-filter-field select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.kgis-el-filter-wrap .kgis-category-list a,
.kgis-el-courses-page .kgis-category-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Additional responsive visibility controls inside the combined Elementor courses page */
@media (min-width: 768px) {
    .kgis-elementor-courses-page.kgis-hide-filter-desktop .kgis-page-filter-area {
        display: none !important;
    }

    .kgis-elementor-courses-page.kgis-hide-filter-desktop .kgis-courses-page-layout {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767px) and (min-width: 768px) {
    .kgis-elementor-courses-grid .kgis-course-grid,
    .kgis-elementor-courses-page .kgis-course-grid {
        grid-template-columns: repeat(var(--kgis-el-cols-tablet, 2), minmax(0, 1fr)) !important;
    }

    .kgis-elementor-courses-page .kgis-courses-page-layout,
    .kgis-elementor-courses-page.kgis-filter-right .kgis-courses-page-layout {
        grid-template-columns: 1fr !important;
    }

    .kgis-elementor-courses-page.kgis-hide-filter-tablet .kgis-page-filter-area {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .kgis-elementor-courses-grid .kgis-course-grid,
    .kgis-elementor-courses-page .kgis-course-grid {
        grid-template-columns: repeat(var(--kgis-el-cols-mobile, 1), minmax(0, 1fr)) !important;
    }

    .kgis-elementor-courses-page .kgis-courses-page-layout,
    .kgis-elementor-courses-page.kgis-filter-right .kgis-courses-page-layout {
        grid-template-columns: 1fr !important;
        gap: var(--kgis-page-gap, 18px);
    }

    .kgis-elementor-courses-page.kgis-hide-filter-mobile .kgis-page-filter-area {
        display: none !important;
    }

    .kgis-el-filter-wrap .kgis-course-filter-form,
    .kgis-el-filter-wrap .kgis-category-list,
    .kgis-el-courses-page .kgis-course-filter-form,
    .kgis-el-courses-page .kgis-category-list {
        margin-bottom: 16px;
    }
}


/* v1.4.2: mobile-only compact filter drawer above courses */
.kgis-mobile-filter-toggle,
.kgis-mobile-filter-header,
.kgis-mobile-filter-backdrop {
    display: none;
}

@media (max-width: 767px) {
    .kgis-mobile-filter-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        margin: 0 0 12px auto;
        padding: 8px 13px;
        border: 1px solid #dbe3ef;
        border-radius: 999px;
        background: #ffffff;
        color: #0f172a;
        font-family: "Roboto Condensed", Arial, sans-serif;
        font-size: 14px;
        font-weight: 500;
        line-height: 1;
        cursor: pointer;
        box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
    }

    .kgis-mobile-filter-toggle .kgis-filter-icon {
        font-size: 15px;
        line-height: 1;
    }

    .kgis-elementor-courses-page .kgis-mobile-filter-toggle,
    .kgis-elementor-courses-grid + .kgis-mobile-filter-toggle {
        margin-right: 0;
    }

    .kgis-courses-page-layout {
        grid-template-columns: 1fr !important;
    }

    .kgis-courses-page-layout > .kgis-page-filter-area,
    .kgis-courses-page-layout > .kgis-course-sidebar,
    .kgis-mobile-filter-panel {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        z-index: 1000001 !important;
        width: min(340px, 90vw) !important;
        max-width: 90vw !important;
        height: 100vh !important;
        overflow-y: auto !important;
        background: #ffffff !important;
        padding: 14px !important;
        margin: 0 !important;
        transform: translateX(110%) !important;
        transition: transform 240ms ease !important;
        box-shadow: -20px 0 50px rgba(15, 23, 42, 0.22) !important;
        border-left: 1px solid #e5eaf2 !important;
        border-radius: 0 !important;
    }

    .kgis-courses-page-layout > .kgis-page-filter-area.is-open,
    .kgis-courses-page-layout > .kgis-course-sidebar.is-open,
    .kgis-mobile-filter-panel.is-open {
        transform: translateX(0) !important;
    }

    .kgis-mobile-filter-header {
        position: sticky;
        top: -14px;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin: -14px -14px 13px;
        padding: 12px 14px;
        background: #ffffff;
        border-bottom: 1px solid #edf2f7;
    }

    .kgis-mobile-filter-header strong {
        color: #0f172a;
        font-family: "Roboto Condensed", Arial, sans-serif;
        font-size: 16px;
        font-weight: 600;
    }

    .kgis-mobile-filter-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 31px;
        height: 31px;
        border: 0;
        border-radius: 50%;
        background: #f1f5f9;
        color: #0f172a;
        font-size: 22px;
        line-height: 1;
        cursor: pointer;
    }

    .kgis-mobile-filter-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1000000;
        background: rgba(15, 23, 42, 0.45);
        backdrop-filter: blur(2px);
    }

    .kgis-mobile-filter-backdrop.is-open {
        display: block;
    }

    .kgis-mobile-filter-body-open {
        overflow: hidden;
    }

    .kgis-mobile-filter-panel .kgis-course-filter-form,
    .kgis-mobile-filter-panel .kgis-category-list,
    .kgis-courses-page-layout > .kgis-course-sidebar .kgis-course-filter-form,
    .kgis-courses-page-layout > .kgis-course-sidebar .kgis-category-list {
        padding: 0 !important;
        margin: 0 0 16px !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .kgis-mobile-filter-panel .kgis-filter-heading,
    .kgis-courses-page-layout > .kgis-course-sidebar .kgis-filter-heading {
        display: none !important;
    }

    .kgis-mobile-filter-panel .kgis-filter-field,
    .kgis-courses-page-layout > .kgis-course-sidebar .kgis-filter-field {
        margin-bottom: 10px !important;
    }

    .kgis-mobile-filter-panel .kgis-filter-field label,
    .kgis-courses-page-layout > .kgis-course-sidebar .kgis-filter-field label {
        margin-bottom: 4px !important;
        font-size: 12px !important;
        color: #475569 !important;
        font-weight: 500 !important;
    }

    .kgis-mobile-filter-panel .kgis-filter-field input,
    .kgis-mobile-filter-panel .kgis-filter-field select,
    .kgis-courses-page-layout > .kgis-course-sidebar .kgis-filter-field input,
    .kgis-courses-page-layout > .kgis-course-sidebar .kgis-filter-field select {
        min-height: 38px !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        border: 1px solid #dbe3ef !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    .kgis-mobile-filter-panel .kgis-category-list h3,
    .kgis-courses-page-layout > .kgis-course-sidebar .kgis-category-list h3 {
        margin: 3px 0 8px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
    }

    .kgis-mobile-filter-panel .kgis-category-list a,
    .kgis-courses-page-layout > .kgis-course-sidebar .kgis-category-list a {
        padding: 7px 0 !important;
        font-size: 14px !important;
    }

    .kgis-mobile-filter-panel .kgis-category-list span,
    .kgis-courses-page-layout > .kgis-course-sidebar .kgis-category-list span {
        font-size: 12px !important;
        min-width: 24px !important;
        padding: 1px 7px !important;
    }

    .kgis-elementor-courses-page.kgis-hide-filter-mobile .kgis-mobile-filter-toggle {
        display: none !important;
    }

    .kgis-elementor-courses-page.kgis-hide-filter-mobile .kgis-page-filter-area,
    .kgis-elementor-courses-page.kgis-hide-filter-mobile .kgis-mobile-filter-panel {
        display: none !important;
    }
}


/* v1.4.3: mobile filter button right side, icon only, bigger */
.kgis-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 767px) {
    .kgis-mobile-filter-toggle {
        position: fixed !important;
        right: 16px !important;
        bottom: 96px !important;
        z-index: 999998 !important;
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #2563eb !important;
        color: #ffffff !important;
        box-shadow: 0 14px 34px rgba(37, 99, 235, 0.34) !important;
    }

    .kgis-mobile-filter-toggle .kgis-filter-icon {
        font-size: 29px !important;
        line-height: 1 !important;
        color: #ffffff !important;
        transform: translateY(-1px);
    }

    .kgis-mobile-filter-toggle:hover,
    .kgis-mobile-filter-toggle:focus {
        background: #1d4ed8 !important;
        color: #ffffff !important;
        outline: none !important;
    }

    .kgis-mobile-filter-toggle:focus-visible {
        box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.22), 0 14px 34px rgba(37, 99, 235, 0.34) !important;
    }

    .kgis-mobile-filter-open ~ .kgis-mobile-filter-toggle,
    .kgis-mobile-filter-body-open .kgis-mobile-filter-toggle {
        display: none !important;
    }
}


/* v1.4.4: standalone KG Courses Filter widget also becomes mobile drawer */
@media (max-width: 767px) {
    .kgis-standalone-mobile-filter-widget {
        min-height: 0 !important;
        height: 0 !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .kgis-standalone-mobile-filter-widget > .kgis-course-sidebar,
    .kgis-standalone-mobile-filter-widget .kgis-mobile-filter-panel {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        z-index: 1000001 !important;
        width: min(340px, 90vw) !important;
        max-width: 90vw !important;
        height: 100vh !important;
        overflow-y: auto !important;
        background: #ffffff !important;
        padding: 14px !important;
        margin: 0 !important;
        transform: translateX(110%) !important;
        transition: transform 240ms ease !important;
        box-shadow: -20px 0 50px rgba(15, 23, 42, 0.22) !important;
        border-left: 1px solid #e5eaf2 !important;
        border-radius: 0 !important;
    }

    .kgis-standalone-mobile-filter-widget > .kgis-course-sidebar.is-open,
    .kgis-standalone-mobile-filter-widget .kgis-mobile-filter-panel.is-open {
        transform: translateX(0) !important;
    }

    .kgis-standalone-mobile-filter-widget .kgis-course-filter-form,
    .kgis-standalone-mobile-filter-widget .kgis-category-list {
        padding: 0 !important;
        margin: 0 0 16px !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .kgis-standalone-mobile-filter-widget .kgis-filter-heading {
        display: none !important;
    }

    .kgis-standalone-mobile-filter-widget .kgis-filter-field {
        margin-bottom: 10px !important;
    }

    .kgis-standalone-mobile-filter-widget .kgis-filter-field label {
        margin-bottom: 4px !important;
        font-size: 12px !important;
        color: #475569 !important;
        font-weight: 500 !important;
    }

    .kgis-standalone-mobile-filter-widget .kgis-filter-field input,
    .kgis-standalone-mobile-filter-widget .kgis-filter-field select {
        min-height: 38px !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        border: 1px solid #dbe3ef !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    .kgis-standalone-mobile-filter-widget .kgis-category-list h3 {
        margin: 3px 0 8px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
    }

    .kgis-standalone-mobile-filter-widget .kgis-category-list a {
        padding: 7px 0 !important;
        font-size: 14px !important;
    }

    .kgis-standalone-mobile-filter-widget .kgis-category-list span {
        font-size: 12px !important;
        min-width: 24px !important;
        padding: 1px 7px !important;
    }
}


/* v1.4.5: always render mobile filter icon for Elementor Filter and Courses Page */
.kgis-static-mobile-filter-toggle {
    display: none;
}

@media (max-width: 767px) {
    .kgis-static-mobile-filter-toggle.kgis-mobile-filter-toggle {
        display: inline-flex !important;
        position: fixed !important;
        right: 16px !important;
        bottom: 96px !important;
        z-index: 999998 !important;
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #2563eb !important;
        color: #ffffff !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 14px 34px rgba(37, 99, 235, 0.34) !important;
    }

    .kgis-static-mobile-filter-toggle .kgis-filter-icon {
        font-size: 29px !important;
        line-height: 1 !important;
        color: #ffffff !important;
        transform: translateY(-1px);
    }

    .kgis-static-mobile-filter-panel.kgis-mobile-filter-panel {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        z-index: 1000001 !important;
        display: block !important;
        width: min(340px, 90vw) !important;
        max-width: 90vw !important;
        height: 100vh !important;
        overflow-y: auto !important;
        background: #ffffff !important;
        padding: 14px !important;
        margin: 0 !important;
        transform: translateX(110%) !important;
        transition: transform 240ms ease !important;
        box-shadow: -20px 0 50px rgba(15, 23, 42, 0.22) !important;
        border-left: 1px solid #e5eaf2 !important;
        border-radius: 0 !important;
    }

    .kgis-static-mobile-filter-panel.kgis-mobile-filter-panel.is-open {
        transform: translateX(0) !important;
    }

    .kgis-static-mobile-filter-panel .kgis-course-sidebar {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
        border: 0 !important;
        background: transparent !important;
    }

    .kgis-static-mobile-filter-panel .kgis-course-filter-form,
    .kgis-static-mobile-filter-panel .kgis-category-list {
        padding: 0 !important;
        margin: 0 0 16px !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-heading {
        display: none !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-field {
        margin-bottom: 10px !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-field label {
        margin-bottom: 4px !important;
        font-size: 12px !important;
        color: #475569 !important;
        font-weight: 500 !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-field input,
    .kgis-static-mobile-filter-panel .kgis-filter-field select {
        min-height: 38px !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        border: 1px solid #dbe3ef !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    .kgis-static-mobile-filter-panel .kgis-category-list h3 {
        margin: 3px 0 8px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
    }

    .kgis-static-mobile-filter-panel .kgis-category-list a {
        padding: 7px 0 !important;
        font-size: 14px !important;
    }

    .kgis-static-mobile-filter-panel .kgis-category-list span {
        font-size: 12px !important;
        min-width: 24px !important;
        padding: 1px 7px !important;
    }

    .kgis-static-filter-backdrop.is-open {
        display: block !important;
    }

    .kgis-elementor-courses-page.kgis-hide-filter-mobile + .kgis-static-mobile-filter-toggle,
    .kgis-elementor-courses-page.kgis-hide-filter-mobile .kgis-static-mobile-filter-toggle {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .kgis-static-mobile-filter-panel.kgis-mobile-filter-panel {
        transform: none !important;
    }
}


/* v1.4.6: guaranteed mobile/tablet filter icon and drawer */
.kgis-force-mobile-filter-button,
.kgis-force-mobile-filter-backdrop {
    display: none;
}

@media (max-width: 767px) {
    .kgis-force-mobile-filter-button {
        display: inline-flex !important;
        position: fixed !important;
        right: 16px !important;
        bottom: 96px !important;
        z-index: 2147483000 !important;
        width: 62px !important;
        height: 62px !important;
        min-width: 62px !important;
        min-height: 62px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        align-items: center !important;
        justify-content: center !important;
        background: #2563eb !important;
        color: #ffffff !important;
        box-shadow: 0 16px 38px rgba(37, 99, 235, 0.40) !important;
        cursor: pointer !important;
    }

    .kgis-force-mobile-filter-button svg {
        display: block !important;
        width: 29px !important;
        height: 29px !important;
    }

    .kgis-force-mobile-filter-button:hover,
    .kgis-force-mobile-filter-button:focus {
        background: #1d4ed8 !important;
        color: #ffffff !important;
        outline: none !important;
    }

    .kgis-force-mobile-filter-panel {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        z-index: 2147483001 !important;
        width: min(350px, 90vw) !important;
        max-width: 90vw !important;
        height: 100vh !important;
        overflow-y: auto !important;
        background: #ffffff !important;
        padding: 14px !important;
        margin: 0 !important;
        transform: translateX(112%) !important;
        transition: transform 240ms ease !important;
        box-shadow: -20px 0 56px rgba(15, 23, 42, 0.24) !important;
        border-left: 1px solid #e5eaf2 !important;
        border-radius: 0 !important;
    }

    .kgis-force-mobile-filter-panel.is-open {
        transform: translateX(0) !important;
    }

    .kgis-force-mobile-filter-backdrop {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147482999 !important;
        background: rgba(15, 23, 42, 0.48) !important;
        backdrop-filter: blur(2px);
    }

    .kgis-force-mobile-filter-backdrop.is-open {
        display: block !important;
    }

    .kgis-force-mobile-filter-open {
        overflow: hidden !important;
    }

    .kgis-force-mobile-filter-panel .kgis-course-sidebar,
    .kgis-force-mobile-filter-panel .kgis-el-filter-sidebar {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        transform: none !important;
        box-shadow: none !important;
        border: 0 !important;
        background: transparent !important;
    }

    .kgis-force-mobile-filter-panel .kgis-course-filter-form,
    .kgis-force-mobile-filter-panel .kgis-category-list {
        padding: 0 !important;
        margin: 0 0 16px !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .kgis-force-mobile-filter-panel .kgis-filter-heading {
        display: none !important;
    }

    .kgis-force-mobile-filter-panel .kgis-mobile-filter-header,
    .kgis-force-mobile-filter-header {
        position: sticky !important;
        top: -14px !important;
        z-index: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin: -14px -14px 13px !important;
        padding: 13px 14px !important;
        background: #ffffff !important;
        border-bottom: 1px solid #edf2f7 !important;
    }

    .kgis-force-mobile-filter-panel .kgis-mobile-filter-header strong,
    .kgis-force-mobile-filter-header strong {
        color: #0f172a !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
    }

    .kgis-force-mobile-filter-panel .kgis-mobile-filter-close,
    .kgis-force-mobile-filter-close {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #f1f5f9 !important;
        color: #0f172a !important;
        font-size: 23px !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }

    .kgis-force-mobile-filter-panel .kgis-filter-field {
        margin-bottom: 10px !important;
    }

    .kgis-force-mobile-filter-panel .kgis-filter-field label {
        margin-bottom: 4px !important;
        font-size: 12px !important;
        color: #475569 !important;
        font-weight: 500 !important;
    }

    .kgis-force-mobile-filter-panel .kgis-filter-field input,
    .kgis-force-mobile-filter-panel .kgis-filter-field select {
        width: 100% !important;
        min-height: 38px !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        border: 1px solid #dbe3ef !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    .kgis-force-mobile-filter-panel .kgis-category-list h3 {
        margin: 3px 0 8px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
    }

    .kgis-force-mobile-filter-panel .kgis-category-list a {
        padding: 7px 0 !important;
        font-size: 14px !important;
    }

    .kgis-force-mobile-filter-panel .kgis-category-list span {
        font-size: 12px !important;
        min-width: 24px !important;
        padding: 1px 7px !important;
    }
}

@media (min-width: 768px) {
    .kgis-force-mobile-filter-panel {
        transform: none !important;
    }
}


/* v1.4.7: custom frontend login, no wp-login.php redirect */
.kgis-custom-login-box {
    max-width: 460px !important;
}

.kgis-custom-login-form {
    margin: 0;
}

.kgis-login-form-title {
    margin-bottom: 18px;
}

.kgis-login-form-title h3 {
    margin: 0 0 6px;
    color: #0f172a;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.2;
}

.kgis-login-form-title p {
    margin: 0;
    color: #64748b;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 300;
}

.kgis-password-field {
    position: relative;
    display: flex;
    align-items: center;
}

.kgis-password-field input {
    padding-right: 72px !important;
}

.kgis-toggle-password {
    position: absolute;
    right: 8px;
    height: 30px;
    min-width: 52px;
    padding: 0 9px;
    border: 0;
    border-radius: 6px;
    background: #eef2ff;
    color: #1d4ed8;
    font-family: "Roboto Condensed", Arial, sans-serif;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}

.kgis-remember-row {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin: 0 0 15px !important;
    color: #334155 !important;
    font-size: 15px !important;
    font-weight: 300 !important;
}

.kgis-remember-row input {
    width: 16px !important;
    height: 16px !important;
    min-height: 0 !important;
}

.kgis-login-submit-btn {
    width: 100%;
    min-height: 43px;
}

@media (max-width: 700px) {
    .kgis-custom-login-box {
        max-width: 100% !important;
        padding: 20px !important;
    }

    .kgis-login-form-title h3 {
        font-size: 23px;
    }
}


/* v1.4.8: mobile filter drawer only; restore desktop/tablet design */
@media (min-width: 768px) {
    .kgis-mobile-filter-toggle,
    .kgis-static-mobile-filter-toggle,
    .kgis-force-mobile-filter-button,
    .kgis-mobile-filter-backdrop,
    .kgis-force-mobile-filter-backdrop,
    .kgis-static-direct-filter-backdrop,
    .kgis-mobile-filter-header {
        display: none !important;
    }

    .kgis-static-mobile-filter-panel.kgis-mobile-filter-panel,
    .kgis-force-mobile-filter-panel,
    .kgis-standalone-mobile-filter-widget > .kgis-course-sidebar,
    .kgis-standalone-mobile-filter-widget .kgis-mobile-filter-panel {
        position: static !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        transform: none !important;
        transition: none !important;
        box-shadow: none !important;
        border: 0 !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .kgis-standalone-mobile-filter-widget {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    .kgis-elementor-courses-page .kgis-courses-page-layout {
        display: grid !important;
    }
}

@media (max-width: 767px) {
    .kgis-static-mobile-filter-toggle.kgis-mobile-filter-toggle,
    .kgis-mobile-filter-toggle.kgis-static-mobile-filter-toggle,
    body.elementor-device-mobile .kgis-static-mobile-filter-toggle,
    body.elementor-editor-active .kgis-static-mobile-filter-toggle {
        display: inline-flex !important;
        position: fixed !important;
        right: 16px !important;
        bottom: 96px !important;
        z-index: 2147483000 !important;
        width: 62px !important;
        height: 62px !important;
        min-width: 62px !important;
        min-height: 62px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        align-items: center !important;
        justify-content: center !important;
        background: #2563eb !important;
        color: #ffffff !important;
        box-shadow: 0 16px 38px rgba(37, 99, 235, 0.40) !important;
        cursor: pointer !important;
    }

    .kgis-static-mobile-filter-toggle .kgis-filter-icon,
    .kgis-mobile-filter-toggle .kgis-filter-icon {
        font-size: 30px !important;
        line-height: 1 !important;
        color: #ffffff !important;
    }

    .kgis-static-mobile-filter-panel.kgis-mobile-filter-panel {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        z-index: 2147483001 !important;
        display: block !important;
        width: min(350px, 90vw) !important;
        max-width: 90vw !important;
        height: 100vh !important;
        overflow-y: auto !important;
        background: #ffffff !important;
        padding: 14px !important;
        margin: 0 !important;
        transform: translateX(112%) !important;
        transition: transform 240ms ease !important;
        box-shadow: -20px 0 56px rgba(15, 23, 42, 0.24) !important;
        border-left: 1px solid #e5eaf2 !important;
        border-radius: 0 !important;
    }

    .kgis-static-mobile-filter-panel.kgis-mobile-filter-panel.is-open {
        transform: translateX(0) !important;
    }

    .kgis-static-mobile-filter-panel .kgis-course-sidebar {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        transform: none !important;
        box-shadow: none !important;
        border: 0 !important;
        background: transparent !important;
    }

    .kgis-static-mobile-filter-panel .kgis-course-filter-form,
    .kgis-static-mobile-filter-panel .kgis-category-list {
        padding: 0 !important;
        margin: 0 0 16px !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-heading {
        display: none !important;
    }

    .kgis-static-mobile-filter-panel .kgis-mobile-filter-header {
        position: sticky !important;
        top: -14px !important;
        z-index: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin: -14px -14px 13px !important;
        padding: 13px 14px !important;
        background: #ffffff !important;
        border-bottom: 1px solid #edf2f7 !important;
    }

    .kgis-static-mobile-filter-panel .kgis-mobile-filter-header strong {
        color: #0f172a !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
    }

    .kgis-static-mobile-filter-panel .kgis-mobile-filter-close {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #f1f5f9 !important;
        color: #0f172a !important;
        font-size: 23px !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-field {
        margin-bottom: 10px !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-field label {
        margin-bottom: 4px !important;
        font-size: 12px !important;
        color: #475569 !important;
        font-weight: 500 !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-field input,
    .kgis-static-mobile-filter-panel .kgis-filter-field select {
        width: 100% !important;
        min-height: 38px !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        border: 1px solid #dbe3ef !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    .kgis-static-mobile-filter-panel .kgis-category-list h3 {
        margin: 3px 0 8px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
    }

    .kgis-static-mobile-filter-panel .kgis-category-list a {
        padding: 7px 0 !important;
        font-size: 14px !important;
    }

    .kgis-static-mobile-filter-panel .kgis-category-list span {
        font-size: 12px !important;
        min-width: 24px !important;
        padding: 1px 7px !important;
    }

    .kgis-static-direct-filter-backdrop.is-open,
    .kgis-mobile-filter-backdrop.is-open {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147482999 !important;
        background: rgba(15, 23, 42, 0.48) !important;
        backdrop-filter: blur(2px);
    }
}


/* v1.4.9: final mobile filter icon fix + no desktop design change */
@media (min-width: 768px) {
    .kgis-mobile-filter-toggle,
    .kgis-static-mobile-filter-toggle,
    .kgis-force-mobile-filter-button,
    .kgis-mobile-filter-backdrop,
    .kgis-force-mobile-filter-backdrop,
    .kgis-static-direct-filter-backdrop,
    .kgis-mobile-filter-header,
    .kgis-grid-mobile-filter-panel {
        display: none !important;
    }

    .kgis-elementor-courses-grid,
    .kgis-el-course-grid-wrap {
        width: 100% !important;
    }

    .kgis-el-course-grid-wrap .kgis-course-grid {
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    .kgis-static-mobile-filter-toggle.kgis-mobile-filter-toggle,
    .kgis-mobile-filter-toggle.kgis-static-mobile-filter-toggle,
    .kgis-force-mobile-filter-button {
        display: inline-flex !important;
        position: fixed !important;
        top: 92px !important;
        right: 14px !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 2147483000 !important;
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        align-items: center !important;
        justify-content: center !important;
        background: #2563eb !important;
        color: #ffffff !important;
        box-shadow: 0 14px 34px rgba(37, 99, 235, 0.38) !important;
        cursor: pointer !important;
        font-size: 0 !important;
    }

    .kgis-static-mobile-filter-toggle svg,
    .kgis-mobile-filter-toggle svg,
    .kgis-force-mobile-filter-button svg,
    .kgis-static-mobile-filter-toggle .kgis-filter-icon,
    .kgis-mobile-filter-toggle .kgis-filter-icon {
        display: block !important;
        width: 29px !important;
        height: 29px !important;
        color: #ffffff !important;
    }

    .kgis-static-mobile-filter-toggle:hover,
    .kgis-static-mobile-filter-toggle:focus,
    .kgis-force-mobile-filter-button:hover,
    .kgis-force-mobile-filter-button:focus {
        background: #1d4ed8 !important;
        color: #ffffff !important;
        outline: none !important;
    }

    .kgis-static-mobile-filter-panel.kgis-mobile-filter-panel,
    .kgis-grid-mobile-filter-panel.kgis-mobile-filter-panel {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        z-index: 2147483001 !important;
        display: block !important;
        width: min(350px, 90vw) !important;
        max-width: 90vw !important;
        height: 100vh !important;
        overflow-y: auto !important;
        background: #ffffff !important;
        padding: 14px !important;
        margin: 0 !important;
        transform: translateX(112%) !important;
        transition: transform 240ms ease !important;
        box-shadow: -20px 0 56px rgba(15, 23, 42, 0.24) !important;
        border-left: 1px solid #e5eaf2 !important;
        border-radius: 0 !important;
    }

    .kgis-static-mobile-filter-panel.kgis-mobile-filter-panel.is-open,
    .kgis-grid-mobile-filter-panel.kgis-mobile-filter-panel.is-open {
        transform: translateX(0) !important;
    }

    .kgis-static-mobile-filter-panel .kgis-course-sidebar,
    .kgis-grid-mobile-filter-panel .kgis-course-sidebar {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        transform: none !important;
        box-shadow: none !important;
        border: 0 !important;
        background: transparent !important;
    }

    .kgis-static-mobile-filter-panel .kgis-course-filter-form,
    .kgis-static-mobile-filter-panel .kgis-category-list,
    .kgis-grid-mobile-filter-panel .kgis-course-filter-form,
    .kgis-grid-mobile-filter-panel .kgis-category-list {
        padding: 0 !important;
        margin: 0 0 16px !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-heading,
    .kgis-grid-mobile-filter-panel .kgis-filter-heading {
        display: none !important;
    }

    .kgis-static-mobile-filter-panel .kgis-mobile-filter-header,
    .kgis-grid-mobile-filter-panel .kgis-mobile-filter-header {
        position: sticky !important;
        top: -14px !important;
        z-index: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin: -14px -14px 13px !important;
        padding: 13px 14px !important;
        background: #ffffff !important;
        border-bottom: 1px solid #edf2f7 !important;
    }

    .kgis-static-mobile-filter-panel .kgis-mobile-filter-header strong,
    .kgis-grid-mobile-filter-panel .kgis-mobile-filter-header strong {
        color: #0f172a !important;
        font-size: 16px !important;
        font-weight: 600 !important;
    }

    .kgis-static-mobile-filter-panel .kgis-mobile-filter-close,
    .kgis-grid-mobile-filter-panel .kgis-mobile-filter-close {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #f1f5f9 !important;
        color: #0f172a !important;
        font-size: 23px !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-field,
    .kgis-grid-mobile-filter-panel .kgis-filter-field {
        margin-bottom: 10px !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-field label,
    .kgis-grid-mobile-filter-panel .kgis-filter-field label {
        margin-bottom: 4px !important;
        font-size: 12px !important;
        color: #475569 !important;
        font-weight: 500 !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-field input,
    .kgis-static-mobile-filter-panel .kgis-filter-field select,
    .kgis-grid-mobile-filter-panel .kgis-filter-field input,
    .kgis-grid-mobile-filter-panel .kgis-filter-field select {
        width: 100% !important;
        min-height: 38px !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        border: 1px solid #dbe3ef !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    .kgis-static-mobile-filter-panel .kgis-category-list h3,
    .kgis-grid-mobile-filter-panel .kgis-category-list h3 {
        margin: 3px 0 8px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
    }

    .kgis-static-mobile-filter-panel .kgis-category-list a,
    .kgis-grid-mobile-filter-panel .kgis-category-list a {
        padding: 7px 0 !important;
        font-size: 14px !important;
    }

    .kgis-static-direct-filter-backdrop.is-open,
    .kgis-mobile-filter-backdrop.is-open {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147482999 !important;
        background: rgba(15, 23, 42, 0.48) !important;
        backdrop-filter: blur(2px);
    }
}


/* v1.5.0: clean mobile filter icon, Elementor controls work immediately */
@media (min-width: 768px) {
    .kgis-static-mobile-filter-toggle,
    .kgis-force-mobile-filter-button,
    .kgis-mobile-filter-backdrop,
    .kgis-force-mobile-filter-backdrop,
    .kgis-static-direct-filter-backdrop,
    .kgis-static-mobile-filter-panel,
    .kgis-grid-mobile-filter-panel {
        display: none !important;
    }

    .kgis-elementor-courses-grid .kgis-course-grid {
        width: 100% !important;
    }
}

@media (max-width: 767px) {
    .kgis-static-mobile-filter-toggle.kgis-mobile-filter-toggle,
    .kgis-mobile-filter-toggle.kgis-static-mobile-filter-toggle {
        display: inline-flex !important;
        position: fixed !important;
        top: 68px !important;
        right: 14px !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 2147483000 !important;
        width: 54px !important;
        height: 54px !important;
        min-width: 54px !important;
        min-height: 54px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        align-items: center !important;
        justify-content: center !important;
        background: #2563eb !important;
        color: #ffffff !important;
        box-shadow: none !important;
        cursor: pointer !important;
        font-size: 0 !important;
    }

    .kgis-static-mobile-filter-toggle svg,
    .kgis-mobile-filter-toggle svg,
    .kgis-static-mobile-filter-toggle .kgis-filter-icon,
    .kgis-mobile-filter-toggle .kgis-filter-icon {
        display: block !important;
        width: 27px !important;
        height: 27px !important;
        color: #ffffff !important;
        line-height: 1 !important;
    }

    .kgis-static-mobile-filter-toggle:hover,
    .kgis-static-mobile-filter-toggle:focus {
        background: #1d4ed8 !important;
        color: #ffffff !important;
        box-shadow: none !important;
        outline: none !important;
    }

    .kgis-static-mobile-filter-panel.kgis-mobile-filter-panel,
    .kgis-grid-mobile-filter-panel.kgis-mobile-filter-panel {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        z-index: 2147483001 !important;
        display: block !important;
        width: min(340px, 92vw) !important;
        max-width: 92vw !important;
        height: 100vh !important;
        overflow-y: auto !important;
        background: #ffffff !important;
        padding: 14px !important;
        margin: 0 !important;
        transform: translateX(112%) !important;
        transition: transform 240ms ease !important;
        box-shadow: -18px 0 44px rgba(15, 23, 42, 0.20) !important;
        border-left: 1px solid #e5eaf2 !important;
        border-radius: 0 !important;
    }

    .kgis-static-mobile-filter-panel.kgis-mobile-filter-panel.is-open,
    .kgis-grid-mobile-filter-panel.kgis-mobile-filter-panel.is-open {
        transform: translateX(0) !important;
    }

    .kgis-static-mobile-filter-panel .kgis-course-sidebar,
    .kgis-grid-mobile-filter-panel .kgis-course-sidebar {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        transform: none !important;
        box-shadow: none !important;
        border: 0 !important;
        background: transparent !important;
    }

    .kgis-static-mobile-filter-panel .kgis-course-filter-form,
    .kgis-static-mobile-filter-panel .kgis-category-list,
    .kgis-grid-mobile-filter-panel .kgis-course-filter-form,
    .kgis-grid-mobile-filter-panel .kgis-category-list {
        padding: 0 !important;
        margin: 0 0 16px !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-heading,
    .kgis-grid-mobile-filter-panel .kgis-filter-heading {
        display: none !important;
    }

    .kgis-static-mobile-filter-panel .kgis-mobile-filter-header,
    .kgis-grid-mobile-filter-panel .kgis-mobile-filter-header {
        position: sticky !important;
        top: -14px !important;
        z-index: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin: -14px -14px 13px !important;
        padding: 13px 14px !important;
        background: #ffffff !important;
        border-bottom: 1px solid #edf2f7 !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-field,
    .kgis-grid-mobile-filter-panel .kgis-filter-field {
        margin-bottom: 10px !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-field label,
    .kgis-grid-mobile-filter-panel .kgis-filter-field label {
        margin-bottom: 4px !important;
        font-size: 12px !important;
        color: #475569 !important;
        font-weight: 500 !important;
    }

    .kgis-static-mobile-filter-panel .kgis-filter-field input,
    .kgis-static-mobile-filter-panel .kgis-filter-field select,
    .kgis-grid-mobile-filter-panel .kgis-filter-field input,
    .kgis-grid-mobile-filter-panel .kgis-filter-field select {
        width: 100% !important;
        min-height: 38px !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        border: 1px solid #dbe3ef !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    .kgis-static-direct-filter-backdrop.is-open,
    .kgis-mobile-filter-backdrop.is-open {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147482999 !important;
        background: rgba(15, 23, 42, 0.48) !important;
        backdrop-filter: blur(2px);
    }
}

/* Elementor editor immediate preview fixes */
.elementor-editor-active .kgis-static-mobile-filter-toggle {
    transition: none !important;
}


/* v1.5.1: final duplicate filter icon, drawer close, and mobile image preview fixes */
.kgis-duplicate-filter-button,
.kgis-force-mobile-filter-button {
    display: none !important;
}

@media (min-width: 768px) {
    .kgis-primary-mobile-filter-button,
    .kgis-static-mobile-filter-toggle,
    .kgis-mobile-filter-toggle,
    .kgis-primary-mobile-filter-panel,
    .kgis-static-mobile-filter-panel,
    .kgis-mobile-filter-backdrop,
    .kgis-final-mobile-filter-backdrop {
        display: none !important;
    }

    .kgis-elementor-courses-grid .kgis-course-grid,
    .kgis-el-course-grid-wrap .kgis-course-grid {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 767px) {
    .kgis-primary-mobile-filter-button.kgis-static-mobile-filter-toggle,
    .kgis-primary-mobile-filter-button.kgis-mobile-filter-toggle {
        display: inline-flex !important;
        position: fixed !important;
        top: 145px !important;
        right: 14px !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 2147483000 !important;
        width: 54px !important;
        height: 54px !important;
        min-width: 54px !important;
        min-height: 54px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        align-items: center !important;
        justify-content: center !important;
        background: #2563eb !important;
        color: #ffffff !important;
        box-shadow: none !important;
        cursor: pointer !important;
        font-size: 0 !important;
    }

    .kgis-primary-mobile-filter-button svg,
    .kgis-primary-mobile-filter-button .kgis-filter-icon {
        display: block !important;
        width: 27px !important;
        height: 27px !important;
        color: #ffffff !important;
        line-height: 1 !important;
    }

    .kgis-primary-mobile-filter-panel.kgis-mobile-filter-panel,
    .kgis-static-mobile-filter-panel.kgis-mobile-filter-panel.is-open,
    .kgis-grid-mobile-filter-panel.kgis-mobile-filter-panel.is-open {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        z-index: 2147483001 !important;
        display: block !important;
        width: min(340px, 92vw) !important;
        max-width: 92vw !important;
        height: 100vh !important;
        overflow-y: auto !important;
        background: #ffffff !important;
        padding: 14px !important;
        margin: 0 !important;
        border-left: 1px solid #e5eaf2 !important;
        border-radius: 0 !important;
        box-shadow: -16px 0 38px rgba(15, 23, 42, 0.18) !important;
    }

    .kgis-primary-mobile-filter-panel.kgis-mobile-filter-panel {
        transform: translateX(112%) !important;
        transition: transform 240ms ease !important;
    }

    .kgis-primary-mobile-filter-panel.kgis-mobile-filter-panel.is-open {
        transform: translateX(0) !important;
    }

    .kgis-primary-mobile-filter-panel .kgis-course-sidebar,
    .kgis-primary-mobile-filter-panel .kgis-el-filter-sidebar {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        transform: none !important;
        box-shadow: none !important;
        border: 0 !important;
        background: transparent !important;
    }

    .kgis-primary-mobile-filter-panel .kgis-course-filter-form,
    .kgis-primary-mobile-filter-panel .kgis-category-list {
        padding: 0 !important;
        margin: 0 0 16px !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .kgis-primary-mobile-filter-panel .kgis-filter-heading {
        display: none !important;
    }

    .kgis-primary-mobile-filter-panel .kgis-mobile-filter-header {
        position: sticky !important;
        top: -14px !important;
        z-index: 5 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        margin: -14px -14px 14px !important;
        padding: 13px 14px !important;
        background: #ffffff !important;
        border-bottom: 1px solid #edf2f7 !important;
    }

    .kgis-primary-mobile-filter-panel .kgis-mobile-filter-header strong {
        color: #0f172a !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
    }

    .kgis-primary-mobile-filter-panel .kgis-mobile-filter-close,
    .kgis-final-filter-close {
        position: static !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #f1f5f9 !important;
        color: #0f172a !important;
        font-size: 24px !important;
        line-height: 1 !important;
        box-shadow: none !important;
        cursor: pointer !important;
    }

    .kgis-primary-mobile-filter-panel .kgis-filter-field {
        margin-bottom: 10px !important;
    }

    .kgis-primary-mobile-filter-panel .kgis-filter-field label {
        margin-bottom: 4px !important;
        font-size: 12px !important;
        color: #475569 !important;
        font-weight: 500 !important;
    }

    .kgis-primary-mobile-filter-panel .kgis-filter-field input,
    .kgis-primary-mobile-filter-panel .kgis-filter-field select {
        width: 100% !important;
        min-height: 38px !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        border: 1px solid #dbe3ef !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    .kgis-primary-mobile-filter-panel .kgis-category-list h3 {
        margin: 3px 0 8px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
    }

    .kgis-primary-mobile-filter-panel .kgis-category-list a {
        padding: 7px 0 !important;
        font-size: 14px !important;
    }

    .kgis-final-mobile-filter-backdrop.is-open,
    .kgis-mobile-filter-backdrop.is-open {
        display: block !important;
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147482999 !important;
        background: rgba(15, 23, 42, 0.48) !important;
        backdrop-filter: blur(2px) !important;
    }

    /* Mobile course image preview/listing fix */
    .kgis-elementor-courses-grid .kgis-course-card,
    .kgis-elementor-courses-page .kgis-course-card {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .kgis-elementor-courses-grid .kgis-course-thumb,
    .kgis-elementor-courses-page .kgis-course-thumb {
        width: 100% !important;
        height: auto !important;
        overflow: hidden !important;
        border-radius: 12px !important;
    }

    .kgis-elementor-courses-grid .kgis-course-thumb img,
    .kgis-elementor-courses-page .kgis-course-thumb img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        object-fit: contain !important;
        object-position: center center !important;
        border-radius: 12px !important;
    }
}

/* Image viewer close button final correction */
.kgis-course-image-viewer-actions .kgis-course-image-viewer-close,
.kgis-course-image-lightbox-close {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
}


/* v1.5.2: professional boxed full-width admission form */
.kgis-elementor-admission-form,
.kgis-admission-form-page .entry-content {
    width: 100%;
}

.kgis-elementor-admission-form {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.kgis-admission-form-pro {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto 42px !important;
    padding: 0 !important;
    background: linear-gradient(180deg, #f8fafc, #ffffff) !important;
    border: 1px solid #e4eaf3 !important;
    border-radius: 24px !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08) !important;
    overflow: hidden !important;
    font-family: "Roboto Condensed", Arial, sans-serif !important;
}

.kgis-admission-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 34px 38px;
    background: radial-gradient(circle at 90% 10%, rgba(37,99,235,.22), transparent 28%), linear-gradient(135deg, #0f172a 0%, #1e3a8a 58%, #2563eb 100%) !important;
    color: #ffffff;
}

.kgis-admission-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 34px 34px;
    opacity: .18;
}

.kgis-admission-hero > * {
    position: relative;
    z-index: 1;
}

.kgis-admission-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: #bfdbfe !important;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kgis-admission-kicker::before {
    content: "";
    width: 28px;
    height: 2px;
    border-radius: 99px;
    background: #60a5fa;
}

.kgis-admission-hero h3 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(30px, 4vw, 48px) !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    letter-spacing: -.035em !important;
}

.kgis-admission-hero p {
    max-width: 680px;
    margin: 13px 0 0 !important;
    color: #dbeafe !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
    font-weight: 300 !important;
}

.kgis-admission-badge {
    flex: 0 0 auto;
    width: 128px;
    height: 128px;
    border-radius: 28px;
    display: grid;
    place-content: center;
    text-align: center;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.24);
    backdrop-filter: blur(8px);
}

.kgis-admission-badge strong {
    display: block;
    color: #ffffff;
    font-size: 40px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.04em;
}

.kgis-admission-badge span {
    display: block;
    margin-top: 8px;
    color: #dbeafe;
    font-size: 13px;
    line-height: 1.25;
    font-weight: 400;
}

.kgis-admission-section-title {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 30px 38px 22px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e6edf5;
}

.kgis-admission-section-title > span {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 15px;
    font-weight: 700;
}

.kgis-admission-section-title h4 {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 22px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: -.015em;
}

.kgis-admission-section-title p {
    margin: 4px 0 0 !important;
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.kgis-admission-form-pro .kgis-form-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 18px 20px !important;
    padding: 0 38px 28px !important;
}

.kgis-admission-form-pro .kgis-form-grid > div {
    grid-column: span 6;
    min-width: 0;
}

.kgis-admission-form-pro .kgis-form-wide,
.kgis-admission-form-pro .kgis-field-permanent_address,
.kgis-admission-form-pro .kgis-field-local_address,
.kgis-admission-form-pro .kgis-field-education,
.kgis-admission-form-pro .kgis-field-occupation,
.kgis-admission-form-pro .kgis-field-course_id,
.kgis-admission-form-pro .kgis-field-payment_method,
.kgis-admission-form-pro .kgis-field-receipt_upload,
.kgis-admission-form-pro .kgis-field-message {
    grid-column: span 12 !important;
}

.kgis-admission-form-pro .kgis-form-group {
    margin-bottom: 0 !important;
}

.kgis-admission-form-pro .kgis-form-group label {
    display: block !important;
    margin-bottom: 7px !important;
    color: #334155 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: .01em;
}

.kgis-admission-form-pro .kgis-form-group label span {
    color: #dc2626 !important;
}

.kgis-admission-form-pro input[type="text"],
.kgis-admission-form-pro input[type="email"],
.kgis-admission-form-pro input[type="date"],
.kgis-admission-form-pro input[type="file"],
.kgis-admission-form-pro select,
.kgis-admission-form-pro textarea {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #d8e2ef !important;
    border-radius: 13px !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .02) !important;
    outline: none !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease !important;
}

.kgis-admission-form-pro textarea {
    min-height: 108px !important;
    resize: vertical;
}

.kgis-admission-form-pro input:focus,
.kgis-admission-form-pro select:focus,
.kgis-admission-form-pro textarea:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .10) !important;
    background: #ffffff !important;
}

.kgis-admission-form-pro .kgis-radio-group {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px !important;
    padding: 0 !important;
}

.kgis-admission-form-pro .kgis-radio-group label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 42px;
    margin: 0 !important;
    padding: 9px 13px !important;
    border: 1px solid #d8e2ef !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #334155 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    cursor: pointer;
}

.kgis-admission-form-pro .kgis-radio-group label:has(input:checked) {
    border-color: #2563eb !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
}

.kgis-admission-form-pro .kgis-radio-group input {
    width: 16px !important;
    height: 16px !important;
    min-height: auto !important;
    margin: 0 !important;
    accent-color: #2563eb;
}

.kgis-admission-form-pro .kgis-field-help {
    margin: 8px 0 0 !important;
    color: #64748b !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 300 !important;
}

.kgis-admission-form-pro .kgis-field-help a {
    color: #2563eb !important;
    text-decoration: none !important;
    font-weight: 500;
}

.kgis-admission-form-pro input[type="file"] {
    padding: 13px !important;
    background: #f8fafc !important;
    border-style: dashed !important;
    cursor: pointer;
}

.kgis-admission-form-pro .kgis-submit-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 240px;
    min-height: 50px;
    margin: 0 38px 38px !important;
    padding: 14px 30px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    box-shadow: 0 16px 30px rgba(37, 99, 235, .24) !important;
}

.kgis-admission-form-pro .kgis-submit-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 36px rgba(37, 99, 235, .30) !important;
}

@media (max-width: 921px) {
    .kgis-admission-hero {
        padding: 28px;
    }

    .kgis-admission-badge {
        width: 108px;
        height: 108px;
        border-radius: 24px;
    }

    .kgis-admission-section-title {
        margin: 26px 28px 20px;
    }

    .kgis-admission-form-pro .kgis-form-grid {
        padding: 0 28px 26px !important;
        gap: 16px !important;
    }

    .kgis-admission-form-pro .kgis-submit-btn {
        margin: 0 28px 32px !important;
    }
}

@media (max-width: 700px) {
    .kgis-admission-form-pro {
        border-radius: 18px !important;
        margin-bottom: 28px !important;
    }

    .kgis-admission-hero {
        display: block;
        padding: 24px 20px;
    }

    .kgis-admission-hero h3 {
        font-size: 30px !important;
    }

    .kgis-admission-hero p {
        font-size: 15px !important;
    }

    .kgis-admission-badge {
        display: none;
    }

    .kgis-admission-section-title {
        margin: 22px 20px 18px;
    }

    .kgis-admission-form-pro .kgis-form-grid {
        grid-template-columns: 1fr !important;
        padding: 0 20px 24px !important;
        gap: 15px !important;
    }

    .kgis-admission-form-pro .kgis-form-grid > div,
    .kgis-admission-form-pro .kgis-form-wide {
        grid-column: auto !important;
    }

    .kgis-admission-form-pro .kgis-radio-group {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .kgis-admission-form-pro .kgis-radio-group label {
        border-radius: 12px !important;
        justify-content: flex-start !important;
    }

    .kgis-admission-form-pro .kgis-submit-btn {
        width: calc(100% - 40px) !important;
        margin: 0 20px 28px !important;
        min-width: 0;
    }
}


/* v1.5.3: admission form spacing management and professional two-column boxed layout */
.kgis-admission-form-pro {
    width: min(1180px, calc(100% - 32px)) !important;
    max-width: 1180px !important;
    margin: 0 auto 42px !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid #e4eaf3 !important;
    border-radius: 22px !important;
    box-shadow: 0 18px 55px rgba(15, 23, 42, 0.07) !important;
    overflow: hidden !important;
    font-family: "Roboto Condensed", Arial, sans-serif !important;
}

.kgis-admission-form-pro .kgis-form-title {
    display: none !important;
}

.kgis-admission-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 30px 34px;
    background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 58%, #2563eb 100%) !important;
    color: #ffffff;
}

.kgis-admission-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 34px 34px;
    opacity: .16;
}

.kgis-admission-hero > * {
    position: relative;
    z-index: 1;
}

.kgis-admission-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: #bfdbfe !important;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kgis-admission-kicker::before {
    content: "";
    width: 28px;
    height: 2px;
    border-radius: 99px;
    background: #60a5fa;
}

.kgis-admission-hero h3 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(30px, 3.5vw, 44px) !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    letter-spacing: -.035em !important;
}

.kgis-admission-hero p {
    max-width: 680px;
    margin: 12px 0 0 !important;
    color: #dbeafe !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    font-weight: 300 !important;
}

.kgis-admission-badge {
    flex: 0 0 auto;
    width: 112px;
    height: 112px;
    border-radius: 24px;
    display: grid;
    place-content: center;
    text-align: center;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.24);
}

.kgis-admission-badge strong {
    display: block;
    color: #ffffff;
    font-size: 36px;
    line-height: 1;
    font-weight: 800;
}

.kgis-admission-badge span {
    display: block;
    margin-top: 8px;
    color: #dbeafe;
    font-size: 12px;
    line-height: 1.25;
}

.kgis-admission-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 318px;
    gap: 0;
    align-items: stretch;
}

.kgis-admission-main {
    min-width: 0;
    padding: 0;
}

.kgis-admission-side {
    border-left: 1px solid #e6edf5;
    background: linear-gradient(180deg, #f8fafc, #ffffff);
    padding: 28px 26px;
}

.kgis-admission-side-card {
    position: sticky;
    top: 24px;
    padding: 22px;
    border: 1px solid #e1e9f4;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 35px rgba(15,23,42,.06);
}

.kgis-side-label {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.kgis-admission-side-card h4 {
    margin: 0 0 10px !important;
    color: #0f172a !important;
    font-size: 23px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

.kgis-admission-side-card p {
    margin: 0 0 16px !important;
    color: #64748b !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    font-weight: 300 !important;
}

.kgis-admission-side-card ul {
    margin: 0 0 18px !important;
    padding: 0 !important;
    list-style: none !important;
}

.kgis-admission-side-card li {
    position: relative;
    margin: 0 0 9px !important;
    padding-left: 24px !important;
    color: #334155 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
}

.kgis-admission-side-card li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #2563eb;
    font-weight: 700;
}

.kgis-admission-contact-card {
    display: grid;
    gap: 4px;
    padding: 14px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e6edf5;
}

.kgis-admission-contact-card strong {
    color: #0f172a;
    font-size: 15px;
}

.kgis-admission-contact-card span {
    color: #475569;
    font-size: 14px;
    line-height: 1.35;
}

.kgis-admission-section-title {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 26px 30px 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e6edf5;
}

.kgis-admission-section-title > span {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #eff6ff;
    color: #2563eb;
    font-size: 14px;
    font-weight: 700;
}

.kgis-admission-section-title h4 {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 21px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

.kgis-admission-section-title p {
    margin: 4px 0 0 !important;
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.kgis-admission-form-pro .kgis-form-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 16px 18px !important;
    padding: 0 30px 26px !important;
}

.kgis-admission-form-pro .kgis-form-grid > div {
    grid-column: span 6;
    min-width: 0;
}

.kgis-admission-form-pro .kgis-field-email,
.kgis-admission-form-pro .kgis-field-mobile {
    grid-column: span 6 !important;
}

.kgis-admission-form-pro .kgis-field-salutation,
.kgis-admission-form-pro .kgis-field-education,
.kgis-admission-form-pro .kgis-field-occupation,
.kgis-admission-form-pro .kgis-field-course_id,
.kgis-admission-form-pro .kgis-field-payment_method,
.kgis-admission-form-pro .kgis-field-receipt_upload,
.kgis-admission-form-pro .kgis-field-permanent_address,
.kgis-admission-form-pro .kgis-field-local_address,
.kgis-admission-form-pro .kgis-field-message,
.kgis-admission-form-pro .kgis-form-wide {
    grid-column: span 12 !important;
}

.kgis-admission-form-pro .kgis-form-group {
    margin-bottom: 0 !important;
}

.kgis-admission-form-pro .kgis-form-group label {
    display: block !important;
    margin-bottom: 7px !important;
    color: #334155 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
}

.kgis-admission-form-pro .kgis-form-group label span {
    color: #dc2626 !important;
}

.kgis-admission-form-pro input[type="text"],
.kgis-admission-form-pro input[type="email"],
.kgis-admission-form-pro input[type="date"],
.kgis-admission-form-pro input[type="file"],
.kgis-admission-form-pro select,
.kgis-admission-form-pro textarea {
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 13px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #d8e2ef !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    transition: border-color 180ms ease, box-shadow 180ms ease !important;
}

.kgis-admission-form-pro textarea {
    min-height: 98px !important;
    resize: vertical;
}

.kgis-admission-form-pro input:focus,
.kgis-admission-form-pro select:focus,
.kgis-admission-form-pro textarea:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .10) !important;
}

.kgis-admission-form-pro .kgis-radio-group {
    display: flex !important;
    flex-wrap: wrap;
    gap: 9px !important;
    padding: 0 !important;
}

.kgis-admission-form-pro .kgis-radio-group label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 40px;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 1px solid #d8e2ef !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #334155 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    cursor: pointer;
}

.kgis-admission-form-pro .kgis-radio-group label:has(input:checked) {
    border-color: #2563eb !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
}

.kgis-admission-form-pro .kgis-radio-group input {
    width: 16px !important;
    height: 16px !important;
    min-height: auto !important;
    margin: 0 !important;
    accent-color: #2563eb;
}

.kgis-admission-form-pro .kgis-field-help {
    margin: 8px 0 0 !important;
    color: #64748b !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 300 !important;
}

.kgis-admission-form-pro .kgis-field-help a {
    color: #2563eb !important;
    text-decoration: none !important;
    font-weight: 500;
}

.kgis-admission-form-pro input[type="file"] {
    padding: 13px !important;
    background: #f8fafc !important;
    border-style: dashed !important;
    cursor: pointer;
}

.kgis-admission-form-pro .kgis-submit-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 235px;
    min-height: 48px;
    margin: 0 30px 32px !important;
    padding: 13px 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    box-shadow: 0 14px 28px rgba(37, 99, 235, .20) !important;
}

@media (max-width: 1024px) {
    .kgis-admission-body {
        grid-template-columns: 1fr;
    }

    .kgis-admission-side {
        border-left: 0;
        border-top: 1px solid #e6edf5;
        padding: 22px 30px 30px;
    }

    .kgis-admission-side-card {
        position: static;
    }
}

@media (max-width: 700px) {
    .kgis-admission-form-pro {
        width: calc(100% - 22px) !important;
        border-radius: 18px !important;
        margin-bottom: 28px !important;
    }

    .kgis-admission-hero {
        display: block;
        padding: 23px 20px;
    }

    .kgis-admission-hero h3 {
        font-size: 30px !important;
    }

    .kgis-admission-hero p {
        font-size: 15px !important;
    }

    .kgis-admission-badge {
        display: none;
    }

    .kgis-admission-section-title {
        margin: 22px 20px 18px;
    }

    .kgis-admission-form-pro .kgis-form-grid {
        grid-template-columns: 1fr !important;
        padding: 0 20px 24px !important;
        gap: 14px !important;
    }

    .kgis-admission-form-pro .kgis-form-grid > div,
    .kgis-admission-form-pro .kgis-form-wide,
    .kgis-admission-form-pro .kgis-field-email,
    .kgis-admission-form-pro .kgis-field-mobile {
        grid-column: auto !important;
    }

    .kgis-admission-form-pro .kgis-radio-group {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .kgis-admission-form-pro .kgis-radio-group label {
        border-radius: 12px !important;
        justify-content: flex-start !important;
    }

    .kgis-admission-side {
        padding: 20px;
    }

    .kgis-admission-form-pro .kgis-submit-btn {
        width: calc(100% - 40px) !important;
        margin: 0 20px 26px !important;
        min-width: 0;
    }
}


/* v1.5.4: compact admission form header and remove KG badge */
.kgis-admission-form-pro {
    width: min(1180px, calc(100% - 32px)) !important;
    max-width: 1180px !important;
}

.kgis-admission-form-pro .kgis-admission-hero {
    min-height: auto !important;
    padding: 22px 32px !important;
    display: block !important;
    background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 55%, #2563eb 100%) !important;
}

.kgis-admission-form-pro .kgis-admission-hero::after {
    opacity: 0.10 !important;
}

.kgis-admission-form-pro .kgis-admission-badge {
    display: none !important;
}

.kgis-admission-form-pro .kgis-admission-kicker {
    margin-bottom: 7px !important;
    font-size: 12px !important;
    letter-spacing: 0.09em !important;
}

.kgis-admission-form-pro .kgis-admission-hero h3 {
    font-size: clamp(28px, 3vw, 38px) !important;
    line-height: 1.08 !important;
    margin: 0 !important;
}

.kgis-admission-form-pro .kgis-admission-hero p {
    max-width: 760px !important;
    margin-top: 8px !important;
    font-size: 15.5px !important;
    line-height: 1.5 !important;
}

.kgis-admission-form-pro .kgis-admission-section-title {
    margin-top: 24px !important;
}

@media (max-width: 700px) {
    .kgis-admission-form-pro .kgis-admission-hero {
        padding: 20px !important;
    }

    .kgis-admission-form-pro .kgis-admission-hero h3 {
        font-size: 28px !important;
    }

    .kgis-admission-form-pro .kgis-admission-hero p {
        font-size: 14.5px !important;
    }
}


/* v1.5.5: remove admission header top label and decorative background design */
.kgis-admission-form-pro .kgis-admission-kicker {
    display: none !important;
}

.kgis-admission-form-pro .kgis-admission-kicker::before {
    display: none !important;
}

.kgis-admission-form-pro .kgis-admission-hero {
    background: #1d4ed8 !important;
    background-image: none !important;
}

.kgis-admission-form-pro .kgis-admission-hero::after {
    display: none !important;
    content: none !important;
}

.kgis-admission-form-pro .kgis-admission-hero h3 {
    margin-top: 0 !important;
}

.kgis-admission-form-pro .kgis-admission-hero p {
    margin-top: 10px !important;
}


/* v1.5.6: remove admission section title row */
.kgis-admission-form-pro .kgis-admission-section-title {
    display: none !important;
}

.kgis-admission-form-pro .kgis-form-grid {
    padding-top: 30px !important;
}

@media (max-width: 700px) {
    .kgis-admission-form-pro .kgis-form-grid {
        padding-top: 22px !important;
    }
}


/* v1.5.7: protect WordPress admin bar from frontend/plugin styles */
body.admin-bar #wpadminbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 32px !important;
    min-height: 32px !important;
    z-index: 999999999 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

body.admin-bar #wpadminbar * {
    box-sizing: border-box !important;
}

body.admin-bar #wpadminbar .quicklinks,
body.admin-bar #wpadminbar .quicklinks > ul,
body.admin-bar #wpadminbar .quicklinks > ul > li {
    height: 32px !important;
    min-height: 32px !important;
}

body.admin-bar #wpadminbar .quicklinks > ul > li {
    display: list-item !important;
    float: left !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
}

body.admin-bar #wpadminbar #wp-admin-bar-top-secondary {
    float: right !important;
}

body.admin-bar #wpadminbar .ab-item,
body.admin-bar #wpadminbar a.ab-item,
body.admin-bar #wpadminbar > #wp-toolbar span.ab-label,
body.admin-bar #wpadminbar > #wp-toolbar span.noticon {
    display: block !important;
    height: 32px !important;
    line-height: 32px !important;
    padding: 0 10px !important;
    margin: 0 !important;
    width: auto !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* Keep Elementor / WP adminbar submenu hidden unless the menu is active/hovered. */
body.admin-bar #wpadminbar .ab-sub-wrapper {
    display: none !important;
    position: absolute !important;
    top: 32px !important;
    left: 0 !important;
    width: auto !important;
    min-width: 180px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 999999999 !important;
}

body.admin-bar #wpadminbar .menupop.hover > .ab-sub-wrapper,
body.admin-bar #wpadminbar .menupop:hover > .ab-sub-wrapper,
body.admin-bar #wpadminbar .ab-top-menu > .menupop.hover > .ab-sub-wrapper,
body.admin-bar #wpadminbar .ab-top-menu > .menupop:hover > .ab-sub-wrapper {
    display: block !important;
}

body.admin-bar #wpadminbar .ab-submenu {
    display: block !important;
    position: static !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    width: auto !important;
    height: auto !important;
    background: #2c3338 !important;
}

body.admin-bar #wpadminbar .ab-submenu li {
    display: block !important;
    float: none !important;
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.admin-bar #wpadminbar .ab-submenu .ab-item {
    display: block !important;
    height: auto !important;
    min-height: 26px !important;
    line-height: 26px !important;
    padding: 0 12px !important;
    white-space: nowrap !important;
}

/* If Elementor duplicates adminbar edit links, keep the visible top-level item normal and prevent submenu flood. */
body.admin-bar #wpadminbar li[id^="wp-admin-bar-elementor_edit_page"]:not(:hover):not(.hover) .ab-sub-wrapper {
    display: none !important;
}


/* v1.5.8: hard fix for Elementor admin-bar duplicate overlay */
#wpadminbar li[id^="wp-admin-bar-elementor_edit"],
#wpadminbar li[id*="elementor_edit_page"],
#wpadminbar li[id*="elementor_edit_doc"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

#wpadminbar .ab-sub-wrapper[id*="elementor"],
#wpadminbar li[id^="wp-admin-bar-elementor_edit"] .ab-sub-wrapper {
    display: none !important;
    visibility: hidden !important;
}


/* v1.5.9: show one clean Elementor edit link, hide only broken duplicates */
#wpadminbar #wp-admin-bar-kgis_clean_edit_with_elementor,
#wpadminbar #wp-admin-bar-kgis_clean_edit_with_elementor .ab-item {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: 32px !important;
    line-height: 32px !important;
    overflow: visible !important;
    pointer-events: auto !important;
}

#wpadminbar li[id^="wp-admin-bar-elementor_edit"],
#wpadminbar li[id*="elementor_edit_page"],
#wpadminbar li[id*="elementor_edit_doc"] {
    display: none !important;
}
