/* =========================================================
   VIRALMINT AI — CAPTIONS MOBILE FINAL COMPACT POLISH
   Add at VERY BOTTOM of captions mobile CSS
   Desktop is NOT affected.
========================================================= */

@media (max-width: 720px) {

    /* =====================================================
       1. MOBILE PAGE WIDTH
    ===================================================== */

    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .dashboard-layout {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .dashboard-main {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 10px 10px 30px !important;
        box-sizing: border-box !important;
    }


    /* =====================================================
       2. HERO — SMALLER + CLEANER
    ===================================================== */

    .captions-hero {
        display: block !important;
        width: 100% !important;
        margin: 0 0 10px !important;
    }

    .captions-hero .hero-left {
        width: 100% !important;
        min-height: 0 !important;
        padding: 24px 18px !important;
        box-sizing: border-box !important;
        border-radius: 20px !important;
    }

    /*
       Main heading:
       smaller, tighter and intentionally limited so it
       reads as a compact mobile headline.
    */

    .captions-hero .dashboard-title {
        width: 100% !important;
        max-width: 330px !important;

        font-size: 1.78rem !important;
        line-height: 1.04 !important;
        letter-spacing: -0.055em !important;
        font-weight: 850 !important;

        margin: 7px 0 0 !important;

        text-wrap: balance !important;
        overflow-wrap: normal !important;
    }

    .captions-hero .dashboard-subtitle {
        max-width: 330px !important;
        margin-top: 14px !important;

        font-size: 0.72rem !important;
        line-height: 1.48 !important;
    }

    .captions-hero .hero-pills {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        margin-top: 18px !important;
    }

    .captions-hero .hero-pills span {
        min-height: 29px !important;
        height: 29px !important;
        padding: 0 9px !important;

        font-size: 0.58rem !important;
        line-height: 1 !important;
        border-radius: 999px !important;
    }

    .captions-hero .hero-pills svg {
        width: 12px !important;
        height: 12px !important;
    }


    /* =====================================================
       3. PREVIEW CARD — COMPACT
    ===================================================== */

    .hero-preview-card {
        min-height: 0 !important;
        margin-top: 10px !important;
        padding: 18px !important;
        border-radius: 20px !important;
    }

    .preview-mini-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
        margin-top: 12px !important;
    }

    .preview-mini-card {
        min-height: 58px !important;
        padding: 10px !important;
        border-radius: 13px !important;
    }

    .preview-mini-card span {
        font-size: 0.56rem !important;
    }

    .preview-mini-card strong {
        margin-top: 4px !important;
        font-size: 0.82rem !important;
    }


    /* =====================================================
       4. GENERATOR CARD
    ===================================================== */

    .captions-input-section {
        margin-top: 10px !important;
    }

    .captions-card {
        width: 100% !important;
        padding: 18px !important;
        border-radius: 20px !important;
        box-sizing: border-box !important;
    }

    .captions-top {
        gap: 8px !important;
        margin: 0 !important;
    }

    .captions-top h2,
    .content-card-top h3 {
        margin-top: 5px !important;

        font-size: 1.12rem !important;
        line-height: 1.08 !important;
        letter-spacing: -0.045em !important;
        font-weight: 850 !important;
    }

    .captions-top p:not(.mini-label) {
        margin-top: 6px !important;
        font-size: 0.68rem !important;
        line-height: 1.45 !important;
    }

    .generator-badge {
        padding: 6px 9px !important;
        font-size: 0.56rem !important;
        gap: 5px !important;
    }

    .generator-badge svg {
        width: 11px !important;
        height: 11px !important;
    }


    /* =====================================================
       5. MODE BUTTONS
    ===================================================== */

    .caption-mode-tabs {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        margin-top: 15px !important;
    }

    .caption-mode-btn {
        min-height: 62px !important;
        height: 62px !important;
        padding: 11px 12px !important;
        border-radius: 15px !important;
        gap: 9px !important;
    }

    .caption-mode-btn svg {
        width: 17px !important;
        height: 17px !important;
    }

    .caption-mode-btn strong {
        font-size: 0.72rem !important;
        line-height: 1.1 !important;
    }

    .caption-mode-btn small {
        margin-top: 3px !important;
        font-size: 0.56rem !important;
        line-height: 1.25 !important;
    }


    /* =====================================================
       6. FORM SPACING
    ===================================================== */

    .captions-form-grid {
        grid-template-columns: 1fr !important;
        gap: 11px !important;
        margin-top: 15px !important;
    }

    .caption-field {
        margin: 0 !important;
    }

    .caption-field label {
        margin-bottom: 5px !important;
        font-size: 0.62rem !important;
    }

    .input-shell,
    .select-shell {
        min-height: 43px !important;
        height: 43px !important;
        border-radius: 12px !important;
    }

    .input-shell input,
    .select-shell select {
        height: 43px !important;
        min-height: 43px !important;
        padding: 0 12px !important;
        font-size: 0.67rem !important;
    }

    .input-shell svg,
    .select-shell svg {
        width: 13px !important;
        height: 13px !important;
    }

    .caption-textarea {
        min-height: 88px !important;
        padding: 11px !important;
        font-size: 0.67rem !important;
        line-height: 1.45 !important;
        border-radius: 12px !important;
    }


    /* =====================================================
       7. CUSTOMIZATION / OPTIONS
    ===================================================== */

    .caption-options-row {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    .caption-option,
    .option-card {
        min-height: 50px !important;
        padding: 9px 11px !important;
        border-radius: 13px !important;
    }

    .caption-option strong,
    .option-card strong {
        font-size: 0.65rem !important;
    }

    .caption-option small,
    .option-card small {
        font-size: 0.54rem !important;
    }


    /* =====================================================
       8. TOGGLES
    ===================================================== */

    .audit-toggle {
        min-height: 48px !important;
        padding: 9px 11px !important;
        border-radius: 13px !important;
    }

    .audit-toggle span:not(:last-child) {
        font-size: 0.64rem !important;
    }


    /* =====================================================
       9. GENERATE BUTTON
    ===================================================== */

    .captions-action-row {
        margin-top: 13px !important;
        gap: 8px !important;
    }

    .captions-action-row button,
    .generate-captions-btn,
    #generateCaptionsBtn {
        min-height: 45px !important;
        height: 45px !important;
        padding: 0 15px !important;
        border-radius: 13px !important;
        font-size: 0.70rem !important;
    }


    /* =====================================================
       10. RESULT HEADER
    ===================================================== */

    .result-header-card {
        padding: 16px !important;
        border-radius: 19px !important;
        gap: 10px !important;
    }

    .result-header-card h2 {
        font-size: 1.05rem !important;
        line-height: 1.08 !important;
    }

    .result-header-card p:not(.mini-label) {
        font-size: 0.62rem !important;
        line-height: 1.4 !important;
    }

    .result-meta-pills {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 5px !important;
    }

    .result-meta-pills span {
        min-height: 24px !important;
        padding: 0 7px !important;
        font-size: 0.52rem !important;
    }


    /* =====================================================
       11. ALL RESULT / STRATEGY CARDS
    ===================================================== */

    .strategy-card,
    .analysis-card {
        padding: 16px !important;
        border-radius: 18px !important;
        margin-bottom: 9px !important;
    }

    .content-card-top {
        gap: 7px !important;
    }

    .content-card-top h3 {
        font-size: 1rem !important;
        line-height: 1.08 !important;
    }

    .mini-label {
        font-size: 0.50rem !important;
        letter-spacing: 0.9px !important;
    }


    /* =====================================================
       12. BEST CAPTION OUTPUT
    ===================================================== */

    .best-caption-card {
        padding: 16px !important;
    }

    .best-caption-card .content-card-top {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .secondary-copy-btn {
        min-height: 27px !important;
        height: 27px !important;
        padding: 0 8px !important;
        font-size: 0.52rem !important;
        border-radius: 8px !important;
    }

    .caption-output-text {
        margin-top: 9px !important;
        padding: 12px !important;

        font-size: 0.67rem !important;
        line-height: 1.52 !important;

        border-radius: 12px !important;
    }


    /* =====================================================
       13. GENERATED CAPTION CARDS
    ===================================================== */

    .caption-cards-list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        margin-top: 10px !important;
    }

    .caption-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;

        padding: 12px !important;
        border-radius: 16px !important;
    }

    .caption-card-top {
        min-height: 27px !important;
        padding: 0 !important;
    }

    .caption-card-badge {
        min-height: 25px !important;
        padding: 0 8px !important;
        font-size: 0.52rem !important;
    }

    .caption-card-text {
        padding: 11px !important;
        border-radius: 12px !important;
        font-size: 0.67rem !important;
        line-height: 1.52 !important;
    }

    .caption-card-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .caption-card-meta p {
        padding: 8px !important;
        border-radius: 10px !important;
        font-size: 0.55rem !important;
        line-height: 1.35 !important;
    }


    /* =====================================================
       14. ANALYSIS OUTPUT
    ===================================================== */

    .analysis-grid {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .analysis-card {
        min-height: 0 !important;
        padding: 13px !important;
        border-radius: 15px !important;
    }

    .analysis-card-header {
        gap: 7px !important;
    }

    .analysis-card-header svg,
    .analysis-card-header i {
        width: 14px !important;
        height: 14px !important;
    }

    .analysis-card-header h3 {
        font-size: 0.68rem !important;
        line-height: 1.15 !important;
    }

    .analysis-text {
        margin-top: 6px !important;
        font-size: 0.60rem !important;
        line-height: 1.45 !important;
    }

    .clean-list,
    .numbered-list {
        margin-top: 7px !important;
        gap: 5px !important;
    }

    .clean-list li,
    .numbered-list li {
        font-size: 0.59rem !important;
        line-height: 1.4 !important;
        padding: 7px 8px 7px 21px !important;
    }


    /* =====================================================
       15. HISTORY — SMALLER + COMFORTABLE
    ===================================================== */

    .captions-history-section {
        padding: 16px !important;
        border-radius: 18px !important;
        margin-top: 9px !important;
    }

    .captions-history-section .content-card-top {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .captions-history-section .content-card-top h3 {
        font-size: 0.92rem !important;
        line-height: 1.08 !important;
    }

    .history-refresh-btn {
        min-height: 27px !important;
        height: 27px !important;
        padding: 0 8px !important;
        border-radius: 8px !important;
        font-size: 0.52rem !important;
    }

    .history-status-text {
        margin-top: 8px !important;
        font-size: 0.58rem !important;
        line-height: 1.4 !important;
    }

    .captions-history-list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;

        max-height: 390px !important;
        margin-top: 9px !important;
        padding-right: 3px !important;
    }

    .history-card,
    .caption-history-card {
        min-height: 0 !important;
        max-height: none !important;

        padding: 11px !important;
        border-radius: 13px !important;
    }

    .history-card strong,
    .caption-history-card strong {
        font-size: 0.64rem !important;
        line-height: 1.25 !important;
    }

    .history-card p,
    .caption-history-card p {
        margin-top: 5px !important;
        font-size: 0.55rem !important;
        line-height: 1.35 !important;
    }

    .history-card span,
    .caption-history-card span {
        margin-top: 7px !important;
        font-size: 0.54rem !important;
    }


    /* =====================================================
       16. RESULT SECTION GENERAL COMPRESSION
    ===================================================== */

    .captions-results,
    #captionsResults,
    #captionsResultSection {
        margin-top: 10px !important;
    }

    .captions-results > * {
        margin-bottom: 9px !important;
    }
}


/* =========================================================
   EXTRA SMALL PHONES
========================================================= */

@media (max-width: 420px) {

    .dashboard-main {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .captions-hero .hero-left {
        padding: 21px 16px !important;
    }

    .captions-hero .dashboard-title {
        max-width: 320px !important;
        font-size: 1.66rem !important;
        line-height: 1.04 !important;
    }

    .captions-hero .dashboard-subtitle {
        font-size: 0.68rem !important;
    }

    .captions-card,
    .strategy-card,
    .analysis-card,
    .result-header-card {
        padding: 14px !important;
    }

    .captions-top h2,
    .content-card-top h3 {
        font-size: 0.98rem !important;
    }

    .caption-mode-btn {
        min-height: 58px !important;
        height: 58px !important;
    }

    .caption-output-text,
    .caption-card-text {
        font-size: 0.64rem !important;
    }
}

/* =========================================================
   VIRALMINT AI CAPTIONS — FINAL MOBILE POLISH
   MOBILE ONLY — SAFE FOR DESKTOP
   Paste at the VERY BOTTOM of captions.css
========================================================= */

@media (max-width: 560px) {

    /* -----------------------------------------------------
       1. MOBILE PAGE / MAIN SPACING
    ----------------------------------------------------- */

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    .dashboard-main {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px 10px 34px !important;
        box-sizing: border-box !important;
    }

    .dashboard-content-wrapper {
        width: 100% !important;
        max-width: 100% !important;
    }


    /* -----------------------------------------------------
       2. MOBILE NAVBAR
       Keep icons compact.
       Show "AI Captions" only on the active item.
    ----------------------------------------------------- */

    .sidebar {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 8px 8px 7px !important;
        margin: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .sidebar-main {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 6px !important;
    }

    .sidebar-logo {
        width: 100% !important;
        margin: 0 !important;
        min-height: 31px !important;
    }

    .sidebar-logo span:not(.logo-mark) {
        display: inline !important;
        font-size: 0.78rem !important;
    }

    .logo-mark {
        width: 31px !important;
        height: 31px !important;
        min-width: 31px !important;
        border-radius: 9px !important;
    }

    .logo-mark svg {
        width: 15px !important;
        height: 15px !important;
    }

    .sidebar-menu {
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 3px !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    .sidebar-menu a {
        flex: 0 0 auto !important;
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
    }

    .sidebar-menu a span {
        display: none !important;
    }

    .sidebar-menu a svg,
    .sidebar-menu a i {
        width: 15px !important;
        height: 15px !important;
        flex: 0 0 auto !important;
    }

    /* Active AI Captions item gets its label */
    .sidebar-menu a.active-link {
        width: auto !important;
        min-width: 82px !important;
        padding: 0 10px !important;
        justify-content: center !important;
    }

    .sidebar-menu a.active-link span {
        display: inline-block !important;
        white-space: nowrap !important;
        font-size: 0.64rem !important;
        line-height: 1 !important;
        font-weight: 800 !important;
    }

    .upgrade-mini-btn {
        display: none !important;
    }


    /* -----------------------------------------------------
       3. HERO — SMALLER + CLEANER
    ----------------------------------------------------- */

    .captions-hero {
        width: 100% !important;
        display: block !important;
        margin: 0 0 10px !important;
    }

    .captions-hero .hero-left {
        width: 100% !important;
        min-height: 0 !important;
        padding: 22px 16px 20px !important;
        border-radius: 20px !important;
        box-sizing: border-box !important;
    }

    .captions-hero .dashboard-label {
        font-size: 0.62rem !important;
        line-height: 1.2 !important;
        margin-bottom: 8px !important;
        letter-spacing: 0.11em !important;
    }

    /*
       Deliberately smaller.
       This gives the heading a clean 2-line mobile layout.
    */
    .captions-hero .dashboard-title {
        max-width: 100% !important;
        font-size: 1.78rem !important;
        line-height: 1.06 !important;
        letter-spacing: -0.055em !important;
        font-weight: 850 !important;
        text-wrap: balance !important;
        margin: 0 !important;
    }

    .captions-hero .dashboard-subtitle {
        max-width: 100% !important;
        margin-top: 13px !important;
        font-size: 0.76rem !important;
        line-height: 1.48 !important;
    }

    .captions-hero .hero-pills {
        margin-top: 15px !important;
        gap: 6px !important;
    }

    .captions-hero .hero-pills span {
        min-height: 28px !important;
        padding: 0 8px !important;
        border-radius: 999px !important;
        font-size: 0.58rem !important;
        line-height: 1 !important;
        gap: 5px !important;
    }

    .captions-hero .hero-pills svg {
        width: 12px !important;
        height: 12px !important;
    }


    /* -----------------------------------------------------
       4. PREVIEW CARD — COMPACT
    ----------------------------------------------------- */

    .hero-preview-card {
        min-height: 0 !important;
        padding: 16px !important;
        margin-top: 10px !important;
        border-radius: 20px !important;
    }

    .hero-preview-card .preview-score {
        font-size: 2rem !important;
    }

    .preview-mini-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    .preview-mini-grid > div {
        min-width: 0 !important;
        padding: 10px 7px !important;
        border-radius: 13px !important;
    }

    .preview-mini-grid span {
        font-size: 0.58rem !important;
    }

    .preview-mini-grid strong {
        font-size: 0.76rem !important;
    }


    /* -----------------------------------------------------
       5. ALL MAIN CARDS — REDUCE EXCESSIVE HEIGHT
    ----------------------------------------------------- */

    .captions-card,
    .strategy-card,
    .analysis-card,
    .result-header-card {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 17px !important;
        border-radius: 20px !important;
    }

    .captions-card,
    .strategy-card {
        margin-bottom: 10px !important;
    }

    .content-card-top,
    .captions-top {
        margin-bottom: 10px !important;
    }

    .mini-label {
        font-size: 0.58rem !important;
        line-height: 1.2 !important;
        letter-spacing: 0.10em !important;
    }

    .captions-top h2,
    .strategy-card h3,
    .analysis-card h3 {
        font-size: 1.05rem !important;
        line-height: 1.12 !important;
        letter-spacing: -0.035em !important;
    }


    /* -----------------------------------------------------
       6. CAPTION MODE BUTTONS
    ----------------------------------------------------- */

    .caption-mode-tabs {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    .caption-mode-btn {
        min-height: 48px !important;
        padding: 9px 11px !important;
        border-radius: 14px !important;
    }

    .caption-mode-btn strong,
    .caption-mode-btn span {
        font-size: 0.72rem !important;
    }

    .caption-mode-btn small {
        font-size: 0.62rem !important;
    }


    /* -----------------------------------------------------
       7. FORM — SMALLER INPUTS + LESS VERTICAL SPACE
    ----------------------------------------------------- */

    .captions-form-grid {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        margin-top: 8px !important;
    }

    .input-group {
        margin-top: 13px !important;
    }

    .input-group label {
        margin-bottom: 6px !important;
        font-size: 0.68rem !important;
        line-height: 1.2 !important;
    }

    .input-shell,
    .select-shell {
        min-height: 0 !important;
        height: 44px !important;
    }

    .input-shell input,
    .select-shell select {
        height: 44px !important;
        min-height: 44px !important;
        padding-left: 38px !important;
        padding-right: 32px !important;
        border-radius: 13px !important;
        font-size: 0.72rem !important;
    }

    .input-shell svg,
    .select-shell svg {
        left: 12px !important;
        width: 14px !important;
        height: 14px !important;
    }

    .input-help {
        margin-top: 5px !important;
        font-size: 0.62rem !important;
        line-height: 1.4 !important;
    }

    .caption-textarea {
        min-height: 88px !important;
        padding: 11px !important;
        border-radius: 13px !important;
        font-size: 0.72rem !important;
        line-height: 1.5 !important;
    }


    /* -----------------------------------------------------
       8. CUSTOMIZATION SECTION
    ----------------------------------------------------- */

    .captions-card .caption-options-row {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    .caption-options-row {
        margin-top: 8px !important;
    }

    .audit-toggle {
        min-height: 43px !important;
        padding: 8px 10px !important;
        border-radius: 13px !important;
        gap: 8px !important;
    }

    .audit-toggle span {
        width: 29px !important;
        height: 17px !important;
    }

    .audit-toggle span::before {
        width: 11px !important;
        height: 11px !important;
        top: 3px !important;
        left: 3px !important;
    }

    .audit-toggle input:checked + span::before {
        transform: translateX(12px) !important;
    }

    .audit-toggle strong {
        font-size: 0.68rem !important;
    }

    .audit-toggle small {
        font-size: 0.59rem !important;
    }


    /* -----------------------------------------------------
       9. GENERATE BUTTON
    ----------------------------------------------------- */

    .captions-action-row {
        margin-top: 14px !important;
        gap: 8px !important;
    }

    .primary-btn {
        width: 100% !important;
        min-height: 46px !important;
        height: 46px !important;
        padding: 0 14px !important;
        border-radius: 14px !important;
        font-size: 0.72rem !important;
    }


    /* -----------------------------------------------------
       10. GENERATED CAPTION OUTPUT
    ----------------------------------------------------- */

    .caption-output-section,
    .captions-result-section,
    #captionsResults,
    #captionsResult {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .result-header-card {
        padding: 15px !important;
        margin-bottom: 9px !important;
    }

    .result-header-card h2 {
        font-size: 1rem !important;
        line-height: 1.12 !important;
    }

    .result-header-card p {
        font-size: 0.66rem !important;
        line-height: 1.45 !important;
    }

    .result-meta-pills {
        gap: 5px !important;
        flex-wrap: wrap !important;
    }

    .result-meta-pills span {
        min-height: 25px !important;
        padding: 0 8px !important;
        font-size: 0.57rem !important;
    }

    .best-caption-card {
        padding: 14px !important;
    }

    .caption-card {
        padding: 13px !important;
        border-radius: 15px !important;
        margin-bottom: 8px !important;
    }

    .caption-card-text {
        padding: 12px !important;
        font-size: 0.76rem !important;
        line-height: 1.55 !important;
    }

    .caption-card-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
        margin-top: 7px !important;
    }

    .caption-card-meta p {
        padding: 8px !important;
        border-radius: 10px !important;
        font-size: 0.61rem !important;
        line-height: 1.35 !important;
    }


    /* -----------------------------------------------------
       11. HOOK / CTA OPTIONS
       REMOVE THE WEIRD PINK DOTS
    ----------------------------------------------------- */

    .analysis-grid {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .analysis-card {
        min-height: 0 !important;
        padding: 13px !important;
        border-radius: 16px !important;
    }

    .analysis-card-header {
        gap: 7px !important;
        margin-bottom: 8px !important;
    }

    .analysis-card-header svg,
    .analysis-card-header i {
        width: 14px !important;
        height: 14px !important;
    }

    .analysis-card-header h3 {
        font-size: 0.76rem !important;
    }

    /*
       These dots were created by .clean-list li::before
       in the main captions.css.
       Remove them on mobile.
    */
    .clean-list li::before,
    .numbered-list li::before {
        display: none !important;
        content: none !important;
    }

    .clean-list,
    .numbered-list {
        gap: 5px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .clean-list li,
    .numbered-list li {
        padding: 7px 9px !important;
        border-radius: 10px !important;
        font-size: 0.62rem !important;
        line-height: 1.38 !important;
    }


    /* -----------------------------------------------------
       12. ADVANCED INSIGHTS
    ----------------------------------------------------- */

    .inside-grid {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    .inside-grid > div {
        padding: 11px !important;
        border-radius: 13px !important;
    }

    .inside-grid strong {
        font-size: 0.70rem !important;
        margin-bottom: 5px !important;
    }

    .inside-grid p {
        font-size: 0.67rem !important;
        line-height: 1.45 !important;
    }


    /* -----------------------------------------------------
       13. HISTORY
    ----------------------------------------------------- */

    .captions-history-section {
        padding: 14px !important;
    }

    .captions-history-section .content-card-top {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .captions-history-section h3 {
        font-size: 0.94rem !important;
        line-height: 1.15 !important;
    }

    .history-refresh-btn {
        min-height: 30px !important;
        height: 30px !important;
        padding: 0 9px !important;
        border-radius: 9px !important;
        font-size: 0.59rem !important;
    }

    .captions-history-list {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        max-height: 390px !important;
        padding-right: 2px !important;
    }

    .caption-history-card,
    .history-card {
        padding: 11px !important;
        border-radius: 13px !important;
    }

    .caption-history-card h4,
    .history-card h4 {
        font-size: 0.70rem !important;
        line-height: 1.3 !important;
    }

    .caption-history-card p,
    .history-card p {
        font-size: 0.61rem !important;
        line-height: 1.4 !important;
    }


    /* -----------------------------------------------------
       14. GENERAL TEXT COMPRESSION
    ----------------------------------------------------- */

    .strategy-card p,
    .analysis-card p {
        font-size: 0.68rem !important;
        line-height: 1.48 !important;
    }

    .caption-output-text {
        font-size: 0.76rem !important;
        line-height: 1.55 !important;
    }

}


/* =========================================================
   EXTRA SMALL PHONES
========================================================= */

@media (max-width: 380px) {

    .captions-hero .dashboard-title {
        font-size: 1.62rem !important;
        line-height: 1.07 !important;
    }

    .captions-hero .hero-left {
        padding: 20px 14px 18px !important;
    }

    .sidebar-menu {
        gap: 1px !important;
    }

    .sidebar-menu a {
        width: 32px !important;
        min-width: 32px !important;
    }

    .sidebar-menu a.active-link {
        min-width: 76px !important;
        padding: 0 7px !important;
    }

    .sidebar-menu a.active-link span {
        font-size: 0.58rem !important;
    }

    .caption-card-meta {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   AI CAPTIONS — MOBILE NAVBAR FINAL FIX
========================================================= */

@media (max-width: 560px) {

    /* Keep logo at the top-left */
    .sidebar {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 10px 10px 7px !important;
        box-sizing: border-box !important;
    }

    .sidebar-main {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
    }

    .sidebar-logo {
        align-self: flex-start !important;
        margin: 0 !important;
    }


    /* ONE-LINE NAVIGATION */
    .sidebar-menu {
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 3px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }


    /* Every navigation item = icon box */
    .sidebar-menu a {
        position: relative !important;

        width: 35px !important;
        min-width: 35px !important;
        height: 35px !important;
        min-height: 35px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        border-radius: 10px !important;
        box-sizing: border-box !important;
    }


    /* Hide normal labels */
    .sidebar-menu a span {
        display: none !important;
    }


    /* AI CAPTIONS ACTIVE ITEM */
    .sidebar-menu a.active-link {
        position: relative !important;

        width: 35px !important;
        min-width: 35px !important;
        height: 35px !important;

        padding: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        border-radius: 10px !important;
    }


    /* Keep text OUTSIDE the active button */
    .sidebar-menu a.active-link span {
        display: none !important;
    }


    /* Small AI Captions label UNDER the icon */
    .sidebar-menu a.active-link::after {
        content: "AI Captions" !important;

        position: absolute !important;
        top: calc(100% + 2px) !important;
        left: 50% !important;
        transform: translateX(-50%) !important;

        display: block !important;

        padding: 3px 6px !important;
        border-radius: 4px !important;

        background: #17151b !important;
        color: #ffffff !important;

        font-size: 0.45rem !important;
        font-weight: 700 !important;
        line-height: 1 !important;

        white-space: nowrap !important;

        z-index: 9999 !important;
        pointer-events: none !important;
    }


    /* Consistent icon sizing */
    .sidebar-menu a svg,
    .sidebar-menu a i {
        width: 15px !important;
        height: 15px !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
    }


    /* No upgrade button on mobile */
    .upgrade-mini-btn {
        display: none !important;
    }
}


/* Extra-small phones */
@media (max-width: 380px) {

    .sidebar-menu {
        gap: 1px !important;
    }

    .sidebar-menu a,
    .sidebar-menu a.active-link {
        width: 32px !important;
        min-width: 32px !important;
        height: 32px !important;
    }
}

/* =========================================================
   AI CAPTIONS MOBILE NAVBAR — FINAL FIX
   Add at the VERY BOTTOM of captions-mobile.css
   ========================================================= */

@media (max-width: 768px) {

    /* Keep the mobile navbar compact */
    .sidebar {
        overflow: visible !important;
    }

    .sidebar-main {
        overflow: visible !important;
    }

    .sidebar-menu {
        overflow: visible !important;
        height: auto !important;
    }

    /* Active AI Captions item */
    .sidebar-menu a.active-link {
        position: relative !important;
        display: inline-flex !important;

        width: auto !important;
        min-width: 0 !important;

        height: 46px !important;
        padding: 0 13px !important;

        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;

        margin: 0 !important;

        overflow: visible !important;
        white-space: nowrap !important;
    }

    /* Keep the icon normal */
    .sidebar-menu a.active-link i {
        position: static !important;
        flex-shrink: 0 !important;
        width: 17px !important;
        height: 17px !important;
    }

    /* IMPORTANT:
       Put "AI Captions" INSIDE the active pill,
       not underneath it. */
    .sidebar-menu a.active-link span {
        display: inline-flex !important;
        position: static !important;

        width: auto !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        opacity: 1 !important;
        visibility: visible !important;

        transform: none !important;

        font-size: 10px !important;
        line-height: 1 !important;
        font-weight: 700 !important;

        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    /* Remove any label/tooltip generated below the active item */
    .sidebar-menu a.active-link::after,
    .sidebar-menu a.active-link::before {
        display: none !important;
        content: none !important;
    }

    /* Prevent the active item from creating extra
       vertical/purple space below the navbar */
    .sidebar-menu {
        align-items: center !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    .sidebar-main {
        padding-bottom: 0 !important;
    }
}

/* =========================================================
   AI CAPTIONS — MATCH REEL ANALYZER MOBILE NAVBAR
   FINAL OVERRIDE
   ========================================================= */

@media (max-width: 768px) {

    /* Keep logo on the left like Reel Analyzer */
    .sidebar-logo {
        justify-content: flex-start !important;
        text-align: left !important;
        margin-left: 16px !important;
    }

    /* Mobile navigation row */
    .sidebar-menu {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-around !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Every navigation item */
    .sidebar-menu > a {
        position: relative !important;
        display: flex !important;

        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;

        padding: 0 !important;
        margin: 0 !important;

        align-items: center !important;
        justify-content: center !important;

        gap: 0 !important;
        overflow: visible !important;
        white-space: nowrap !important;
    }

    /* Active AI Captions box = ICON ONLY */
    .sidebar-menu > a.active-link {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        overflow: visible !important;
    }

    /* Active icon */
    .sidebar-menu > a.active-link i {
        position: static !important;

        width: 17px !important;
        height: 17px !important;

        margin: 0 !important;
        flex-shrink: 0 !important;
    }

    /* =====================================================
       AI CAPTIONS LABEL
       Put text BELOW the purple active box,
       exactly like Reel Analyzer
       ===================================================== */

    .sidebar-menu > a.active-link span {
        display: block !important;

        position: absolute !important;

        top: calc(100% + 1px) !important;
        left: 50% !important;

        transform: translateX(-50%) !important;

        width: max-content !important;
        height: auto !important;

        margin: 0 !important;
        padding: 2px 5px !important;

        background: #17151b !important;
        border-radius: 3px !important;

        color: #ffffff !important;

        font-size: 7px !important;
        line-height: 1.15 !important;
        font-weight: 700 !important;

        white-space: nowrap !important;

        opacity: 1 !important;
        visibility: visible !important;

        z-index: 9999 !important;

        overflow: visible !important;
        text-overflow: clip !important;

        pointer-events: none !important;
    }

    /* Remove anything creating another label/strip */
    .sidebar-menu > a.active-link::before,
    .sidebar-menu > a.active-link::after {
        content: none !important;
        display: none !important;
    }

    /* Make sure the navbar itself does NOT grow
       because of the label */
    .sidebar-menu,
    .sidebar-main {
        overflow: visible !important;
    }

    /* Do not allow the label to push the page content down */
    .sidebar-menu > a.active-link span {
        flex: none !important;
    }
}

/* =========================================================
   AI CAPTIONS — FINAL MOBILE NAVBAR
   Matches Reel Analyzer style
   Mobile only — does NOT affect desktop
========================================================= */

@media (max-width: 560px) {

    /* NAVBAR */
    .sidebar {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 10px 10px 7px !important;
        overflow: visible !important;
    }

    .sidebar-main {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        overflow: visible !important;
    }

    /* Logo stays at top-left */
    .sidebar-logo {
        align-self: flex-start !important;
        margin: 0 !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    /* ONE ROW */
    .sidebar-menu {
        width: 100% !important;

        display: flex !important;
        flex-direction: row !important;

        align-items: center !important;
        justify-content: space-between !important;

        gap: 2px !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
    }

    /* ALL NAV ITEMS = ICON BOX */
    .sidebar-menu > a {
        position: relative !important;

        flex: 0 0 35px !important;

        width: 35px !important;
        min-width: 35px !important;

        height: 35px !important;
        min-height: 35px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        border-radius: 10px !important;

        overflow: visible !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    /* Hide ALL normal navigation text */
    .sidebar-menu > a > span {
        display: none !important;
    }

    /* Icons */
    .sidebar-menu > a svg,
    .sidebar-menu > a i {
        width: 15px !important;
        height: 15px !important;

        margin: 0 !important;

        flex: 0 0 15px !important;
    }

    /* =====================================================
       ACTIVE AI CAPTIONS
       Purple box ONLY around icon
    ===================================================== */

    .sidebar-menu > a.active-link {
        position: relative !important;

        flex: 0 0 35px !important;

        width: 35px !important;
        min-width: 35px !important;

        height: 35px !important;
        min-height: 35px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        border-radius: 10px !important;

        overflow: visible !important;
    }

    /* Active icon */
    .sidebar-menu > a.active-link svg,
    .sidebar-menu > a.active-link i {
        width: 15px !important;
        height: 15px !important;

        margin: 0 !important;

        color: #ff4fc3 !important;
    }

    /* =====================================================
       AI CAPTIONS LABEL
       REAL ELEMENT — BELOW THE PURPLE BOX
    ===================================================== */

    .sidebar-menu > a.active-link > span {
        display: block !important;

        position: absolute !important;

        top: calc(100% + 1px) !important;
        left: 50% !important;

        transform: translateX(-50%) !important;

        width: max-content !important;
        max-width: none !important;

        height: auto !important;

        margin: 0 !important;
        padding: 2px 5px !important;

        background: #17151b !important;
        color: #ffffff !important;

        border-radius: 3px !important;

        font-size: 7px !important;
        line-height: 1.1 !important;
        font-weight: 700 !important;

        white-space: nowrap !important;

        opacity: 1 !important;
        visibility: visible !important;

        overflow: visible !important;

        z-index: 99999 !important;

        pointer-events: none !important;
    }

    /* Kill old pseudo-labels */
    .sidebar-menu > a.active-link::before,
    .sidebar-menu > a.active-link::after {
        content: none !important;
        display: none !important;
    }

    /* Don't let label change navbar height */
    .sidebar-menu,
    .sidebar-main {
        overflow: visible !important;
    }

    /* No upgrade button */
    .upgrade-mini-btn {
        display: none !important;
    }
}


/* =========================================================
   EXTRA SMALL PHONES
========================================================= */

@media (max-width: 380px) {

    .sidebar-menu {
        gap: 1px !important;
    }

    .sidebar-menu > a,
    .sidebar-menu > a.active-link {
        flex-basis: 32px !important;

        width: 32px !important;
        min-width: 32px !important;

        height: 32px !important;
        min-height: 32px !important;
    }

    .sidebar-menu > a svg,
    .sidebar-menu > a i,
    .sidebar-menu > a.active-link svg,
    .sidebar-menu > a.active-link i {
        width: 14px !important;
        height: 14px !important;
    }

    .sidebar-menu > a.active-link > span {
        font-size: 6.5px !important;
        padding: 2px 4px !important;
    }
}

/* =====================================================
   PRO LOCK — ADVANCED CAPTIONS
===================================================== */

.caption-mode-btn {
    position: relative;
}

.caption-mode-btn.pro-locked {
    cursor: not-allowed;
}

.caption-mode-btn.pro-locked:hover {
    transform: none;
}

.pro-lock-icon {
    margin-left: auto;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;

    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.04);
}

.pro-lock-icon svg {
    width: 15px;
    height: 15px;
}