/* MatchCam Core - couche qualité front, volontairement légère et scoped. */
body.matchcam-quality-page [class*="matchcam-"] *,
body.matchcam-quality-page [class^="matchcam-"] * {
    box-sizing: border-box;
}

body.matchcam-quality-page a[class*="matchcam-"],
body.matchcam-quality-page button[class*="matchcam-"],
body.matchcam-quality-page input[class*="matchcam-"][type="submit"] {
    touch-action: manipulation;
}

body.matchcam-quality-page a[class*="matchcam-"]:focus-visible,
body.matchcam-quality-page button[class*="matchcam-"]:focus-visible,
body.matchcam-quality-page input[class*="matchcam-"]:focus-visible,
body.matchcam-quality-page select[class*="matchcam-"]:focus-visible,
body.matchcam-quality-page textarea[class*="matchcam-"]:focus-visible,
body.matchcam-quality-page [class*="matchcam-"] a:focus-visible,
body.matchcam-quality-page [class*="matchcam-"] button:focus-visible,
body.matchcam-quality-page [class*="matchcam-"] input:focus-visible,
body.matchcam-quality-page [class*="matchcam-"] select:focus-visible,
body.matchcam-quality-page [class*="matchcam-"] textarea:focus-visible {
    outline: 3px solid #ffd80a;
    outline-offset: 3px;
}

body.matchcam-quality-page [class*="matchcam-table-scroll"],
body.matchcam-quality-page [class*="matchcam-value-table-wrap"] {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.matchcam-quality-page [class*="matchcam-"] img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 782px) {
    body.matchcam-quality-page [class*="matchcam-"] input,
    body.matchcam-quality-page [class*="matchcam-"] select,
    body.matchcam-quality-page [class*="matchcam-"] textarea {
        max-width: 100%;
        font-size: 16px;
    }

    body.matchcam-quality-page a[class*="matchcam-"],
    body.matchcam-quality-page button[class*="matchcam-"],
    body.matchcam-quality-page [class*="matchcam-"] button,
    body.matchcam-quality-page [class*="matchcam-"] input[type="submit"] {
        min-height: 44px;
    }

    body.matchcam-quality-page [class*="matchcam-grid"] > *,
    body.matchcam-quality-page [class*="matchcam-actions"] > * {
        min-width: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.matchcam-quality-page [class*="matchcam-"],
    body.matchcam-quality-page [class*="matchcam-"] * {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
