/* EADTraining UI Fixes - local/eadtraining_fix */

/* Dropdown menus */
.dropdown { position: relative !important; }
.dropdown-menu { z-index: 999999 !important; max-height: 70vh !important; overflow-y: auto !important; min-width: 240px !important; }
.dropdown-menu .dropdown-item { white-space: normal !important; word-break: break-word !important; padding: 10px 16px !important; line-height: 1.4 !important; }
.dropdown-menu .dropdown-item:hover { padding-left: 24px !important; }

/* Drawer */
.drawer-right, .drawer { z-index: 10000 !important; }
.drawer.drawer-right { top: 70px !important; height: calc(100vh - 70px) !important; }
body.drawer-open-right { padding-right: 0 !important; }

/* Block controls */
.block-controls { z-index: 1001 !important; position: absolute !important; top: 12px !important; right: 12px !important; }
.block .card-header { padding-right: 60px !important; position: relative !important; }

/* Text overflow */
.block .text-truncate, [class*="block_"] .text-truncate { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
.block h4, .block .h6 { white-space: normal !important; word-break: break-word !important; }
.block small { white-space: normal !important; display: block !important; }

/* Block footer */
.block .footer, [class*="block_"] .footer { padding: 12px 16px !important; border-top: 1px solid rgba(0,0,0,0.08) !important; }
.block .footer a { display: inline-block !important; padding: 6px 0 !important; }

/* Recently accessed items */
.block_recentlyaccesseditems { width: 100% !important; overflow: visible !important; }
.block_recentlyaccesseditems .d-flex { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 12px !important; width: 100% !important; }
.block_recentlyaccesseditems .w-100 { flex: 1 !important; min-width: 0 !important; }
.block_recentlyaccesseditems h4.h6, .block_recentlyaccesseditems .h6 { white-space: normal !important; word-break: break-word !important; }
.block_recentlyaccesseditems .activityiconcontainer { flex-shrink: 0 !important; width: 32px !important; height: 32px !important; }
.block_recentlyaccesseditems .card.mb-1 { width: 100% !important; margin-bottom: 10px !important; }

/* Block overflow */
.block, .block .card-body { overflow: visible !important; }

/* Course list tiles */
.block_course_list .content .unlist { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; padding: 0; margin: 0; }
.block_course_list .content .unlist li { list-style: none; margin: 0; padding: 0; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 16px; overflow: hidden; transition: all 0.3s ease; position: relative; }
.block_course_list .content .unlist li:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.2); }
.block_course_list .content .unlist li .column { padding: 20px; }
.block_course_list .content .unlist li .icon { font-size: 40px; margin-bottom: 12px; display: block; text-align: center; color: white; }
.block_course_list .content .unlist li a { color: white !important; text-decoration: none !important; font-size: 18px; font-weight: 600; display: block; text-align: center; word-break: break-word; margin-bottom: 15px; }
.block_course_list .content .unlist li a:hover { color: #ffd700 !important; }
.block_course_list .footer { display: none !important; }
.block_course_list .content .unlist li::before { content: "📚"; position: absolute; top: -20px; right: -20px; font-size: 60px; opacity: 0.1; transition: all 0.3s ease; }
.block_course_list .content .unlist li:hover::before { opacity: 0.2; transform: scale(1.1); }

/* Quiz dates card */
.quiz-dates-card { margin-top: 15px; padding: 12px; background: rgba(255,255,255,0.2); border-radius: 12px; font-size: 13px; color: white; backdrop-filter: blur(5px); border: 1px solid rgba(255,255,255,0.1); }
.quiz-dates-card .quiz-date-item { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 12px; padding: 3px 0; }
.quiz-dates-card .quiz-date-item strong { font-size: 12px; min-width: 70px; }
.quiz-dates-card .badge-status { display: inline-block; padding: 5px 12px; border-radius: 6px; font-size: 12px; font-weight: bold; margin-top: 8px; text-align: center; width: 100%; box-sizing: border-box; }
.badge-notstarted { background: #ff9800; color: #000; }
.badge-active { background: #4caf50; color: #fff; }
.badge-closed { background: #9e9e9e; color: #fff; }
.quiz-dates-card .countdown { margin-top: 8px; font-size: 13px; text-align: center; background: rgba(0,0,0,0.4); padding: 6px; border-radius: 8px; font-weight: bold; }
.quiz-dates-card .override-badge { display: block; background: rgba(0,0,0,0.35); color: #fff; padding: 6px 10px; border-radius: 6px; font-size: 11px; text-align: center; margin-bottom: 8px; font-weight: 600; border: 1px solid rgba(255,255,255,0.2); }
.quiz-dates-card .attempts-info { margin-top: 6px; font-size: 11px; text-align: center; color: #e0e0e0; padding: 4px; background: rgba(0,0,0,0.2); border-radius: 6px; }
.quiz-dates-card.loading { text-align: center; font-style: italic; padding: 15px; font-size: 13px; }
.quiz-dates-card.error { background: rgba(255,0,0,0.3); text-align: center; padding: 12px; font-size: 13px; }
.countdown .countdown-timer { font-family: monospace; font-size: 14px; font-weight: bold; background: rgba(0,0,0,0.3); padding: 2px 8px; border-radius: 4px; display: inline-block; }
.quiz-icon { text-align: center; font-size: 24px; margin-bottom: 8px; }

/* Mobile */
@media (max-width: 768px) {
    .drawer.drawer-right { top: 60px !important; height: calc(100vh - 60px) !important; width: 85% !important; }
    .block_recentlyaccesseditems .d-flex { flex-wrap: wrap !important; }
}
