/* Global responsive helpers for all pages */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}

/* Keep media elements responsive by default */
img,
svg,
video,
canvas {
    max-width: 100%;
    height: auto;
}

/* Improve tap targets and spacing on smaller devices */
@media (max-width: 991px) {
    .navbar-container {
        padding-inline: 16px !important;
    }

    footer .container,
    footer .container-fluid {
        padding-inline: 16px !important;
    }
}

/* Extra-small screen typography guard */
@media (max-width: 575px) {
    h1 {
        font-size: clamp(1.35rem, 6vw, 1.9rem);
    }

    h2 {
        font-size: clamp(1.15rem, 5vw, 1.5rem);
    }

    p,
    li,
    a,
    button,
    input,
    select,
    textarea {
        font-size: 0.95rem;
    }
}
