/**
 * PremiumAssignmentExperts – Full responsive overrides
 * Breakpoints: 1199 | 991 | 767 | 575
 */

/* ── Large tablet / small laptop ── */
@media (max-width: 1199px) {
    .header-search input { width: 150px; }
}

/* ── Tablet ── */
@media (max-width: 991px) {
    .site-logo { height: 54px; max-width: 260px; }
    .site-logo-sm { height: 46px; max-width: 220px; }

    .main-header { padding: 10px 0; }
    .header-inner { flex-wrap: wrap; gap: 10px; }

    .page-content { padding: 24px 0; }
    .page-content .row > [class*="col-lg-4"] { margin-top: 28px; }
    .content-sidebar .sidebar-form,
    .content-sidebar .order-form-card {
        position: static;
        top: auto;
        margin-top: 0;
    }

    .section-title,
    .writing-services .heading,
    .expert-section .heading,
    .subject-section .heading,
    .city-help-section .heading,
    .testimonials .heading,
    .faqs .title span {
        font-size: 1.375rem;
    }

    .benefit-box { padding: 24px 0; }

    .help-services {
        flex-direction: column;
        padding: 36px 0;
        gap: 24px;
    }
    .help-services .left {
        flex: 1 1 100%;
        min-width: 0;
        width: 100%;
    }
    .help-services .content {
        max-height: none;
        overflow: visible;
    }
    .help-services > .wa-offer-figure {
        flex: 1 1 auto;
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
    }

    .cta-inner {
        flex-direction: column;
        text-align: center;
    }
    .cta-actions {
        justify-content: center;
        width: 100%;
    }

    .order-strip { padding: 32px 16px; }
    .order-strip .heading { font-size: 1.3rem; }

    .how-it-work { padding: 36px 0; }
    .how-it-work .heading { font-size: 1.4rem; }

    .writing-services,
    .expert-section,
    .subject-section,
    .city-help-section,
    .testimonials,
    .faqs,
    .how-it-work,
    .benefit-box {
        padding-top: 24px;
        padding-bottom: 24px;
    }
    .faqs .acc_inner > .acc { flex: 1 1 100%; max-width: 100%; }

    .footer-cta { padding: 32px 0 24px; }
    .footer-cta h3 { font-size: 1.45rem; }
    .footer-main { padding: 36px 0 24px; }
}

/* ── Mobile ── */
@media (max-width: 767px) {
    .container,
    .top-content.container,
    .cta-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .page-banner { padding: 28px 0; }
    .page-banner h1 { font-size: 1.45rem; }
    .hero-title { font-size: 1.35rem; }

    .home-heading { font-size: 25px; padding-top: 10px; }
    .home-banner .sub-heading { font-size: 15px; }

    .top-content.container {
        flex-direction: column;
        gap: 24px;
    }
    .top-content .left,
    .top-content .right {
        flex: 1 1 100%;
        min-width: 0;
        width: 100%;
    }
    .top-content .left-inner { max-height: none; }
    .top-content h2 { font-size: 1.375rem; }

    .benefit-box .container {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
    }
    .benefit-box .left {
        flex: 1 1 100%;
        max-width: 100%;
        width: 100%;
        min-height: auto;
        padding: 0;
        background: none !important;
    }
    .benefit-box .benefit-center {
        display: flex;
        flex: 1 1 100%;
        max-width: 100%;
        width: 100%;
        justify-content: center;
        margin: 10px 0;
    }
    .benefit-box .benefit-lady-img { max-height: 280px; }
    .benefit-box .left .des { width: 100%; max-width: none; }
    .benefit-box .right {
        flex: 1 1 100%;
        max-width: 100%;
        width: 100%;
        margin-top: 16px;
    }

    .banner-form-card {
        max-width: 100%;
        width: 100%;
    }
    .banner-form-card .form-row-2 {
        flex-direction: column;
        gap: 0;
    }
    .banner-form-card .words-deadline {
        flex-direction: column;
        gap: 10px;
    }
    .banner-form-card .deadline-block,
    .banner-form-card .words-block {
        width: 100%;
    }

    .banner-features {
        gap: 8px 16px;
    }
    .banner-features li {
        min-width: calc(33.333% - 12px);
        font-size: 0.72rem;
        padding-top: 34px;
    }

    .review-strip .review-box {
        min-width: 0;
        flex: 1 1 calc(50% - 6px);
        padding: 8px 10px;
    }
    .review-strip .ratings { font-size: 20px; line-height: 28px; }

    .banner-bottom-logo > p { font-size: 15px; }

    .header-actions {
        gap: 8px;
    }
    .header-actions .btn {
        height: 38px;
        min-height: 38px;
        padding: 0 12px;
        font-size: 0.8125rem;
    }

    .order-form-card {
        padding: 18px 16px;
    }

    .help-services .content table.table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .subject-list { gap: 10px; }
    .subject-item {
        min-width: calc(50% - 8px);
        padding: 12px 14px;
        font-size: 0.82rem;
    }

    .process-slider li { flex: 0 0 170px; }
    .writing-services-cards { flex: 0 0 100%; max-width: 100%; }
    .expert-section .slide-in { flex: 0 0 280px; }
    .city-card { flex: 0 0 300px; }
    .testimonials .box { flex: 0 0 300px; }

    .footer-cta h3 { font-size: 1.3rem; }
    .footer-cta p { font-size: 0.9rem; padding: 0 8px; }
    .footer-cta-btns {
        flex-direction: column;
        align-items: center;
    }
    .footer-cta-btns .btn {
        width: 100%;
        max-width: 280px;
    }

    .footer-bottom .container {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
    .footer-legal {
        justify-content: center !important;
        gap: 10px 16px !important;
    }

    .floating-whatsapp {
        bottom: 16px;
        right: 16px;
        width: 50px;
        height: 50px;
        font-size: 1.45rem;
    }

    .cta-heading { font-size: 1.2rem; }
    .cta-btn {
        width: 100%;
        max-width: 280px;
        text-align: center;
    }

    .order-page-main { padding: 20px 0 0; }
    .order-success-box { padding: 24px 16px; }
}

/* ── Small mobile ── */
@media (max-width: 575px) {
    .site-logo { height: 48px; max-width: 230px; }

    .banner-features li {
        min-width: calc(50% - 8px);
    }

    .review-strip {
        flex-direction: column;
        align-items: stretch;
    }
    .review-strip .review-box {
        width: 100%;
        flex: 1 1 auto;
    }

    .banner-form-card .phone-field-wrap,
    .banner-form-card .phone-row {
        flex-direction: column;
        gap: 8px;
    }
    .banner-form-card .country-code-picker,
    .banner-form-card .phone-field-wrap select {
        flex: 1 1 auto;
        width: 100%;
    }

    .subject-item {
        min-width: 100%;
    }

    .writer-card .buttons {
        flex-direction: column;
    }

    .cta-actions {
        flex-direction: column;
        align-items: center;
    }

    .benefit-box .cust-review span { font-size: 2.5rem; }

    .order-strip .callBtn {
        display: block;
        width: 100%;
        max-width: 280px;
        margin: 0 auto;
    }

    .expert-section .all-expert a,
    .testimonials .review-all a {
        display: block;
        width: 100%;
        max-width: 280px;
        margin: 0 auto;
    }

    .page-content h2 { font-size: 1.25rem; }
    .page-content h3 { font-size: 1.05rem; }

    .sitemap-links { columns: 1; }
}

/* ── Prevent horizontal overflow ── */
img, video, iframe, table {
    max-width: 100%;
}

.page-home main,
.site-footer,
.site-header {
    overflow-x: visible;
}

/* ── Touch-friendly tap targets ── */
@media (max-width: 991px) {
    .nav-menu > li > a,
    .btn,
    .cta-btn,
    .order-button,
    .callBtn,
    .subject-item,
    .writer-card .about-btn,
    .writer-card .hire-btn {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .mobile-nav-offcanvas .nav-link {
        padding: 12px 0;
        font-size: 1rem;
    }
}

/* ── Landscape phones ── */
@media (max-width: 767px) and (orientation: landscape) {
    .home-banner { min-height: auto; }
    .banner-right { min-height: auto; }
}
