/* TWC Course System v2.0 - All !important to override Bricks */

/* ─── Admin Backend Styles ─── */
.twc-ct{width:100%;border-collapse:collapse;font-size:13px;}
.twc-ct th{background:#1a73e8;color:#fff;padding:9px 10px;text-align:left;font-weight:600;}
.twc-ct td{padding:5px;border-bottom:1px solid #eee;vertical-align:top;}
.twc-ct tr:nth-child(even) td{background:#f8f9fa;}
.twc-ct input,.twc-ct textarea{width:100%;border:1px solid #ddd;border-radius:3px;padding:5px 7px;font-size:12px;box-sizing:border-box;}
.twc-ct textarea{min-height:40px;resize:vertical;}
.twc-row-del{background:#e53935;color:#fff;border:none;border-radius:3px;padding:5px 9px;cursor:pointer;font-size:12px;}
.twc-row-del:hover{background:#b71c1c;}
.twc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.twc-field{display:flex;flex-direction:column;gap:5px;}
.twc-field label{font-weight:600;font-size:13px;color:#23282d;}
.twc-field input,.twc-field select,.twc-field textarea{border:1px solid #ddd;border-radius:4px;padding:7px 10px;font-size:13px;width:100%;box-sizing:border-box;}
.twc-full{grid-column:1/-1;}

/* ─── My Account ─── */
.twc-course-list{list-style:none;margin:0;padding:0;}
.twc-course-item{border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:12px;background:#fff;}
.twc-course-item h3{margin:0 0 8px;font-size:16px;}
.twc-course-actions{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;}
.twc-btn{display:inline-block;padding:8px 18px;border-radius:4px;text-decoration:none;font-size:13px;font-weight:600;cursor:pointer;border:none;}
.twc-btn-primary{background:#1a73e8;color:#fff;}
.twc-btn-secondary{background:#f1f3f4;color:#333;}
.twc-btn:hover{opacity:.85;}
.twc-certificate-wrap{max-width:680px;margin:20px auto;background:#fff;border:3px solid #8B6914;padding:40px;text-align:center;font-family:serif;}
.twc-cert-title{font-size:28px;font-weight:bold;color:#5d3a00;margin-bottom:20px;}
.twc-cert-name{font-size:24px;border-bottom:2px solid #8B6914;display:inline-block;padding:0 30px 5px;margin:15px 0;}
.twc-cert-body{font-size:15px;line-height:2;color:#333;}
.twc-cert-footer{margin-top:30px;display:flex;justify-content:space-around;}
.twc-cert-sig{text-align:center;}
.twc-cert-sig span{display:block;border-top:1px solid #333;padding-top:5px;font-size:13px;}
@media print{.admin-bar,.site-header,.site-footer,nav{display:none !important;}}

/* ═══════════════════════════════════════════════
   FRONTEND SHORTCODE STYLES  (body prefix + !important)
   ═══════════════════════════════════════════════ */

/* Curriculum Wrapper */
body .twc-curriculum-wrap {
    font-family: "Noto Sans TC","微軟正黑體",sans-serif !important;
    margin: 24px 0 !important;
}

/* Objectives banner */
body .twc-curriculum-objectives {
    background: linear-gradient(135deg,#f5f0e8,#fdf6e3) !important;
    border-left: 5px solid #c9a32e !important;
    border-radius: 0 8px 8px 0 !important;
    padding: 14px 20px !important;
    margin-bottom: 20px !important;
}
body .twc-obj-item {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #5d3a00 !important;
    line-height: 1.9 !important;
    display: block !important;
}

/* Table */
body .twc-schedule-table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.12) !important;
}
body .twc-schedule-table thead tr th {
    background-color: #c0392b !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border: none !important;
}
body .twc-th-date {
    background-color: #c0392b !important;
    color: #ffffff !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    width: 220px !important;
    text-align: center !important;
    letter-spacing: 3px !important;
    border: none !important;
}
body .twc-th-topic {
    background-color: #c0392b !important;
    color: #ffffff !important;
    padding: 12px 20px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 6px !important;
    text-align: center !important;
    border: none !important;
}
body .twc-schedule-table tbody tr.twc-row-even td {
    background-color: #ffffff !important;
}
body .twc-schedule-table tbody tr.twc-row-odd td {
    background-color: #eef4fb !important;
}
body .twc-schedule-table tbody tr:hover td {
    background-color: #ddeeff !important;
}
body .twc-td-date {
    padding: 14px 16px !important;
    border-right: 2px solid #e0e0e0 !important;
    border-bottom: 1px solid #e8e8e8 !important;
    vertical-align: top !important;
    width: 220px !important;
}
body .twc-td-topic {
    padding: 14px 20px !important;
    border-bottom: 1px solid #e8e8e8 !important;
    vertical-align: middle !important;
}
body .twc-date-main {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #c0392b !important;
    margin-bottom: 4px !important;
    display: block !important;
}
body .twc-date-time {
    font-size: 13px !important;
    color: #555 !important;
    margin-bottom: 5px !important;
    display: block !important;
}
body .twc-date-instructor {
    font-size: 13px !important;
    color: #1a73e8 !important;
    font-weight: 600 !important;
    margin-top: 6px !important;
    padding-top: 6px !important;
    border-top: 1px dashed #ccc !important;
    display: block !important;
}
body .twc-topic-arrow {
    color: #1a73e8 !important;
    font-size: 14px !important;
    margin-right: 8px !important;
}
body .twc-topic-text {
    font-size: 15px !important;
    color: #1a1a1a !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
}
body .twc-topic-note {
    font-size: 12px !important;
    color: #888 !important;
    margin-top: 4px !important;
    font-style: italic !important;
    display: block !important;
}
body .twc-curriculum-footer {
    display: flex !important;
    gap: 24px !important;
    flex-wrap: wrap !important;
    margin-top: 16px !important;
    padding: 12px 18px !important;
    background: #f8f9fa !important;
    border-radius: 6px !important;
    border: 1px solid #e0e0e0 !important;
    font-size: 14px !important;
    color: #555 !important;
}

/* Course Info Card */
body .twc-course-info-card {
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 10px !important;
    padding: 24px !important;
    margin: 20px 0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
}
body .twc-info-objectives {
    background: linear-gradient(135deg,#f5f0e8,#fdf6e3) !important;
    border-left: 4px solid #c9a32e !important;
    padding: 12px 16px !important;
    margin-bottom: 18px !important;
    border-radius: 0 6px 6px 0 !important;
}
body .twc-info-obj-line {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #5d3a00 !important;
    line-height: 1.9 !important;
    display: block !important;
}
body .twc-info-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
}
body .twc-info-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    font-size: 14px !important;
    color: #333 !important;
}
body .twc-info-full { grid-column: 1/-1 !important; }
body .twc-info-label {
    font-weight: 700 !important;
    color: #1a73e8 !important;
    min-width: 70px !important;
    flex-shrink: 0 !important;
}
body .twc-info-notes {
    background: #fff8e1 !important;
    border: 1px solid #ffc107 !important;
    border-radius: 6px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
}
body .twc-info-notes strong { color: #e65100 !important; }
body .twc-info-notes p { margin: 6px 0 0 !important; color: #555 !important; }

/* Enroll Button */
body .twc-enroll-btn-wrap { text-align: center !important; margin: 20px 0 !important; }
body a.twc-enroll-btn {
    display: inline-block !important;
    background: #c0392b !important;
    color: #fff !important;
    text-decoration: none !important;
    padding: 14px 40px !important;
    border-radius: 50px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    box-shadow: 0 4px 16px rgba(192,57,43,.35) !important;
    transition: all .2s !important;
}
body a.twc-enroll-btn:hover {
    background: #a93226 !important;
    transform: translateY(-2px) !important;
}

/* Responsive */
@media (max-width:600px) {
    body .twc-th-date,
    body .twc-td-date { width: 130px !important; }
    body .twc-topic-text { font-size: 13px !important; }
    body .twc-info-grid { grid-template-columns: 1fr !important; }
    body .twc-curriculum-footer { flex-direction: column !important; gap: 8px !important; }
}
