/* =====================================================================
   responsive-fixes.css — corrige overflows do template Ashley
   Auditoria 2026-05-07: <img> sem max-width quebrava em mobile/desktop.
   ===================================================================== */

/* Defesa global: nenhuma imagem pode escapar do container */
img,
video,
iframe {
    max-width: 100%;
    height: auto;
}

/* Garantia: html/body nunca rolam horizontalmente */
html,
body {
    overflow-x: clip;
}

/* Wrappers de capa precisam ser 100% — template Ashley esquece em alguns */
.mil-portfolio-item .mil-cover-frame,
.mil-blog-card .mil-cover-frame,
.mil-cover-frame {
    width: 100%;
}

/* About-photo (foto grande do "sobre" na home) */
.mil-about-photo {
    width: 100%;
    overflow: hidden;
}
.mil-about-photo img,
.mil-about-photo .mil-img-frame img {
    max-width: 100%;
    height: auto;
}

/* Avatar do quote (me2.png) — força contenção */
.mil-about-quote .mil-avatar {
    overflow: hidden;
}
.mil-about-quote .mil-avatar img {
    max-width: 100%;
}

/* Slider de reviews — slides não podem extrapolar */
.mil-reviews-s .swiper-slide,
.mil-reviews-s .mil-review-frame {
    max-width: 100%;
    box-sizing: border-box;
}

/* Iframes (mapa do contato) */
.mil-map iframe,
iframe {
    max-width: 100%;
}

/* Breadcrumbs — quebra de linha em mobile */
@media (max-width: 480px) {
    .mil-breadcrumbs {
        flex-wrap: wrap;
    }
    .mil-breadcrumbs li,
    .mil-breadcrumbs li a {
        font-size: 11px;
        word-break: break-word;
    }
}

/* Tabelas admin sem wrapper em mobile (defensivo) */
@media (max-width: 768px) {
    table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* Headings gigantes do template — clamp para não estourar viewport pequeno */
@media (max-width: 480px) {
    h1, .mil-h1 {
        font-size: clamp(32px, 9vw, 64px);
        word-wrap: break-word;
    }
    h2, .mil-h2 {
        font-size: clamp(28px, 8vw, 56px);
    }
}
