/* Pull to Refresh global. Fuera del ancho móvil no altera el layout. */
.sm-ptr-indicator {
    display: none;
}

@media (max-width: 767.98px) {
    /* Evita que Chrome Android ejecute su recarga nativa al mismo tiempo. */
    html,
    body {
        overscroll-behavior-y: none;
    }

    .sm-ptr-indicator {
        align-items: center;
        background: #ffffff;
        border: 1px solid rgba(36, 105, 92, 0.12);
        border-radius: 999px;
        box-shadow: 0 5px 18px rgba(15, 29, 46, 0.14);
        color: #24695c;
        display: flex;
        gap: 8px;
        left: 50%;
        max-width: calc(100vw - 32px);
        opacity: 0;
        padding: 8px 13px 8px 9px;
        pointer-events: none;
        position: fixed;
        top: calc(var(--sm-header-h) + 8px);
        transform: translate3d(-50%, -64px, 0) scale(0.88);
        transform-origin: center;
        transition: opacity 160ms ease, transform 220ms cubic-bezier(.2, .75, .25, 1), background-color 160ms ease, color 160ms ease;
        white-space: nowrap;
        z-index: 8;
    }

    .sm-ptr-indicator__icon {
        align-items: center;
        background: #e8f5f3;
        border-radius: 50%;
        display: flex;
        flex: 0 0 30px;
        height: 30px;
        justify-content: center;
        transition: background-color 160ms ease, color 160ms ease;
        width: 30px;
    }

    .sm-ptr-indicator__icon svg {
        height: 17px;
        transform: rotate(var(--sm-ptr-rotation, 0deg));
        width: 17px;
    }

    .sm-ptr-indicator__label {
        font-family: var(--pr-font, 'Montserrat', sans-serif);
        font-size: 0.72rem;
        font-weight: 700;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.sm-ptr-dragging .sm-ptr-indicator,
    body.sm-ptr-ready .sm-ptr-indicator,
    body.sm-ptr-refreshing .sm-ptr-indicator {
        opacity: var(--sm-ptr-opacity, 1);
        transform: translate3d(-50%, var(--sm-ptr-indicator-y, 0px), 0) scale(1);
    }

    body.sm-ptr-ready .sm-ptr-indicator {
        background: #24695c;
        color: #ffffff;
    }

    body.sm-ptr-ready .sm-ptr-indicator__icon {
        background: rgba(255, 255, 255, 0.18);
    }

    body.sm-ptr-dragging .page-wrapper .page-body-wrapper .page-body {
        transform: translate3d(0, var(--sm-ptr-offset, 0px), 0);
        transition: none !important;
        will-change: transform;
    }

    body.sm-ptr-settling .page-wrapper .page-body-wrapper .page-body,
    body.sm-ptr-refreshing .page-wrapper .page-body-wrapper .page-body {
        transform: translate3d(0, var(--sm-ptr-offset, 0px), 0);
        transition: transform 260ms cubic-bezier(.2, .75, .25, 1) !important;
        will-change: transform;
    }

    body.sm-ptr-refreshing .sm-ptr-indicator__icon svg {
        animation: sm-ptr-spin 720ms linear infinite;
    }

    @keyframes sm-ptr-spin {
        to {
            transform: rotate(360deg);
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .sm-ptr-indicator,
        body.sm-ptr-settling .page-wrapper .page-body-wrapper .page-body,
        body.sm-ptr-refreshing .page-wrapper .page-body-wrapper .page-body {
            transition-duration: 1ms !important;
        }
    }
}
