/* ===== Site-wide Responsive Styles ===== */

/* Tablet and below */
@media (max-width: 1024px) {
    :root {
        --container-width: 95%;
    }
}

/* Mobile devices */
@media (max-width: 768px) {

    /* Prevent horizontal scroll on mobile by ensuring proper containment */
    .site-main,
    .main-header,
    .site-footer {
        max-width: 100vw;
    }

    .hero-section {
        padding: 6rem 0;
    }

    .hero-section h1 {
        font-size: 2.5rem;
    }

    .footer-widgets {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .pricing-grid,
    .category-grid,
    .value-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-container .container {
        flex-direction: column;
    }

    .dashboard-sidebar {
        width: 100%;
        margin-bottom: 2rem;
    }

    .hero-search {
        flex-direction: column;
        border-radius: var(--border-radius-lg);
        padding: 1rem;
        gap: 0.5rem;
    }

    .hero-search input {
        padding: 0.8rem;
        text-align: center;
    }

    .search-icon-wrapper {
        display: none;
    }

    .hero-search button {
        width: 100%;
    }

    .section-title {
        font-size: 2rem;
    }

    /* Tool container responsive fixes */
    .tool-main-container {
        padding: 60px 0;
    }

    .card-style {
        padding: 1.5rem;
    }
}

/* Small mobile devices */
@media (max-width: 480px) {
    .tool-results {
        grid-template-columns: 1fr;
    }

    .btn {
        padding: 0.5rem 1rem;
    }

    .hero-section h1 {
        font-size: 2rem;
        letter-spacing: -1px;
    }

    .hero-section p {
        font-size: 1rem;
    }

    .container {
        padding: 0 0.75rem;
    }
}