/* --------------------------------
 * 1. BIẾN MÀU (CSS VARIABLES)
 * -------------------------------- */
:root {
    /* CHẾ ĐỘ TỐI (MẶC ĐỊNH) */
    --bg-color: #12121c;
    --card-bg: #1e1e2f;
    --header-bg: #1e1e2f; /* Thêm biến này, dù user-header bị xóa nhưng để phòng hờ */
    --tab-bg: #1a1a2e;
    --border-color: #333;
    --shadow-color: rgba(0, 0, 0, 0.3);

    --text-primary: #f0f0f0;
    --text-secondary: #a0a0b0;
    --text-term: linear-gradient(90deg, #fff, #c0c0c0);

    --accent-blue: #00f2fe;
    --accent-purple: #a020f0;
    --color-green: #48bb78;
    --color-red: #f56565;
    --color-yellow: #facc15;
    --color-orange: #f6ad55;
    --color-pink: #ff7eb9; /* Cho tag Tiếng Việt */
    --color-teal: #00bfa5; /* Cho tag Lĩnh vực */

    --btn-pronounce-bg: #2a2a40;
    --btn-pronounce-border: #444;
    --btn-pronounce-hover-bg: #3a3a50;
    --btn-pronounce-hover-border: var(--accent-blue);

    --example-bg: #2a2a40;
    --example-border: var(--accent-purple);

    --tag-bg: #3a3a50;
    --tag-hover-bg: #4a4a60;

    --tag-antonym-bg: rgba(245, 101, 101, 0.1);
    --tag-antonym-text: var(--color-red);
    --tag-antonym-hover-bg: rgba(245, 101, 101, 0.2);

    --tag-prep-bg: rgba(0, 242, 254, 0.1);
    --tag-prep-text: var(--accent-blue);

    --tag-vi-bg: rgba(255, 126, 185, 0.1);
    --tag-vi-text: var(--color-pink);

    --tag-subject-bg: rgba(0, 191, 165, 0.1);
    --tag-subject-text: var(--color-teal);

    --note-bg: rgba(250, 204, 21, 0.1);
    --note-border: var(--color-yellow);
    --note-text-header: var(--color-yellow);

    --btn-review-bg: rgba(246, 173, 85, 0.15);
    --btn-review-text: var(--color-orange);
    --btn-review-hover: rgba(246, 173, 85, 0.3);

    --btn-known-bg: rgba(72, 187, 120, 0.15);
    --btn-known-text: var(--color-green);
    --btn-known-hover: rgba(72, 187, 120, 0.3);
}

/* CHẾ ĐỘ SÁNG (GHI ĐÈ KHI CÓ CLASS .light-mode) */
body.light-mode {
    --bg-color: #f4f7f6;
    --card-bg: #ffffff;
    --header-bg: #ffffff;
    --tab-bg: #f9f9f9;
    --border-color: #e0e0e0;
    --shadow-color: rgba(0, 0, 0, 0.1);

    --text-primary: #1a1a1a;
    --text-secondary: #555;
    --text-term: linear-gradient(90deg, #333, #000);

    --accent-blue: #007BFF;
    --accent-purple: #6f42c1;
    --color-green: #28a745;
    --color-red: #dc3545;
    --color-yellow: #ffc107;
    --color-orange: #fd7e14;
    --color-pink: #d63384;
    --color-teal: #087990;

    --btn-pronounce-bg: #f0f0f0;
    --btn-pronounce-border: #ddd;
    --btn-pronounce-hover-bg: #e9e9e9;
    --btn-pronounce-hover-border: var(--accent-blue);

    --example-bg: #f8f9fa;
    --example-border: var(--accent-purple);

    --tag-bg: #e9ecef;
    --tag-hover-bg: #d_dd_e_1; /* Should be #dde1e3 or similar */

    --tag-antonym-bg: rgba(220, 53, 69, 0.1);
    --tag-antonym-text: var(--color-red);
    --tag-antonym-hover-bg: rgba(220, 53, 69, 0.2);

    --tag-prep-bg: rgba(0, 123, 255, 0.1);
    --tag-prep-text: var(--accent-blue);

    --tag-vi-bg: rgba(214, 51, 132, 0.1);
    --tag-vi-text: var(--color-pink);

    --tag-subject-bg: rgba(8, 121, 144, 0.1);
    --tag-subject-text: var(--color-teal);

    --note-bg: rgba(255, 193, 7, 0.1);
    --note-border: var(--color-yellow);
    --note-text-header: #b98900;

    --btn-review-bg: rgba(253, 126, 20, 0.15);
    --btn-review-text: var(--color-orange);
    --btn-review-hover: rgba(253, 126, 20, 0.3);

    --btn-known-bg: rgba(40, 167, 69, 0.15);
    --btn-known-text: var(--color-green);
    --btn-known-hover: rgba(40, 167, 69, 0.3);
}

/* --------------------------------
 * 2. CÀI ĐẶT CHUNG
 * -------------------------------- */
body {
    font-family: 'Nunito', sans-serif;
    background-color: var(--bg-color);
    color: var(--text-primary);
    line-height: 1.6;
    margin: 0;
    padding: 0; /* Bỏ padding body */
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* --------------------------------
 * 3. LOGO CONTAINER & NÚT THEME
 * -------------------------------- */
.logo-container {
    max-width: 680px; /* Cùng max-width với thẻ */
    margin: 0 auto; /* Căn giữa */
    padding: 20px 20px 10px 20px; /* Padding xung quanh */
    display: flex;
    justify-content: space-between; /* Đẩy nút theme sang phải */
    align-items: center;
}
.site-logo {
    display: block;
    height: 40px; /* Điều chỉnh chiều cao logo */
    width: auto;
    filter: invert(1); /* Chuyển logo trắng trên nền tối */
}
body.light-mode .site-logo {
    filter: none; /* Logo đen trên nền sáng */
}
.theme-toggle-btn {
    background: var(--btn-pronounce-bg);
    border: 1px solid var(--btn-pronounce-border);
    color: var(--text-secondary);
    font-size: 1.1rem;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s ease;
}
.theme-toggle-btn:hover {
    color: var(--accent-blue);
    border-color: var(--accent-blue);
}
body.light-mode .theme-toggle-btn i::before { content: "\f186"; }
.theme-toggle-btn i::before { content: "\f185"; }


/* --------------------------------
 * 4. THẺ TỪ VỰNG CHÍNH (LAYOUT)
 * -------------------------------- */
.vocab-card-container {
    max-width: 680px;
    margin: 0 auto 20px auto; /* Thêm margin bottom */
}
.vocab-card {
    background-color: var(--card-bg);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 40px var(--shadow-color);
    border: 1px solid var(--border-color);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* --------------------------------
 * 5. HEADER THẺ (Ảnh, Share, CEFR)
 * -------------------------------- */
.card-header {
    position: relative;
}
.card-image {
    margin: 0;
    padding: 0;
    height: 250px;
    overflow: hidden;
}
.card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.8;
}
.cefr-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    padding: 6px 15px;
    font-weight: 800;
    font-size: 1rem;
    border-radius: 12px;
    color: #111;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    z-index: 10;
}
.cefr-a1 {
    background-color: var(--color-blue);
}
.cefr-a2 {
    background-color: var(--color-blue);
}
.cefr-b1 {
    background-color: var(--color-yellow);
}
.cefr-b2 {
    background-color: var(--color-yellow);
}
.cefr-c1 {
    background-color: var(--color-red);
}
.cefr-c2 {
    background-color: var(--color-red);
}
.share-btn {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 45px;
    height: 45px;
    background: linear-gradient(135deg, var(--accent-blue), var(--accent-purple));
    border: none;
    border-radius: 50%;
    color: white;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    z-index: 10;
}
.share-btn i {
    transform: rotate(15deg);
    transition: transform 0.3s ease;
}
.share-btn:hover {
    transform: translateY(-2px) scale(1.1);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}
.share-btn:hover i {
    transform: rotate(0deg);
}
.share-btn:active {
    transform: translateY(0) scale(1.05);
}
body.light-mode .share-btn {
    box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3);
}
body.light-mode .share-btn:hover {
    box-shadow: 0 6px 20px rgba(0, 123, 255, 0.4);
}

/* --------------------------------
 * 6. THÂN THẺ (Nội dung chính)
 * -------------------------------- */
.card-body {
    padding: 25px 30px;
    text-align: center;
}
.term {
    font-size: 3rem;
    font-weight: 800;
    margin: 0;
    background: var(--text-term);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.part-of-speech {
    display: inline-block;
    background-color: rgba(160, 32, 240, 0.1);
    color: var(--accent-purple);
    padding: 4px 12px;
    border-radius: 10px;
    font-weight: 700;
    margin-top: 5px;
    transition: background-color 0.3s ease, color 0.3s ease;
}
body.light-mode .part-of-speech {
    background-color: rgba(111, 66, 193, 0.1);
}
.quick-meaning-section {
    margin: 20px 0 15px 0;
}
.quick-meaning-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px 0;
}
.card-body .tag-list {
    justify-content: center;
}
.pronunciation-group {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin: 20px 0;
}
.pronunciation-btn {
    background-color: var(--btn-pronounce-bg);
    border: 1px solid var(--btn-pronounce-border);
    color: var(--text-secondary);
    padding: 10px 15px;
    border-radius: 12px;
    font-size: 1rem;
    font-family: 'Nunito', sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}
.pronunciation-btn:hover {
    background-color: var(--btn-pronounce-hover-bg);
    color: var(--accent-blue);
    border-color: var(--btn-pronounce-hover-border);
}
.pronunciation-btn .ipa {
    font-family: 'Courier New', Courier, monospace;
    font-weight: 700;
    margin-left: 5px;
}
.mastery-section {
    margin: 20px 0;
}
.mastery-section label {
    font-size: 0.9rem;
    color: var(--text-secondary);
    margin-bottom: 8px;
    display: block;
}
.mastery-bar {
    width: 100%;
    height: 10px;
    background-color: var(--btn-pronounce-bg);
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 8px;
    transition: background-color 0.3s ease;
}
.mastery-progress {
    height: 100%;
    background: linear-gradient(90deg, var(--color-orange), var(--color-yellow));
    border-radius: 6px;
}
.mastery-section span {
    font-weight: 700;
    color: var(--color-orange);
}
.card-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 25px;
}
.action-btn {
    padding: 12px;
    border: none;
    border-radius: 12px;
    font-family: 'Nunito', sans-serif;
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}
.action-btn i {
    margin-right: 8px;
}
.btn-review {
    background-color: var(--btn-review-bg);
    color: var(--btn-review-text);
}
.btn-review:hover {
    background-color: var(--btn-review-hover);
}
.btn-known {
    background-color: var(--btn-known-bg);
    color: var(--btn-known-text);
}
.btn-known:hover {
    background-color: var(--btn-known-hover);
}
.btn-practice {
    background: linear-gradient(90deg, var(--accent-purple), var(--accent-blue));
    color: white;
}
.btn-practice:hover {
    opacity: 0.9;
}
.status-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background: var(--color-red);
    color: white;
    font-size: 0.7rem;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 8px;
}
.btn-practice:not([data-passage-status]) .status-badge {
    display: none;
}
.btn-practice[data-passage-status="3"] .status-badge {
    background-color: var(--color-red);
}

/* --------------------------------
 * 7. PHẦN TABS
 * -------------------------------- */
.card-tabs {
    display: flex;
    background-color: var(--tab-bg);
    border-top: 1px solid var(--border-color);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}
.tab-link {
    flex: 1;
    padding: 15px 10px;
    background: none;
    border: none;
    color: var(--text-secondary);
    font-family: 'Nunito', sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    transition: all 0.2s ease;
    text-align: center;
}
.tab-link:hover {
    color: var(--text-primary);
}
.tab-link.active {
    color: var(--accent-blue);
    border-bottom-color: var(--accent-blue);
}

/* --------------------------------
 * 8. NỘI DUNG TAB (Chung)
 * -------------------------------- */
.tab-content-wrapper {
    padding: 25px 30px;
    /* Bỏ border-top vì banner nằm giữa */
    /* border-top: 1px solid var(--border-color); */
    transition: border-color 0.3s ease;
}
.tab-content {
    display: none;
}
.tab-content.active {
    display: block;
    animation: fadeIn 0.5s ease;
}
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.tab-content h2, /* SEO: Thêm style cho h2 */
.tab-content h3 {
    font-weight: 800;
    color: var(--accent-blue);
    margin-top: 30px; /* Tăng khoảng cách trên */
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-color);
    transition: border-color 0.3s ease;
}
.tab-content h2 {
    font-size: 1.5rem; /* Cỡ chữ lớn hơn cho h2 */
    border-bottom-width: 2px; /* Viền đậm hơn */
}
.tab-content h3 {
    font-size: 1.2rem;
}
.tab-content h2:first-child,
.tab-content h3:first-child {
    margin-top: 0;
}
.tab-content i { /* Style chung cho icon đầu heading */
    margin-right: 10px;
    opacity: 0.8;
}

.example-list {
    list-style: none;
    padding: 0;
}
.example-list li {
    background-color: var(--example-bg);
    border-radius: 12px;
    padding: 15px 20px;
    margin-bottom: 10px;
    border-left: 4px solid var(--example-border);
    transition: background-color 0.3s ease;
}
.ex-en {
    font-weight: 700;
    margin: 0 0 5px 0;
    color: var(--text-primary);
    display: flex;
    justify-content: flex-start; /* Sửa lại căn chỉnh */
    align-items: center;
    gap: 10px;
}
.ex-vi {
    font-style: italic;
    color: var(--text-secondary);
    margin: 0;
}

/* --------------------------------
 * 9. NỘI DUNG TAB (Chi tiết)
 * -------------------------------- */
.word-forms-list {
    list-style: none;
    padding: 0;
    margin-bottom: 15px;
}
.word-forms-list li {
    background-color: var(--example-bg);
    padding: 8px 15px;
    border-radius: 8px;
    margin-bottom: 8px;
    font-size: 1rem;
    color: var(--text-secondary);
    transition: background-color 0.3s ease;
}
.word-forms-list li span {
    font-weight: 800;
    color: var(--text-primary);
    margin-right: 8px;
}
.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.tab-content .tag-list {
    justify-content: flex-start;
}
.tag {
    background-color: var(--tag-bg);
    color: var(--text-secondary);
    padding: 5px 12px;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.tag:hover {
    background-color: var(--tag-hover-bg);
    color: var(--text-primary);
}
.tag-antonym {
    background-color: var(--tag-antonym-bg);
    color: var(--tag-antonym-text);
}
.tag-preposition {
    background-color: var(--tag-prep-bg);
    color: var(--tag-prep-text);
}
.tag-vi {
    background-color: var(--tag-vi-bg);
    color: var(--tag-vi-text);
}
.tag-subject {
    background-color: var(--tag-subject-bg);
    color: var(--tag-subject-text);
}
.word-pair-tag {
    background-color: var(--tag-bg);
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.4;
    transition: all 0.2s ease;
}
.word-pair-tag:hover {
    background-color: var(--tag-hover-bg);
    transform: translateY(-2px);
    box-shadow: 0 4px 10px var(--shadow-color);
}
.word-pair-tag .tag-en {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-secondary);
    transition: color 0.2s ease;
}
.word-pair-tag .tag-vi-trans {
    font-size: 0.85rem;
    font-weight: 400;
    color: var(--text-secondary);
    font-style: italic;
    opacity: 0.8;
    transition: all 0.2s ease;
}
.word-pair-tag:hover .tag-en,
.word-pair-tag:hover .tag-vi-trans {
    color: var(--text-primary);
    opacity: 1;
}
.word-pair-tag.tag-antonym {
    background-color: var(--tag-antonym-bg);
}
.word-pair-tag.tag-antonym .tag-en {
    color: var(--tag-antonym-text);
}
.word-pair-tag.tag-antonym .tag-vi-trans {
    color: var(--tag-antonym-text);
    opacity: 0.8;
}
.word-pair-tag.tag-antonym:hover {
    background-color: var(--tag-antonym-hover-bg);
}
.word-pair-tag.tag-antonym:hover .tag-en,
.word-pair-tag.tag-antonym:hover .tag-vi-trans {
    color: var(--color-red);
    opacity: 1;
}
.usage-note {
    background-color: var(--note-bg);
    border: 1px solid var(--note-border);
    border-left-width: 5px;
    border-radius: 10px;
    padding: 20px;
    margin: 20px 0;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}
.usage-note h4 {
    margin-top: 0;
    color: var(--note-text-header);
    font-weight: 800;
}
.usage-note p {
    margin-bottom: 0;
    color: var(--text-primary);
}
.preposition-usage {
    color: var(--text-secondary);
    font-size: 0.95rem;
}

/* Nút Luyện đọc cho câu */
.speak-example-btn {
    background: var(--btn-pronounce-bg);
    border: 1px solid var(--btn-pronounce-border);
    color: var(--text-secondary);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s ease;
}
.speak-example-btn i {
    font-size: 0.9rem; /* Điều chỉnh cỡ icon */
    line-height: 1; /* Căn giữa dọc */
    margin: 0;
    padding: 0;
}
.speak-example-btn:hover {
    color: var(--accent-blue);
    border-color: var(--accent-blue);
    background-color: var(--btn-pronounce-hover-bg);
}

/* --------------------------------
 * 10. TAB NGỮ PHÁP
 * -------------------------------- */
.grammar-block {
    background-color: var(--example-bg);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    margin-bottom: 25px;
    overflow: hidden;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}
.grammar-rule-title {
    font-size: 1.1rem; /* SEO: Đổi thành H4 */
    font-weight: 700;
    color: var(--text-secondary);
    padding: 15px 20px;
    background-color: var(--tag-bg);
    margin: 0;
    border-bottom: 1px solid var(--border-color);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}
.grammar-rule-title i {
    color: var(--accent-purple);
    margin-right: 10px;
}
.grammar-rule-title span {
    color: var(--text-primary);
    font-family: 'Courier New', Courier, monospace;
}
.grammar-example-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}
.grammar-example-table th,
.grammar-example-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
    transition: border-color 0.3s ease;
    vertical-align: middle;
}
.grammar-example-table tbody tr:last-child td {
    border-bottom: none;
}
.grammar-example-table th {
    color: var(--accent-blue);
    font-size: 0.85rem;
    text-transform: uppercase;
}
.grammar-example-table td:first-child {
    width: 100px;
}
.grammar-example-table td strong {
    color: var(--color-yellow);
    font-weight: 700;
}
.table-en-cell {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
}

.tag-type {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #fff;
}
.tag-type.tag-affirmative { background-color: var(--color-green); }
.tag-type.tag-negative { background-color: var(--color-red); }
.tag-type.tag-interrogative { background-color: var(--color-orange); }
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}
.pagination-status {
    margin: 0 15px;
    font-size: 0.9rem;
    color: var(--text-secondary);
}
.pagination-btn {
    background: var(--btn-pronounce-bg);
    border: 1px solid var(--btn-pronounce-border);
    color: var(--text-secondary);
    width: 35px;
    height: 35px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.2s ease;
}
.pagination-btn:hover:not(:disabled) {
    color: var(--accent-blue);
    border-color: var(--accent-blue);
}
.pagination-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* --------------------------------
 * 11. KHU VỰC QUẢNG CÁO
 * -------------------------------- */
.ad-slot {
  border: 1px dashed var(--border-color);
  background: var(--example-bg); /* Hoặc var(--tab-bg) nếu muốn cùng màu */
  min-height: 90px;
  margin: 20px auto; /* Mặc định căn giữa, có khoảng cách */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  max-width: 970px; /* Cho top_banner */
  transition: background-color 0.3s ease, border-color 0.3s ease;
  overflow: hidden; /* Tránh nội dung quảng cáo tràn ra */
}

/* Kiểu riêng cho banner top */
[data-slot="top_banner"] {
    max-width: 970px;
    margin-top: 15px;
    margin-bottom: 15px;
    min-height: 90px;
}

/* Kiểu riêng cho banner chính sau tabs */
.main-ad-after-tabs {
    max-width: 336px;
    min-height: 250px;
    margin-top: 20px;
    margin-bottom: 0;
    border: none;
    background-color: transparent;
    padding: 0 30px; /* Padding ngang khớp với content-wrapper */
    box-sizing: border-box;
}
/* Căn giữa nội dung bên trong banner này */
.main-ad-after-tabs .ad-fallback,
.main-ad-after-tabs > div {
    margin-left: auto;
    margin-right: auto;
}

/* Kiểu cho các banner nhỏ trong tabs */
[data-slot="vocab_tab1_inline"],
[data-slot="vocab_tab2_inline"],
[data-slot="vocab_tab4_inline"] {
    max-width: 336px;
    min-height: 250px;
    margin-top: 30px;
    margin-bottom: 20px;
    margin-left: auto; /* Căn giữa */
    margin-right: auto;
}


.ad-fallback {
    font-size: 12px;
    color: var(--text-secondary);
    padding: 8px;
}

@media (max-width: 600px) {
    .ad-slot {
        min-height: 50px;
        margin: 15px auto;
    }
    [data-slot="top_banner"] {
        min-height: 50px;
        margin-bottom: 10px;
    }
    .main-ad-after-tabs {
        min-height: 200px;
        padding: 0 20px;
        margin-top: 15px;
    }
    [data-slot="vocab_tab1_inline"],
    [data-slot="vocab_tab2_inline"],
    [data-slot="vocab_tab4_inline"] {
        max-width: 100%; /* Chiếm hết chiều rộng */
        min-height: 200px;
        margin-top: 25px;
        margin-bottom: 15px;
    }
}

/* --------------------------------
 * 12. FOOTER WEBSITE
 * -------------------------------- */
.site-footer {
    background-color: var(--tab-bg);
    padding: 20px 30px;
    border-top: 1px solid var(--border-color); /* Giữ lại border top */
    transition: background-color 0.3s ease, border-color 0.3s ease;
    text-align: center;
}
.site-footer p {
    margin: 5px 0;
    color: var(--text-secondary);
    font-size: 0.85rem;
}
.site-footer .copyright {
    font-weight: 700;
}
.site-footer .tagline {
    font-style: italic;
}

/* --------------------------------
 * 13. MODAL CHUNG & CHIA SẺ
 * -------------------------------- */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(5px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.modal-overlay.active {
    display: flex;
    opacity: 1;
}
.modal-content {
    background: var(--card-bg);
    border-radius: 16px;
    padding: 30px;
    width: 90%;
    max-width: 500px;
    position: relative;
    box-shadow: 0 10px 40px var(--shadow-color);
    border: 1px solid var(--border-color);
    transform: scale(0.95);
    opacity: 0;
    transition: all 0.3s ease;
}
.modal-overlay.active .modal-content {
    transform: scale(1);
    opacity: 1;
}
.modal-close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    background: var(--btn-pronounce-bg);
    border: 1px solid var(--btn-pronounce-border);
    color: var(--text-secondary);
    width: 35px;
    height: 35px;
    border-radius: 50%;
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    z-index: 1001;
}
.modal-close-btn:hover {
    color: var(--text-primary);
    background-color: var(--btn-pronounce-hover-bg);
}
.modal-title {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0 0 5px 0;
    text-align: center;
}
.modal-subtitle {
    font-size: 1rem;
    color: var(--text-secondary);
    margin: 0 0 25px 0;
    text-align: center;
}

/* Kiểu riêng cho Modal Chia Sẻ */
#share-modal-overlay .modal-title span {
    color: var(--accent-blue);
    font-family: 'Courier New', Courier, monospace;
}
#share-modal-overlay .modal-title,
#share-modal-overlay .modal-subtitle {
     text-align: left;
}
.social-share-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 15px;
    margin-bottom: 25px;
}
.social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.95rem;
    transition: all 0.2s ease;
}
.social-btn i {
    font-size: 1.2rem;
    margin-right: 10px;
}
.social-btn:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}
.social-btn.facebook { background-color: #1877F2; color: white; }
.social-btn.twitter { background-color: #1DA1F2; color: white; }
.social-btn.telegram { background-color: #0088cc; color: white; }
.social-btn.whatsapp { background-color: #25D366; color: white; }
.social-btn.email { background-color: #777; color: white; }
.social-btn.pinterest { background-color: #E60023; color: white; }
/* THÊM MÀU CHO ZALO */
.social-btn.zalo { background-color: #0068FF; color: white; }

.copy-link-container {
    display: flex;
    gap: 10px;
}
.copy-link-input {
    flex-grow: 1;
    background: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 12px;
    font-family: 'Courier New', Courier, monospace;
    color: var(--text-secondary);
    font-size: 0.9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}
.copy-link-btn {
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    background: var(--accent-blue);
    color: #111;
    font-weight: 700;
    font-family: 'Nunito', sans-serif;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background-color 0.2s ease;
}
.copy-link-btn:hover {
    opacity: 0.9;
}

/* --------------------------------
 * 14. MODAL MEMBERSHIP
 * -------------------------------- */
.membership-modal .modal-content {
    max-width: 400px;
    text-align: center;
}
.membership-modal .modal-icon {
    font-size: 3rem;
    color: var(--accent-blue);
    margin-bottom: 15px;
}
.modal-actions {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 30px;
}
.modal-btn {
    padding: 12px 25px;
    border: none;
    border-radius: 10px;
    font-family: 'Nunito', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}
.modal-btn.btn-secondary {
    background-color: var(--tag-bg);
    color: var(--text-secondary);
}
.modal-btn.btn-secondary:hover {
    background-color: var(--tag-hover-bg);
    color: var(--text-primary);
}
.modal-btn.btn-primary {
    background: linear-gradient(90deg, var(--accent-purple), var(--accent-blue));
    color: white;
}
.modal-btn.btn-primary:hover {
    opacity: 0.9;
}


/* --------------------------------
 * 15. RESPONSIVE (Mobile) - Đặt cuối cùng
 * -------------------------------- */
@media (max-width: 600px) {
    body {
        padding: 0;
    }
    .logo-container {
        padding: 15px 15px 5px 15px;
    }
    .site-logo {
        height: 30px;
    }
    .vocab-card-container {
        margin: 0;
    }
    .vocab-card {
        border-radius: 0;
        border: none;
    }
    .card-image {
        height: 200px;
    }
    .card-body,
    .tab-content-wrapper,
    .card-footer.site-footer {
        padding: 20px;
    }
    .term {
        font-size: 2.5rem;
    }
    .card-actions {
        grid-template-columns: 1fr;
    }
    .tab-link {
        font-size: 0.85rem;
        padding: 12px 5px;
    }
    /* Sửa lỗi tràn bảng trên mobile */
    .grammar-example-table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
     .grammar-example-table th, .grammar-example-table td {
        white-space: normal;
    }
    .grammar-example-table tbody {
        display: table;
        width: 100%;
    }
    .table-en-cell {
        min-width: 150px;
    }
    .grammar-example-table td:first-child {
        width: auto;
    }
    /* Modal full màn hình trên mobile */
    .modal-content {
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
        border-radius: 0;
        padding: 60px 20px 20px 20px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        justify-content: center;
        overflow-y: auto;
    }
    .modal-close-btn {
        top: 15px;
        right: 15px;
    }
     .modal-title {
        font-size: 1.5rem;
    }
    .modal-subtitle {
        font-size: 0.95rem;
    }
    .social-share-grid {
         grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
         gap: 10px;
    }
     .modal-actions {
        flex-direction: column;
        gap: 10px;
    }
}