/* ═══════════════════════════════════════════════════════════════
   Mita-BD — Global Responsive System (mobile-first)
   Breakpoints: 320 · 375 · 414 · 768 · 1024 · 1280 · 1440 · 1920
   ═══════════════════════════════════════════════════════════════ */

/* ── Root & overflow ── */
html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

html,
body.site-body {
    overflow-x: clip;
    max-width: 100%;
}

img,
video,
svg {
    max-width: 100%;
    height: auto;
}

main {
    overflow-x: clip;
}

/* ── Fluid typography & containers ── */
body.site-body {
    font-size: clamp(0.9375rem, 0.9rem + 0.2vw, 1rem);
}

.container {
    width: 100%;
    max-width: 1320px;
    padding-left: clamp(1rem, 3vw, 1.5rem);
    padding-right: clamp(1rem, 3vw, 1.5rem);
}

@media (min-width: 1440px) {
    .container { max-width: 1400px; }
}

@media (min-width: 1920px) {
    .container { max-width: 1520px; }
}

/* ── Touch targets ── */
.btn,
.site-offcanvas-toggle,
.site-offcanvas__close,
.ent-industry-nav__btn,
.ent-industry-dot,
.ent-footer__social a,
.ent-footer__newsletter-form button {
    min-height: 44px;
}

.btn-sm {
    min-height: 44px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

/* ── Navbar mobile (offcanvas — desktop nav hidden) ── */
@media (max-width: 991.98px) {
    .site-navbar {
        min-height: 72px;
    }

    .site-navbar-inner {
        min-height: 72px;
    }

    .site-brand {
        max-width: calc(100% - 60px);
    }
}

/* ── Inner page hero ── */
.site-page-hero h1 {
    font-size: clamp(1.75rem, 4vw + 0.5rem, 3rem);
}

.site-page-hero p {
    font-size: clamp(0.95rem, 1.5vw + 0.5rem, 1.1rem);
}

.site-hero-actions {
    flex-direction: column;
    align-items: stretch;
}

.site-hero-actions .btn {
    width: 100%;
    min-height: 48px;
}

@media (min-width: 576px) {
    .site-hero-actions {
        flex-direction: row;
        align-items: center;
    }

    .site-hero-actions .btn {
        width: auto;
    }
}

.site-home-stats {
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
    .site-home-stats {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ── Sections (inner pages) ── */
.site-section {
    padding: clamp(3rem, 6vw, 5rem) 0;
}

.site-section-header h2 {
    font-size: clamp(1.5rem, 3vw + 0.5rem, 2.25rem);
}

.site-card-image {
    height: clamp(160px, 30vw, 200px);
}

.site-card-body h3 {
    font-size: clamp(1rem, 2vw, 1.1rem);
}

/* ── Forms (quote, contact, order) ── */
.site-form-card {
    padding: clamp(1.25rem, 4vw, 2rem);
}

.site-form-control,
.form-control {
    font-size: 16px; /* prevents iOS zoom */
    min-height: 44px;
}

/* ── CTA band (inner pages) ── */
.site-cta {
    padding: clamp(3rem, 6vw, 4rem) 0;
}

.site-cta h2 {
    font-size: clamp(1.5rem, 3vw, 2rem);
}

.site-cta .d-flex {
    flex-direction: column;
    align-items: stretch !important;
}

.site-cta .btn {
    width: 100%;
    min-height: 48px;
}

@media (min-width: 576px) {
    .site-cta .d-flex {
        flex-direction: row;
        justify-content: center !important;
    }

    .site-cta .btn {
        width: auto;
    }
}

/* ── Testimonials (inner pages) ── */
.site-testimonial {
    padding: clamp(1.25rem, 4vw, 2rem);
}

/* ── Partners (inner pages) ── */
.site-partner-logo {
    height: clamp(80px, 15vw, 100px);
    padding: clamp(0.75rem, 2vw, 1.5rem);
}

.site-partner-logo img {
    max-height: clamp(36px, 8vw, 50px);
}

/* ── Tracking ── */
.site-tracking-result {
    padding: clamp(1.25rem, 4vw, 2rem);
}

.site-status-timeline {
    justify-content: center;
}

/* ── Mega footer ── */
.ent-footer__grid {
    grid-template-columns: 1fr;
    gap: clamp(2rem, 4vw, 3rem);
}

.ent-footer__main {
    padding: clamp(3rem, 6vw, 5rem) 0 clamp(2rem, 4vw, 3rem);
}

.ent-footer__newsletter-form {
    flex-direction: column;
}

.ent-footer__newsletter-form input,
.ent-footer__newsletter-form button {
    width: 100%;
    min-height: 48px;
}

.ent-footer__newsletter .ent-footer__cta-btns {
    flex-direction: column;
}

.ent-footer__cta-btns .btn {
    width: 100%;
    justify-content: center;
}

.ent-footer__bottom {
    flex-direction: column;
    text-align: center;
    align-items: center;
}

.ent-footer__badges {
    flex-direction: column;
    gap: 0.75rem;
    align-items: center;
}

@media (min-width: 576px) {
    .ent-footer__badges {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }

    .ent-footer__newsletter-form {
        flex-direction: row;
    }

    .ent-footer__newsletter-form input {
        width: auto;
        flex: 1;
    }

    .ent-footer__newsletter-form button {
        width: auto;
        min-width: 48px;
    }

    .ent-footer__newsletter .ent-footer__cta-btns {
        flex-direction: row;
    }

    .ent-footer__cta-btns .btn {
        width: auto;
    }
}

@media (min-width: 768px) {
    .ent-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ent-footer__brand {
        grid-column: 1 / -1;
    }

    .ent-footer__bottom {
        flex-direction: row;
        text-align: left;
        align-items: center;
    }

    .ent-footer__badges {
        flex-direction: row;
    }
}

@media (min-width: 1024px) {
    .ent-footer__grid {
        grid-template-columns: 1.5fr repeat(3, 1fr) 1.2fr;
    }

    .ent-footer__brand {
        grid-column: auto;
    }
}

/* ── Alerts ── */
.site-alert {
    font-size: clamp(0.875rem, 2vw, 1rem);
}

/* ── Utility: prevent child overflow ── */
.row {
    --bs-gutter-x: clamp(1rem, 3vw, 1.5rem);
}

[class*="col-"] {
    min-width: 0;
}

.w-100-mobile {
    width: 100%;
}

@media (min-width: 768px) {
    .w-100-mobile {
        width: auto;
    }
}

/* ── Phone-first hardening ── */
body.site-body {
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
}

/* Keep content clear of floating WhatsApp + home indicator */
body.site-body:has(.wa-float) {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
}

body.site-order-placement:has(.wa-float) {
    padding-bottom: calc(7.5rem + env(safe-area-inset-bottom, 0px));
}

input,
select,
textarea {
    font-size: 16px !important; /* iOS: prevent auto-zoom on focus */
}

.site-offcanvas {
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

.site-offcanvas__cta .btn {
    min-height: 48px;
}

@media (max-width: 575.98px) {
    .site-header-actions .btn,
    .site-offcanvas__cta .btn {
        width: 100%;
    }

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

    /* Stack heavy grids */
    .row.g-4 > [class*="col-"],
    .row.g-3 > [class*="col-md-"] {
        margin-bottom: 0;
    }
}
