/*
 * kikky-native-global.css
 * Kikky – Shell CSS nativa GLOBALE.
 * Si applica a TUTTE le pagine Kikky (panel, login, frontend store).
 * Le regole touch-only sono dentro @media (hover: none) and (pointer: coarse)
 * così non interferiscono mai con desktop/mouse.
 */


/* ============================================================
   1. VIEWPORT & BOX-MODEL BASE
   Queste regole sono sicure su tutti i dispositivi.
============================================================ */

.kikky-native,
.kikky-native * {
    box-sizing: border-box;
}

.kikky-native {
    min-height: 100dvh;
    overflow-x: hidden;
}

.kikky-native a,
.kikky-native button,
.kikky-native [role="button"],
.kikky-native label,
.kikky-native select,
.kikky-native input[type="submit"],
.kikky-native input[type="button"],
.kikky-native input[type="reset"] {
    cursor: pointer;
}


/* ============================================================
   TOUCH ONLY – tutto il resto si applica solo su dispositivi
   touch (telefoni, tablet). Su PC/mouse non cambia nulla.
============================================================ */

@media (hover: none) and (pointer: coarse) {

    /* 2. ANTI-ZOOM INPUT FOCUS (iOS Safari) */
    .kikky-native input,
    .kikky-native textarea,
    .kikky-native select {
        font-size: 16px !important;
    }

    .kikky-native input:not([type="checkbox"]):not([type="radio"]),
    .kikky-native textarea,
    .kikky-native select {
        -webkit-appearance: none;
        appearance: none;
    }

    /* 3. RIMOZIONE FEEDBACK TAP BROWSER */
    .kikky-native *,
    .kikky-native *::before,
    .kikky-native *::after {
        -webkit-tap-highlight-color: transparent;
    }

    .kikky-native img,
    .kikky-native a {
        -webkit-touch-callout: none;
    }

    /* 4. SELEZIONE TESTO */
    .kikky-native button,
    .kikky-native [role="button"],
    .kikky-native nav,
    .kikky-native header,
    .kikky-native footer,
    .kikky-native .kikky-panel-header,
    .kikky-native .kikky-panel-sidebar,
    .kikky-native .kikky-panel-nav,
    .kikky-native .kikky-bottom-bar,
    .kikky-native .kikky-login-card,
    .kikky-native label {
        user-select: none;
        -webkit-user-select: none;
    }

    .kikky-native p,
    .kikky-native h1,
    .kikky-native h2,
    .kikky-native h3,
    .kikky-native h4,
    .kikky-native h5,
    .kikky-native h6,
    .kikky-native span,
    .kikky-native td,
    .kikky-native li {
        user-select: text;
        -webkit-user-select: text;
    }

    /* 5. SCROLL: BLOCCO PULL-TO-REFRESH, BOUNCE */
    html.kikky-native {
        overscroll-behavior-x: none;
        overscroll-behavior-y: none;
    }

    body.kikky-native {
        overscroll-behavior-x: none;
        overscroll-behavior-y: none;
        -webkit-overflow-scrolling: touch;
    }

    .kikky-native .kikky-scrollable,
    .kikky-native .kikky-panel-main,
    .kikky-native .kikky-panel-content,
    .kikky-native [data-kikky-scroll] {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
    }

    /* 6. SAFE AREAS – NOTCH, DYNAMIC ISLAND, HOME BAR */
    .kikky-native header,
    .kikky-native .kikky-panel-header,
    .kikky-native .kikky-store-header,
    .kikky-native .kikky-login-header,
    .kikky-native .kikky-topbar {
        padding-top: env(safe-area-inset-top, 0px);
    }

    .kikky-native footer,
    .kikky-native .kikky-bottom-bar,
    .kikky-native .kikky-panel-bottom-nav,
    .kikky-native .kikky-footer {
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    .kikky-native main,
    .kikky-native .kikky-panel-main,
    .kikky-native .kikky-store-main {
        padding-left: env(safe-area-inset-left, 0px);
        padding-right: env(safe-area-inset-right, 0px);
    }

    .kikky-native .kikky-modal,
    .kikky-native .kikky-drawer,
    .kikky-native [role="dialog"] {
        padding-top: env(safe-area-inset-top, 0px);
        padding-bottom: env(safe-area-inset-bottom, 0px);
        padding-left: env(safe-area-inset-left, 0px);
        padding-right: env(safe-area-inset-right, 0px);
    }

    /* 7. TOUCH RESPONSIVENESS – DELAY 0 SU TAP */
    .kikky-native a,
    .kikky-native button,
    .kikky-native [role="button"],
    .kikky-native label,
    .kikky-native select,
    .kikky-native input[type="submit"],
    .kikky-native input[type="button"],
    .kikky-native input[type="reset"],
    .kikky-native .kikky-card,
    .kikky-native .kikky-tile,
    .kikky-native .kikky-list-item,
    .kikky-native [data-kikky-tap] {
        touch-action: manipulation;
    }

    /* 8. FOCUS: VISIBILE SOLO DA TASTIERA */
    .kikky-native *:focus:not(:focus-visible) {
        outline: none !important;
        box-shadow: none !important;
    }

    .kikky-native *:focus-visible {
        outline: 2px solid var(--kikky-primary, #FFD400);
        outline-offset: 2px;
    }

    /* 9. STANDALONE MODE */
    @media (display-mode: standalone) {
        .kikky-native header,
        .kikky-native .kikky-panel-header,
        .kikky-native .kikky-store-header {
            padding-top: max(env(safe-area-inset-top, 20px), 20px);
        }

        .kikky-native .kikky-back-to-site,
        .kikky-native .kikky-powered-by {
            display: none !important;
        }
    }

    /* 10. CONTEXT MENU */
    .kikky-native button,
    .kikky-native [role="button"],
    .kikky-native nav a,
    .kikky-native .kikky-card,
    .kikky-native .kikky-tile,
    .kikky-native img {
        -webkit-user-drag: none;
        user-drag: none;
    }

    /* 11. FEEDBACK TAP ATTIVO (.is-pressing) */
    .kikky-native .is-pressing {
        opacity: 0.72;
        transform: scale(0.97);
        transition:
            opacity 0.08s ease,
            transform 0.08s ease;
    }

    .kikky-native .kikky-card.is-pressing,
    .kikky-native .kikky-tile.is-pressing {
        opacity: 0.80;
        transform: scale(0.96);
    }

    .kikky-native button.is-pressing {
        opacity: 0.85;
        transform: scale(0.98);
    }

}
/* fine @media touch-only */