/* Basic Grid System */
.container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px;
}

.form-container {
    max-width: 400px;
    width: 100%;
    background: #fff;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

.form-container h2 {
    margin-bottom: 20px;
    font-size: 24px;
    text-align: center;
}

.form-container input[type="text"],
.form-container input[type="email"],
.form-container input[type="password"],
.form-container input[type="submit"] {
    width: 100%;
    padding: 10px;
    margin: 10px 0;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.form-container input[type="submit"] {
    background: #0073aa;
    color: #fff;
    border: none;
    cursor: pointer;
}

.form-container input[type="submit"]:hover {
    background: #005177;
}

.form-container input[type="checkbox"] {
    margin-right: 10px;
}

.form-container p {
    text-align: center;
    color: red;
}


/* shortcodes */
.elementor-shortcode .elementor-button {
    background-color: #F3911F;
    fill: var(--e-global-color-eb5081d);
    color: var(--e-global-color-eb5081d);
}
.elementor-shortcode .elementor-button-disabled {
    background-color: #69727d;
    border-radius: 3px;
    color: #fff;
    display: inline-block;
    font-size: 15px;
    line-height: 1;
    padding: 12px 24px;
    fill: #fff;
    text-align: center;
    transition: all .3s;
}
.elementor-shortcode .elementor-button:hover {
    transition: background-color 0.4s;
    background-color: #9f0909;
    color: #FFF;
}
.elementor-shortcode .elementor-button-secondary {
    background-color: #ccc;
    color: #fff;
}
.elementor-shortcode .elementor-button[disabled] {
    background-color: #ccc;
    cursor: not-allowed;
}
.modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.4);
}
.modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 300px;
    text-align: center;
}
.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}
.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.answer-btn {
    margin: 5px;
    padding: 10px 20px;
}
.answer-btn.selected {
    background-color: #f3911f;
    color: white;
}
.question {
    margin-bottom: 20px;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
}
.exam-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}
.outter-exam {
    display: flex;
    justify-content: center;
    align-items: center;
    /* height: 100vh; */
    padding: 100px;
}
.question-image img {
    max-width: 100%;
    height: auto;
    margin: 15px 0;
}
.answer-option {
    margin: 10px 0;
}
.answer-option label {
    margin-left: 10px;
    cursor: pointer;
}
.answer-text {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
}
.images-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 15px 0;
}
.question-container {
    min-width: 400px;
}
.question-image {
    flex: 0 1 calc(50% - 5px);
    max-width: 300px;
}
/* .image-answer-pair {
    margin-bottom: 20px;
}

.images-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.answer-text {
    margin-top: 10px;
    width: 100%;
} */

.question-error {
    border-color: #dc3545;
}

.error-message {
    color: #dc3545;
    margin-top: 10px;
    font-size: 14px;
}
.blank-input {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 5px 10px;
    font-size: inherit;
    display: inline-block;
}

.blank-text {
    line-height: 2;
}

/* Matching Question Styles */
.matching-options-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    padding: 15px;
    background: #f5f5f5;
    border-radius: 5px;
}

.matching-option {
    padding: 8px 15px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: grab;
    user-select: none;
    margin: 2px;
}

.matching-option:active {
    cursor: grabbing;
}

.matching-option.dragging {
    opacity: 0.5;
}

.matching-pair {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    gap: 20px;
}

.matching-question {
    flex: 1;
}

.matching-dropzone {
    width: 200px;
    min-height: 40px;
    border: 2px dashed #ddd;
    border-radius: 4px;
    padding: 4px;
    background: #fff;
}

.matching-dropzone.dragover {
    border-color: #007bff;
    background: rgba(0,123,255,0.1);
}

.matching-options-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    padding: 15px;
    background: #f5f5f5;
    border-radius: 5px;
    min-height: 60px;
}

.matching-option {
    padding: 8px 15px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: move;
    user-select: none;
}

.matching-option.sortable-ghost {
    opacity: 0.5;
}

.matching-option.sortable-chosen {
    background: #e9ecef;
}

.matching-dropzone {
    width: 200px;
    min-height: 40px;
    border: 2px dashed #ddd;
    border-radius: 4px;
    padding: 4px;
}

.matching-dropzone.sortable-drag-active {
    border-color: #007bff;
    background: rgba(0,123,255,0.1);
}

.sortable-ghost {
    opacity: 0.4;
}

.sortable-chosen {
    background: #e9ecef;
}

/* Ordering Question Styles */
.ordering-container {
    margin: 20px 0;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    padding: 10px;
}

.ordering-item {
    display: flex;
    align-items: center;
    padding: 10px;
    margin: 5px 0;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    cursor: move;
}

.ordering-handle {
    margin-right: 15px;
    color: #6c757d;
    cursor: move;
    user-select: none;
}

.ordering-text {
    flex: 1;
}

.ordering-ghost {
    opacity: 0.5;
    background: #e9ecef;
}

.ordering-chosen {
    background: #e9ecef;
}

.ordering-drag {
    background: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.ordering-instructions {
    color: #666;
    font-style: italic;
    margin: 10px 0;
}

/* Short Answer Styles */
.short-answer .answer-text {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    resize: vertical;
    min-height: 100px;
    font-family: inherit;
    font-size: inherit;
}

.short-answer .char-counter {
    text-align: right;
    color: #666;
    font-size: 0.9em;
    margin-top: 5px;
}

.short-answer .char-counter .limit-reached {
    color: #dc3545;
    font-weight: bold;
}

.short-answer .answer-text:focus {
    outline: none;
    border-color: #007bff;
    box-shadow: 0 0 0 2px rgba(0,123,255,0.25);
}

/* Exam Layout */
.outter-exam {
    display: flex;
    justify-content: center;
    min-height: 80vh;
    padding: 2rem;
    background-color: #f5f5f5;
}
[data-theme="dark"] .outter-exam,
[data-theme="dark"] #timer,
[data-theme="dark"] .question
 {
    background-color: #333;
    color: #fff;

}

[data-theme="dark"] .question p {
    color: #fff;
}

[data-theme="dark"] #exam-container {
    background: #444;
}

#exam-container {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding: 2rem;
}

#timer {
    position: sticky;
    top: 0;
    background: #fff;
    padding: 1rem;
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
    border-bottom: 1px solid #eee;
    margin-bottom: 2rem;
    z-index: 100;
}

.question {
    width: 100%;
    margin-bottom: 2rem;
    padding: 2rem;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.question h3 {
    font-size: 1.1rem;
    color: #666;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #eee;
}

.question p {
    font-size: 1.2rem;
    line-height: 1.6;
    color: #333;
    margin-bottom: 1.5rem;
}

/* Answer Containers */
.answers {
    width: 100%;
    margin-top: 1.5rem;
}

/* Navigation */
#next-question {
    display: block;
    width: 100%;
    max-width: 200px;
    margin: 2rem auto 0;
    padding: 1rem 2rem;
    background: #f3911f;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.2s;
}

#next-question:hover {
    background: #c27114;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .outter-exam {
        padding: 1rem;
    }

    #exam-container {
        padding: 1rem;
    }

    .question {
        padding: 1rem;
    }

    /* Adjust matching pairs for mobile */
    .matching-pair {
        flex-direction: column;
        gap: 10px;
    }

    .matching-dropzone {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .question h3 {
        font-size: 1rem;
    }

    .question p {
        font-size: 1rem;
    }
    
    /* Stack image answers vertically */
    .image-answer-pair {
        flex-direction: column;
    }

    .question-image {
        max-width: 100%;
    }
}
.elementor-shortcode table .btn {
    font-size: small !important;
    width: 100% !important;
}
.elementor-shortcode table a {
    color: #F3911F;
}
.btn-primary {
    background-color: #F3911F !important;
    color: #fff !important;
    border: none;
    cursor: pointer;
    padding: 10px 20px;
    border-radius: 4px;
}
.btn-primary-educamundo:hover {
    background-color: #9f0909;
}
/* Question Type Specific Responsive Adjustments */
.multiple-choice .answer-option {
    padding: 0.8rem;
    margin: 0.5rem 0;
    border: 1px solid #eee;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.multiple-choice .answer-option:hover {
    background-color: #f8f9fa;
}

/* Update existing types to match new design */
.short-answer .answer-text,
.image-answering .answer-text,
.fill-in-blank .blank-input {
    width: 100%;
    padding: 0.8rem;
    margin: 0.5rem 0;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.short-answer .answer-text:focus,
.image-answering .answer-text:focus,
.fill-in-blank .blank-input:focus {
    border-color: #007bff;
    box-shadow: 0 0 0 3px rgba(0,123,255,0.1);
    outline: none;
}

/* Grid Layouts */
.images-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    margin: 1.5rem 0;
}

.matching-options-list,
.ordering-container {
    display: grid;
    gap: 0.5rem;
    margin: 1.5rem 0;
}

/* Consistent Spacing System */
:root {
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    
    --color-primary: #007bff;
    --color-secondary: #6c757d;
    --color-border: #dee2e6;
    --color-background: #f8f9fa;
    --color-text: #333;
    --color-text-light: #666;
}

.eael-advanced-menu li.current-menu-item > a.eael-item-active, .eael-advanced-menu a:hover  {
    background-color: #F3911F !important;
}

/* Student Badge Styles */
.educamundo-user-badge {
    padding: 10px;
}

.user-badge-container {
    display: flex;
    align-items: center;
    gap: 15px;
}

.user-badge-container img {
    width: 40px;
    height: 40px;
    border-radius: 50% !important;
    object-fit: cover;
}

.user-badge-name {
    color: var(--color-text);
    font-size: 1rem;
    font-weight: 500;
}

/* Dark mode adjustments for badge */
[data-theme="dark"] .user-badge-name {
    color: #fff;
}

.eael-nav-menu-wrapper {
}

/* .table>:not(caption)>*>* {
    padding: .25em 1.41575em !important;
} */

.table {
    font-size: 14px !important;
}



/* Dark for Tutor LMS Dashboard */
.tutor-screen-frontend-dashboard .tutor-card-body .tutor-course-name {
    min-height: 46px;
}

.workload-section {
    border-top:1px solid #ddd;
    border-bottom:1px solid #ddd;
}
.workload-section .tutor-header-right-side {
    text-align: right;
}
.tutor-text-highlight {
    color: #f3911f !important;
    /* font-weight: bold; */
}
.tutor-ratings {
    justify-content: center;
}
[data-theme="dark"] .tutor-form-group input[type=text] {
    background: #3a3a3a !important; 
 }
/* [data-theme="dark"] .tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-menu-item-link {
    color: white !important;
} */
 
[data-theme="dark"] .tutor-color-black,
[data-theme="dark"] .tutor-wrap,
[data-theme="dark"] .tutor-ratings-count,
[data-theme="dark"] .tutor-course-card .tutor-course-name a,
[data-theme="dark"] .tutor-color-secondary {
    color: white !important;
} 

[data-theme="dark"] .tutor-card {
    background-color: #3a3a3a !important;
    border: none !important
}

[data-theme="dark"] .tutor-color-muted {
    color: #b3b3b3;
} 

[data-theme="dark"] .tutor-course-single-sidebar-wrapper,
[data-theme="dark"] .tutor-course-single-sidebar-wrapper .tutor-course-topic-item a,
[data-theme="dark"] .tutor-course-single-sidebar-wrapper .tutor-accordion-item-body,
[data-theme="dark"] .tutor-course-single-sidebar-title {
    background-color: #3a3a3a;
}

[data-theme="dark"] .tutor-course-single-sidebar-wrapper .tutor-accordion-item-header {
    border:none;
    background-color: #4a4a4a;
}
[data-theme="dark"] .tutor-course-single-sidebar-wrapper .tutor-course-topic-item.is-active a {
    background-color: #575757;
}
.tutor-course-topic {
    border-bottom: 1px #b3b3b3 solid;
}
[data-theme="dark"] {
    --tutor-body-color: #e0e0e0 !important; 
    --tutor-color-white: #3a3a3a !important; 
    --tutor-color-secondary: #b3b3b3 !important; 
    --tutor-color-muted: #b3b3b3 !important; 
}
[data-theme="dark"]  .tutor-modal-content-white {
    background-color: #3a3a3a !important;
    color: #fff !important;
}

[data-theme="dark"] .alert {
    background-color: #3a3a3a;
    color: #fff;
    border:none;
    border-left:10px #f3911f solid;
    padding: 7px 15px;
}

[data-theme="light"] .alert {
    background-color: #efefef;
    color: #3a3a3a;
    border:none;
    border-left:10px #f3911f solid;
    padding: 7px 15px;
}
.tutor-dashboard-profile-data .form-control {
    border: 1px solid #fff;

}
.tutor-card-top {
    background-color: #f3911f;
    color: #000;
    padding: 5px 10px;
}



/* Mobile Hamburger Icon Styles */
.mobile-hamburger-menu {
    display: none;
    flex-direction: column;
    justify-content: space-around;
    width: 33px;
    height: 33px;
    cursor: pointer;
    padding: 5px;
    z-index: 1001;
    transition: transform 0.3s ease;
    position: fixed;
    top: 10px;
    background: #676767;
    border-radius: 3px;
}

.mobile-hamburger-menu:hover {
    transform: scale(1.1);
}

.hamburger-line {
    width: 100%;
    height: 3px;
    background-color: #333;
    transition: all 0.3s ease;
    border-radius: 2px;
}

/* Hamburger animation when active */
.mobile-hamburger-menu.active .hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
}

.mobile-hamburger-menu.active .hamburger-line:nth-child(2) {
    opacity: 0;
}

.mobile-hamburger-menu.active .hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
}

/* Mobile Menu Container */
.mobile-menu-container {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.mobile-menu-container.active {
    opacity: 1;
    visibility: visible;
}

/* Mobile Menu Overlay */
.mobile-menu-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
}

/* Mobile Menu Content */
.mobile-menu-content {
    position: absolute;
    top: 0;
    right: -300px;
    width: 280px;
    height: 100%;
    background-color: #fff;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    overflow-y: auto;
    padding: 20px;
    transition: right 0.3s ease;
}

.mobile-menu-container.active .mobile-menu-content {
    right: 0;
}

/* Mobile Menu List Styles */
.mobile-menu-content ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-menu-content li {
    margin-bottom: 0;
    border-bottom: 1px solid #eee;
}

.mobile-menu-content li:last-child {
    border-bottom: none;
}

.mobile-menu-content a {
    display: block;
    padding: 15px 0;
    text-decoration: none;
    color: #333;
    font-size: 16px;
    transition: color 0.3s ease;
}

.mobile-menu-content a:hover {
    color: #007cba;
}

.mobile-menu-content a:focus {
    outline: 2px solid #007cba;
    outline-offset: 2px;
}

/* Prevent body scroll when menu is open */
body.mobile-menu-open {
    overflow: hidden;
}

/* Media Queries */
@media (max-width: 767px) {
    .mobile-hamburger-menu {
        display: flex;
    }
    
    .mobile-menu-container {
        display: block;
    }
}

@media (min-width: 768px) {
    .mobile-hamburger-menu {
        display: none !important;
    }
    
    .mobile-menu-container {
        display: none !important;
    }
}

/* Dark theme support (optional) */
@media (prefers-color-scheme: dark) {
    .mobile-menu-content {
        background-color: #1a1a1a;
        color: #fff;
    }
    
    .mobile-menu-content a {
        color: #fff;
    }
    
    .mobile-menu-content li {
        border-bottom-color: #333;
    }
    
    .hamburger-line {
        background-color: #fff;
    }
}

/* Custom scrollbar for mobile menu */
.mobile-menu-content::-webkit-scrollbar {
    width: 4px;
}

.mobile-menu-content::-webkit-scrollbar-track {
    background: transparent;
}

.mobile-menu-content::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 2px;
}

.mobile-menu-content::-webkit-scrollbar-thumb:hover {
    background: #999;
}