/*
 * Public site responsive overrides.
 * Prefer Bootstrap utilities in Blade; keep this file small.
 */

.hero-copy .btn-core {
    max-width: 100%;
}

.newsletter-box.row {
    display: flex;
    flex-wrap: wrap;
}

.table-wrap {
    -webkit-overflow-scrolling: touch;
}

.hero[id],
.section-pad[id],
.inner-page .page-banner {
    scroll-margin-top: 90px;
}

/* iPhone / small phones (320px–575px) */
@media (max-width: 575.98px) {
    .section-pad {
        padding: 56px 0;
    }

    .section-heading h2 {
        font-size: 28px;
    }

    .hero-slider,
    .hero-slider .slick-list,
    .hero-slider .slick-track,
    .hero-slider .slick-slide {
        height: auto;
    }

    .hero,
    .hero-slide {
        min-height: 0;
    }

    .hero-slide {
        min-height: calc(100svh - 82px);
        align-items: flex-end;
    }

    .hero-copy {
        padding: 36px 0 76px;
    }

    .hero-copy h1 {
        font-size: 32px;
    }

    .hero-copy p {
        font-size: 15px;
    }

    .hero-counter {
        left: 15px;
        right: auto;
        bottom: 16px;
        gap: 10px;
    }

    .hero-dot {
        font-size: 18px;
    }

    .feature-card {
        min-height: 0;
        padding: 28px 20px 24px;
    }

    .feature-no {
        font-size: 48px;
    }

    .about-media img,
    .team-photo img {
        height: 260px;
    }

    .about-badge {
        max-width: 150px;
        padding: 12px 14px;
    }

    .about-badge strong {
        font-size: 36px;
    }

    .class-table {
        min-width: 640px;
    }

    .class-table th,
    .class-table td {
        padding: 10px 8px;
        font-size: 13px;
    }

    .price-card.is-featured,
    .price-card:hover {
        transform: none;
    }

    .contact-form,
    .quote-card {
        padding: 24px 16px;
    }

    .newsletter-form {
        min-width: 0;
        width: 100%;
    }

    .footer-main p,
    .check-list li {
        padding-right: 48px;
    }

    .page-banner {
        min-height: 220px;
        padding: 110px 0 28px;
    }

    .page-banner h1 {
        font-size: 30px;
    }

    .article-cover img {
        height: 220px;
    }

    [data-reveal],
    [data-reveal="left"],
    [data-reveal="right"] {
        transform: translateY(16px);
    }
}

/* Large phones / small tablets */
@media (min-width: 576px) and (max-width: 767.98px) {
    .hero-slider,
    .hero-slider .slick-list,
    .hero-slider .slick-track,
    .hero-slider .slick-slide {
        height: auto;
    }

    .hero,
    .hero-slide {
        min-height: 0;
    }

    .hero-slide {
        min-height: calc(100svh - 82px);
        align-items: flex-end;
    }

    .hero-copy {
        padding: 48px 0 88px;
    }

    .hero-copy h1 {
        font-size: 40px;
    }

    .hero-counter {
        left: 15px;
        right: auto;
        bottom: 20px;
        gap: 10px;
    }

    .hero-dot {
        font-size: 20px;
    }

    .price-card.is-featured,
    .price-card:hover {
        transform: none;
    }

    .newsletter-form {
        min-width: 0;
    }
}

/* Tablets */
@media (min-width: 768px) and (max-width: 991.98px) {
    .hero-copy {
        padding: 80px 0 120px;
    }

    .hero-copy h1 {
        font-size: 52px;
    }

    .class-slider,
    .blog-slider,
    .testimonial-slider {
        padding-top: 52px;
    }

    .class-slider .slick-arrow,
    .blog-slider .slick-arrow,
    .testimonial-slider .slick-arrow {
        top: 0;
    }

    .price-card.is-featured {
        transform: none;
    }
}

/* Small desktops */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .main-nav ul {
        gap: 16px;
    }

    .section-heading h2 {
        font-size: 40px;
    }

    .class-slider,
    .blog-slider,
    .testimonial-slider {
        padding-top: 52px;
    }

    .class-slider .slick-arrow,
    .blog-slider .slick-arrow,
    .testimonial-slider .slick-arrow {
        top: 0;
    }
}

/* Large screens */
@media (min-width: 1400px) {
    .hero-copy h1 {
        font-size: 84px;
    }
}
