﻿:root {
    --bg: #f6f7f4;
    --surface: #ffffff;
    --surface-soft: #eef5f1;
    --text: #23324b;
    --muted: #5c6c84;
    --heading: #1d2f57;
    --brand: #1f6f59;
    --brand-dark: #195d4b;
    --brand-soft: #e7f3ee;
    --accent: #c17c52;
    --line: rgba(27, 47, 91, 0.10);
    --shadow: 0 18px 40px rgba(22, 47, 93, 0.08);
    --radius: 22px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    font-family: "Inter", system-ui, sans-serif;
    background: linear-gradient(180deg, #fbfcfa 0%, #f5f6f2 100%);
    color: var(--text);
    font-size: 16.5px;
    line-height: 1.85;
}

button,
input,
textarea,
select,
option {
    font-family: "Inter", system-ui, sans-serif;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
    height: auto;
}

.container {
    width: min(1480px, calc(100% - 56px));
    margin: 0 auto;
}

.section {
    padding: 56px 0;
}

.section-tag,
.card-kicker {
    display: inline-flex;
    align-items: center;
    color: var(--brand);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.section-title,
.home-main-title,
.home-section-title,
.page-hero h1,
.home-banner-clean-title,
.home-banner-clean-subtitle,
.speaker-card h3,
.theme-summary-card h3,
.theme-detail-card h2,
.org-card h3 {
    font-family: "Playfair Display", serif;
    margin: 0;
}

p,
li,
td,
th {
    color: var(--muted);
    text-align: left;
    line-height: 1.9;
}

/* ===== HEADER ===== */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgb(234 240 211);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
}

.header-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 94px;
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    color: var(--heading);
    font-weight: 800;
    min-width: 0;
}

.site-logo {
    max-height: 84px;
    width: auto;
    object-fit: contain;
    flex: 0 0 auto;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

    .site-nav a {
        color: var(--muted);
        font-weight: 600;
        font-size: 14px;
    }

        .site-nav a:hover {
            color: var(--brand);
        }

.lang-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.nav-toggle {
    display: none;
    width: 46px;
    height: 46px;
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 12px;
    padding: 10px;
    cursor: pointer;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    box-shadow: 0 8px 20px rgba(22, 47, 93, 0.05);
}

    .nav-toggle span {
        display: block;
        width: 100%;
        height: 2px;
        border-radius: 999px;
        background: var(--heading);
    }

/* ===== FOOTER ===== */

.site-footer {
    margin-top: 44px;
    border-top: 1px solid var(--line);
    background: #fff;
}

.footer-simple {
    text-align: center;
    padding: 22px 0;
}

    .footer-simple p {
        margin: 0;
        color: var(--muted);
    }

/* ===== GENERIC PAGE BLOCKS ===== */

.page-hero {
    padding: 42px 0 18px;
}

    .page-hero .hero-shell {
        background: linear-gradient(135deg, #f5fbf8, #eef8f3);
        border: 1px solid var(--line);
        border-radius: 24px;
        padding: 28px 30px;
        box-shadow: var(--shadow);
    }

    .page-hero h1 {
        font-size: clamp(30px, 4vw, 42px);
        line-height: 1.1;
        margin: 14px 0 10px;
    }

    .page-hero p {
        margin: 0;
    }

.article-card,
.home-word-card,
.org-card,
.speaker-card,
.theme-summary-card,
.theme-detail-card,
.info-card,
.price-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.article-card,
.home-word-card,
.org-card,
.speaker-card,
.theme-detail-card,
.info-card,
.price-card {
    padding: 28px;
}

.highlight-link {
    color: var(--brand);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ===== HOME ===== */



.home-banner-clean-bg {
    position: absolute;
    inset: 0;
    opacity: 0.48;
    pointer-events: none;
}



.home-banner-clean-content {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    padding-top: 8px;
}

.home-banner-clean-kicker {
    display: inline-flex;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(231, 243, 238, 0.92);
    color: #6b8c83;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 18px;
    text-transform: uppercase;
}

.home-banner-clean-title {
    margin: 0 0 14px;
    color: #1f2430;
    font-size: clamp(2.2rem, 4vw, 4.35rem);
    line-height: 1.04;
    letter-spacing: -0.03em;
    max-width: 980px;
    text-wrap: balance;
}

.home-banner-clean-subtitle {
    margin-bottom: 14px;
    color: var(--accent);
    font-style: italic;
    font-size: clamp(1.08rem, 1.8vw, 1.7rem);
    line-height: 1.3;
}

.home-banner-clean-date {
    margin-bottom: 28px;
    color: #1f8a66;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.75;
}

.home-banner-clean-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.hero-btn {
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.98rem;
    font-weight: 700;
    transition: all .2s ease;
}

.hero-btn-primary {
    background: var(--brand);
    color: #fff;
    border: 1px solid var(--brand);
}

    .hero-btn-primary:hover {
        background: var(--brand-dark);
        color: #fff;
    }

.hero-btn-outline {
    background: var(--brand);
    color: #fff;
    border: 1.5px solid #8fc8b3;
}

    .hero-btn-outline:hover {
        background: var(--brand-dark);
        color: #fff;
    }

.home-index-article {
    padding-top: 46px;
}

.home-intro-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr);
    gap: 56px;
    align-items: start;
}

.home-intro-block {
    max-width: none;
    padding-top: 6px;
}

.home-main-title {
    margin: 0 0 24px;
    color: #1f2430;
    font-size: clamp(1.9rem, 2.9vw, 3.15rem);
    line-height: 1.08;
    letter-spacing: -0.025em;
    font-weight: 700;
    max-width: 760px;
    text-wrap: balance;
}

.home-main-subtitle {
    margin-bottom: 12px;
    color: var(--accent);
    font-style: italic;
    font-size: clamp(1.08rem, 2vw, 1.6rem);
    line-height: 1.32;
}

.home-date-line {
    margin-bottom: 18px;
    color: #1f8a66;
    font-weight: 700;
    line-height: 1.75;
}

.home-word-body p {
    margin: 0 0 16px;
    color: #26344d;
    font-size: 16.5px;
    line-height: 1.92;
}

.home-highlight-question {
    margin: 20px 0;
    padding-left: 18px;
    border-left: 4px solid var(--accent);
    color: #1f2430 !important;
    font-weight: 700;
    background: transparent;
    border-radius: 0;
}

.home-intro-media {
    overflow: hidden;
    border-radius: 22px;
    margin-top: 18px;
}

    .home-intro-media img {
        width: 100%;
        min-height: 860px;
        object-fit: cover;
        object-position: center;
        display: block;
    }

.home-feature-grid-clean {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
    margin-top: 38px;
}

.home-feature-card-clean {
    display: block;
    color: inherit;
}

.home-feature-image-clean {
    overflow: hidden;
    border-radius: 22px;
    margin-bottom: 16px;
    background: var(--surface-soft);
}

    .home-feature-image-clean img {
        width: 100%;
        aspect-ratio: 5 / 4;
        object-fit: cover;
        display: block;
    }

.home-feature-card-clean h3 {
    margin: 0 0 8px;
    color: #1f2430;
    font-family: "Playfair Display", serif;
    font-size: 1.08rem;
    line-height: 1.35;
}

.home-feature-link-clean {
    color: var(--brand);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.5;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

    .home-feature-link-clean span {
        font-size: 1rem;
        font-weight: 800;
    }

.agenda-section-clean {
    padding-top: 26px;
}

.agenda-header-clean {
    margin-bottom: 18px;
}

.agenda-title-clean {
    margin: 10px 0 0;
    color: #1f2430;
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    line-height: 1.2;
}

.agenda-schedule-clean {
    display: grid;
    gap: 14px;
}

.agenda-schedule-item {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 20px;
    align-items: stretch;
}

.agenda-schedule-time {
    color: #4f5b72;
    font-weight: 800;
    line-height: 1.6;
    border-radius: 14px;
    background: #f3f4f3;
    padding: 18px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.agenda-schedule-session {
    padding: 18px 18px;
    border-radius: 14px;
    color: #2f3545;
    line-height: 1.6;
    display: flex;
    align-items: center;
    min-height: 72px;
}

    .agenda-schedule-session.keynote {
        background: #dbe7ce;
    }

    .agenda-schedule-session.panel {
        background: #eadfb9;
    }

    .agenda-schedule-session.lunch {
        background: #e8e5e5;
    }

    .agenda-schedule-session.closing {
        background: #d8dbe8;
    }

/* ===== HOSTS ===== */

.org-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.org-card h3 {
    margin: 0 0 12px;
    font-size: 1.2rem;
    line-height: 1.35;
    color: var(--heading);
}

.org-card p {
    margin: 0;
}

/* ===== SPEAKERS ===== */

.speaker-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.speaker-card h3 {
    margin: 0 0 12px;
    color: var(--heading);
    font-size: 1.15rem;
    line-height: 1.45;
}

.speaker-org {
    margin: 0 0 8px;
    color: var(--muted);
    line-height: 1.8;
}

.speaker-role {
    margin: 0 0 16px;
    color: #2b8a68;
    font-weight: 700;
    line-height: 1.8;
}

.speaker-action {
    width: 100%;
    margin-top: 4px;
    text-align: left;
    border: 1px solid var(--line);
    background: #f6faf8;
    border-radius: 14px;
    padding: 14px 16px;
    color: var(--heading);
    font-weight: 700;
    cursor: pointer;
    line-height: 1.6;
}

.speaker-panel {
    display: none;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
}

    .speaker-panel.open {
        display: block;
    }

    .speaker-panel h4 {
        margin: 0 0 10px;
        color: var(--heading);
        font-size: 1rem;
        line-height: 1.5;
    }

    .speaker-panel p {
        margin: 0 0 14px;
    }

.pending-note {
    color: var(--muted);
    font-style: italic;
}

.committee-note {
    font-size: 16px;
    font-weight: 400;
    color: var(--muted);
    margin: 12px 0 22px;
    line-height: 1.8;
}

.committee-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.committee-item {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 18px;
}

    .committee-item strong {
        display: block;
        font-size: 15px;
        line-height: 1.65;
        color: var(--heading);
        font-weight: 700;
    }

    .committee-item span {
        display: block;
        margin-top: 4px;
        color: var(--muted);
        font-size: 15px;
        line-height: 1.7;
    }

/* ===== THEMES ===== */

.theme-intro {
    margin-bottom: 24px;
}

.theme-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.theme-summary-card {
    padding: 24px;
    text-align: left;
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

    .theme-summary-card.active,
    .theme-summary-card:hover {
        transform: translateY(-4px);
        border-color: #b5dccb;
        box-shadow: 0 20px 46px rgba(9, 93, 64, 0.12);
    }

    .theme-summary-card h3 {
        margin: 10px 0 12px;
        font-size: 24px;
        line-height: 1.3;
        color: var(--heading);
    }

    .theme-summary-card p {
        margin: 0;
    }

.theme-detail-card {
    display: none;
    margin-top: 22px;
    padding: 30px;
}

    .theme-detail-card.active {
        display: block;
    }

    .theme-detail-card h2 {
        margin: 0 0 14px;
        font-size: 28px;
        line-height: 1.25;
        color: var(--heading);
    }

    .theme-detail-card .theme-intro-copy {
        margin-bottom: 18px;
    }

.theme-detail-item {
    display: grid;
    grid-template-columns: 26px 1fr;
    gap: 12px;
    margin-bottom: 14px;
}

    .theme-detail-item:last-child {
        margin-bottom: 0;
    }

    .theme-detail-item .num {
        font-weight: 700;
        color: var(--brand);
    }

/* ===== SIMPLE TABLES ===== */

.agenda-table-wrap,
.payment-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--shadow);
}

.agenda-table-word,
.payment-table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
}

    .agenda-table-word th,
    .agenda-table-word td,
    .payment-table th,
    .payment-table td {
        padding: 16px 18px;
        text-align: left;
        vertical-align: top;
        border-bottom: 1px solid var(--line);
        line-height: 1.85;
    }

    .agenda-table-word tr:last-child td,
    .payment-table tr:last-child th,
    .payment-table tr:last-child td {
        border-bottom: 0;
    }

    .agenda-table-word thead th,
    .payment-table th {
        background: var(--surface-soft);
        color: var(--brand-dark);
        font-weight: 700;
    }

    .agenda-table-word td:first-child {
        width: 170px;
        white-space: nowrap;
        font-weight: 700;
        color: var(--brand-dark);
    }

    .payment-table th {
        width: 240px;
    }

/* ===== RESPONSIVE ===== */

@media (max-width: 1280px) {
    .container {
        width: min(100%, calc(100% - 40px));
    }

    .home-intro-layout {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .home-intro-media {
        margin-top: 0;
    }

        .home-intro-media img {
            min-height: 420px;
        }

    .home-feature-grid-clean,
    .speaker-grid,
    .theme-grid,
    .committee-list,
    .org-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .nav-toggle {
        display: inline-flex;
    }

    .site-nav {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        align-items: stretch;
        background: white;
        border: 1px solid var(--line);
        border-radius: 18px;
        padding: 12px;
        box-shadow: var(--shadow);
    }

        .site-nav.open {
            display: flex;
        }

        .site-nav > a {
            padding: 12px;
            border-bottom: 1px solid var(--line);
        }

            .site-nav > a:last-of-type {
                border-bottom: 0;
            }
}

@media (max-width: 768px) {
    .container {
        width: min(100%, calc(100% - 22px));
    }

    .section {
        padding: 36px 0;
    }

    .site-logo {
        max-height: 52px;
        max-width: 180px;
    }

    .header-inner {
        min-height: 78px;
    }

    .home-banner-clean {
        min-height: auto;
        padding: 28px 0 38px;
    }

    .home-banner-clean-title {
        font-size: 1.85rem;
        line-height: 1.1;
        max-width: 100%;
    }

    .home-banner-clean-subtitle,
    .home-main-subtitle {
        font-size: 1rem;
    }

    .home-banner-clean-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-btn {
        width: 100%;
    }

    .home-main-title {
        font-size: 1.75rem;
        line-height: 1.14;
        margin-bottom: 18px;
        max-width: 100%;
    }

    .home-word-body p,
    p,
    li,
    td,
    th {
        font-size: 16px;
        line-height: 1.82;
    }

    .home-feature-grid-clean,
    .speaker-grid,
    .theme-grid,
    .committee-list,
    .org-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .home-intro-media {
        border-radius: 18px;
    }

        .home-intro-media img {
            min-height: 280px;
        }

    .agenda-schedule-item {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .agenda-title-clean,
    .home-section-title,
    .theme-detail-card h2 {
        font-size: 1.55rem;
    }

    .article-card,
    .home-word-card,
    .org-card,
    .speaker-card,
    .theme-summary-card,
    .theme-detail-card,
    .info-card,
    .price-card {
        padding: 20px;
        border-radius: 18px;
    }

    .agenda-table-word {
        min-width: 520px;
    }

    .payment-table {
        min-width: 560px;
    }
}

/* ===== SUBMISSION PAGE CLEAN ===== */

.submission-page-clean {
    padding-top: 24px;
}

.submission-stack-clean {
    display: grid;
    gap: 26px;
}

.submission-article-clean {
    background: #ffffff;
    border: 1px solid rgba(27, 47, 91, 0.10);
    border-radius: 24px;
    box-shadow: 0 18px 40px rgba(22, 47, 93, 0.08);
    padding: 32px;
}

    .submission-article-clean h2 {
        margin: 0 0 18px;
        color: #1d2f57;
        font-family: "Playfair Display", serif;
        font-size: 2rem;
        line-height: 1.2;
    }

    .submission-article-clean h3 {
        margin: 22px 0 10px;
        color: #1d2f57;
        font-family: "Playfair Display", serif;
        font-size: 1.2rem;
        line-height: 1.4;
    }

    .submission-article-clean p {
        margin: 0 0 16px;
        color: #5c6c84;
        line-height: 1.92;
    }

.submission-block {
    margin: 20px 0 24px;
    padding: 0 0 18px;
    border-bottom: 1px solid rgba(27, 47, 91, 0.08);
}

    .submission-block:last-of-type {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .submission-block h3 {
        margin: 0 0 10px;
        color: #1d2f57;
        font-family: "Playfair Display", serif;
        font-size: 1.18rem;
        line-height: 1.45;
    }

    .submission-block p {
        margin: 0;
    }

.submission-numbered,
.submission-dash,
.submission-date-list {
    display: grid;
    gap: 14px;
    margin: 18px 0 20px;
}

.list-numbered-item,
.list-dash-item,
.date-list-item {
    display: grid;
    gap: 14px;
}

.list-numbered-item {
    grid-template-columns: 36px 1fr;
}

.list-dash-item {
    grid-template-columns: 20px 1fr;
}

.date-list-item {
    grid-template-columns: 180px 1fr;
    align-items: start;
    padding: 14px 0;
    border-bottom: 1px solid rgba(27, 47, 91, 0.08);
}

    .date-list-item:last-child {
        border-bottom: 0;
    }

.list-numbered-item .mark,
.list-dash-item .mark {
    color: #1f6f59;
    font-weight: 800;
    line-height: 1.8;
}

.date-list-item .date {
    color: #1f6f59;
    font-weight: 800;
    line-height: 1.8;
    white-space: nowrap;
}

.submission-cta-box {
    margin-top: 22px;
    padding: 24px;
    border-radius: 20px;
    background: #f6faf8;
    border: 1px solid rgba(27, 47, 91, 0.08);
}

    .submission-cta-box h3 {
        margin-top: 0;
    }

    .submission-cta-box .btn {
        margin-top: 8px;
        min-height: 46px;
        padding: 0 22px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

@media (max-width: 768px) {
    .submission-article-clean {
        padding: 22px;
        border-radius: 18px;
    }

        .submission-article-clean h2 {
            font-size: 1.55rem;
            line-height: 1.22;
        }

        .submission-block h3,
        .submission-article-clean h3 {
            font-size: 1.08rem;
        }

    .date-list-item {
        grid-template-columns: 1fr;
        gap: 6px;
    }

        .date-list-item .date {
            white-space: normal;
        }
}

/* ===== SPEAKERS PHOTO LAYOUT ===== */

.speaker-grid-photo {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.speaker-card-photo {
    overflow: hidden;
    padding: 0;
    background: #fff;
    border: 1px solid rgba(27, 47, 91, 0.10);
    border-radius: 22px;
    box-shadow: 0 18px 40px rgba(22, 47, 93, 0.08);
}

.speaker-photo-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #eef5f1;
}

.speaker-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 18%;
    display: block;
}

.speaker-photo-placeholder,
.committee-photo-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #eef5f1, #e5ece8);
}

.speaker-photo-placeholder-inner,
.committee-photo-placeholder-inner {
    width: 88px;
    height: 88px;
    border-radius: 999px;
    background: #1f6f59;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Playfair Display", serif;
    font-size: 1.85rem;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(31, 111, 89, 0.18);
}

.speaker-content {
    padding: 24px;
}

.speaker-card-photo h3 {
    margin: 0 0 12px;
    color: #1d2f57;
    font-family: "Playfair Display", serif;
    font-size: 1.18rem;
    line-height: 1.4;
}

.speaker-card-photo .speaker-org {
    margin: 0 0 8px;
    color: #5c6c84;
    line-height: 1.8;
}

.speaker-card-photo .speaker-role {
    margin: 0 0 16px;
    color: #2b8a68;
    font-weight: 700;
    line-height: 1.8;
}

.speaker-card-photo .speaker-action {
    width: 100%;
    margin-top: 4px;
    text-align: left;
    border: 1px solid rgba(27, 47, 91, 0.10);
    background: #f6faf8;
    border-radius: 14px;
    padding: 14px 16px;
    color: #1d2f57;
    font-weight: 700;
    cursor: pointer;
    line-height: 1.6;
}

.speaker-card-photo .speaker-panel {
    display: none;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(27, 47, 91, 0.10);
}

    .speaker-card-photo .speaker-panel.open {
        display: block;
    }

    .speaker-card-photo .speaker-panel h4 {
        margin: 0 0 10px;
        color: #1d2f57;
        font-size: 1rem;
        line-height: 1.5;
    }

    .speaker-card-photo .speaker-panel p {
        margin: 0 0 14px;
        color: #5c6c84;
        line-height: 1.9;
    }

/* committee */
.committee-wrap-card {
    padding: 28px;
}

.committee-list-photo {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.committee-item-photo {
    background: #fff;
    border: 1px solid rgba(27, 47, 91, 0.10);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(22, 47, 93, 0.06);
}

.committee-photo-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #eef5f1;
}

.committee-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 18%;
    display: block;
}

.committee-content {
    padding: 18px;
}

    .committee-content strong {
        display: block;
        font-size: 15px;
        line-height: 1.65;
        color: #1d2f57;
        font-weight: 700;
    }

    .committee-content span {
        display: block;
        margin-top: 4px;
        color: #5c6c84;
        font-size: 15px;
        line-height: 1.7;
    }

@media (max-width: 1100px) {
    .speaker-grid-photo,
    .committee-list-photo {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .speaker-grid-photo,
    .committee-list-photo {
        grid-template-columns: 1fr;
    }

    .speaker-content {
        padding: 18px;
    }

    .committee-wrap-card {
        padding: 20px;
    }
}

/* Căn đều 2 bên, không giãn ký tự */
.home-word-body p,
.article-card p,
.submission-article-clean p,
.theme-detail-card p,
.theme-summary-card p,
.committee-content span,
.committee-note,
.org-card p,
.speaker-panel p,
.speaker-org,
.speaker-role,
.date-list-item div:last-child,
.list-numbered-item div:last-child,
.list-dash-item div:last-child {
    text-align: justify;
    text-justify: inter-word;
    letter-spacing: 0;
    word-spacing: 0;
}

/* Tiếng Việt/Anh trên mobile vẫn đẹp hơn khi có ngắt từ */
@media (max-width: 768px) {
    .home-word-body p,
    .article-card p,
    .submission-article-clean p,
    .theme-detail-card p,
    .theme-summary-card p,
    .committee-content span,
    .committee-note,
    .org-card p,
    .speaker-panel p,
    .speaker-org,
    .speaker-role,
    .date-list-item div:last-child,
    .list-numbered-item div:last-child,
    .list-dash-item div:last-child {
        text-align: justify;
        text-justify: inter-word;
        letter-spacing: 0;
        word-spacing: 0;
        hyphens: auto;
    }
}

/* ===== HEADER BIGGER + LANGUAGE SWITCH ===== */

.site-nav a {
    font-size: 16px;
    font-weight: 700;
}

.lang-switch {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border-radius: 999px;
    background: #eef5f1;
    border: 1px solid rgba(27, 47, 91, 0.10);
}

    .lang-switch a {
        min-width: 52px;
        height: 38px;
        padding: 0 14px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        font-weight: 800;
        color: #4d5b73;
        transition: all .2s ease;
    }

        .lang-switch a.active {
            background: #1f6f59;
            color: #fff;
            box-shadow: 0 8px 20px rgba(31, 111, 89, 0.18);
        }

/* ===== HOME FEATURE CARDS ===== */

.home-feature-grid-clean {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
    margin-top: 34px;
}

.home-feature-card-clean h3 {
    margin: 0 0 6px;
    font-size: 1.02rem;
    line-height: 1.32;
}

.home-feature-link-clean {
    font-size: 0.94rem;
    line-height: 1.4;
    white-space: nowrap;
}

    .home-feature-link-clean span {
        font-size: 0.95rem;
    }

/* ===== AGENDA DESKTOP ===== */

.agenda-schedule-clean {
    display: grid;
    gap: 14px;
}

.agenda-schedule-item {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 20px;
    align-items: stretch;
}

.agenda-schedule-time {
    color: #4f5b72;
    font-weight: 800;
    line-height: 1.6;
    border-radius: 14px;
    background: #f3f4f3;
    padding: 18px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.agenda-schedule-session {
    padding: 18px 18px;
    border-radius: 14px;
    color: #2f3545;
    line-height: 1.6;
    display: flex;
    align-items: center;
    min-height: 72px;
}

    .agenda-schedule-session.keynote {
        background: #dbe7ce;
    }

    .agenda-schedule-session.panel {
        background: #eadfb9;
    }

    .agenda-schedule-session.lunch {
        background: #e8e5e5;
    }

    .agenda-schedule-session.closing {
        background: #d8dbe8;
    }

/* ===== MOBILE ===== */

@media (max-width: 768px) {
    .site-nav a {
        font-size: 15px;
    }

    .lang-switch {
        margin-top: 4px;
    }

    .home-feature-grid-clean {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: calc((100% - 20px) / 2.5);
        gap: 12px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        padding-bottom: 6px;
        margin-top: 22px;
    }

        .home-feature-grid-clean::-webkit-scrollbar {
            height: 6px;
        }

        .home-feature-grid-clean::-webkit-scrollbar-thumb {
            background: rgba(31, 111, 89, 0.25);
            border-radius: 999px;
        }

    .home-feature-card-clean {
        scroll-snap-align: start;
        min-width: 0;
    }

    .home-feature-image-clean {
        border-radius: 16px;
        margin-bottom: 10px;
    }

        .home-feature-image-clean img {
            aspect-ratio: 1 / 1;
            object-fit: cover;
        }

    .home-feature-card-clean h3 {
        margin: 0 0 4px;
        font-size: 0.88rem;
        line-height: 1.25;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .home-feature-link-clean {
        font-size: 0.8rem;
        gap: 4px;
        white-space: nowrap;
    }

        .home-feature-link-clean span {
            font-size: 0.82rem;
        }

    .agenda-header-clean {
        margin-bottom: 14px;
    }

    .agenda-title-clean {
        font-size: 1.45rem;
        line-height: 1.2;
    }

    .agenda-schedule-clean {
        gap: 10px;
    }

    .agenda-schedule-item {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .agenda-schedule-time {
        justify-content: flex-start;
        padding: 12px 14px;
        font-size: 0.9rem;
        border-radius: 12px;
    }

    .agenda-schedule-session {
        padding: 14px 14px;
        min-height: auto;
        font-size: 0.9rem;
        line-height: 1.5;
        border-radius: 12px;
    }
}
/* ===== FIX BANNER + TITLE 1 LINE ===== */
/*.home-banner-clean .container.home-banner-clean-content {
    width: min(1600px, calc(100% - 28px));
    max-width: none;
    margin-left: 20px;
    margin-right: auto;
    padding-left: 0;
}

.home-banner-clean-title {
    max-width: none;
    font-size: clamp(1.7rem, 2.45vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.04em;
    white-space: nowrap;
}

.home-main-title {
    max-width: none;
    font-size: 20px;
    line-height: 1.08;
    letter-spacing: -0.03em;
    white-space: nowrap;
}*/

/* mobile cho khỏi vỡ layout */
/*@media (max-width: 1024px) {
    .home-banner-clean-title,
    .home-main-title {
        white-space: normal;
    }
}

@media (max-width: 768px) {
    .home-banner-clean .container.home-banner-clean-content {
        width: min(100%, calc(100% - 22px));
        margin: 0 auto;
    }
}*/
/* thay đoạn justify cũ bằng đoạn này */
.home-word-body p,
.article-card p,
.submission-article-clean p,
.theme-detail-card p,
.theme-summary-card p,
.committee-content span,
.committee-note,
.org-card p,
.speaker-panel p,
.speaker-org,
.speaker-role,
.date-list-item div:last-child,
.list-numbered-item div:last-child,
.list-dash-item div:last-child {
    text-align: justify;
    text-justify: auto;
    text-align-last: left;
    letter-spacing: normal;
    word-spacing: normal;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hanging-punctuation: first last;
}

/* riêng câu highlight thì không justify để khỏi bị giãn xấu */
.home-highlight-question {
    text-align: left;
    text-align-last: left;
    letter-spacing: normal;
    word-spacing: normal;
    hyphens: none;
    -webkit-hyphens: none;
    -ms-hyphens: none;
}

/* mobile */
@media (max-width: 768px) {
    .home-word-body p,
    .article-card p,
    .submission-article-clean p,
    .theme-detail-card p,
    .theme-summary-card p,
    .committee-content span,
    .committee-note,
    .org-card p,
    .speaker-panel p,
    .speaker-org,
    .speaker-role,
    .date-list-item div:last-child,
    .list-numbered-item div:last-child,
    .list-dash-item div:last-child {
        text-align: justify;
        text-justify: auto;
        text-align-last: left;
        letter-spacing: normal;
        word-spacing: normal;
        white-space: normal;
        word-break: normal;
        overflow-wrap: normal;
        hyphens: auto;
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
    }

    .home-highlight-question {
        text-align: left;
        text-align-last: left;
        hyphens: none;
        -webkit-hyphens: none;
        -ms-hyphens: none;
    }
}
/* banner full size */


/*.home-banner-clean-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
}*/


/* content nổi lên trên banner */
/*.home-banner-clean-content {
    position: relative;
    z-index: 2;
}*/

/* tablet */
/*@media (max-width: 1024px) {
    .home-banner-clean {
        min-height: 620px;
        padding: 56px 0 88px;
    }
}*/

/* mobile */
/*@media (max-width: 768px) {
    .home-banner-clean {
        min-height: 420px;
        padding: 32px 0 52px;
    }

    .home-banner-clean-bg img {
        object-position: center;
    }
}*/
/* ===== HOSTS PAGE ===== */
.hosts-page-clean {
    padding-top: 10px;
}

.host-feature-article {
    margin-bottom: 40px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

    .host-feature-article h2 {
        margin: 0 0 12px;
        color: #1f2430;
        font-family: "Playfair Display", serif;
        font-size: clamp(1.55rem, 2.2vw, 2.2rem);
        line-height: 1.18;
    }

    .host-feature-article p {
        margin: 0;
        color: #26344d;
        font-size: 15.5px;
        line-height: 1.88;
        text-align: justify;
        text-justify: auto;
    }

.hosts-two-col-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    align-items: stretch;
}

.host-plain-block {
    min-width: 0;
}

.host-plain-block-card {
    padding: 28px 26px;
    background: #fff;
    border: 1px solid rgba(27, 47, 91, 0.10);
    border-radius: 22px;
    box-shadow: 0 18px 40px rgba(22, 47, 93, 0.08);
    height: 100%;
}

.host-plain-block h3 {
    margin: 0 0 14px;
    color: #1f2430;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.2;
}

.host-plain-block p {
    margin: 0;
    color: #26344d;
    font-size: 16.5px;
    line-height: 1.92;
    text-align: justify;
    text-justify: auto;
}

@media (max-width: 900px) {
    .hosts-two-col-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }
}

@media (max-width: 768px) {
    .host-feature-article {
        margin-bottom: 28px;
    }

        .host-feature-article h2 {
            font-size: 1.35rem;
        }

        .host-feature-article p {
            font-size: 15px;
            line-height: 1.8;
        }

    .host-plain-block-card {
        padding: 22px 20px;
        border-radius: 18px;
    }

    .host-plain-block h3 {
        font-size: 1.28rem;
    }

    .host-plain-block p {
        font-size: 16px;
        line-height: 1.82;
    }
}
.speaker-action-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.speaker-action-text {
    flex: 1;
}

.speaker-action-arrow {
    flex: 0 0 auto;
    font-size: 1.05rem;
    font-weight: 800;
    transition: transform .2s ease;
}

.speaker-action-toggle.open .speaker-action-arrow {
    transform: rotate(90deg);
}
/* ===== SPEAKERS STYLE LIKE MODERN CARD ===== */
.speakers-showcase-section {
    padding-top: 18px;
}

.speaker-grid-elegant {
    gap: 28px;
}

.speaker-card-elegant {
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 28px;
    background: transparent;
    box-shadow: none;
    transition: transform .28s ease;
}

    .speaker-card-elegant:hover {
        transform: translateY(-6px);
    }

.speaker-card-visual {
    width: 90%;
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.speaker-card-media {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    background: #eef5f1;
    box-shadow: 0 16px 36px rgba(22, 47, 93, 0.08);
}

.speaker-photo-wrap-elegant {
    aspect-ratio: 4 / 3.65;
    border-radius: 0;
    background: #eef5f1;
}

    .speaker-photo-wrap-elegant .speaker-photo {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center 18%;
        transition: transform .45s ease;
    }

.speaker-card-elegant:hover .speaker-photo {
    transform: scale(1.05);
}

.speaker-card-noimage .speaker-card-media {
    background: linear-gradient(180deg, #eef5f1 0%, #e5ece8 100%);
}

.speaker-card-noimage .speaker-photo-wrap-elegant {
    aspect-ratio: 4 / 3.65;
    display: flex;
    align-items: center;
    justify-content: center;
}

.speaker-card-noimage .speaker-photo-placeholder-inner {
    width: 112px;
    height: 112px;
    font-size: 2rem;
    box-shadow: 0 14px 34px rgba(31, 111, 89, 0.18);
}

.speaker-card-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 2px 0;
}

.speaker-card-name {
    color: #1f2430;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.2rem, 1.65vw, 1.5rem);
    line-height: 1.22;
    font-weight: 700;
    flex: 1;
    text-wrap: balance;
}

.speaker-card-arrow {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1.7px solid rgba(31, 36, 48, 0.45);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1f2430;
    font-size: 1.45rem;
    line-height: 1;
    flex: 0 0 44px;
    background: #fff;
    box-shadow: none;
    filter: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    overflow: hidden;
    transform: translateZ(0);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.speaker-card-visual:hover .speaker-card-arrow,
.speaker-card-visual.open .speaker-card-arrow {
    background: #1f6f59;
    color: #fff;
    border-color: #1f6f59;
    transform: translateX(2px);
}

.speaker-panel-elegant {
    display: none;
    margin-top: 18px;
    padding: 0;
    border: 0;
}

    .speaker-panel-elegant.open {
        display: block;
    }

.speaker-panel-inner {
    padding: 24px 24px 22px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid rgba(27, 47, 91, 0.08);
    box-shadow: 0 16px 38px rgba(22, 47, 93, 0.08);
}

.speaker-panel-elegant .speaker-org {
    margin: 0 0 10px;
    color: #4f5b72;
    font-size: 1rem;
    line-height: 1.75;
}

.speaker-panel-elegant .speaker-role {
    margin: 0 0 14px;
    color: #1f8a66;
    font-size: 1rem;
    line-height: 1.75;
    font-weight: 700;
}

.speaker-panel-elegant h4 {
    margin: 0 0 12px;
    color: #1d2f57;
    font-family: "Playfair Display", serif;
    font-size: 1.12rem;
    line-height: 1.45;
}

.speaker-panel-elegant p {
    margin: 0 0 14px;
    color: #26344d;
    line-height: 1.88;
}

    .speaker-panel-elegant p:last-child {
        margin-bottom: 0;
    }

@media (max-width: 1100px) {
    .speaker-grid-elegant {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .speaker-grid-elegant {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .speaker-card-media {
        border-radius: 22px;
    }

    .speaker-photo-wrap-elegant,
    .speaker-card-noimage .speaker-photo-wrap-elegant {
        aspect-ratio: 4 / 3.2;
    }

    .speaker-card-bottom {
        padding-top: 14px;
        gap: 14px;
    }

    .speaker-card-name {
        font-size: 1.15rem;
    }

    .speaker-card-arrow {
        width: 40px;
        height: 40px;
        font-size: 1.25rem;
    }

    .speaker-panel-inner {
        padding: 18px 18px 16px;
        border-radius: 18px;
    }

    .speaker-panel-elegant .speaker-org,
    .speaker-panel-elegant .speaker-role,
    .speaker-panel-elegant p {
        font-size: 15px;
        line-height: 1.8;
    }

    .speaker-panel-elegant h4 {
        font-size: 1rem;
    }
}
/* ===== THEMES CARD + FULL DETAIL BELOW ===== */
.themes-showcase-section {
    padding-top: 18px;
}

.theme-grid-elegant {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    margin-bottom: 26px;
    align-items: stretch;
}

.theme-summary-card-elegant {
    width: 100%;
    padding: 28px 28px 24px;
    text-align: left;
    border-radius: 28px;
    background: #fff;
    border: 1px solid rgba(27, 47, 91, 0.08);
    box-shadow: 0 18px 44px rgba(22, 47, 93, 0.08);
    cursor: pointer;
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

    .theme-summary-card-elegant:hover,
    .theme-summary-card-elegant.active {
        transform: translateY(-6px);
        box-shadow: 0 24px 54px rgba(22, 47, 93, 0.12);
        border-color: rgba(31, 111, 89, 0.18);
    }

.theme-card-topline {
    margin-bottom: 18px;
}

.theme-summary-card-elegant .card-kicker {
    font-size: 0.76rem;
    letter-spacing: 0.14em;
}

.theme-card-copy h3 {
    margin: 0 0 14px;
    color: #1f2430;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.18;
    text-wrap: balance;
}

.theme-card-copy p {
    margin: 0;
    color: #384860;
    font-size: 1rem;
    line-height: 1.85;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: left;
}

.theme-card-bottom {
    margin-top: 22px;
    display: flex;
    justify-content: flex-start;
}

.theme-card-arrow {
    width: 46px;
    height: 46px;
    border-radius: 999px;
    border: 1.5px solid rgba(31, 36, 48, 0.42);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1f2430;
    font-size: 1.5rem;
    line-height: 1;
    transition: all .24s ease;
    background: rgba(255, 255, 255, 0.72);
}

.theme-summary-card-elegant:hover .theme-card-arrow,
.theme-summary-card-elegant.active .theme-card-arrow {
    background: #1f6f59;
    color: #fff;
    border-color: #1f6f59;
    transform: translateX(2px);
}

/* giữ phần detail full width như ban đầu */
.theme-detail-card {
    display: none;
    margin-top: 0;
    padding: 30px;
}

    .theme-detail-card.active {
        display: block;
    }

@media (max-width: 1100px) {
    .theme-grid-elegant {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .theme-grid-elegant {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-bottom: 22px;
    }

    .theme-summary-card-elegant {
        padding: 22px 20px 20px;
        border-radius: 22px;
    }

    .theme-card-copy h3 {
        font-size: 1.3rem;
    }

    .theme-card-copy p {
        font-size: 15px;
        line-height: 1.8;
        -webkit-line-clamp: 5;
    }

    .theme-card-bottom {
        margin-top: 18px;
    }

    .theme-card-arrow {
        width: 42px;
        height: 42px;
        font-size: 1.3rem;
    }
}
.lang-toggle-wrap {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-left: 8px;
}

.lang-toggle-text {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1;
    color: #8a97aa;
    transition: color .2s ease;
}

    .lang-toggle-text.active {
        color: #1d2f57;
    }

.lang-toggle-switch {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.lang-toggle-track {
    position: relative;
    width: 58px;
    height: 32px;
    border-radius: 999px;
    background: #e8efe9;
    border: 1px solid rgba(27, 47, 91, 0.10);
    box-shadow: inset 0 1px 2px rgba(22, 47, 93, 0.06);
    transition: background .25s ease, border-color .25s ease;
}

.lang-toggle-thumb {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #1f6f59;
    box-shadow: 0 6px 14px rgba(31, 111, 89, 0.25);
    transition: transform .25s ease;
}

.lang-toggle-switch.is-vi .lang-toggle-thumb {
    transform: translateX(26px);
}

.lang-toggle-switch:hover .lang-toggle-track {
    border-color: rgba(31, 111, 89, 0.28);
}

@media (max-width: 900px) {
    .lang-toggle-wrap {
        margin-left: 0;
        margin-top: 8px;
    }
}
.home-feature-card-clean {
    display: block;
    color: inherit;
}

.home-feature-card-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-right: 2px;
}

.home-feature-card-clean h3 {
    margin: 0;
    flex: 1;
}

.home-feature-arrow {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1.5px solid rgba(31, 36, 48, 0.42);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1f2430;
    background: #fff;
    font-size: 1.3rem;
    line-height: 1;
    flex: 0 0 42px;
    transition: all .24s ease;
}

.home-feature-card-clean:hover .home-feature-arrow {
    background: #1f6f59;
    color: #fff;
    border-color: #1f6f59;
    transform: translateX(2px);
}

@media (max-width: 768px) {
    .home-feature-card-bottom {
        gap: 10px;
    }

    .home-feature-arrow {
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
        font-size: 1.08rem;
    }
}
.home-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-top: 32px;
}

.home-quick-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 22px 20px;
    background: #f5f6f2;
    border: 1px solid #e3e5de;
    border-radius: 0;
    text-decoration: none;
    color: inherit;
    min-height: 210px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

    .home-quick-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
    }

.home-quick-icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

    .home-quick-icon img {
        width: 28px;
        height: 28px;
        object-fit: contain;
        display: block;
    }

.home-quick-title {
    margin: 0;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 600;
}

.home-quick-desc {
    margin: 0;
    color: #5d675f;
    font-size: 15px;
    line-height: 1.55;
    max-width: 220px;
}

.home-quick-link {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 500;
    color: #2e6b57;
}

@media (max-width: 1100px) {
    .home-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .home-quick-grid {
        grid-template-columns: 1fr;
    }

    .home-quick-card {
        min-height: auto;
    }
}
.home-intro-block-full {
    width: 100%;
    max-width: 100%;
}

    .home-intro-block-full .home-word-body,
    .home-intro-block-full .home-main-title {
        text-align: left;
    }

.home-intro-layout {
    display: block;
}


.home-banner-clean-bg {
    width: 100%;
    line-height: 0;
}

    .home-banner-clean-bg img {
        width: 100%;
        height: auto;
        display: block;
        max-width: 100%;
        object-fit: contain;
        object-position: center center;
    }

.home-banner-clean-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.home-banner-clean {
    position: relative;
    overflow: hidden;
    background: #f7f7f4;
}

.home-banner-clean-bg {
    width: 100%;
    line-height: 0;
}

    .home-banner-clean-bg img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: contain;
        object-position: center;
    }

.home-banner-clean-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-banner-clean-content-top {
    justify-content: flex-start;
    padding-top: clamp(28px, 4vw, 56px);
}

.home-banner-clean-kicker {
    margin-bottom: 10px;
}

.home-banner-clean-title {
    margin: 0 0 10px;
    max-width: 900px;
    line-height: 1.12;
}

.home-banner-clean-subtitle {
    margin-bottom: 10px;
    max-width: 760px;
    line-height: 1.3;
}

.home-banner-clean-date {
    margin-bottom: 18px;
}

.home-banner-clean-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* Agenda */
.agenda-section-clean {
    padding-top: 52px;
    padding-bottom: 52px;
}

.agenda-header-clean {
    margin-bottom: 20px;
    text-align: left;
}

.agenda-title-clean {
    margin: 8px 0 0;
    text-align: left;
}

.agenda-schedule-clean {
    display: grid;
    gap: 14px;
    max-width: 920px;
}

.agenda-schedule-item {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 18px;
    align-items: start;
    padding: 18px 20px;
    background: #ffffff;
    border: 1px solid #e7e2da;
    border-radius: 18px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.agenda-schedule-time {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    color: #15314b;
    white-space: nowrap;
}

.agenda-schedule-session {
    font-size: 18px;
    line-height: 1.55;
    font-weight: 500;
    color: #1d2430;
}

    .agenda-schedule-session br {
        content: "";
        display: block;
        margin-top: 2px;
    }

@media (max-width: 991px) {
    .home-banner-clean-content-top {
        padding-top: 22px;
    }

    .agenda-schedule-item {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .agenda-schedule-time {
        white-space: normal;
    }
}

@media (max-width: 640px) {
    .home-banner-clean-content-top {
        padding-top: 16px;
    }

    .agenda-schedule-item {
        padding: 14px 16px;
        border-radius: 14px;
    }

    .agenda-schedule-time,
    .agenda-schedule-session {
        font-size: 16px;
    }
}
/* ===== FINAL OVERRIDE: BANNER + AGENDA ===== */

/* Banner: đẩy content lên trên một chút */
/*.home-banner-clean-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 2;
}

.home-banner-clean-content-top {
    justify-content: flex-start;
    padding-top: clamp(26px, 3.4vw, 52px);
}

.home-banner-clean-title {
    margin: 0 0 10px;
    max-width: 980px;
    line-height: 1.08;
    white-space: normal;
}

.home-banner-clean-subtitle {
    margin-bottom: 10px;
    max-width: 760px;
    line-height: 1.28;
}

.home-banner-clean-date {
    margin-bottom: 18px;
}

.home-banner-clean-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}*/

/* Agenda: trả lại kiểu đẹp cũ */
.agenda-section-clean {
    padding-top: 30px;
    padding-bottom: 56px;
}

.agenda-header-clean {
    margin-bottom: 18px;
    text-align: left;
}

.agenda-title-clean {
    margin: 10px 0 0;
    text-align: left;
    color: #1f2430;
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    line-height: 1.2;
}

.agenda-schedule-clean {
    display: grid;
    gap: 14px;
    max-width: none;
}

.agenda-schedule-item {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 18px;
    align-items: stretch;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.agenda-schedule-time {
    color: #4f5b72;
    font-weight: 800;
    line-height: 1.6;
    border-radius: 14px;
    background: #f3f4f3;
    padding: 18px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    white-space: nowrap;
}

.agenda-schedule-session {
    padding: 18px 18px;
    border-radius: 14px;
    color: #2f3545;
    line-height: 1.6;
    display: flex;
    align-items: center;
    min-height: 72px;
    font-size: 18px;
    font-weight: 500;
    border: 0;
    box-shadow: none;
}

    .agenda-schedule-session.keynote {
        background: #dbe7ce;
    }

    .agenda-schedule-session.panel {
        background: #eadfb9;
    }

    .agenda-schedule-session.lunch {
        background: #e8e5e5;
    }

    .agenda-schedule-session.closing {
        background: #d8dbe8;
    }

@media (max-width: 991px) {
    .home-banner-clean-content-top {
        padding-top: 20px;
    }

    .agenda-schedule-item {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .agenda-schedule-time {
        justify-content: flex-start;
        white-space: normal;
    }
}

@media (max-width: 768px) {
    .home-banner-clean-content-top {
        padding-top: 16px;
    }

    .agenda-header-clean {
        margin-bottom: 14px;
    }

    .agenda-title-clean {
        font-size: 1.45rem;
        line-height: 1.2;
    }

    .agenda-schedule-clean {
        gap: 10px;
    }

    .agenda-schedule-time {
        padding: 12px 14px;
        font-size: 0.9rem;
        border-radius: 12px;
    }

    .agenda-schedule-session {
        padding: 14px 14px;
        min-height: auto;
        font-size: 0.9rem;
        line-height: 1.5;
        border-radius: 12px;
    }
}
/* ===== INDEX HOME ICON CARDS ===== */

.home-icon-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
    margin-top: 36px;
}

.home-icon-feature-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
}

.home-icon-feature-visual {
    width: 100%;
    min-height: 360px;
    border-radius: 26px;
    margin-bottom: 18px;
    background: #f4f6f1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 34px;
    overflow: hidden;
}

    .home-icon-feature-visual img {
        width: 100%;
        height: 100%;
        max-width: 250px;
        max-height: 250px;
        object-fit: contain;
        display: block;
    }

.home-icon-feature-bottom {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.home-icon-feature-copy {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

    .home-icon-feature-copy h3 {
        margin: 0;
        color: #1f2430;
        font-family: "Playfair Display", serif;
        font-size: 1.08rem;
        line-height: 1.35;
        font-weight: 700;
    }

    .home-icon-feature-copy p {
        margin: 0;
        color: #5d675f;
        font-size: 15px;
        line-height: 1.55;
        text-align: left;
        max-width: 220px;
    }

.home-icon-feature-link {
    margin-top: 6px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #2e6b57;
}

.home-icon-feature-arrow-wrap {
    flex: 0 0 auto;
}

.home-icon-feature-arrow {
    width: 54px;
    height: 54px;
    min-width: 54px;
    border-radius: 999px;
    border: 2px solid #c8c9cc;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1f2430;
    font-size: 1.2rem;
    line-height: 1;
}

.home-icon-feature-card:hover .home-icon-feature-arrow {
    background: #1f6f59;
    color: #fff;
    border-color: #1f6f59;
    transform: translateX(2px);
}

@media (max-width: 1280px) {
    .home-icon-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .home-icon-feature-grid {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: calc((100% - 20px) / 2.5);
        gap: 12px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        padding-bottom: 6px;
        margin-top: 22px;
    }

        .home-icon-feature-grid::-webkit-scrollbar {
            height: 6px;
        }

        .home-icon-feature-grid::-webkit-scrollbar-thumb {
            background: rgba(31, 111, 89, 0.25);
            border-radius: 999px;
        }

    .home-icon-feature-card {
        scroll-snap-align: start;
        min-width: 0;
    }

    .home-icon-feature-visual {
        min-height: 240px;
        border-radius: 16px;
        margin-bottom: 10px;
        padding: 20px;
    }

        .home-icon-feature-visual img {
            max-width: 150px;
            max-height: 150px;
        }

    .home-icon-feature-copy h3 {
        margin: 0 0 4px;
        font-size: 0.88rem;
        line-height: 1.25;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .home-icon-feature-copy p {
        font-size: 0.8rem;
        line-height: 1.45;
        max-width: none;
    }

    .home-icon-feature-link {
        font-size: 0.8rem;
        gap: 4px;
        white-space: nowrap;
    }

    .home-icon-feature-arrow {
        width: 36px;
        height: 36px;
        min-width: 36px;
        font-size: 1.08rem;
    }
}
/* ===== HOME SVG FEATURE CARDS ===== */

.home-svg-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin-top: 36px;
}

.home-svg-feature-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
}

.home-svg-feature-visual {
    width: 100%;
    min-height: 360px;
    border-radius: 26px;
    margin-bottom: 16px;
    background: #f5f6f2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 36px;
    overflow: hidden;
}

    .home-svg-feature-visual img {
        width: 100%;
        height: 100%;
        max-width: 250px;
        max-height: 250px;
        object-fit: contain;
        display: block;
    }

.home-svg-feature-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

    .home-svg-feature-copy h3 {
        margin: 0;
        color: #1f2430;
        font-size: 1.08rem;
        line-height: 1.35;
        font-weight: 700;
    }

    .home-svg-feature-copy p {
        margin: 0;
        color: #5d675f;
        font-size: 15px;
        line-height: 1.55;
        text-align: left;
        max-width: 220px;
    }

.home-svg-feature-link {
    margin-top: 4px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #2e6b57;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

    .home-svg-feature-link span {
        font-size: 14px;
        font-weight: 700;
    }

@media (max-width: 1280px) {
    .home-svg-feature-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 20px;
    }

    .home-svg-feature-visual {
        min-height: 300px;
        padding: 28px;
    }

    .home-svg-feature-copy h3,
    .home-svg-feature-copy p,
    .home-svg-feature-link,
    .home-svg-feature-card {
        text-align: left;
    }
}

@media (max-width: 768px) {
    .home-svg-feature-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px;
        margin-top: 22px;
    }

    .home-svg-feature-card,
    .home-svg-feature-copy,
    .home-svg-feature-copy h3,
    .home-svg-feature-copy p,
    .home-svg-feature-link {
        text-align: left;
    }

    .home-svg-feature-visual {
        min-height: 108px;
        border-radius: 16px;
        margin-bottom: 10px;
        padding: 14px;
    }

        .home-svg-feature-visual img {
            max-width: 72px;
            max-height: 72px;
        }

    .home-svg-feature-copy {
        gap: 4px;
    }

    .home-svg-feature-copy h3 {
        font-size: 0.82rem;
        line-height: 1.25;
    }

    .home-svg-feature-copy p {
        font-size: 0.72rem;
        line-height: 1.4;
        max-width: none;
    }

    .home-svg-feature-link {
        font-size: 0.72rem;
        gap: 4px;
    }
}

@media (max-width: 560px) {
    .home-svg-feature-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }

    .home-svg-feature-visual {
        min-height: 84px;
        padding: 10px;
        border-radius: 14px;
    }

        .home-svg-feature-visual img {
            max-width: 56px;
            max-height: 56px;
        }

    .home-svg-feature-copy h3 {
        font-size: 0.72rem;
    }

    .home-svg-feature-copy p {
        font-size: 0.64rem;
        line-height: 1.35;
    }

    .home-svg-feature-link {
        font-size: 0.64rem;
    }
}
.home-banner-clean {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.home-banner-clean + .home-index-article,
.section.home-index-article {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.home-index-article .container {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.home-intro-block-full {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.home-main-title {
    margin-top: 0 !important;
}

.home-word-body {
    margin-top: 8px !important;
    padding-top: 0 !important;
}

@media (max-width: 768px) {
    .home-word-body {
        margin-top: 6px !important;
    }
}
/* ===== FINAL FIX: HOME BANNER + GAP BELOW ===== */

.home-banner-clean::before,
.home-banner-clean::after,
.home-banner-clean-bg::before,
.home-banner-clean-bg::after {
    content: none !important;
    display: none !important;
}

.home-banner-clean {
    position: relative !important;
    width: 100% !important;
    min-height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #f7f7f4 !important;
}

.home-banner-clean-bg {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    line-height: 0 !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

    .home-banner-clean-bg img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        display: block !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

.home-banner-clean-content {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

.home-banner-clean-content-top {
    justify-content: flex-start !important;
    padding-top: clamp(18px, 2.2vw, 34px) !important;
}

.home-banner-clean-kicker {
    display: none !important;
}

.home-banner-clean-title {
    margin: 0 0 10px !important;
    max-width: 980px !important;
    font-size: clamp(2rem, 3.15vw, 3.7rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.03em !important;
    white-space: normal !important;
}

.home-banner-clean-subtitle {
    margin: 0 0 10px !important;
    max-width: 760px !important;
    line-height: 1.28 !important;
}

.home-banner-clean-date {
    margin: 0 0 18px !important;
}

.home-banner-clean-actions {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.home-index-article {
    margin: 0 !important;
    padding: 8px 0 0 !important;
}

    .home-index-article .container {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

.home-intro-block,
.home-intro-block-full {
    margin-top: 0 !important;
    padding-top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.home-main-title {
    margin: 0 0 18px !important;
    max-width: none !important;
    font-size: clamp(2rem, 2.4vw, 2.5rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.02em !important;
    white-space: normal !important;
    text-align: left !important;
}

.home-word-body {
    margin-top: 0 !important;
    padding-top: 0 !important;
    text-align: left !important;
}

    .home-word-body p:first-child {
        margin-top: 0 !important;
    }

@media (max-width: 1024px) {
    .home-banner-clean-title,
    .home-main-title {
        white-space: normal !important;
    }
}

@media (max-width: 768px) {
    .home-banner-clean {
        min-height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .home-banner-clean-content-top {
        padding-top: 14px !important;
    }

    .home-banner-clean-title {
        font-size: clamp(1.55rem, 6vw, 2.15rem) !important;
        line-height: 1.1 !important;
    }

    .home-main-title {
        font-size: clamp(1.3rem, 5.3vw, 1.8rem) !important;
        line-height: 1.16 !important;
        margin-bottom: 14px !important;
    }

    .home-index-article {
        padding-top: 4px !important;
    }
}
/* ===== LOGO SAME SIZE + BANNER TITLE ONE LINE ===== */

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.site-logo {
    width: 220px !important;
    height: 64px !important;
    max-width: 220px !important;
    max-height: 64px !important;
    object-fit: contain !important;
    object-position: left center !important;
    flex: 0 0 220px !important;
    display: block !important;
}

.site-brand-code {
    flex: 0 0 auto;
    white-space: nowrap;
}

/*.home-banner-clean .container.home-banner-clean-content {
    width: min(1820px, calc(100% - 36px)) !important;
    max-width: none !important;
    margin-left: 18px !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.home-banner-clean-title {
    max-width: none !important;
    width: auto !important;
    font-size: clamp(1.9rem, 2.55vw, 3.15rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.04em !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
}

@media (max-width: 1200px) {
    .site-logo {
        width: 190px !important;
        height: 56px !important;
        max-width: 190px !important;
        max-height: 56px !important;
        flex-basis: 190px !important;
    }

    .home-banner-clean-title {
        white-space: normal !important;
        text-wrap: balance !important;
    }
}

@media (max-width: 768px) {
    .site-logo {
        width: 150px !important;
        height: 46px !important;
        max-width: 150px !important;
        max-height: 46px !important;
        flex-basis: 150px !important;
    }

    .home-banner-clean .container.home-banner-clean-content {
        width: min(100%, calc(100% - 22px)) !important;
        margin: 0 auto !important;
    }

    .home-banner-clean-title {
        white-space: normal !important;
        text-wrap: balance !important;
        font-size: clamp(1.55rem, 6vw, 2.15rem) !important;
    }
}*/
/* ===== FINAL FIX: LOGO SAME VISUAL SIZE + BANNER TITLE ONE LINE ===== */

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.site-logo-wrap {
    width: 240px;
    height: 78px;
    flex: 0 0 240px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
}

.site-logo {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: left center !important;
}

/* cân lại logo 2 ngôn ngữ để nhìn cùng cỡ hơn */
.site-logo-wrap.is-en .site-logo {
    transform: scale(1.45);
    transform-origin: left center;
}

.site-logo-wrap.is-vi .site-logo {
    transform: scale(1.75);
    transform-origin: left center;
}

.site-brand-code {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 18px;
    font-weight: 800;
}

/* giữ title banner 1 dòng trên desktop */
/*.home-banner-clean .container.home-banner-clean-content {
    width: min(1860px, calc(100% - 36px)) !important;
    max-width: none !important;
    margin-left: 18px !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.home-banner-clean-title {
    max-width: none !important;
    width: auto !important;
    font-size: clamp(1.95rem, 2.5vw, 3.1rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.04em !important;
    white-space: nowrap !important;
    text-wrap: nowrap !important;
}

@media (max-width: 1200px) {
    .site-logo-wrap {
        width: 210px;
        height: 68px;
        flex-basis: 210px;
    }

        .site-logo-wrap.is-en .site-logo {
            transform: scale(1.24);
        }

    .home-banner-clean-title {
        white-space: normal !important;
        text-wrap: balance !important;
    }
}

@media (max-width: 768px) {
    .site-logo-wrap {
        width: 168px;
        height: 52px;
        flex-basis: 168px;
    }

        .site-logo-wrap.is-en .site-logo {
            transform: scale(1.18);
        }

    .site-brand {
        gap: 12px;
    }

    .site-brand-code {
        font-size: 16px;
    }

    .home-banner-clean .container.home-banner-clean-content {
        width: min(100%, calc(100% - 22px)) !important;
        margin: 0 auto !important;
    }

    .home-banner-clean-title {
        white-space: normal !important;
        text-wrap: balance !important;
        font-size: clamp(1.55rem, 6vw, 2.15rem) !important;
    }
}*/
/* ===== MOBILE BANNER: RESIZE IMAGE THEO KHUNG, KHONG DE AN NOI DUNG ===== */
/*@media (max-width: 768px) {
    .home-banner-clean {
        position: relative !important;
        min-height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        background: #f7f7f4 !important;
    }

    .home-banner-clean-bg {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        line-height: 0 !important;
        opacity: 1 !important;
        pointer-events: none !important;
    }

        .home-banner-clean-bg img {
            width: 100% !important;
            height: auto !important;
            display: block !important;
            object-fit: contain !important;
            object-position: center center !important;
        }

    .home-banner-clean .container.home-banner-clean-content,
    .home-banner-clean-content,
    .home-banner-clean-content-top {
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        padding-top: 12px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .home-banner-clean-title {
        max-width: 60% !important;
        font-size: 1.9rem !important;
        line-height: 1.06 !important;
        margin: 0 0 8px !important;
        white-space: normal !important;
        text-wrap: balance !important;
    }

    .home-banner-clean-subtitle {
        max-width: 58% !important;
        font-size: 0.95rem !important;
        line-height: 1.2 !important;
        margin: 0 0 8px !important;
    }

    .home-banner-clean-date {
        max-width: 58% !important;
        font-size: 0.88rem !important;
        line-height: 1.3 !important;
        margin: 0 0 10px !important;
    }

    .home-banner-clean-actions {
        width: min(230px, 60%) !important;
        gap: 8px !important;
    }

    .hero-btn {
        width: 100% !important;
        min-height: 40px !important;
        padding: 0 12px !important;
        font-size: 0.9rem !important;
    }
}*/
/* ===== MOBILE FIX: BANNER KHONG BI CAT CHU ===== */
/*@media (max-width: 768px) {
    .home-banner-clean {
        position: relative !important;
        min-height: 560px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .home-banner-clean-bg {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        line-height: 0 !important;
        opacity: 1 !important;
    }

        .home-banner-clean-bg img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
            object-position: right center !important;
            display: block !important;
        }

    .home-banner-clean .container.home-banner-clean-content,
    .home-banner-clean-content,
    .home-banner-clean-content-top {
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        padding-top: 16px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .home-banner-clean-title {
        max-width: 72% !important;
        font-size: 2rem !important;
        line-height: 1.06 !important;
        white-space: normal !important;
        text-wrap: balance !important;
        letter-spacing: -0.02em !important;
        margin: 0 0 8px !important;
    }

    .home-banner-clean-subtitle {
        max-width: 68% !important;
        font-size: 1rem !important;
        line-height: 1.22 !important;
        margin: 0 0 8px !important;
    }

    .home-banner-clean-date {
        max-width: 72% !important;
        font-size: 0.92rem !important;
        line-height: 1.35 !important;
        margin: 0 0 12px !important;
    }

    .home-banner-clean-actions {
        width: min(260px, 72%) !important;
        gap: 8px !important;
    }

    .hero-btn {
        width: 100% !important;
        min-height: 42px !important;
        padding: 0 14px !important;
        font-size: 0.92rem !important;
    }

    .home-index-article {
        padding-top: 8px !important;
        margin-top: 0 !important;
    }
}*/
/* ===== MOBILE BANNER: RESIZE IMAGE THEO KHUNG, KHONG DE AN NOI DUNG ===== */
/*@media (max-width: 768px) {
    .home-banner-clean {
        position: relative !important;
        min-height: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        background: #f7f7f4 !important;
    }

    .home-banner-clean-bg {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        line-height: 0 !important;
        opacity: 1 !important;
        pointer-events: none !important;
    }

        .home-banner-clean-bg img {
            width: 100% !important;
            height: auto !important;
            display: block !important;
            object-fit: contain !important;
            object-position: center center !important;
        }

    .home-banner-clean .container.home-banner-clean-content,
    .home-banner-clean-content,
    .home-banner-clean-content-top {
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        padding-top: 12px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .home-banner-clean-title {
        max-width: 60% !important;
        font-size: 1.9rem !important;
        line-height: 1.06 !important;
        margin: 0 0 8px !important;
        white-space: normal !important;
        text-wrap: balance !important;
    }

    .home-banner-clean-subtitle {
        max-width: 58% !important;
        font-size: 0.95rem !important;
        line-height: 1.2 !important;
        margin: 0 0 8px !important;
    }

    .home-banner-clean-date {
        max-width: 58% !important;
        font-size: 0.88rem !important;
        line-height: 1.3 !important;
        margin: 0 0 10px !important;
    }

    .home-banner-clean-actions {
        width: min(230px, 60%) !important;
        gap: 8px !important;
    }

    .hero-btn {
        width: 100% !important;
        min-height: 40px !important;
        padding: 0 12px !important;
        font-size: 0.9rem !important;
    }
}*/
/* ===== FINAL MOBILE BANNER ONLY ===== */
/*@media (max-width: 768px) {
    .home-banner-clean {
        position: relative !important;
        min-height: 520px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        background: #f7f7f4 !important;
    }

    .home-banner-clean-bg {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        line-height: 0 !important;
        opacity: 1 !important;
        pointer-events: none !important;
    }

        .home-banner-clean-bg img {
            width: 100% !important;
            height: 100% !important;
            display: block !important;
            object-fit: cover !important;
            object-position: 72% center !important;
        }

    .home-banner-clean .container.home-banner-clean-content,
    .home-banner-clean-content,
    .home-banner-clean-content-top {
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        padding-top: 14px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        padding-bottom: 14px !important;
    }

    .home-banner-clean-title {
        max-width: 58% !important;
        margin: 0 0 8px !important;
        font-size: 1.72rem !important;
        line-height: 1.05 !important;
        letter-spacing: -0.02em !important;
        white-space: normal !important;
        text-wrap: balance !important;
    }

    .home-banner-clean-subtitle {
        max-width: 56% !important;
        margin: 0 0 8px !important;
        font-size: 0.96rem !important;
        line-height: 1.2 !important;
    }

    .home-banner-clean-date {
        max-width: 56% !important;
        margin: 0 0 10px !important;
        font-size: 0.88rem !important;
        line-height: 1.28 !important;
    }

    .home-banner-clean-actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 210px !important;
        max-width: 56% !important;
    }

    .hero-btn {
        width: 100% !important;
        min-height: 40px !important;
        padding: 0 12px !important;
        font-size: 0.9rem !important;
    }

    .home-index-article {
        padding-top: 6px !important;
        margin-top: 0 !important;
    }
}*/
@media (max-width: 768px) {
    .home-banner-clean {
        position: relative !important;
        min-height: 500px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        background: #f7f7f4 !important;
    }

        .home-banner-clean::before {
            content: "" !important;
            position: absolute !important;
            inset: 0 !important;
            z-index: 1 !important;
            background: linear-gradient( 90deg, rgba(247, 247, 244, 0.94) 0%, rgba(247, 247, 244, 0.86) 30%, rgba(247, 247, 244, 0.42) 56%, rgba(247, 247, 244, 0.08) 74%, rgba(247, 247, 244, 0) 100% ) !important;
        }

    .home-banner-clean-bg {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 0 !important;
        opacity: 1 !important;
        pointer-events: none !important;
        line-height: 0 !important;
    }

        .home-banner-clean-bg img {
            width: 100% !important;
            height: 100% !important;
            max-width: none !important;
            display: block !important;
            object-fit: cover !important;
            object-position: 72% bottom !important;
            transform: scale(1.12) !important;
            transform-origin: center bottom !important;
        }

    .home-banner-clean .container.home-banner-clean-content,
    .home-banner-clean-content,
    .home-banner-clean-content-top {
        position: absolute !important;
        inset: 0 !important;
        z-index: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px 12px 14px !important;
    }

    .home-banner-clean-title {
        max-width: 62% !important;
        margin: 0 0 8px !important;
        font-size: 1.7rem !important;
        line-height: 1.06 !important;
        letter-spacing: -0.02em !important;
        white-space: normal !important;
        text-wrap: balance !important;
    }

    .home-banner-clean-subtitle {
        max-width: 60% !important;
        margin: 0 0 8px !important;
        font-size: 0.98rem !important;
        line-height: 1.22 !important;
    }

    .home-banner-clean-date {
        max-width: 60% !important;
        margin: 0 0 12px !important;
        font-size: 0.92rem !important;
        line-height: 1.3 !important;
    }

    .home-banner-clean-actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 210px !important;
        max-width: 60% !important;
    }

    .hero-btn {
        width: 100% !important;
        min-height: 42px !important;
        padding: 0 14px !important;
        font-size: 0.92rem !important;
    }

    .home-index-article {
        padding-top: 6px !important;
        margin-top: 0 !important;
    }
}
/* ===== SPEAKERS PAGE CLEAN ===== */

.speakers-page-hero-simple {
    padding-bottom: 10px;
}

.speakers-hero-shell-simple {
    background: linear-gradient(135deg, #f5fbf8, #eef8f3);
    border: 1px solid var(--line);
    border-radius: 24px;
    padding: 28px 30px;
    box-shadow: var(--shadow);
}

    .speakers-hero-shell-simple h1 {
        margin: 14px 0 0;
        color: #1f2430;
        font-size: clamp(2rem, 3.6vw, 3rem);
        line-height: 1.08;
        letter-spacing: -0.03em;
        text-wrap: balance;
    }

.speakers-simple-head {
    margin-bottom: 22px;
}

.speakers-simple-head-committee {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.speakers-grid-luxe {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}

.speaker-card-luxe {
    display: flex;
    flex-direction: column;
}

.speaker-card-button {
    width: 100%;
    height: 100%;
    padding: 14px;
    border: 0;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(247,250,248,0.98) 100%);
    box-shadow: 0 18px 44px rgba(22, 47, 93, 0.10);
    text-align: left;
    cursor: pointer;
    transition: transform .28s ease, box-shadow .28s ease;
    display: flex;
    flex-direction: column;
}

    .speaker-card-button:hover {
        transform: translateY(-6px);
        box-shadow: 0 24px 52px rgba(22, 47, 93, 0.14);
    }

    .speaker-card-button.open {
        box-shadow: 0 24px 52px rgba(22, 47, 93, 0.14);
    }

.speaker-card-visual {
    width: 100%;
    display: block;
    flex: 0 0 auto;
}

.speaker-card-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 4.8;
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(180deg, #edf5f0 0%, #e4eee8 100%);
}

.speaker-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform .45s ease;
}

.speaker-card-button:hover .speaker-card-image {
    transform: scale(1.03);
}

.speaker-card-image-placeholder,
.committee-card-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
}

.speaker-card-placeholder-circle,
.committee-card-placeholder-circle {
    width: 112px;
    height: 112px;
    border-radius: 999px;
    background: #1f6f59;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    font-weight: 700;
    box-shadow: 0 14px 30px rgba(31, 111, 89, 0.20);
}

.speaker-card-body {
    padding: 18px 8px 8px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

.speaker-card-title {
    margin: 0 0 10px;
    color: #1f2430;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.3rem, 1.8vw, 1.7rem);
    line-height: 1.18;
    font-weight: 700;
    text-wrap: balance;
}

.speaker-card-org {
    margin: 0 0 8px;
    color: #495a72;
    line-height: 1.45;
    text-align: left;
    min-height: 1.45em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: clamp(0.82rem, 1vw, 0.94rem);
}

.speaker-card-role {
    margin: 0;
    color: #1f8a66;
    font-weight: 700;
    line-height: 1.45;
    text-align: left;
    min-height: 1.45em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: clamp(0.76rem, 0.9vw, 0.90rem);
}

.speaker-card-action {
    margin-top: auto;
    padding-top: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: #1f2430;
    font-weight: 800;
    line-height: 1.4;
}

.speaker-card-arrow {
    width: 46px;
    height: 46px;
    border-radius: 999px;
    border: 1.7px solid rgba(31, 36, 48, 0.40);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #1f2430;
    font-size: 1.35rem;
    transition: all .24s ease;
    flex: 0 0 46px;
}

.speaker-card-button:hover .speaker-card-arrow,
.speaker-card-button.open .speaker-card-arrow {
    background: #1f6f59;
    color: #fff;
    border-color: #1f6f59;
    transform: translateX(2px);
}

.speaker-card-panel {
    display: none;
    margin-top: 16px;
}

    .speaker-card-panel.open {
        display: block;
    }

.speaker-card-panel-inner {
    padding: 24px 24px 22px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid rgba(27, 47, 91, 0.08);
    box-shadow: 0 16px 38px rgba(22, 47, 93, 0.08);
}

    .speaker-card-panel-inner h4 {
        margin: 0 0 14px;
        color: #1d2f57;
        font-family: "Playfair Display", serif;
        font-size: 1.18rem;
        line-height: 1.45;
    }

    .speaker-card-panel-inner p {
        margin: 0 0 14px;
        color: #384860;
        line-height: 1.9;
        text-align: justify;
        text-align-last: left;
    }

        .speaker-card-panel-inner p:last-child {
            margin-bottom: 0;
        }

.speakers-committee-shell {
    padding: 30px;
    border-radius: 28px;
}

.committee-grid-luxe {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.committee-card-luxe {
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(247,250,248,0.98) 100%);
    border: 1px solid rgba(27, 47, 91, 0.08);
    box-shadow: 0 14px 34px rgba(22, 47, 93, 0.08);
    transition: transform .24s ease, box-shadow .24s ease;
}

    .committee-card-luxe:hover {
        transform: translateY(-4px);
        box-shadow: 0 20px 42px rgba(22, 47, 93, 0.12);
    }

.committee-card-image-wrap {
    width: 100%;
    aspect-ratio: 4 / 4.7;
    overflow: hidden;
    background: linear-gradient(180deg, #edf5f0 0%, #e4eee8 100%);
}

.committee-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform .4s ease;
}

.committee-card-luxe:hover .committee-card-image {
    transform: scale(1.03);
}

.committee-card-body {
    padding: 18px 18px 20px;
}

    .committee-card-body h3 {
        margin: 0 0 8px;
        color: #1f2430;
        font-family: "Playfair Display", serif;
        font-size: 1.03rem;
        line-height: 1.35;
        font-weight: 700;
    }

    .committee-card-body p {
        margin: 0;
        color: #5c6c84;
        font-size: 0.96rem;
        line-height: 1.72;
        text-align: left;
    }

.pending-note {
    margin-top: 6px;
    color: #5c6c84;
    font-style: italic;
}

@media (max-width: 1280px) {
    .committee-grid-luxe {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .speakers-grid-luxe {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .committee-grid-luxe {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .speakers-hero-shell-simple {
        padding: 22px 20px;
        border-radius: 20px;
    }

        .speakers-hero-shell-simple h1 {
            font-size: 1.85rem;
        }

    .speakers-grid-luxe,
    .committee-grid-luxe {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .speaker-card-button {
        padding: 12px;
        border-radius: 24px;
    }

    .speaker-card-image-wrap,
    .committee-card-image-wrap {
        aspect-ratio: 4 / 4.5;
        border-radius: 18px;
    }

    .speaker-card-body {
        padding: 16px 6px 6px;
    }

    .speaker-card-title {
        font-size: 1.18rem;
    }

    .speaker-card-org,
    .speaker-card-role,
    .speaker-card-panel-inner p,
    .committee-card-body p {
        font-size: 15px;
        line-height: 1.55;
    }

    .speaker-card-org,
    .speaker-card-role {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .speaker-card-arrow {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
        flex-basis: 40px;
    }

    .speaker-card-panel-inner,
    .speakers-committee-shell {
        padding: 20px 18px 18px;
        border-radius: 18px;
    }

    .committee-card-luxe {
        border-radius: 20px;
    }

    .committee-card-body {
        padding: 16px 16px 18px;
    }

    .speaker-card-placeholder-circle,
    .committee-card-placeholder-circle {
        width: 92px;
        height: 92px;
        font-size: 1.7rem;
    }
}
/* ===== DESKTOP BANNER: SAT LE TRAI + TITLE 1 DONG ===== */
@media (min-width: 1025px) {
    .home-banner-clean .container.home-banner-clean-content {
        width: calc(100% - 24px) !important;
        max-width: none !important;
        margin-left: 12px !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .home-banner-clean-content-top {
        padding-top: 18px !important;
    }

    .home-banner-clean-title {
        max-width: none !important;
        width: auto !important;
        margin: 0 0 10px !important;
        font-size: clamp(2rem, 2.55vw, 3.15rem) !important;
        line-height: 1.05 !important;
        letter-spacing: -0.04em !important;
        white-space: nowrap !important;
        text-wrap: nowrap !important;
    }

    .home-banner-clean-subtitle,
    .home-banner-clean-date,
    .home-banner-clean-actions {
        margin-left: 0 !important;
    }
}
.host-feature-article,
.host-feature-article h2,
.host-feature-article p,
.host-plain-block,
.host-plain-block h3,
.host-plain-block p,
.host-link-wrap {
    text-align: left !important;
}

    .host-feature-article p,
    .host-plain-block p {
        text-justify: auto !important;
    }
/* ===== ADMIN ===== */
.admin-shell {
    padding-top: 72px;
    padding-bottom: 72px;
}

.admin-shell-immersive {
    background:
        radial-gradient(circle at top left, rgba(71, 128, 255, 0.12), transparent 24%),
        radial-gradient(circle at top right, rgba(31, 111, 89, 0.12), transparent 22%),
        linear-gradient(180deg, #f4f8ff 0%, #f8fbff 42%, #ffffff 100%);
}

.admin-login-shell {
    min-height: calc(100vh - 120px);
    display: flex;
    align-items: center;
    background:
        radial-gradient(circle at 15% 20%, rgba(41, 98, 255, 0.16), transparent 24%),
        radial-gradient(circle at 85% 15%, rgba(31, 111, 89, 0.18), transparent 22%),
        linear-gradient(180deg, #eef4ff 0%, #f8fbff 55%, #ffffff 100%);
}

.admin-login-wrap,
.admin-panel-wrap {
    width: min(1320px, calc(100% - 40px));
}

.admin-login-card,
.admin-translation-card,
.admin-toolbar,
.admin-save-bar,
.admin-alert,
.admin-sidebar,
.admin-content-panel {
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(29, 47, 87, 0.09);
    border-radius: 28px;
    box-shadow: 0 24px 60px rgba(21, 39, 77, 0.08);
    backdrop-filter: blur(10px);
}

.admin-login-card {
    max-width: 620px;
    margin: 0 auto;
    padding: 38px;
}

.admin-login-card-rich {
    position: relative;
    overflow: hidden;
}

.admin-login-card-rich::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 10px;
    background: linear-gradient(90deg, #1f6f59, #2f80ed, #5b8cff);
}

.admin-login-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(47, 128, 237, 0.10);
    color: #214f9b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-login-card h1,
.admin-toolbar h1,
.admin-sidebar h2 {
    margin: 10px 0 8px;
    color: var(--heading);
}

.admin-login-note,
.admin-toolbar p,
.admin-sidebar-head p,
.admin-save-description {
    margin-top: 0;
    color: #607089;
}

.admin-login-credentials {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0 8px;
}

.admin-login-credentials > div {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border-radius: 18px;
    background: #f5f8ff;
    border: 1px solid rgba(47, 128, 237, 0.10);
}

.admin-login-credentials span {
    font-size: 12px;
    font-weight: 700;
    color: #617493;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.admin-login-credentials strong {
    color: var(--heading);
    font-size: 1rem;
}

.admin-login-form,
.admin-editor-form {
    display: grid;
    gap: 18px;
}

.admin-login-form label,
.admin-grid label {
    display: grid;
    gap: 8px;
}

.admin-login-form span,
.admin-grid span {
    color: var(--heading);
    font-weight: 700;
}

.admin-login-form input,
.admin-search-input,
.admin-grid textarea,
.admin-link-input {
    width: 100%;
    border: 1px solid rgba(35, 50, 75, 0.14);
    border-radius: 18px;
    padding: 14px 16px;
    font: inherit;
    color: var(--text);
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.admin-login-form input:focus,
.admin-search-input:focus,
.admin-grid textarea:focus,
.admin-link-input:focus {
    outline: none;
    border-color: rgba(47, 128, 237, 0.55);
    box-shadow: 0 0 0 4px rgba(47, 128, 237, 0.10);
}

.admin-grid textarea {
    min-height: 170px;
    resize: vertical;
    line-height: 1.7;
}

.admin-btn-full {
    width: 100%;
}

.admin-button {
    min-height: 50px;
    padding: 0 22px;
    border: 0;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font: inherit;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.admin-button:hover {
    transform: translateY(-1px);
}

.admin-button:active {
    transform: translateY(0);
}

.admin-button-primary {
    color: #fff;
    background: linear-gradient(135deg, #1f6f59 0%, #2f80ed 100%);
    box-shadow: 0 14px 28px rgba(47, 128, 237, 0.20);
}

.admin-button-primary:hover {
    box-shadow: 0 18px 34px rgba(47, 128, 237, 0.26);
}

.admin-button-ghost {
    color: var(--heading);
    background: #ffffff;
    border: 1px solid rgba(29, 47, 87, 0.12);
    box-shadow: 0 10px 22px rgba(21, 39, 77, 0.06);
}

.admin-button-ghost:hover {
    box-shadow: 0 14px 26px rgba(21, 39, 77, 0.10);
}

.admin-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 28px 30px;
    margin-bottom: 20px;
    align-items: flex-start;
}

.admin-toolbar-hero {
    position: relative;
    overflow: hidden;
}

.admin-toolbar-hero::after {
    content: "";
    position: absolute;
    inset: auto -80px -80px auto;
    width: 240px;
    height: 240px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(31, 111, 89, 0.10), transparent 65%);
    pointer-events: none;
}

.admin-toolbar-actions {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.admin-search-input {
    min-width: 300px;
}

.admin-btn-light {
    border: 1px solid rgba(29, 47, 87, 0.10);
    background: #fff;
    color: var(--heading);
}

.admin-alert {
    padding: 14px 18px;
    margin-bottom: 16px;
}

.admin-alert-success {
    border-color: rgba(31, 111, 89, 0.25);
    background: #eef8f3;
    color: #17503f;
}

.admin-alert-error {
    border-color: rgba(193, 124, 82, 0.3);
    background: #fff4ef;
    color: #8d4b2c;
}

.admin-workspace {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.admin-sidebar {
    padding: 22px;
    position: sticky;
    top: 110px;
}

.admin-sidebar-head {
    margin-bottom: 16px;
}

.admin-page-menu {
    display: grid;
    gap: 10px;
}

.admin-page-link {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 20px;
    text-decoration: none;
    color: inherit;
    border: 1px solid rgba(29, 47, 87, 0.08);
    background: #ffffff;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.admin-page-link:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(21, 39, 77, 0.07);
    border-color: rgba(47, 128, 237, 0.22);
}

.admin-page-link.active {
    background: linear-gradient(135deg, #1f6f59 0%, #2f80ed 100%);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 20px 34px rgba(47, 128, 237, 0.22);
}

.admin-page-link-text {
    display: grid;
    gap: 6px;
}

.admin-page-link-text strong {
    font-size: 1rem;
}

.admin-page-link-text small {
    color: inherit;
    opacity: 0.82;
    line-height: 1.5;
}

.admin-page-count {
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(47, 128, 237, 0.10);
    color: #214f9b;
    font-weight: 800;
}

.admin-page-link.active .admin-page-count {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.admin-content-panel {
    padding: 22px;
}

.admin-save-bar {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    align-items: center;
    position: sticky;
    top: 104px;
    z-index: 20;
    margin-bottom: 18px;
}

.admin-save-bar-top {
    background: linear-gradient(180deg, rgba(245, 249, 255, 0.98), rgba(255, 255, 255, 0.98));
}

.admin-save-bar-bottom {
    position: static;
    margin-top: 18px;
}

.admin-translation-card {
    padding: 22px;
    margin-bottom: 18px;
}

.admin-card-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.admin-card-head h3 {
    margin: 10px 0 0;
    color: var(--heading);
}

.admin-card-head code {
    white-space: nowrap;
    overflow: auto;
    max-width: 42%;
    padding: 10px 12px;
    border-radius: 14px;
    background: #f4f7fb;
    color: var(--brand-dark);
    font-size: 0.92rem;
}

.admin-page-chip {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border-radius: 999px;
    background: var(--brand-soft);
    color: var(--brand-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.admin-page-chip-soft {
    background: #eef4ff;
    color: #2453a5;
}

.admin-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.admin-link-editor {
    display: grid;
    gap: 12px;
}

.admin-field-help {
    font-size: 13px;
    line-height: 1.6;
    color: rgba(70, 85, 110, 0.92);
}


@media (max-width: 1100px) {
    .admin-workspace {
        grid-template-columns: 1fr;
    }

    .admin-sidebar {
        position: static;
    }
}

@media (max-width: 860px) {
    .admin-toolbar,
    .admin-save-bar,
    .admin-card-head {
        flex-direction: column;
    }

    .admin-content-panel,
    .admin-sidebar,
    .admin-toolbar,
    .admin-login-card {
        padding: 20px;
        border-radius: 22px;
    }

    .admin-card-head code {
        max-width: 100%;
        white-space: normal;
        word-break: break-word;
    }

    .admin-search-input,
    .admin-login-credentials {
        min-width: 100%;
        grid-template-columns: 1fr;
    }

    .admin-grid {
        grid-template-columns: 1fr;
    }
}



/* ===== v7 content/admin cleanup ===== */
h1,
h2,
h3,
h4,
h5,
h6,
.section-title,
.home-main-title,
.home-section-title,
.page-hero h1,
.home-banner-clean-title,
.home-banner-clean-subtitle,
.speaker-card h3,
.theme-summary-card h3,
.theme-detail-card h2,
.org-card h3,
.admin-toolbar h1,
.admin-sidebar h2,
.admin-translation-card h3,
.admin-login-card h1 {
    font-family: "Inter", system-ui, sans-serif !important;
}

.is-empty-text {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.admin-grid textarea,
.admin-login-form input,
.admin-search-input,
.admin-link-input {
    font-size: 15px;
}

.admin-grid textarea::placeholder,
.admin-login-form input::placeholder,
.admin-search-input::placeholder,
.admin-link-input::placeholder {
    font-family: "Inter", system-ui, sans-serif;
}


/* ===== V8 SAFE EMPTY CONTENT + UNIFIED FONT ===== */
body,
button,
input,
textarea,
select,
option,
table,
th,
td,
label,
span,
a,
p,
li,
div,
h1,
h2,
h3,
h4,
h5,
h6,
.section-title,
.home-main-title,
.home-section-title,
.page-hero h1,
.home-banner-clean-title,
.home-banner-clean-subtitle,
.speaker-card h3,
.theme-summary-card h3,
.theme-detail-card h2,
.org-card h3,
.agenda-title-clean,
.speaker-card-title,
.committee-card-body h3,
.admin-toolbar h1,
.admin-sidebar h2,
.admin-translation-card h3,
.admin-login-card h1,
.admin-button,
.hero-btn,
.btn {
    font-family: "Inter", system-ui, sans-serif !important;
}

p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty,
.section-tag:empty,
.home-svg-feature-link:empty,
.hero-btn:empty,
.btn:empty,
.speaker-card-action:empty,
.committee-note:empty,
.pending-note:empty,
.cta-box:empty,
.submission-block:empty,
.article-card:empty,
.theme-detail-item:empty,
.date-list-item:empty,
.list-numbered-item:empty,
.list-dash-item:empty {
    display: none !important;
}

.home-svg-feature-grid-dynamic.cards-1 {
    grid-template-columns: minmax(0, min(420px, 100%));
}

.home-svg-feature-grid-dynamic.cards-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-svg-feature-grid-dynamic.cards-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-svg-feature-grid-dynamic.cards-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-svg-feature-grid-dynamic.cards-1,
.home-svg-feature-grid-dynamic.cards-2,
.home-svg-feature-grid-dynamic.cards-3 {
    justify-content: flex-start;
}

.home-word-body > *:last-child,
.article-card > *:last-child,
.cta-box > *:last-child,
.submission-block > *:last-child,
.theme-detail-card > *:last-child,
.committee-card-body > *:last-child,
.speaker-card-panel-inner > *:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 768px) {
    .home-svg-feature-grid-dynamic.cards-1 {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-svg-feature-grid-dynamic.cards-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-svg-feature-grid-dynamic.cards-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-svg-feature-grid-dynamic.cards-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}


.speaker-card-split {
    padding: 14px;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(247,250,248,0.98) 100%);
    box-shadow: 0 18px 44px rgba(22, 47, 93, 0.10);
}

.speaker-inline-link {
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1b67c9;
    font-family: "Playfair Display", serif;
    font-size: clamp(1.2rem, 1.8vw, 1.55rem);
    line-height: 1.25;
    font-weight: 700;
    text-align: left;
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
    min-height: 3.1em;
}

.speaker-inline-link-secondary {
    margin-top: auto;
    font-family: inherit;
    font-size: 0.98rem;
    font-weight: 700;
    color: #1b67c9;
    min-height: 3.25em;
}

.speaker-inline-link-secondary > span:first-child {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.speaker-inline-link:hover,
.speaker-inline-link.open {
    text-decoration: underline;
}

.speaker-inline-arrow {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    border: 1.4px solid rgba(27, 103, 201, 0.35);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .78em;
    line-height: 1;
    flex: 0 0 26px;
    transition: transform .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}

.speaker-inline-link:hover .speaker-inline-arrow,
.speaker-inline-link.open .speaker-inline-arrow {
    transform: translateX(2px);
    background: #1b67c9;
    color: #fff;
    border-color: #1b67c9;
}


.speaker-detail-panel {
    margin-top: 14px;
}

.text-link-action {
    color: #1b67c9;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(27,103,201,.25);
}

.text-link-action:hover {
    text-decoration: underline;
}

.text-link-action-strong {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1.02rem;
}

.text-link-action-strong::after {
    content: "↗";
    font-size: .92em;
}

.text-link-action-plain {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1.02rem;
}

.text-link-action-plain::after {
    content: none;
}
/* =========================================================
   SPEAKERS PAGE - MOBILE FIX mạnh tay
   Dán xuống CUỐI file site.css
   ========================================================= */

/* lưới keynote */
.speakers-grid-luxe,
.speakers-grid,
.keynote-grid,
.speaker-grid,
.speakers-list,
.keynote-speakers-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

/* card keynote */
.speaker-card-luxe,
.speaker-card-split,
.speaker-card,
.keynote-card,
.speaker-item,
.speakers-grid-luxe > *,
.speakers-grid > *,
.keynote-grid > *,
.speaker-grid > * {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 22px !important;
    background: #fff !important;
    border: 1px solid rgba(20, 40, 80, 0.08) !important;
    box-shadow: 0 10px 24px rgba(19, 37, 74, 0.08) !important;
    overflow: hidden !important;
}

/* wrapper ảnh */
.speaker-card-visual,
.speaker-card-image-wrap,
.speaker-image-wrap,
.speaker-thumb,
.keynote-card-image,
.keynote-image-wrap,
.speakers-grid-luxe > * > img,
.speakers-grid > * > img,
.keynote-grid > * > img,
.speaker-grid > * > img {
    flex: 0 0 auto !important;
}

/* ép ảnh đẹp lại */
.speaker-card-visual img,
.speaker-card-image,
.speaker-card-image-wrap img,
.speaker-image-wrap img,
.speaker-thumb img,
.keynote-card-image img,
.keynote-image-wrap img,
.speaker-card img,
.keynote-card img,
.speaker-item img,
.speakers-grid-luxe img,
.speakers-grid img,
.keynote-grid img,
.speaker-grid img {
    width: 100% !important;
    /* height: 360px !important; */
    /* max-height: 360px !important; */
    min-height: 360px !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
    border-radius: 18px !important;
    margin: 0 !important;
}

/* phần text trong card */
.speaker-card-body,
.speaker-content,
.keynote-card-body,
.speaker-card-content,
.speaker-meta,
.speaker-info,
.speaker-item-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 14px 16px 18px !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
}

/* tên speaker */
.speaker-inline-link,
.speaker-name a,
.speaker-card h3 a,
.speaker-card h4 a,
.keynote-card h3 a,
.keynote-card h4 a,
.speaker-item h3 a,
.speaker-item h4 a {
    color: #1b67c9 !important;
    font-size: 1.08rem !important;
    font-weight: 800 !important;
    line-height: 1.32 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* dòng trường / đơn vị */
.speaker-card-org,
.speaker-org,
.speaker-school,
.speaker-subtitle,
.speaker-meta .org,
.keynote-org,
.keynote-school {
    color: #66768b !important;
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin: 0 !important;
}

/* dòng chức danh */
.speaker-card-role,
.speaker-role,
.speaker-position,
.keynote-role,
.keynote-position {
    color: #1c7c61 !important;
    font-size: 0.84rem !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin: 0 !important;
}

/* keynote title */
.speaker-inline-link-secondary,
.speaker-talk-link,
.speaker-topic a,
.keynote-title a,
.keynote-topic a {
    color: #1b67c9 !important;
    font-size: 0.94rem !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin-top: 4px !important;
}

/* clamp cho title keynote */
.speaker-inline-link-secondary > span:first-child,
.speaker-talk-link > span:first-child,
.speaker-topic a > span:first-child,
.keynote-title a > span:first-child,
.keynote-topic a > span:first-child {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-align: left !important;
}

/* icon mũi tên tròn */
.speaker-inline-arrow,
.speaker-link-arrow,
.keynote-arrow,
.speaker-arrow {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    border-radius: 999px !important;
    border: 1.4px solid rgba(27, 103, 201, 0.35) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    line-height: 1 !important;
    color: #1b67c9 !important;
}

/* panel nội dung mở ra */
.speaker-detail-panel,
.speaker-panel,
.keynote-panel,
.speaker-bio-panel,
.speaker-summary-panel {
    margin-top: 10px !important;
}

.speaker-card-panel-inner,
.speaker-panel-inner,
.keynote-panel-inner,
.speaker-detail-inner {
    padding: 14px 15px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(20, 40, 80, 0.08) !important;
    background: #f9fbfc !important;
    box-shadow: none !important;
}

.speaker-card-panel-inner h4,
.speaker-panel-inner h4,
.keynote-panel-inner h4,
.speaker-detail-inner h4 {
    margin: 0 0 8px !important;
    font-size: 0.98rem !important;
    line-height: 1.4 !important;
    color: #1d2f57 !important;
    font-weight: 800 !important;
}

.speaker-card-panel-inner p,
.speaker-panel-inner p,
.keynote-panel-inner p,
.speaker-detail-inner p {
    margin: 0 0 10px !important;
    font-size: 0.93rem !important;
    line-height: 1.66 !important;
    color: #465366 !important;
    text-align: left !important;
}

/* mobile fix mạnh */
@media (max-width: 991.98px) {
    .speakers-grid-luxe,
    .speakers-grid,
    .keynote-grid,
    .speaker-grid,
    .speakers-list,
    .keynote-speakers-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .speaker-card-visual img,
    .speaker-card-image,
    .speaker-card-image-wrap img,
    .speaker-image-wrap img,
    .speaker-thumb img,
    .keynote-card-image img,
    .keynote-image-wrap img,
    .speaker-card img,
    .keynote-card img,
    .speaker-item img,
    .speakers-grid-luxe img,
    .speakers-grid img,
    .keynote-grid img,
    .speaker-grid img {
        height: 300px !important;
        max-height: 300px !important;
        min-height: 300px !important;
        border-radius: 16px !important;
    }

    .speaker-card-body,
    .speaker-content,
    .keynote-card-body,
    .speaker-card-content,
    .speaker-meta,
    .speaker-info,
    .speaker-item-body {
        padding: 12px 14px 16px !important;
        gap: 6px !important;
    }

    .speaker-inline-link,
    .speaker-name a,
    .speaker-card h3 a,
    .speaker-card h4 a,
    .keynote-card h3 a,
    .keynote-card h4 a,
    .speaker-item h3 a,
    .speaker-item h4 a {
        font-size: 1rem !important;
        line-height: 1.3 !important;
    }

    .speaker-card-org,
    .speaker-org,
    .speaker-school,
    .speaker-subtitle,
    .speaker-meta .org,
    .keynote-org,
    .keynote-school {
        font-size: 0.84rem !important;
    }

    .speaker-card-role,
    .speaker-role,
    .speaker-position,
    .keynote-role,
    .keynote-position {
        font-size: 0.79rem !important;
    }

    .speaker-inline-link-secondary,
    .speaker-talk-link,
    .speaker-topic a,
    .keynote-title a,
    .keynote-topic a {
        font-size: 0.88rem !important;
        line-height: 1.42 !important;
    }
}

/* ===== admin rich editor + html output ===== */
.admin-workspace {
    align-items: stretch;
}

.admin-sidebar {
    max-height: calc(100vh - 136px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.admin-page-menu {
    overflow: auto;
    padding-right: 6px;
}

.admin-page-menu::-webkit-scrollbar {
    width: 10px;
}

.admin-page-menu::-webkit-scrollbar-thumb {
    background: rgba(31, 111, 89, 0.22);
    border-radius: 999px;
}

.admin-editor-field {
    align-items: start;
}

.admin-editor-shell {
    width: 100%;
    border: 1px solid rgba(35, 50, 75, 0.14);
    border-radius: 20px;
    background: #fff;
    overflow: hidden;
}

.admin-editor-shell:focus-within {
    border-color: rgba(47, 128, 237, 0.55);
    box-shadow: 0 0 0 4px rgba(47, 128, 237, 0.10);
}

.admin-editor-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 12px 0;
}

.admin-toolbar-tool,
.admin-toolbar-select,
.admin-html-toggle {
    min-height: 38px;
    border: 1px solid rgba(29, 47, 87, 0.12);
    border-radius: 12px;
    background: #f8fbff;
    color: var(--heading);
    font: inherit;
    padding: 0 12px;
}

.admin-toolbar-tool,
.admin-html-toggle {
    cursor: pointer;
}

.admin-toolbar-tool:hover,
.admin-toolbar-select:hover,
.admin-html-toggle:hover {
    background: #eef4ff;
}

.admin-color-tool {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    border: 1px solid rgba(29, 47, 87, 0.12);
    border-radius: 12px;
    background: #f8fbff;
    color: var(--heading);
}

.admin-color-tool input {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    background: transparent;
}

.admin-rich-editor,
.admin-editor-source {
    width: 100%;
    min-height: 220px;
    padding: 16px 18px;
    font: inherit;
    color: var(--text);
    line-height: 1.75;
    border: 0;
    background: #fff;
}

.admin-rich-editor {
    outline: none;
}

.admin-rich-editor:empty::before {
    content: attr(data-placeholder);
    color: #8a96aa;
}

.admin-editor-source {
    display: none;
    resize: vertical;
    outline: none;
}

.admin-editor-shell.is-html-mode .admin-rich-editor {
    display: none;
}

.admin-editor-shell.is-html-mode .admin-editor-source {
    display: block;
}

.admin-editor-foot {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 0 12px 12px;
    color: #607089;
    font-size: 13px;
}

.admin-rich-editor strong,
.admin-rich-editor b,
.rich-text-output strong,
.rich-text-output b,
.theme-intro-copy strong,
.theme-detail-item strong {
    font-weight: 700 !important;
}

.rich-text-output,
.page-hero-copy {
    color: var(--muted);
    line-height: 1.9;
}

.rich-text-output p,
.page-hero-copy p {
    margin: 0 0 14px;
}

.rich-text-output p:last-child,
.page-hero-copy p:last-child {
    margin-bottom: 0;
}

.rich-text-output ul,
.rich-text-output ol,
.page-hero-copy ul,
.page-hero-copy ol {
    margin: 12px 0 12px 1.35rem;
    padding: 0;
}

.rich-text-output li,
.page-hero-copy li {
    margin-bottom: 8px;
}

.rich-text-output h2,
.rich-text-output h3,
.page-hero-copy h2,
.page-hero-copy h3 {
    margin: 0 0 12px;
    color: var(--heading);
}

.rich-text-output blockquote,
.page-hero-copy blockquote {
    margin: 14px 0;
    padding-left: 16px;
    border-left: 4px solid rgba(31, 111, 89, 0.32);
    color: var(--heading);
}

.submission-tree-list {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.submission-tree-item {
    padding: 12px 16px;
    border-radius: 18px;
    background: #f8fbff;
    border: 1px solid rgba(29, 47, 87, 0.08);
}

.submission-tree-item.is-parent {
    background: #eef6ff;
    font-weight: 700;
}

.submission-tree-item.is-child {
    margin-left: 28px;
    background: #ffffff;
}

.submission-tree-item.is-bullet {
    margin-left: 56px;
    background: #fbfcfe;
}

.submission-tree-copy {
    margin: 0;
}

.submission-fee-note {
    margin-top: 22px;
}

.submission-fee-list {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.submission-fee-item {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 14px 16px;
    border-radius: 18px;
    background: #f8fbff;
    border: 1px solid rgba(29, 47, 87, 0.08);
}

.submission-fee-mark {
    font-weight: 800;
    color: var(--brand-dark);
    line-height: 1.7;
}

@media (max-width: 1100px) {
    .admin-sidebar {
        max-height: none;
        overflow: visible;
    }

    .admin-page-menu {
        overflow: visible;
        padding-right: 0;
    }
}

@media (max-width: 860px) {
    .admin-editor-foot {
        flex-direction: column;
        align-items: flex-start;
    }

    .submission-tree-item.is-child,
    .submission-tree-item.is-bullet {
        margin-left: 0;
    }
}
/* ================================
   THEMES PAGE - FIX CARD LAYOUT
   dán xuống cuối site.css
================================ */

.themes-showcase-section {
    padding-top: 18px !important;
}

    .themes-showcase-section .theme-grid-elegant {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 28px !important;
        align-items: stretch !important;
        margin-bottom: 26px !important;
    }

    .themes-showcase-section .theme-summary-card-elegant {
        -webkit-appearance: none !important;
        appearance: none !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 430px !important;
        padding: 30px 28px 24px !important;
        border-radius: 28px !important;
        border: 1px solid rgba(27, 47, 91, 0.08) !important;
        background: #ffffff !important;
        box-shadow: 0 18px 44px rgba(22, 47, 93, 0.08) !important;
        text-align: left !important;
        cursor: pointer !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        vertical-align: top !important;
        transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
    }

        .themes-showcase-section .theme-summary-card-elegant:hover,
        .themes-showcase-section .theme-summary-card-elegant.active {
            transform: translateY(-6px) !important;
            box-shadow: 0 24px 54px rgba(22, 47, 93, 0.12) !important;
            border-color: rgba(31, 111, 89, 0.18) !important;
        }

        .themes-showcase-section .theme-summary-card-elegant > * {
            width: 100% !important;
            flex: 0 0 auto !important;
        }

    .themes-showcase-section .theme-card-topline {
        margin: 0 0 18px 0 !important;
        padding: 0 !important;
    }

    .themes-showcase-section .theme-summary-card-elegant .card-kicker {
        display: inline-block !important;
        margin: 0 !important;
        color: #1f6f59 !important;
        font-size: 0.78rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.14em !important;
        line-height: 1 !important;
    }

    .themes-showcase-section .theme-card-copy {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

        .themes-showcase-section .theme-card-copy h3 {
            margin: 0 0 14px 0 !important;
            color: #1f2430 !important;
            font-family: "Inter", system-ui, sans-serif !important;
            font-size: clamp(1.55rem, 2vw, 2.15rem) !important;
            font-weight: 800 !important;
            line-height: 1.18 !important;
            letter-spacing: -0.02em !important;
            text-wrap: balance !important;
        }

        .themes-showcase-section .theme-card-copy .rich-text-output,
        .themes-showcase-section .theme-card-copy p,
        .themes-showcase-section .theme-card-copy div,
        .themes-showcase-section .theme-card-copy li {
            margin: 0 !important;
            color: #4b5b73 !important;
            font-size: 1rem !important;
            line-height: 1.85 !important;
            text-align: left !important;
        }

            .themes-showcase-section .theme-card-copy .rich-text-output p + p {
                margin-top: 8px !important;
            }

    .themes-showcase-section .theme-card-bottom {
        margin-top: auto !important;
        padding-top: 22px !important;
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
    }

    .themes-showcase-section .theme-card-arrow {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        border-radius: 999px !important;
        border: 1.5px solid rgba(31, 36, 48, 0.42) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(255, 255, 255, 0.72) !important;
        color: #1f2430 !important;
        font-size: 1.45rem !important;
        line-height: 1 !important;
        transition: all .24s ease !important;
    }

    .themes-showcase-section .theme-summary-card-elegant:hover .theme-card-arrow,
    .themes-showcase-section .theme-summary-card-elegant.active .theme-card-arrow {
        background: #1f6f59 !important;
        color: #ffffff !important;
        border-color: #1f6f59 !important;
        transform: translateX(2px) !important;
    }

    .themes-showcase-section .theme-detail-card {
        display: none !important;
        margin-top: 0 !important;
        padding: 30px !important;
        border-radius: 28px !important;
        background: #ffffff !important;
        border: 1px solid rgba(27, 47, 91, 0.08) !important;
        box-shadow: 0 18px 44px rgba(22, 47, 93, 0.08) !important;
    }

        .themes-showcase-section .theme-detail-card.active {
            display: block !important;
        }

        .themes-showcase-section .theme-detail-card h2 {
            margin: 0 0 16px 0 !important;
            font-family: "Inter", system-ui, sans-serif !important;
            font-size: clamp(1.7rem, 2.2vw, 2.3rem) !important;
            font-weight: 800 !important;
            line-height: 1.18 !important;
            color: #1d2f57 !important;
        }

        .themes-showcase-section .theme-detail-card .theme-intro-copy {
            margin-bottom: 20px !important;
        }

            .themes-showcase-section .theme-detail-card .theme-intro-copy p,
            .themes-showcase-section .theme-detail-card .theme-detail-item p,
            .themes-showcase-section .theme-detail-card .theme-detail-item li,
            .themes-showcase-section .theme-detail-card .rich-text-output {
                color: #465366 !important;
                line-height: 1.85 !important;
            }

    .themes-showcase-section .theme-detail-item {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 16px 0 !important;
        border-top: 1px solid rgba(27, 47, 91, 0.08) !important;
        align-items: start !important;
    }

        .themes-showcase-section .theme-detail-item:first-of-type {
            border-top: 0 !important;
            padding-top: 0 !important;
        }

        .themes-showcase-section .theme-detail-item .num {
            color: #1f6f59 !important;
            font-weight: 800 !important;
            line-height: 1.5 !important;
        }

@media (max-width: 1100px) {
    .themes-showcase-section .theme-grid-elegant {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .themes-showcase-section .theme-grid-elegant {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        margin-bottom: 22px !important;
    }

    .themes-showcase-section .theme-summary-card-elegant {
        min-height: unset !important;
        padding: 22px 20px 20px !important;
        border-radius: 22px !important;
    }

    .themes-showcase-section .theme-card-copy h3 {
        font-size: 1.32rem !important;
    }

    .themes-showcase-section .theme-card-copy .rich-text-output,
    .themes-showcase-section .theme-card-copy p,
    .themes-showcase-section .theme-card-copy div,
    .themes-showcase-section .theme-card-copy li {
        font-size: 15px !important;
        line-height: 1.8 !important;
    }

    .themes-showcase-section .theme-card-bottom {
        padding-top: 18px !important;
    }

    .themes-showcase-section .theme-card-arrow {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        font-size: 1.25rem !important;
    }

    .themes-showcase-section .theme-detail-card {
        padding: 22px 20px !important;
        border-radius: 22px !important;
    }

    .themes-showcase-section .theme-detail-item {
        grid-template-columns: 36px minmax(0, 1fr) !important;
    }
}