/* ============================================
   FORUM MOBILE REDESIGN
   Twitter/Reddit-Style Feed Layout
   ============================================ */

/* === MOBILE BREAKPOINT (768px and below) === */
@media (max-width: 768px) {
    /* Prevent horizontal page scroll */
    body {
        overflow-x: hidden !important;
    }

    /* === MAIN LAYOUT - Single Column Feed === */
    .forum-layout {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: unset !important;
        gap: 0 !important;
        padding: 70px 0 100px !important;
        max-width: 100% !important;
        width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    /* === SIDEBAR - Transforms to Top Navigation (Non-sticky) === */
    .forum-sidebar {
        position: relative !important;
        top: auto !important;
        z-index: 1 !important;
        max-height: none !important;
        overflow: visible !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        background: var(--bg-primary) !important;
        border-bottom: 1px solid var(--border) !important;
        padding: 12px !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }

    /* Create Thread - Simple Purple Circle with Plus */
    .btn-create-thread {
        position: fixed !important;
        bottom: 24px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 56px !important;
        height: 56px !important;
        border-radius: 50% !important;
        padding: 0 !important;
        z-index: 100 !important;
        background: var(--primary) !important;
        box-shadow: none !important;
        order: unset !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0 !important;
        gap: 0 !important;
    }

    .btn-create-thread:hover {
        box-shadow: none !important;
        transform: translateX(-50%) !important;
    }

    .btn-create-thread svg {
        width: 24px !important;
        height: 24px !important;
        color: white !important;
        stroke: white !important;
        display: block !important;
    }

    /* Search Bar - Full Width Clean Style */
    .sidebar-search {
        order: 1 !important;
        margin-bottom: 12px !important;
        padding: 10px 14px !important;
        border-radius: 20px !important;
        min-height: 44px !important;
    }

    .sidebar-search input {
        font-size: 16px !important;
    }

    /* === NAVIGATION - Two Row Design === */
    .sidebar-nav {
        order: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    /* Section headers hidden */
    .sidebar-nav h4 {
        display: none !important;
    }

    /* === ROW 1: Feed Type Selector (Segmented Control) === */
    .sidebar-nav .nav-section:first-child {
        order: 1 !important;
        display: flex !important;
        background: rgba(255, 255, 255, 0.03) !important;
        border-radius: 10px !important;
        padding: 4px !important;
        gap: 4px !important;
        width: 100% !important;
    }

    .sidebar-nav .nav-section:first-child .nav-item {
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px 8px !important;
        border-radius: 8px !important;
        font-size: 0.8rem !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
        min-height: 40px !important;
        background: transparent !important;
        border: none !important;
        color: var(--text-secondary) !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
    }

    .sidebar-nav .nav-section:first-child .nav-item.active {
        background: var(--primary) !important;
        color: white !important;
        box-shadow: 0 2px 8px rgba(var(--primary-rgb), 0.3) !important;
    }

    .sidebar-nav .nav-section:first-child .nav-item svg {
        display: none !important;
    }

    /* Period Filters - Show between feed selector and categories */
    #periodFilters {
        order: 2 !important;
        display: flex !important;
        width: 100% !important;
        gap: 4px !important;
        overflow-x: auto !important;
        padding: 4px !important;
        background: rgba(255, 255, 255, 0.03) !important;
        border-radius: 10px !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    #periodFilters::-webkit-scrollbar {
        display: none !important;
    }

    /* Hide when JS sets display:none */
    #periodFilters[style*="display: none"] {
        display: none !important;
    }

    /* Hide desktop-only period filters */
    .period-filters.desktop-only {
        display: none !important;
    }

    /* Period buttons - match feed selector style */
    #periodFilters .period-btn {
        flex: 1 !important;
        padding: 10px 8px !important;
        font-size: 0.8rem !important;
        font-weight: 600 !important;
        border-radius: 8px !important;
        min-height: 40px !important;
        background: transparent !important;
        border: none !important;
        color: var(--text-secondary) !important;
        white-space: nowrap !important;
        transition: all 0.2s ease !important;
    }

    #periodFilters .period-btn.active {
        background: var(--primary) !important;
        color: white !important;
        box-shadow: 0 2px 8px rgba(var(--primary-rgb), 0.3) !important;
    }

    /* === HIDE NAVBAR AND FAB WHEN MODAL IS OPEN === */
    body.modal-open .navbar,
    body.modal-open .btn-create-thread {
        display: none !important;
    }

    body.modal-open {
        overflow: hidden !important;
        position: fixed !important;
        width: 100% !important;
        height: 100% !important;
    }

    /* === ROW 3: Categories Section - Match Feed Selector Style === */
    .sidebar-nav .nav-section:last-child {
        order: 3 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        width: 100% !important;
        overflow-x: auto !important;
        gap: 4px !important;
        padding: 4px !important;
        background: rgba(255, 255, 255, 0.03) !important;
        border-radius: 10px !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .sidebar-nav .nav-section:last-child::-webkit-scrollbar {
        display: none !important;
    }

    /* Hide Categories header on mobile */
    .sidebar-nav .nav-section:last-child h4 {
        display: none !important;
    }

    /* Categories Container */
    #categoryNav {
        display: flex !important;
        flex-direction: row !important;
        gap: 4px !important;
        padding: 0 !important;
        width: auto !important;
        background: transparent !important;
        border-radius: 0 !important;
        border: none !important;
    }

    /* Category Pills - Match Feed Selector Style */
    #categoryNav .nav-item {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px 12px !important;
        border-radius: 8px !important;
        font-size: 0.8rem !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
        min-height: 40px !important;
        background: transparent !important;
        border: none !important;
        color: var(--text-secondary) !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
        flex-shrink: 0 !important;
    }

    #categoryNav .nav-item:hover {
        background: rgba(255, 255, 255, 0.05) !important;
        color: var(--text-primary) !important;
    }

    #categoryNav .nav-item.active {
        background: var(--primary) !important;
        color: white !important;
        box-shadow: 0 2px 8px rgba(var(--primary-rgb), 0.3) !important;
    }

    #categoryNav .nav-item svg {
        display: none !important;
    }

    /* Category colored dot */
    #categoryNav .nav-item .cat-dot {
        width: 6px !important;
        height: 6px !important;
        border-radius: 50% !important;
        margin-right: 6px !important;
        flex-shrink: 0 !important;
    }

    #categoryNav .nav-item.active .cat-dot {
        box-shadow: 0 0 4px currentColor !important;
    }

    /* === MAIN CONTENT === */
    .forum-main {
        padding: 0 !important;
    }

    /* Hide desktop period filters on mobile */
    .period-filters.desktop-only {
        display: none !important;
    }

    /* === PINNED SECTION === */
    .pinned-section {
        padding: 12px !important;
        margin-bottom: 0 !important;
    }

    .pinned-header {
        font-size: 0.8rem !important;
        margin-bottom: 10px !important;
    }

    .pinned-grid {
        display: flex !important;
        overflow-x: auto !important;
        gap: 10px !important;
        padding-bottom: 8px !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .pinned-grid::-webkit-scrollbar {
        display: none !important;
    }

    .pinned-card {
        flex: 0 0 280px !important;
        min-width: 280px !important;
    }

    /* === THREAD CARDS - Card Style with Clear Separation === */
    .threads-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        padding: 10px 12px !important;
    }

    .thread-card {
        position: relative !important;
        padding: 14px 16px !important;
        margin: 0 !important;
        border-radius: 12px !important;
        border: 1px solid rgba(255, 255, 255, 0.06) !important;
        gap: 12px !important;
        background: rgba(255, 255, 255, 0.02) !important;
    }

    .thread-card:active {
        background: rgba(255, 255, 255, 0.05) !important;
        border-color: rgba(var(--primary-rgb), 0.2) !important;
    }

    /* Thread Avatar */
    .thread-avatar {
        width: 40px !important;
        height: 40px !important;
        border-radius: 8px !important;
        flex-shrink: 0 !important;
    }

    /* Thread Content - Full Width */
    .thread-card-main {
        flex: 1 !important;
        min-width: 0 !important;
    }

    .thread-card-header {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        margin-bottom: 4px !important;
        padding-right: 90px !important; /* Space for stats */
    }

    .author-name {
        font-size: 0.85rem !important;
        font-weight: 600 !important;
    }

    .thread-time {
        font-size: 0.75rem !important;
        color: var(--text-muted) !important;
    }

    .thread-card-title {
        font-size: 0.95rem !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
        margin-bottom: 6px !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .category-tag {
        font-size: 0.65rem !important;
        padding: 2px 6px !important;
        border-radius: 4px !important;
    }

    .thread-card-preview {
        font-size: 0.85rem !important;
        line-height: 1.45 !important;
        color: var(--text-secondary) !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    /* Thread Stats - Positioned in Header Row (Top Right) */
    .thread-card-stats {
        position: absolute !important;
        top: 14px !important;
        right: 16px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        min-width: unset !important;
    }

    .thread-card-stats .stat {
        display: flex !important;
        align-items: center !important;
        gap: 3px !important;
        font-size: 0.7rem !important;
        color: var(--text-muted) !important;
    }

    .thread-card-stats .stat svg {
        width: 12px !important;
        height: 12px !important;
    }

    .thread-card-stats .score {
        font-weight: 600 !important;
    }

    /* === HIDE SIDEBAR WHEN VIEWING THREAD === */
    body.viewing-thread .forum-sidebar {
        display: none !important;
    }

    body.viewing-thread .forum-layout {
        padding-top: 0 !important;
    }

    /* === 3-DOT MORE MENU === */
    .more-menu-wrapper {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
    }

    .btn-more-menu {
        width: 44px !important;
        height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        border-radius: 50% !important;
        color: var(--text-secondary) !important;
        transition: all 0.2s ease !important;
    }

    .btn-more-menu:hover,
    .btn-more-menu:active {
        background: rgba(255, 255, 255, 0.05) !important;
        color: var(--text-primary) !important;
    }

    .btn-more-menu svg {
        width: 20px !important;
        height: 20px !important;
        fill: currentColor !important;
    }

    .more-menu-dropdown {
        position: absolute !important;
        bottom: 100% !important;
        right: 0 !important;
        min-width: 140px !important;
        background: #1a1a24 !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-radius: 10px !important;
        padding: 6px !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(8px) !important;
        transition: all 0.2s ease !important;
        z-index: 100 !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
    }

    .more-menu-dropdown.open {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(-8px) !important;
    }

    .more-menu-dropdown button {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        padding: 10px 14px !important;
        background: transparent !important;
        border: none !important;
        border-radius: 6px !important;
        color: var(--text-primary) !important;
        font-size: 0.85rem !important;
        font-weight: 500 !important;
        cursor: pointer !important;
        text-align: left !important;
        transition: background 0.2s ease !important;
    }

    .more-menu-dropdown button:hover,
    .more-menu-dropdown button:active {
        background: rgba(255, 255, 255, 0.05) !important;
    }

    .more-menu-dropdown button svg {
        width: 16px !important;
        height: 16px !important;
        color: var(--text-muted) !important;
        flex-shrink: 0 !important;
    }

    /* Hide report button in op-actions on mobile (it's now in 3-dot menu) */
    .op-actions .btn-action[onclick*="openReportModal"] {
        display: none !important;
    }

    /* === THREAD DETAIL VIEW === */
    .thread-detail {
        padding: 0 !important;
    }

    .breadcrumb {
        padding: 12px 16px !important;
        font-size: 0.8rem !important;
        background: rgba(255, 255, 255, 0.02) !important;
        border-bottom: 1px solid var(--border) !important;
    }

    /* Original Post */
    .thread-post {
        flex-direction: column !important;
        padding: 16px !important;
        margin: 12px !important;
        border-radius: 12px !important;
        border: 1px solid rgba(255, 255, 255, 0.06) !important;
        background: rgba(255, 255, 255, 0.02) !important;
        gap: 12px !important;
    }

    /* Vote Sidebar - Horizontal at Bottom */
    .op-vote-sidebar {
        order: 3 !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
        padding-top: 12px !important;
        border-top: 1px solid var(--border) !important;
    }

    .op-vote-sidebar .vote-btn {
        width: 44px !important;
        height: 44px !important;
    }

    .op-vote-sidebar .vote-score {
        font-size: 1rem !important;
        min-width: 40px !important;
        text-align: center !important;
    }

    /* Reply and Report buttons in vote sidebar - push to right */
    .op-vote-sidebar .btn-action-icon.btn-reply {
        margin-left: auto !important;
        width: 40px !important;
        height: 40px !important;
    }

    .op-vote-sidebar .more-menu-wrapper {
        margin-left: 0 !important;
    }

    .op-vote-sidebar .more-menu-wrapper .btn-more-menu {
        width: 40px !important;
        height: 40px !important;
    }

    .op-vote-sidebar .more-menu-wrapper .btn-more-menu svg {
        width: 18px !important;
        height: 18px !important;
    }

    /* OP Header */
    .op-main {
        order: 1 !important;
    }

    .op-header {
        margin-bottom: 12px !important;
    }

    .op-avatar {
        width: 44px !important;
        height: 44px !important;
        border-radius: 10px !important;
    }

    .op-username {
        font-size: 0.9rem !important;
    }

    .op-title {
        font-size: 1.25rem !important;
        line-height: 1.3 !important;
        margin-bottom: 12px !important;
    }

    .op-content {
        font-size: 0.9rem !important;
        line-height: 1.6 !important;
    }

    /* OP Footer Actions */
    .op-footer {
        flex-direction: column !important;
        gap: 12px !important;
        padding-top: 12px !important;
    }

    .op-actions {
        display: flex !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
    }

    .op-actions .btn-action {
        min-height: 40px !important;
        padding: 8px 14px !important;
        font-size: 0.8rem !important;
    }

    /* === REPLIES SECTION === */
    .posts-section {
        padding: 12px !important;
    }

    .posts-section h2 {
        padding: 0 4px 12px !important;
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        color: var(--text-secondary) !important;
        background: transparent !important;
        border-bottom: none !important;
        margin: 0 !important;
    }

    .posts-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        padding: 0 !important;
    }

    /* Reply Cards - New Grid Layout */
    .reply-card {
        position: relative !important;
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        grid-template-rows: auto auto !important;
        padding: 14px 16px !important;
        margin: 0 !important;
        border-radius: 12px !important;
        border: 1px solid rgba(255, 255, 255, 0.06) !important;
        background: rgba(255, 255, 255, 0.02) !important;
        gap: 0 !important;
    }

    .reply-card:active {
        background: rgba(255, 255, 255, 0.04) !important;
    }

    /* Row 1: Avatar + Header (username/time) + Actions in top right */
    .reply-avatar {
        grid-row: 1 !important;
        grid-column: 1 !important;
        width: 36px !important;
        height: 36px !important;
        border-radius: 8px !important;
        flex-shrink: 0 !important;
        margin-right: 10px !important;
    }

    .reply-main {
        grid-row: 1 / 3 !important;
        grid-column: 2 !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .reply-header {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 8px !important;
        margin-bottom: 8px !important;
    }

    .reply-user {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        min-width: 0 !important;
        flex: 1 !important;
    }

    .reply-user-info {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        flex-wrap: wrap !important;
    }

    .reply-username {
        font-size: 0.85rem !important;
        font-weight: 600 !important;
    }

    .reply-date {
        font-size: 0.7rem !important;
        color: var(--text-muted) !important;
    }

    .reply-content {
        font-size: 0.875rem !important;
        line-height: 1.5 !important;
        color: var(--text-secondary) !important;
        padding-left: 0 !important;
    }

    /* Row 2: Vote sidebar - vertical under avatar */
    .reply-vote-sidebar {
        grid-row: 2 !important;
        grid-column: 1 !important;
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 2px !important;
        margin-right: 10px !important;
        margin-top: 8px !important;
        padding-top: 0 !important;
    }

    .reply-vote-sidebar .vote-btn {
        width: 28px !important;
        height: 28px !important;
        padding: 4px !important;
    }

    .reply-vote-sidebar .vote-btn svg {
        width: 14px !important;
        height: 14px !important;
    }

    .reply-vote-sidebar .vote-score {
        font-size: 0.75rem !important;
        min-width: 20px !important;
        text-align: center !important;
    }

    /* Reply Actions - Top Right Corner */
    .reply-actions {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        opacity: 1 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        flex-shrink: 0 !important;
    }

    /* Icon-only action buttons */
    .btn-action-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 32px !important;
        height: 32px !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        border-radius: 8px !important;
        color: var(--text-secondary) !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
    }

    .btn-action-icon:hover,
    .btn-action-icon:active {
        background: rgba(255, 255, 255, 0.08) !important;
        color: var(--text-primary) !important;
    }

    .btn-action-icon svg {
        width: 16px !important;
        height: 16px !important;
    }

    .btn-action-icon.btn-reply {
        color: var(--primary) !important;
    }

    .btn-action-icon.btn-action-danger {
        color: #ef4444 !important;
    }

    .btn-action-icon.btn-action-danger:hover,
    .btn-action-icon.btn-action-danger:active {
        background: rgba(239, 68, 68, 0.1) !important;
        color: #f87171 !important;
    }

    /* Reply card 3-dot menu */
    .reply-actions .more-menu-wrapper .btn-more-menu {
        width: 32px !important;
        height: 32px !important;
        background: transparent !important;
    }

    .reply-actions .more-menu-wrapper .btn-more-menu svg {
        width: 16px !important;
        height: 16px !important;
    }

    .reply-actions .more-menu-dropdown {
        bottom: auto !important;
        top: 100% !important;
        transform: translateY(-8px) !important;
    }

    .reply-actions .more-menu-dropdown.open {
        transform: translateY(8px) !important;
    }

    /* === INLINE REPLY FORM === */
    .inline-reply-form {
        background: rgba(var(--primary-rgb), 0.05) !important;
        border: 1px solid rgba(var(--primary-rgb), 0.2) !important;
        border-radius: 12px !important;
        padding: 14px !important;
        margin: 10px 12px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .inline-reply-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
    }

    .inline-reply-label {
        font-size: 0.8rem !important;
        color: var(--text-secondary) !important;
    }

    .inline-reply-label strong {
        color: var(--primary) !important;
    }

    .btn-cancel-inline {
        width: 32px !important;
        height: 32px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        border: none !important;
        border-radius: 50% !important;
        color: var(--text-muted) !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
    }

    .btn-cancel-inline:hover,
    .btn-cancel-inline:active {
        background: rgba(255, 255, 255, 0.05) !important;
        color: var(--text-primary) !important;
    }

    .btn-cancel-inline svg {
        width: 18px !important;
        height: 18px !important;
    }

    .inline-reply-form textarea {
        width: 100% !important;
        min-height: 80px !important;
        padding: 12px !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
        background: rgba(255, 255, 255, 0.03) !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        border-radius: 10px !important;
        color: var(--text-primary) !important;
        resize: vertical !important;
    }

    .inline-reply-form textarea:focus {
        outline: none !important;
        border-color: rgba(var(--primary-rgb), 0.4) !important;
    }

    .inline-reply-form textarea::placeholder {
        color: var(--text-muted) !important;
    }

    .inline-reply-actions {
        display: flex !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }

    .inline-reply-actions .btn-cancel-reply {
        padding: 10px 16px !important;
        font-size: 0.85rem !important;
        font-weight: 500 !important;
        background: transparent !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-radius: 8px !important;
        color: var(--text-secondary) !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
    }

    .inline-reply-actions .btn-cancel-reply:hover,
    .inline-reply-actions .btn-cancel-reply:active {
        background: rgba(255, 255, 255, 0.05) !important;
        color: var(--text-primary) !important;
    }

    .inline-reply-actions .btn-submit-inline {
        padding: 10px 20px !important;
        font-size: 0.85rem !important;
        font-weight: 600 !important;
        background: var(--primary) !important;
        border: none !important;
        border-radius: 8px !important;
        color: white !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
    }

    .inline-reply-actions .btn-submit-inline:hover,
    .inline-reply-actions .btn-submit-inline:active {
        background: var(--primary-hover) !important;
    }

    /* Hide bottom reply form on mobile when inline is available */
    .reply-form {
        display: none !important;
    }

    /* === INLINE EDIT FORM === */
    .inline-edit-form {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin-top: 8px !important;
    }

    .inline-edit-title {
        width: 100% !important;
        padding: 12px !important;
        font-size: 1.1rem !important;
        font-weight: 600 !important;
        background: rgba(255, 255, 255, 0.03) !important;
        border: 1px solid rgba(var(--primary-rgb), 0.3) !important;
        border-radius: 10px !important;
        color: var(--text-primary) !important;
        transition: border-color 0.2s ease !important;
    }

    .inline-edit-title:focus {
        outline: none !important;
        border-color: rgba(var(--primary-rgb), 0.6) !important;
    }

    .inline-edit-title::placeholder {
        color: var(--text-muted) !important;
    }

    .inline-edit-content {
        width: 100% !important;
        min-height: 100px !important;
        padding: 12px !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
        background: rgba(255, 255, 255, 0.03) !important;
        border: 1px solid rgba(var(--primary-rgb), 0.3) !important;
        border-radius: 10px !important;
        color: var(--text-primary) !important;
        resize: vertical !important;
        font-family: inherit !important;
        transition: border-color 0.2s ease !important;
    }

    .inline-edit-content:focus {
        outline: none !important;
        border-color: rgba(var(--primary-rgb), 0.6) !important;
    }

    .inline-edit-content::placeholder {
        color: var(--text-muted) !important;
    }

    .inline-edit-actions {
        display: flex !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }

    .btn-cancel-edit {
        padding: 10px 16px !important;
        font-size: 0.85rem !important;
        font-weight: 500 !important;
        background: transparent !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-radius: 8px !important;
        color: var(--text-secondary) !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
    }

    .btn-cancel-edit:hover,
    .btn-cancel-edit:active {
        background: rgba(255, 255, 255, 0.05) !important;
        color: var(--text-primary) !important;
    }

    .btn-save-edit {
        padding: 10px 20px !important;
        font-size: 0.85rem !important;
        font-weight: 600 !important;
        background: var(--primary) !important;
        border: none !important;
        border-radius: 8px !important;
        color: white !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
    }

    .btn-save-edit:hover,
    .btn-save-edit:active {
        background: var(--primary-hover) !important;
    }

    /* === OP ACTIONS - Icon Style === */
    .op-actions {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
    }

    .op-actions .btn-action-icon {
        width: 40px !important;
        height: 40px !important;
    }

    .op-actions .btn-action-icon svg {
        width: 18px !important;
        height: 18px !important;
    }

    .op-actions .more-menu-wrapper .btn-more-menu {
        width: 40px !important;
        height: 40px !important;
    }

    /* === NESTED REPLIES === */
    .reply-thread {
        margin-top: 10px !important;
        margin-left: 16px !important;
        padding-left: 0 !important;
        border-left: none !important;
    }

    .reply-thread .reply-card {
        border-left: 2px solid rgba(var(--primary-rgb), 0.2) !important;
        border-radius: 0 12px 12px 0 !important;
    }

    .reply-thread .reply-thread {
        margin-left: 12px !important;
    }

    .reply-thread .reply-thread .reply-thread {
        margin-left: 10px !important;
    }

    /* Limit nesting depth */
    .reply-thread .reply-thread .reply-thread .reply-thread {
        margin-left: 8px !important;
    }

    .reply-thread .reply-thread .reply-thread .reply-thread .reply-card {
        border-left-color: rgba(var(--primary-rgb), 0.1) !important;
    }

    .nested-reply .reply-avatar {
        width: 30px !important;
        height: 30px !important;
    }

    .nested-reply .reply-content {
        font-size: 0.85rem !important;
    }

    /* === REPLY FORM === */
    .reply-form {
        position: sticky !important;
        bottom: 0 !important;
        background: #0a0a0f !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
        padding: 12px 16px 24px !important;
        z-index: 30 !important;
    }

    .reply-form h3 {
        display: none !important;
    }

    .reply-form textarea {
        font-size: 16px !important;
        min-height: 60px !important;
        border-radius: 12px !important;
        background: rgba(255, 255, 255, 0.03) !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
    }

    .btn-submit-reply {
        width: 100% !important;
        min-height: 48px !important;
        margin-top: 10px !important;
        border-radius: 24px !important;
        background: var(--primary) !important;
        font-weight: 600 !important;
    }

    #replyingTo {
        font-size: 0.8rem !important;
        padding: 8px 12px !important;
        margin-bottom: 8px !important;
        border-radius: 8px !important;
    }

    /* === PAGINATION === */
    .pagination {
        padding: 16px !important;
        gap: 6px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    .pagination button {
        min-width: 40px !important;
        min-height: 40px !important;
        font-size: 0.85rem !important;
    }

    /* === THREAD MODAL - Full Screen Compose Experience === */
    #threadModal {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        padding: 0 !important;
        background: #0a0a0f !important;
    }

    #threadModal.open {
        position: fixed !important;
        inset: 0 !important;
        z-index: 9999 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* New Thread Modal - Full Screen on Mobile */
    #threadModal .thread-modal-new {
        max-width: 100% !important;
        width: 100% !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100vh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        margin: 0 !important;
        background: #0a0a0f !important;
        display: flex !important;
        flex-direction: column !important;
        transform: none !important;
    }

    #threadModal .modal-close-corner {
        position: fixed !important;
        top: 12px !important;
        right: 12px !important;
        z-index: 100 !important;
        background: rgba(0, 0, 0, 0.5) !important;
    }

    #threadModal .thread-modal-content {
        padding: 16px !important;
        padding-top: 56px !important;
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        overflow-y: auto !important;
    }

    #threadModal .thread-modal-header {
        margin-bottom: 20px !important;
    }

    #threadModal .thread-modal-header h2 {
        font-size: 1.25rem !important;
    }

    #threadModal .thread-form {
        flex: 1 !important;
        gap: 16px !important;
    }

    /* Category pills - wrap nicely with larger touch targets */
    #threadModal .category-pills {
        gap: 8px !important;
    }

    #threadModal .cat-pill {
        padding: 8px 14px !important;
        font-size: 0.7rem !important;
    }

    /* Form inputs - larger touch targets */
    #threadModal .field-input {
        padding: 14px 16px !important;
        font-size: 16px !important;
        min-height: 48px !important;
    }

    #threadModal .field-textarea {
        padding: 14px 16px !important;
        font-size: 16px !important;
        min-height: 150px !important;
        flex: 1 !important;
    }

    /* Footer - fixed at bottom */
    #threadModal .thread-modal-footer {
        position: sticky !important;
        bottom: 0 !important;
        background: #0a0a0f !important;
        padding: 16px 0 !important;
        margin-top: auto !important;
        border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    }

    #threadModal .btn-ghost,
    #threadModal .btn-submit {
        padding: 12px 20px !important;
        font-size: 0.9375rem !important;
    }

    /* Content textarea - fills remaining space */
    #threadModal .form-group:nth-child(3) {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* === OTHER MODALS - Bottom Sheet Style === */
    .modal-overlay:not(#threadModal) {
        align-items: flex-end !important;
        padding: 0 !important;
    }

    .modal-overlay:not(#threadModal) .modal {
        max-width: 100% !important;
        width: 100% !important;
        max-height: 85vh !important;
        border-radius: 20px 20px 0 0 !important;
        margin: 0 !important;
    }

    .modal-overlay:not(#threadModal) .modal-header {
        padding: 16px 20px !important;
        border-bottom: 1px solid var(--border) !important;
    }

    .modal-overlay:not(#threadModal) .modal-header h3 {
        font-size: 1.1rem !important;
    }

    .modal-overlay:not(#threadModal) .modal-close {
        width: 40px !important;
        height: 40px !important;
    }

    .modal-overlay:not(#threadModal) .modal-body {
        padding: 16px 20px !important;
        overflow-y: auto !important;
    }

    .modal-overlay:not(#threadModal) .modal-footer {
        padding: 12px 20px 24px !important;
        gap: 10px !important;
    }

    .modal-overlay:not(#threadModal) .modal-footer .btn-cancel,
    .modal-overlay:not(#threadModal) .modal-footer .btn-save,
    .modal-overlay:not(#threadModal) .modal-footer .btn-delete {
        min-height: 48px !important;
        flex: 1 !important;
        border-radius: 12px !important;
    }

    /* Form inputs in modals */
    .modal-overlay:not(#threadModal) .form-group input,
    .modal-overlay:not(#threadModal) .form-group select,
    .modal-overlay:not(#threadModal) .form-group textarea {
        font-size: 16px !important;
        min-height: 48px !important;
        border-radius: 10px !important;
    }

    .modal-overlay:not(#threadModal) .form-group textarea {
        min-height: 120px !important;
    }
}

/* === SMALLER MOBILE (600px and below) === */
@media (max-width: 600px) {
    /* Feed selector - slightly smaller */
    .sidebar-nav .nav-section:first-child .nav-item {
        padding: 8px 6px !important;
        font-size: 0.75rem !important;
        min-height: 36px !important;
    }

    /* Period buttons - match feed selector size */
    #periodFilters .period-btn {
        padding: 8px 6px !important;
        font-size: 0.75rem !important;
        min-height: 36px !important;
    }

    /* Category pills - match feed selector size */
    #categoryNav .nav-item {
        padding: 8px 6px !important;
        font-size: 0.75rem !important;
        min-height: 36px !important;
    }

    .threads-list {
        gap: 8px !important;
        padding: 8px 10px !important;
    }

    .thread-card {
        padding: 12px 14px !important;
        border-radius: 10px !important;
    }

    /* Adjust stats position for smaller padding */
    .thread-card-stats {
        top: 12px !important;
        right: 14px !important;
        gap: 8px !important;
    }

    .thread-card-header {
        padding-right: 85px !important;
    }

    .thread-avatar {
        width: 36px !important;
        height: 36px !important;
    }

    .thread-card-title {
        font-size: 0.9rem !important;
    }

    .thread-card-preview {
        font-size: 0.8rem !important;
        -webkit-line-clamp: 2 !important;
    }

    .op-title {
        font-size: 1.15rem !important;
    }

    .op-content {
        font-size: 0.85rem !important;
    }

    .reply-thread {
        margin-left: 16px !important;
        padding-left: 10px !important;
    }

    .reply-thread .reply-thread {
        margin-left: 12px !important;
    }

    /* Smaller elements at 600px */
    .reply-avatar {
        width: 32px !important;
        height: 32px !important;
        margin-right: 8px !important;
    }

    .btn-action-icon {
        width: 30px !important;
        height: 30px !important;
    }

    .btn-action-icon svg {
        width: 14px !important;
        height: 14px !important;
    }

    .reply-vote-sidebar {
        margin-right: 8px !important;
    }

    .reply-vote-sidebar .vote-btn {
        width: 26px !important;
        height: 26px !important;
    }

    .reply-vote-sidebar .vote-btn svg {
        width: 12px !important;
        height: 12px !important;
    }

    .reply-vote-sidebar .vote-score {
        font-size: 0.7rem !important;
    }

    .reply-username {
        font-size: 0.8rem !important;
    }

    .reply-date {
        font-size: 0.65rem !important;
    }
}

/* === EXTRA SMALL MOBILE (480px and below) === */
@media (max-width: 480px) {
    .forum-layout {
        padding: 65px 0 100px !important;
    }

    .forum-sidebar {
        padding: 10px !important;
        gap: 8px !important;
    }

    /* Feed selector - even more compact */
    .sidebar-nav {
        gap: 8px !important;
    }

    .sidebar-nav .nav-section:first-child {
        padding: 3px !important;
        gap: 3px !important;
    }

    .sidebar-nav .nav-section:first-child .nav-item {
        padding: 8px 4px !important;
        font-size: 0.7rem !important;
        min-height: 34px !important;
    }

    /* Period buttons - match feed selector size */
    #periodFilters {
        padding: 3px !important;
        gap: 3px !important;
    }

    #periodFilters .period-btn {
        padding: 8px 4px !important;
        font-size: 0.7rem !important;
        min-height: 34px !important;
    }

    /* Category pills - match feed selector size */
    #categoryNav .nav-item {
        padding: 8px 4px !important;
        font-size: 0.7rem !important;
        min-height: 34px !important;
    }

    #categoryNav .nav-item .cat-dot {
        width: 5px !important;
        height: 5px !important;
        margin-right: 4px !important;
    }

    .btn-create-thread {
        bottom: 20px !important;
        width: 50px !important;
        height: 50px !important;
        box-shadow: none !important;
    }

    .btn-create-thread svg {
        width: 22px !important;
        height: 22px !important;
    }

    .threads-list {
        gap: 6px !important;
        padding: 6px 8px !important;
    }

    .thread-card {
        padding: 10px 12px !important;
        gap: 10px !important;
        border-radius: 8px !important;
    }

    /* Adjust stats position for smallest padding */
    .thread-card-stats {
        top: 10px !important;
        right: 12px !important;
        gap: 6px !important;
    }

    .thread-card-header {
        padding-right: 75px !important;
    }

    .thread-avatar {
        width: 32px !important;
        height: 32px !important;
    }

    .author-name {
        font-size: 0.8rem !important;
    }

    .thread-card-title {
        font-size: 0.85rem !important;
    }

    .thread-card-preview {
        font-size: 0.78rem !important;
    }

    .thread-card-stats .stat {
        font-size: 0.65rem !important;
    }

    .thread-card-stats .stat svg {
        width: 10px !important;
        height: 10px !important;
    }

    /* Thread detail compact */
    .thread-post {
        padding: 12px !important;
    }

    .op-avatar {
        width: 40px !important;
        height: 40px !important;
    }

    .op-title {
        font-size: 1.1rem !important;
    }

    .op-content {
        font-size: 0.8rem !important;
    }

    .reply-card {
        padding: 10px 12px !important;
    }

    .reply-avatar {
        width: 32px !important;
        height: 32px !important;
    }

    .reply-content {
        font-size: 0.8rem !important;
    }

    /* Even tighter nesting */
    .reply-thread {
        margin-left: 12px !important;
        padding-left: 8px !important;
    }

    .reply-thread .reply-thread {
        margin-left: 10px !important;
        padding-left: 6px !important;
    }

    .reply-thread .reply-thread .reply-thread {
        margin-left: 8px !important;
        padding-left: 4px !important;
    }

    .nested-reply .reply-avatar {
        width: 26px !important;
        height: 26px !important;
    }

    .nested-reply .reply-content {
        font-size: 0.78rem !important;
    }

    /* Even smaller elements at 480px */
    .reply-card {
        padding: 10px 12px !important;
    }

    .reply-avatar {
        width: 28px !important;
        height: 28px !important;
        margin-right: 8px !important;
    }

    .btn-action-icon {
        width: 28px !important;
        height: 28px !important;
    }

    .btn-action-icon svg {
        width: 13px !important;
        height: 13px !important;
    }

    .reply-vote-sidebar {
        margin-right: 8px !important;
        margin-top: 6px !important;
        gap: 1px !important;
    }

    .reply-vote-sidebar .vote-btn {
        width: 24px !important;
        height: 24px !important;
        padding: 3px !important;
    }

    .reply-vote-sidebar .vote-btn svg {
        width: 11px !important;
        height: 11px !important;
    }

    .reply-vote-sidebar .vote-score {
        font-size: 0.65rem !important;
        min-width: 16px !important;
    }

    .reply-username {
        font-size: 0.75rem !important;
    }

    .reply-date {
        font-size: 0.6rem !important;
    }

    .reply-content {
        font-size: 0.8rem !important;
    }

    .reply-actions .more-menu-wrapper .btn-more-menu {
        width: 28px !important;
        height: 28px !important;
    }

    .reply-actions .more-menu-wrapper .btn-more-menu svg {
        width: 13px !important;
        height: 13px !important;
    }
}
