/* Safe global helpers only. No page-wide color/background overrides. */
input[type="file"] {
    min-height: 46px;
}

.per-upload-note,
.per-auto-note {
    display: block;
    margin-top: 6px;
    color: #2563eb;
    font-size: 12px;
    line-height: 1.35;
}

.per-auto-compact {
    border: 1px dashed #93c5fd;
    border-radius: 12px;
    padding: 8px;
}

.per-category-soft {
    opacity: 0.95;
}

@media (max-width: 767px) {
    input,
    select,
    textarea,
    button {
        font-size: 16px;
    }

    a,
    button,
    input,
    select,
    textarea {
        -webkit-tap-highlight-color: transparent;
    }
}

/* BEGIN PER MOBILE ACTIVE MENU FLOAT */
@media (max-width: 768px) {
    #perMobileActiveMenuFloat {
        display: none !important;
    }

    .per-mobile-bottom-menu-host {
        overflow-x: auto !important;
        overflow-y: visible !important;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-top: 16px !important;
    }

    .per-mobile-bottom-menu-host::-webkit-scrollbar {
        display: none;
    }

    .per-mobile-current-menu-source {
        position: relative !important;
        z-index: 20 !important;
        flex: 0 0 auto !important;
        transform: translateY(-12px) scale(1.04) !important;
        transition: transform .22s ease, background .22s ease, box-shadow .22s ease, color .22s ease !important;
        border-radius: 18px !important;
        color: #ffffff !important;
        background:
            radial-gradient(circle at 20% 0%, rgba(255,255,255,.24), transparent 38%),
            linear-gradient(135deg, #2563eb, #1d4ed8) !important;
        box-shadow: 0 12px 28px rgba(37, 99, 235, .32) !important;
    }

    .per-mobile-current-menu-source svg,
    .per-mobile-current-menu-source i,
    .per-mobile-current-menu-source span,
    .per-mobile-current-menu-source small,
    .per-mobile-current-menu-source b,
    .per-mobile-current-menu-source strong {
        color: #ffffff !important;
        fill: currentColor;
    }

    .per-mobile-current-menu-source img {
        filter: brightness(0) invert(1);
    }

    .per-mobile-current-menu-source::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -6px;
        width: 5px;
        height: 5px;
        border-radius: 999px;
        background: #2563eb;
        transform: translateX(-50%);
        box-shadow: 0 0 0 4px rgba(37, 99, 235, .14);
    }
}
/* END PER MOBILE ACTIVE MENU FLOAT */
