html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
}

img,
iframe,
video {
    max-width: 100%;
}

button,
input,
textarea,
select {
    max-width: 100%;
}

.container,
.admin-container,
.codes-container,
.page-container,
.profile-container,
.auth-container {
    width: 100%;
}

.top-nav .container,
.navbar .nav-inner {
    gap: 12px;
}

.nav-user,
.nav-links {
    min-width: 0;
}

.table-custom {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
}

.table-custom thead,
.table-custom tbody,
.table-custom tr {
    min-width: 720px;
}

.form-input,
.form-textarea,
.unlock-input {
    min-width: 0;
}

.course-card,
.admin-card,
.card-custom,
.profile-card,
.chapter-info,
.unlock-section {
    min-width: 0;
}

@media (max-width: 992px) {
    .hero {
        min-height: auto !important;
        padding-top: 105px !important;
        padding-bottom: 56px !important;
    }

    .hero-inner {
        gap: 34px !important;
    }

    .hero-card {
        max-width: 520px !important;
    }

    .admin-container,
    .codes-container,
    .page-container,
    .profile-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 768px) {
    .top-nav {
        position: relative !important;
        padding: 12px 0 !important;
    }

    .top-nav .container,
    .navbar .nav-inner {
        flex-wrap: wrap;
        align-items: flex-start !important;
    }

    .nav-brand,
    .nav-logo {
        font-size: 1.15rem !important;
        line-height: 1.3;
    }

    .nav-user,
    .nav-links {
        width: 100%;
        flex-wrap: wrap;
        gap: 8px !important;
        justify-content: flex-start;
    }

    .nav-user .username {
        order: -1;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .nav-link-custom,
    .btn-logout,
    .btn-back,
    .btn-nav,
    .lang-btn {
        min-height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 8px 12px !important;
        font-size: 0.82rem !important;
    }

    .auth-container {
        max-width: 460px !important;
        padding: 18px !important;
    }

    .auth-card {
        padding: 28px 22px !important;
        border-radius: 18px !important;
    }

    .logo-section {
        margin-bottom: 24px !important;
    }

    .logo-icon {
        width: 58px !important;
        height: 58px !important;
        border-radius: 16px !important;
    }

    .logo-text {
        font-size: 1.65rem !important;
    }

    .unlock-section {
        margin-top: 18px !important;
        padding: 26px 20px !important;
        border-radius: 16px !important;
    }

    .unlock-title,
    .section-title,
    .page-header h1 {
        font-size: 1.2rem !important;
    }

    .unlock-form,
    .generate-form,
    .form-row,
    .quick-generate {
        width: 100%;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .unlock-btn,
    .btn-gen,
    .btn-add,
    .btn-save {
        width: 100%;
    }

    .section-header,
    .stats-row,
    .hero-buttons {
        flex-direction: column;
        align-items: stretch !important;
        gap: 12px !important;
    }

    .courses-grid,
    .features-grid,
    .steps,
    .stats-grid {
        grid-template-columns: 1fr !important;
    }

    .course-card,
    .feature-card,
    .admin-card,
    .card-custom,
    .profile-card {
        padding: 22px !important;
        border-radius: 14px !important;
    }

    .code-list {
        grid-template-columns: 1fr !important;
    }

    .code-item,
    .chapter-row,
    .info-row {
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .code-item,
    .chapter-row {
        flex-wrap: wrap;
    }

    .code-item > div,
    .chapter-row .ch-info {
        min-width: 0;
        width: 100%;
    }

    .code-text,
    .ch-vid {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .filter-tabs {
        flex-wrap: wrap;
    }

    .watch-layout {
        display: block !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-height: auto !important;
        overflow-x: hidden !important;
    }

    .video-area {
        width: 100vw !important;
        max-width: 100vw !important;
        padding: 0 0 18px !important;
        overflow-x: hidden !important;
    }

    .video-wrapper {
        width: 100vw !important;
        max-width: 100vw !important;
        aspect-ratio: 16 / 9 !important;
        border-radius: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        box-shadow: none !important;
    }

    #ytplayer,
    #ytplayer iframe {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
    }

    .chapter-info {
        width: calc(100vw - 24px) !important;
        margin: 14px 12px 0 !important;
        padding: 16px !important;
    }

    .chapter-info h2 {
        align-items: flex-start !important;
        flex-direction: column;
        font-size: 1.1rem !important;
        line-height: 1.35 !important;
        overflow-wrap: anywhere;
    }

    .sidebar {
        width: 100% !important;
        max-height: none !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-top: 1px solid rgba(255,255,255,0.06) !important;
        overflow: visible !important;
    }

    .sidebar-header {
        position: relative !important;
        top: auto !important;
        padding: 16px !important;
    }

    .sidebar-title {
        overflow-wrap: anywhere;
    }

    .chapter-list {
        padding: 10px 12px 18px !important;
    }

    .vid-controls {
        gap: 8px !important;
        padding: 8px 10px !important;
        opacity: 1 !important;
        align-items: center !important;
    }

    .vc-time {
        display: none;
    }

    .vc-btn {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 1rem !important;
    }

    .vc-bar {
        min-width: 70px !important;
        height: 7px !important;
    }

    .chapter-item {
        padding: 12px !important;
        gap: 12px !important;
    }

    .ch-title {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: initial !important;
        line-height: 1.35 !important;
    }

    .video-area > div[style*="margin-top:24px"] {
        width: calc(100vw - 24px) !important;
        margin: 14px 12px 0 !important;
        padding: 16px !important;
        overflow-x: hidden !important;
    }

    form[action="rate.php"] > div:last-of-type {
        flex-direction: column !important;
        width: 100% !important;
    }

    form[action="rate.php"] input[name="review"],
    form[action="rate.php"] button {
        width: 100% !important;
        min-width: 0 !important;
    }

    .lang-dropdown {
        right: auto !important;
        left: 0 !important;
    }
}

@media (max-width: 520px) {
    body {
        min-width: 320px;
    }

    .navbar {
        position: relative !important;
        padding: 14px 0 !important;
    }

    .nav-inner {
        padding: 0 16px !important;
    }

    .nav-links a:not(.btn-nav),
    .hero-visual {
        display: none !important;
    }

    .hero {
        padding: 92px 16px 42px !important;
    }

    .hero h1 {
        font-size: 2rem !important;
    }

    .hero-desc {
        font-size: 0.96rem !important;
    }

    .btn-primary-lg,
    .btn-secondary-lg {
        width: 100%;
        justify-content: center;
        padding: 13px 16px !important;
        font-size: 0.94rem !important;
    }

    .features,
    .how,
    .cta {
        padding: 54px 16px !important;
    }

    .section-title,
    .cta-title {
        font-size: 1.65rem !important;
    }

    .stats-bar {
        grid-template-columns: 1fr !important;
        padding: 24px !important;
    }

    .profile-container,
    .admin-container,
    .codes-container,
    .page-container {
        margin-top: 24px !important;
        padding-bottom: 36px !important;
    }

    .auth-card {
        padding: 24px 18px !important;
    }

    .form-input,
    .form-textarea,
    .unlock-input {
        font-size: 16px !important;
    }

    .table-custom thead,
    .table-custom tbody,
    .table-custom tr {
        min-width: 640px;
    }

    .alert-custom {
        align-items: flex-start !important;
    }

    .big-play {
        width: 58px !important;
        height: 58px !important;
        font-size: 1.45rem !important;
    }

    .top-nav .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .top-nav .container.d-flex {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .top-nav .btn-back {
        width: auto !important;
        max-width: 48%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}
