/**
 * 한솔원격어학원 - 튜터 LMS 커스텀 스타일
 * Tutor LMS Custom Styles for Hansol Academy
 */

/* ========================================
   대시보드 스타일
   ======================================== */

/* 대시보드 래퍼 */
body.tutor-dashboard .tutor-dashboard,
body.tutor-dashboard #tutor-dashboard-wrap,
body.tutor-dashboard .tutor-wrap {
    background: var(--hansol-bg-primary, #0f0f1a) !important;
    color: var(--hansol-text-primary, #ffffff) !important;
    padding: 30px;
    border-radius: var(--hansol-radius-lg, 16px);
}

/* 대시보드 헤더 */
body.tutor-dashboard .tutor-dashboard-header,
body.tutor-dashboard .tutor-dashboard .dashboard-header {
    background: linear-gradient(135deg, var(--hansol-bg-secondary, #1a1a2e), var(--hansol-bg-card, #1e2a4a)) !important;
    border-radius: var(--hansol-radius-lg, 16px);
    padding: 40px;
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1));
    margin-bottom: 30px;
}

.tutor-dashboard-header h1,
.tutor-dashboard-header h2 {
    color: var(--hansol-text-primary, #ffffff) !important;
    margin-bottom: 10px;
}

.tutor-dashboard-header p {
    color: var(--hansol-text-secondary, #a0aec0);
    font-size: 1.1rem;
}

/* 대시보드 메뉴 */
body.tutor-dashboard .tutor-dashboard-menu {
    background: var(--hansol-bg-secondary, #1a1a2e) !important;
    border-radius: var(--hansol-radius-md, 12px);
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1));
    padding: 10px;
}

.tutor-dashboard-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tutor-dashboard-menu ul li {
    margin: 5px 0;
}

.tutor-dashboard-menu a {
    display: block;
    color: var(--hansol-text-secondary, #a0aec0) !important;
    padding: 12px 20px;
    border-radius: var(--hansol-radius-sm, 8px);
    transition: all 0.3s ease;
    text-decoration: none;
}

.tutor-dashboard-menu a:hover,
.tutor-dashboard-menu a.active,
.tutor-dashboard-menu .current a {
    background: rgba(212, 175, 55, 0.1) !important;
    color: var(--hansol-accent-gold, #d4af37) !important;
}

/* 대시보드 컨텐츠 */
.tutor-dashboard-content,
.tutor-dashboard .dashboard-content {
    background: var(--hansol-bg-card, #1e2a4a) !important;
    border-radius: var(--hansol-radius-lg, 16px);
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1));
    padding: 30px;
}

/* ========================================
   강의 카드 스타일
   ======================================== */

/* 강의 카드 */
.tutor-course-card {
    background: var(--hansol-bg-card, #1e2a4a) !important;
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1)) !important;
    border-radius: var(--hansol-radius-lg, 16px);
    overflow: hidden;
    transition: all 0.3s ease;
    margin-bottom: 30px;
}

.tutor-course-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(212, 175, 55, 0.2);
    border-color: var(--hansol-accent-gold, #d4af37) !important;
}

/* 강의 카드 이미지 */
.tutor-course-card .course-thumb,
.tutor-course-card .tutor-course-thumb {
    position: relative;
    overflow: hidden;
}

.tutor-course-card .course-thumb img,
.tutor-course-card .tutor-course-thumb img {
    transition: transform 0.3s ease;
}

.tutor-course-card:hover .course-thumb img,
.tutor-course-card:hover .tutor-course-thumb img {
    transform: scale(1.08);
}

/* 강의 카드 제목 */
.tutor-course-card .course-title,
.tutor-course-card .tutor-course-title,
.tutor-course-card h3 {
    color: var(--hansol-text-primary, #ffffff) !important;
    font-weight: 600;
    font-size: 1.1rem;
    margin: 15px 0 10px;
    padding: 0 20px;
}

/* 강의 카드 설명 */
.tutor-course-card .course-description,
.tutor-course-card .tutor-course-description {
    color: var(--hansol-text-secondary, #a0aec0);
    font-size: 0.95rem;
    padding: 0 20px;
    margin-bottom: 15px;
}

/* 강의 카드 메타 */
.tutor-course-card .tutor-course-meta {
    color: var(--hansol-text-muted, #6b7280);
    font-size: 0.85rem;
    padding: 0 20px 15px;
}

/* ========================================
   강의 상세 페이지
   ======================================== */

/* 강의 헤더 */
.tutor-single-course-wrap {
    background: var(--hansol-bg-primary, #0f0f1a) !important;
    color: var(--hansol-text-primary, #ffffff) !important;
}

.tutor-single-course-header {
    background: linear-gradient(135deg, var(--hansol-bg-secondary, #1a1a2e), var(--hansol-bg-card, #1e2a4a)) !important;
    border-radius: var(--hansol-radius-lg, 16px);
    padding: 50px 40px;
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1));
    margin-bottom: 40px;
}

.tutor-single-course-title {
    color: var(--hansol-text-primary, #ffffff) !important;
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.2;
}

/* 강의 상세 설명 */
.tutor-single-course-content .course-description {
    color: var(--hansol-text-secondary, #a0aec0) !important;
    font-size: 1.1rem;
    line-height: 1.8;
}

/* ========================================
   수강 신청 버튼
   ======================================== */
.tutor-btn,
button.tutor-btn,
a.tutor-btn {
    background: linear-gradient(135deg, var(--hansol-accent-gold, #d4af37), var(--hansol-accent-gold-dark, #b8941f)) !important;
    color: var(--hansol-bg-primary, #0f0f1a) !important;
    font-weight: 700 !important;
    border-radius: var(--hansol-radius-md, 12px) !important;
    padding: 16px 36px !important;
    border: none !important;
    transition: all 0.3s ease !important;
    font-size: 1.1rem !important;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.tutor-btn:hover,
button.tutor-btn:hover,
a.tutor-btn:hover {
    background: linear-gradient(135deg, var(--hansol-accent-gold-light, #e6c247), var(--hansol-accent-gold, #d4af37)) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 30px rgba(212, 175, 55, 0.4) !important;
}

.tutor-btn i,
.tutor-btn .tutor-icon {
    font-size: 1.2rem;
}

/* ========================================
   강의 커리큘럼
   ======================================== */
.tutor-course-content,
.tutor-course-syllabus,
.tutor-single-course-content .course-syllabus {
    background: var(--hansol-bg-card, #1e2a4a) !important;
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1)) !important;
    border-radius: var(--hansol-radius-lg, 16px);
    overflow: hidden;
}

.tutor-course-content .topic-title,
.tutor-course-content .tutor-curriculum-section,
.tutor-curriculum-section h3 {
    background: var(--hansol-bg-secondary, #1a1a2e) !important;
    color: var(--hansol-accent-gold, #d4af37) !important;
    padding: 20px 25px;
    border-bottom: 1px solid var(--hansol-border, rgba(255,255,255,0.1));
    font-weight: 600;
    margin: 0;
}

.tutor-course-content .topic-item,
.tutor-course-content .tutor-curriculum-item {
    border-bottom: 1px solid var(--hansol-border, rgba(255,255,255,0.1)) !important;
    color: var(--hansol-text-secondary, #a0aec0);
    padding: 15px 25px;
    transition: all 0.3s ease;
}

.tutor-course-content .topic-item:last-child,
.tutor-course-content .tutor-curriculum-item:last-child {
    border-bottom: none;
}

.tutor-course-content .topic-item:hover,
.tutor-course-content .topic-item.active,
.tutor-course-content .topic-item.current {
    background: rgba(212, 175, 55, 0.1) !important;
    border-left: 4px solid var(--hansol-accent-gold, #d4af37) !important;
    color: var(--hansol-text-primary, #ffffff) !important;
}

/* ========================================
   강의 플레이어
   ======================================== */
.tutor-course-player,
.tutor-player,
.tutor-video-player {
    background: var(--hansol-bg-primary, #0f0f1a) !important;
    border-radius: var(--hansol-radius-lg, 16px);
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    margin-bottom: 30px;
}

/* 비디오 컨테이너 */
.tutor-video-container,
.tutor-player-container {
    position: relative;
    padding-top: 56.25%;
    background: #000;
    border-radius: var(--hansol-radius-lg, 16px);
    overflow: hidden;
}

.tutor-video-container iframe,
.tutor-player-container iframe,
.tutor-video-container video,
.tutor-player-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* ========================================
   강의 진행률
   ======================================== */
.tutor-progress-bar {
    background: var(--hansol-bg-secondary, #1a1a2e) !important;
    border-radius: 10px;
    overflow: hidden;
    height: 8px;
}

.tutor-progress-bar .progress-percentage,
.tutor-progress-fill {
    background: linear-gradient(90deg, var(--hansol-accent-gold, #d4af37), var(--hansol-accent-purple, #8b5cf6)) !important;
    border-radius: 10px;
    transition: width 0.3s ease;
}

/* ========================================
   평점 스타일
   ======================================== */
.tutor-star-rating,
.star-rating {
    color: var(--hansol-accent-gold, #d4af37) !important;
    font-size: 1.2rem;
}

.tutor-star-rating .star,
.star-rating .star {
    color: var(--hansol-accent-gold, #d4af37) !important;
}

/* 평점 입력 */
.tutor-rating-input .star-rating {
    color: #ccc;
}

.tutor-rating-input .star-rating .active {
    color: var(--hansol-accent-gold, #d4af37);
}

/* ========================================
   탭 스타일
   ======================================== */
.tutor-tabs .tab-items,
.tutor-single-course-content .tutor-tabs {
    background: var(--hansol-bg-secondary, #1a1a2e) !important;
    border-radius: var(--hansol-radius-md, 12px);
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1));
    padding: 5px;
}

.tutor-tabs .tab-items a,
.tutor-tabs .tab-item {
    color: var(--hansol-text-secondary, #a0aec0) !important;
    transition: all 0.3s ease;
    padding: 12px 24px;
    border-radius: var(--hansol-radius-sm, 8px);
}

.tutor-tabs .tab-items a.active,
.tutor-tabs .tab-items a:hover,
.tutor-tabs .tab-item.active {
    color: var(--hansol-accent-gold, #d4af37) !important;
    background: rgba(212, 175, 55, 0.1) !important;
}

.tutor-tabs .tab-content,
.tutor-tab-content {
    background: var(--hansol-bg-card, #1e2a4a) !important;
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1)) !important;
    border-radius: var(--hansol-radius-lg, 16px);
    padding: 30px;
    margin-top: 20px;
}

/* ========================================
   리뷰 섹션
   ======================================== */
.tutor-course-reviews,
.tutor-single-course-reviews {
    background: var(--hansol-bg-card, #1e2a4a) !important;
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1)) !important;
    border-radius: var(--hansol-radius-lg, 16px);
    padding: 30px;
}

.tutor-review-item {
    border-bottom: 1px solid var(--hansol-border, rgba(255,255,255,0.1));
    padding: 20px 0;
}

.tutor-review-item:last-child {
    border-bottom: none;
}

.tutor-review-author {
    color: var(--hansol-text-primary, #ffffff);
    font-weight: 600;
}

.tutor-review-date {
    color: var(--hansol-text-muted, #6b7280);
    font-size: 0.85rem;
}

.tutor-review-content {
    color: var(--hansol-text-secondary, #a0aec0);
    margin-top: 10px;
    line-height: 1.6;
}

/* ========================================
   검색 및 필터
   ======================================== */
.tutor-course-filter,
.tutor-courses-search {
    background: var(--hansol-bg-secondary, #1a1a2e) !important;
    border-radius: var(--hansol-radius-md, 12px);
    padding: 20px;
    margin-bottom: 30px;
}

.tutor-course-filter select,
.tutor-course-filter input,
.tutor-courses-search input {
    background: var(--hansol-bg-card, #1e2a4a) !important;
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1)) !important;
    color: var(--hansol-text-primary, #ffffff) !important;
    border-radius: var(--hansol-radius-sm, 8px);
    padding: 12px 16px;
}

/* ========================================
   페이지네이션
   ======================================== */
.tutor-pagination,
.tutor-archive-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 40px;
}

.tutor-pagination a,
.tutor-archive-pagination a,
.tutor-pagination span,
.tutor-archive-pagination span {
    background: var(--hansol-bg-card, #1e2a4a);
    color: var(--hansol-text-secondary, #a0aec0);
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1));
    border-radius: var(--hansol-radius-sm, 8px);
    padding: 10px 18px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.tutor-pagination a:hover,
.tutor-archive-pagination a:hover {
    background: var(--hansol-accent-gold, #d4af37);
    color: var(--hansol-bg-primary, #0f0f1a);
    border-color: var(--hansol-accent-gold, #d4af37);
}

.tutor-pagination .current,
.tutor-archive-pagination .current {
    background: var(--hansol-accent-gold, #d4af37);
    color: var(--hansol-bg-primary, #0f0f1a);
    border-color: var(--hansol-accent-gold, #d4af37);
}

/* ========================================
   로그인/회원가입
   ======================================== */
.tutor-login,
.tutor-registration,
.tutor-auth-form {
    background: var(--hansol-bg-card, #1e2a4a) !important;
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1)) !important;
    border-radius: var(--hansol-radius-lg, 16px);
    padding: 40px;
    max-width: 500px;
    margin: 0 auto;
}

.tutor-login h2,
.tutor-registration h2,
.tutor-auth-form h2 {
    color: var(--hansol-text-primary, #ffffff);
    text-align: center;
    margin-bottom: 30px;
}

/* ========================================
   알림 메시지
   ======================================== */
.tutor-notice,
.tutor-alert {
    background: var(--hansol-bg-card, #1e2a4a) !important;
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1));
    border-radius: var(--hansol-radius-md, 12px);
    padding: 20px;
    margin-bottom: 20px;
}

.tutor-notice.success,
.tutor-alert.success {
    border-left: 4px solid #10b981;
}

.tutor-notice.error,
.tutor-alert.error {
    border-left: 4px solid #ef4444;
}

.tutor-notice.info,
.tutor-alert.info {
    border-left: 4px solid var(--hansol-accent-gold, #d4af37);
}

/* ========================================
   모바일 스타일
   ======================================== */
@media (max-width: 991px) {
    body.tutor-dashboard .tutor-dashboard-menu {
        margin-bottom: 20px;
    }
    
    .tutor-dashboard-content {
        padding: 20px;
    }
    
    .tutor-single-course-header {
        padding: 30px 20px;
    }
    
    .tutor-single-course-title {
        font-size: 2rem;
    }
}

@media (max-width: 768px) {
    .tutor-dashboard {
        padding: 15px;
    }
    
    .tutor-single-course-header {
        padding: 20px 15px;
    }
    
    .tutor-single-course-title {
        font-size: 1.5rem;
    }
    
    .tutor-btn,
    button.tutor-btn,
    a.tutor-btn {
        padding: 14px 28px !important;
        font-size: 14px !important;
        width: 100%;
        justify-content: center;
    }
    
    .tutor-course-content .topic-title,
    .tutor-course-content .tutor-curriculum-section {
        padding: 15px 20px;
    }
    
    .tutor-course-content .topic-item,
    .tutor-course-content .tutor-curriculum-item {
        padding: 12px 20px;
    }
}

@media (max-width: 576px) {
    .tutor-course-card .course-title,
    .tutor-course-card .tutor-course-title,
    .tutor-course-card h3 {
        font-size: 1rem;
        padding: 0 15px;
    }
    
    .tutor-course-card .course-description,
    .tutor-course-card .tutor-course-description {
        padding: 0 15px;
        font-size: 0.9rem;
    }
}

/* ========================================
   Tutor LMS 정렬 드롭다운 (Dropdown Select Options) 스타일 수정
   ======================================== */
.tutor-form-select-options {
    background-color: var(--hansol-bg-card, #1e2a4a) !important;
    border: 1px solid var(--hansol-border, rgba(255,255,255,0.1)) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
    border-radius: var(--hansol-radius-sm, 8px) !important;
    padding: 6px 0 !important;
    z-index: 9999 !important;
}

.tutor-form-select-option {
    background-color: transparent !important;
    padding: 8px 16px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.tutor-form-select-option span {
    color: var(--hansol-text-secondary, #a0aec0) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.tutor-form-select-option:hover {
    background-color: var(--hansol-bg-secondary, #1a1a2e) !important;
}

.tutor-form-select-option:hover span {
    color: var(--hansol-text-primary, #ffffff) !important;
}

.tutor-form-select-option.is-active {
    background-color: var(--hansol-bg-secondary, #1a1a2e) !important;
}

.tutor-form-select-option.is-active span {
    color: var(--hansol-accent-gold, #d4af37) !important;
    font-weight: 700 !important;
}

/* Course details headers and topic content colors */
.tutor-course-details-content h2,
.tutor-course-details-content h3,
.tutor-course-details-content .tutor-color-black,
.tutor-course-single-content-wrapper .tutor-color-black,
.tutor-course-details-content h2.tutor-color-black {
    color: var(--hansol-text-primary, #ffffff) !important;
}

/* Accordion curriculum body background & text styling */
.tutor-single-course-wrap .tutor-accordion-item-body,
.tutor-single-course-wrap .tutor-accordion-item-body-content,
.tutor-single-course-wrap .tutor-course-content-list {
    background-color: var(--hansol-bg-card, #1e2a4a) !important;
    background: var(--hansol-bg-card, #1e2a4a) !important;
    border-color: var(--hansol-border, rgba(255,255,255,0.1)) !important;
}

.tutor-single-course-wrap .tutor-course-content-list-item,
.tutor-single-course-wrap .tutor-course-content-list-item-title,
.tutor-single-course-wrap .tutor-course-content-list-item-title a {
    color: #333333 !important;
}

.tutor-course-content-list-item:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

/* Navigation Tab Link Colors */
.tutor-single-course-wrap .tutor-nav-item .tutor-nav-link {
    color: rgba(255, 255, 255, 0.7) !important;
}

.tutor-single-course-wrap .tutor-nav-item .tutor-nav-link:hover {
    color: #ffffff !important;
}

.tutor-single-course-wrap .tutor-nav-item .tutor-nav-link.is-active {
    color: #ffffff !important;
    border-bottom: 2px solid var(--hansol-accent-gold, #d4af37) !important;
}

/* Accordion curriculum topic section headers */
.tutor-single-course-wrap .tutor-accordion-item .tutor-accordion-item-header,
.tutor-single-course-wrap .tutor-accordion-item .tutor-accordion-item-header a,
.tutor-single-course-wrap .tutor-accordion-item .tutor-accordion-item-header span,
.tutor-single-course-wrap .tutor-accordion-item h4.tutor-accordion-item-header {
    color: var(--hansol-text-primary, #ffffff) !important;
}

/* ========================================
   WooCommerce Checkout - Account Creation Password Field
   ======================================== */
.woocommerce-checkout .woocommerce-account-fields {
    background-color: transparent !important;
    background: transparent !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 25px;
    margin-top: 25px;
}

