/* ============================================================
   RESPONSIVE — TABLET 1024px
   ============================================================ */
@media (max-width: 1100px) {
    .all-services-grid   { grid-template-columns: repeat(3, 1fr); }
    .footer-grid         { grid-template-columns: 1fr 1fr; gap:32px; }
    .services-cards-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   RESPONSIVE — MOBILE/TABLET 900px
   ============================================================ */
@media (max-width: 900px) {
    .service-single-main {
    gap: 10px;
    display: flex;
    flex-wrap: wrap;
}
    :root { --section-pad: 55px; }

    /* Header */
    .header-topbar { display: none; }
    .header-main-inner { min-height: 64px; }
    .site-logo img { height: 50px !important; }
    .primary-nav { display: none !important; }
    .mobile-toggle { display: flex !important; }
    .header-actions .btn { display: none !important; }
    .hero-section { margin-top: 64px !important; }

    /* Hero */
    .hero-inner { grid-template-columns: 1fr; text-align: center; padding: 36px 0; }
    .hero-image-wrap { display: none; }
    .hero-trust-card { display: none; }
    .hero-btns { justify-content: center; }
    .hero-content p { margin: 0 auto 28px; max-width: 100%; }
    .hero-content h1 { font-size: 1.9rem; }

    /* Grids → single column */
    .about-grid            { grid-template-columns: 1fr; }
    .about-mission-grid    { grid-template-columns: 1fr; gap: 30px; }
    .why-grid              { grid-template-columns: 1fr; }
    .why-image-wrap        { display: none; }
    .stats-grid            { grid-template-columns: repeat(2, 1fr); }
    .testimonials-grid     { grid-template-columns: 1fr; }
    .contact-grid          { grid-template-columns: 1fr; }
    .trust-grid            { grid-template-columns: 1fr; }
    .service-single-grid   { grid-template-columns: 1fr; }
    .all-services-grid     { grid-template-columns: repeat(2, 1fr); }
    .svc-overview-row      { grid-template-columns: 1fr; gap: 24px; margin-bottom: 40px; padding-bottom: 40px; }
    .svc-overview-row.svc-row-reverse .svc-overview-img  { order: 0; }
    .svc-overview-row.svc-row-reverse .svc-overview-text { order: 0; }
    .about-secondary-img { display: none; }
    .about-badge         { display: none; }

    /* Service sidebar: move below content */
    .service-sidebar { position: static; top: auto; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: 28px; }
}

/* ============================================================
   RESPONSIVE — MOBILE 640px
   ============================================================ */
@media (max-width: 640px) {
    ul.sidebar-services-list {
    padding: 10px;
    box-shadow: 0px 1px 5px 2px;
    margin-top: 10px;
}
button#mobileClose {
    margin-left: 28px;
}
.sidebar-widget h4 {
    font-size: 26px;
    font-style: italic;
}
.who-for-box {
    padding: 5px;
}
    .page-hero h1 {
        font-size: 1.5rem;
        color: white;
        font-weight: 800;
        text-decoration: underline !important;
    }
    :root { --section-pad: 44px; }
    .container { padding: 0 16px; }

    /* Hero */
    .hero-content h1 { font-size: 1.6rem; }
    .hero-content h1 em { font-size: 1.6rem; }
    .hero-badge { font-size: 10px; padding: 5px 10px; flex-wrap: wrap; justify-content: center; text-align: center; }
    .hero-btns .btn { font-size: 13px; padding: 11px 18px; }
    .hero-btns { gap: 10px; }

    /* Section headings */
    .section-title { font-size: 1.35rem; }
    .section-desc  { font-size: 13px; }
    .section-header { margin-bottom: 28px; }

    /* Service cards: 1 column */
    .services-cards-grid { grid-template-columns: 1fr; gap: 14px; }

    /* All services: 2 columns → 1 */
    .all-services-grid { grid-template-columns: 1fr; gap: 12px; }
    .svc-card { padding: 20px 16px; }
    .svc-card-icon { width: 50px; height: 50px; font-size: 18px; }
    .svc-card h3 { font-size: 0.9rem; }
    .svc-card p  { font-size: 12px; }

    /* Stats */
    .stats-grid  { grid-template-columns: 1fr 1fr; gap: 16px; }
    .stat-num    { font-size: 1rem; }
    .stat-label  { font-size: 11px; }
    .stats-bar   { padding: 36px 0; }

    /* Trust badges: 2 columns */
    .trust-badges { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
    .trust-badge  { padding: 12px 6px; min-width: unset; }
    .trust-badge i { font-size: 20px; margin-bottom: 5px; }
    .trust-badge span { font-size: 9px; }

    /* CQC notice */
    .cqc-notice { padding: 18px; }
    .cqc-notice h3 { font-size: 0.95rem; }

    /* Testimonials */
    .testimonial-card { padding: 18px; }
    .testimonial-card blockquote { font-size: 13px; }

    /* Contact */
    .contact-info-card { padding: 22px 18px; }
    .contact-form-card { padding: 22px 18px; }
    .ci-item p, .ci-item a { font-size: 13px; }

    /* CF7 - prevent iOS zoom (must be 16px+) */
    .wpcf7 input[type="text"],
    .wpcf7 input[type="email"],
    .wpcf7 input[type="tel"],
    .wpcf7 select,
    .wpcf7 textarea { font-size: 16px !important; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: 24px; }
    .footer-bottom-inner { flex-direction: column; gap: 8px; text-align: center; }
    .footer-legal { flex-wrap: wrap; justify-content: center; gap: 10px; }

    /* Page hero */
    .page-hero { padding: 96px 0 36px; }
    .page-hero h1 { font-size: 1.5rem; }

    /* Service single */
    
    .service-detail-img { object-position: top; }
    .svc-cta-btns { flex-direction: column; }
    .svc-cta-btns .btn { width: 100%; justify-content: center; }

    /* Services overview */
    .svc-overview-row { padding: 20px; }
    .svc-overview-btns { flex-direction: column; }
    .svc-overview-btns .btn { width: 100%; justify-content: center; }

    /* Why points */
    .why-point { gap: 12px; }
    .why-point-icon { width: 40px; height: 40px; font-size: 15px; flex-shrink: 0; }
    .why-point-text h4 { font-size: 0.9rem; }
    .why-point-text p  { font-size: 12px; }

    /* About */
    .about-main-img { height: 220px; object-position: top; }
    .about-value { gap: 12px; }
    .av-text strong { font-size: 13px; }
    .av-text p { font-size: 12px; }

    /* Pre-footer CTA buttons */
    section[style*="linear-gradient(135deg,var(--teal-dark)"] > div > div[style*="flex"] {
        flex-direction: column;
    }
    section[style*="linear-gradient(135deg,var(--teal-dark)"] .btn { width: 100%; justify-content: center; }

    /* Float buttons */
    .float-actions { bottom: 16px; right: 16px; gap: 10px; }
    .float-btn { width: 44px; height: 44px; font-size: 16px; }

    /* 404 */
    .error-404 .num-404 { font-size: 5rem; }
    .error-404 { padding: 60px 0; }

    /* Sidebar */
    .sidebar-widget { padding: 18px; }

    /* Reveal: disable on mobile so nothing gets stuck invisible */
    .reveal, .reveal-left, .reveal-right {
        opacity: 1 !important;
        transform: none !important;
        transition: opacity 0.5s ease, transform 0.5s ease;
    }
    .reveal.visible, .reveal-left.visible, .reveal-right.visible {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ============================================================
   RESPONSIVE — VERY SMALL 380px
   ============================================================ */
@media (max-width: 380px) {
    .hero-content h1 { font-size: 1.4rem; }
    .trust-badges { grid-template-columns: 1fr 1fr; }
    .stats-grid   { grid-template-columns: 1fr; }
    .hero-btns    { flex-direction: column; align-items: center; }
    .hero-btns .btn { width: 100%; justify-content: center; }
    .all-services-grid { grid-template-columns: 1fr; }
}

/* Pre-footer CTA buttons */
.prefooter-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
@media (max-width: 480px) {
    .prefooter-btns { flex-direction: column; align-items: center; }
    .prefooter-btns .btn { width: 100%; justify-content: center; }
}
