/* Mobile readability pass shared across public pages. */
@media (max-width: 768px) {
    body {
        font-size: 16px !important;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    input,
    select,
    textarea,
    button {
        font-size: 1rem !important;
    }

    p,
    li,
    .review-text,
    .comment-text,
    .profile-info p,
    .project-public-content p,
    .eventos-hero p,
    .faq-answer p,
    .field-hint,
    .empty-state,
    .no-results {
        font-size: 1rem !important;
        line-height: 1.6 !important;
    }

    .btn-user,
    .u-btn,
    .hero-link,
    .btn-slide,
    .project-item-link,
    .btn-interest,
    .btn-load-more-comments,
    .filter-btn,
    .chip,
    .type-btn,
    .toggle-filters-btn,
    .project-action-btn,
    .comment-form button,
    .reply-toggle,
    .comment-action,
    .btn-action-small {
        font-size: 1rem !important;
        line-height: 1.2 !important;
    }

    .card-title,
    .destaque-title,
    .ml-card-title,
    .profile-info h3,
    .project-public-content h2,
    .event-card-info h3,
    .info-card h2,
    .section-header h3 {
        font-size: 1.06rem !important;
        line-height: 1.3 !important;
    }

    .profile-info h3,
    .project-public-content h2,
    .event-card-info h3,
    .info-card h2 {
        font-size: 1.22rem !important;
    }

    .card-owner,
    .destaque-cat,
    .card-link,
    .comments-meta span,
    .comments-score,
    .comment-head,
    .stat-item span,
    .stat-info span,
    .field-label,
    .input-group label,
    .form-group label,
    .rank-seller small,
    .status-pill,
    .badge,
    .pay-tag,
    .promo-badge-blue,
    .rank-badge {
        font-size: 0.94rem !important;
        line-height: 1.35 !important;
    }

    .card-price,
    .destaque-price,
    .ml-card-price,
    .price-tag {
        line-height: 1.1 !important;
    }

    .profile-main > .avatar,
    img.avatar {
        width: clamp(118px, 34vw, 150px) !important;
        height: clamp(118px, 34vw, 150px) !important;
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
        border-radius: clamp(30px, 9vw, 40px) !important;
        flex: 0 0 auto !important;
    }
}

@media (max-width: 420px) {
    .mobile-auth-actions .mobile-auth-link,
    .btn-user,
    .u-btn,
    .chip,
    .type-btn {
        font-size: 0.96rem !important;
    }

    .card-title,
    .destaque-title {
        font-size: 1rem !important;
    }
}

@media (max-width: 768px) {
    .sticky-filters .chips-container,
    .sticky-filters .type-filter {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch;
    }

    .sticky-filters .chips-container::-webkit-scrollbar,
    .sticky-filters .type-filter::-webkit-scrollbar {
        display: none !important;
    }

    .sticky-filters .chip,
    .sticky-filters .type-btn {
        flex: 0 0 auto !important;
        min-height: 38px !important;
        padding: 9px 14px !important;
        font-size: 0.9rem !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .sticky-filters .chip i,
    .sticky-filters .type-btn i {
        font-size: 0.95rem !important;
    }
}
