/* =========================================================
   ULTRAPC - PANEL ADMINISTRATIVO FLOTANTE
   Ficha de producto
   ========================================================= */

@media (min-width: 768px) {

    /* -----------------------------------------------------
       PANEL
       ----------------------------------------------------- */

    body.single-product .upc-product-admin-panel {
        position: fixed;
        left: 12px;
        bottom: 18px;

        width: 190px;

        background: rgba(255, 255, 255, .96);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);

        border: 1px solid rgba(15, 23, 42, .10);
        border-radius: 14px;

        box-shadow:
            0 10px 30px rgba(15, 23, 42, .15),
            0 2px 8px rgba(15, 23, 42, .08);

        overflow: hidden;

        z-index: 10020;

        font-family: inherit;
    }


    /* -----------------------------------------------------
       CABECERA
       ----------------------------------------------------- */

    body.single-product .upc-product-admin-panel__header {
        display: flex;
        align-items: center;
        justify-content: space-between;

        min-height: 42px;

        padding: 0 11px 0 13px;

        background:
            linear-gradient(
                135deg,
                #003EB2 0%,
                #1D70D6 100%
            );

        color: #fff;
    }


    body.single-product .upc-product-admin-panel__title {
        display: flex;
        align-items: center;
        gap: 7px;

        margin: 0;

        color: #fff;

        font-size: 11px;
        font-weight: 800;
        line-height: 1;

        text-transform: uppercase;
        letter-spacing: .45px;
    }


    body.single-product .upc-product-admin-panel__icon {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 19px;
        height: 19px;

        border-radius: 6px;

        background: rgba(255,255,255,.15);

        font-size: 12px;
    }


    /* -----------------------------------------------------
       BOTÓN MINIMIZAR
       ----------------------------------------------------- */

    body.single-product .upc-product-admin-panel__toggle {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 25px;
        height: 25px;

        margin: 0;
        padding: 0;

        border: 0;
        border-radius: 7px;

        background: rgba(255,255,255,.13);
        color: #fff;

        font-size: 17px;
        font-weight: 600;
        line-height: 1;

        cursor: pointer;

        transition:
            background .18s ease,
            transform .18s ease;
    }


    body.single-product .upc-product-admin-panel__toggle:hover {
        background: rgba(255,255,255,.23);
    }


    body.single-product .upc-product-admin-panel__toggle:active {
        transform: scale(.94);
    }


    /* -----------------------------------------------------
       CUERPO
       ----------------------------------------------------- */

    body.single-product .upc-product-admin-panel__body {
        padding: 12px;
    }


    body.single-product .upc-product-admin-panel__section + .upc-product-admin-panel__section {
        margin-top: 12px;
        padding-top: 11px;

        border-top: 1px solid #E8EDF3;
    }


    body.single-product .upc-product-admin-panel__label {
        display: block;

        margin: 0 0 7px;

        color: #788493;

        font-size: 9px;
        font-weight: 800;
        line-height: 1;

        text-transform: uppercase;
        letter-spacing: .8px;
    }


    /* -----------------------------------------------------
       APARIENCIA - SWITCH SOL / LUNA
       ----------------------------------------------------- */

    body.single-product
    .upc-product-admin-panel
    .electro-mode-switcher {
        position: relative !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        display: block !important;

        width: 100% !important;
        height: 36px !important;

        margin: 0 !important;
    }


    /* -----------------------------------------------------
       CONTENEDORES ORIGINALES DE ACCIONES
       ----------------------------------------------------- */

    body.single-product
    .upc-product-admin-panel
    .agotar-stock,

    body.single-product
    .upc-product-admin-panel
    .reservar_producto,

    body.single-product
    .upc-product-admin-panel
    .deshacer_reservar_producto {

        position: static !important;

        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        display: block !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        float: none !important;
        transform: none !important;

        z-index: auto !important;
    }


    body.single-product
    .upc-product-admin-panel
    .agotar-stock + .reservar_producto,

    body.single-product
    .upc-product-admin-panel
    .agotar-stock + .deshacer_reservar_producto {
        margin-top: 7px !important;
    }


    body.single-product
    .upc-product-admin-panel
    .agotar-stock form,

    body.single-product
    .upc-product-admin-panel
    .reservar_producto form,

    body.single-product
    .upc-product-admin-panel
    .deshacer_reservar_producto form {
        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* -----------------------------------------------------
       BOTONES DE PRODUCTO
       ----------------------------------------------------- */

    body.single-product
    .upc-product-admin-panel
    .agotar-stock input[type="submit"],

    body.single-product
    .upc-product-admin-panel
    .reservar_producto input[type="submit"],

    body.single-product
    .upc-product-admin-panel
    .deshacer_reservar_producto input[type="submit"] {

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        height: 36px !important;

        margin: 0 !important;
        padding: 0 10px !important;

        border: 0 !important;
        border-radius: 9px !important;

        color: #fff !important;

        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1 !important;

        cursor: pointer !important;

        box-shadow:
            0 3px 8px rgba(15,23,42,.12),
            inset 0 1px 0 rgba(255,255,255,.16) !important;

        transition:
            transform .17s ease,
            box-shadow .17s ease,
            filter .17s ease !important;
    }


    body.single-product
    .upc-product-admin-panel
    .agotar-stock input[type="submit"] {
        background:
            linear-gradient(
                135deg,
                #003EB2 0%,
                #1D70D6 100%
            ) !important;
    }


    body.single-product
    .upc-product-admin-panel
    .reservar_producto input[type="submit"] {
        background:
            linear-gradient(
                135deg,
                #F59E0B 0%,
                #F97316 100%
            ) !important;
    }


    body.single-product
    .upc-product-admin-panel
    .deshacer_reservar_producto input[type="submit"] {
        background:
            linear-gradient(
                135deg,
                #E85D04 0%,
                #D9480F 100%
            ) !important;
    }


    body.single-product
    .upc-product-admin-panel
    input[type="submit"]:hover {
        transform: translateY(-1px) !important;
        filter: brightness(1.05) !important;

        box-shadow:
            0 5px 12px rgba(15,23,42,.16),
            inset 0 1px 0 rgba(255,255,255,.18) !important;
    }


    /* -----------------------------------------------------
       PANEL MINIMIZADO
       ----------------------------------------------------- */

    body.single-product
    .upc-product-admin-panel.is-collapsed
    .upc-product-admin-panel__body {
        display: none;
    }


    body.single-product
    .upc-product-admin-panel.is-collapsed {
        width: 170px;
    }

}


/* =========================================================
   MÓVIL
   Por ahora no mostramos el panel flotante.
   Los controles conservan su comportamiento actual.
   ========================================================= */

@media (max-width: 767px) {

    body.single-product .upc-product-admin-panel {
        display: none !important;
    }

}


/* =========================================================
   ULTRAPC - PANEL ADMINISTRATIVO
   Ajuste visual final
   ========================================================= */

@media (min-width: 768px) {

    body.single-product .upc-product-admin-panel {
        width: 190px;

        border-radius: 13px;

        box-shadow:
            0 8px 24px rgba(15,23,42,.13),
            0 2px 6px rgba(15,23,42,.07);
    }


    /* CABECERA MÁS COMPACTA */
    body.single-product .upc-product-admin-panel__header {
        min-height: 38px;

        padding: 0 8px 0 11px;
    }


    body.single-product .upc-product-admin-panel__title {
        gap: 6px;

        font-size: 10px;
        letter-spacing: .4px;
    }


    /* ICONO */
    body.single-product .upc-product-admin-panel__icon {
        width: 18px;
        height: 18px;

        border-radius: 5px;

        background: rgba(255,255,255,.14);

        font-size: 11px;
    }


    /* MINIMIZAR - QUITAR CUADRADO NEGRO */
    body.single-product .upc-product-admin-panel__toggle {
        width: 25px;
        height: 25px;

        border: 1px solid rgba(255,255,255,.18);
        border-radius: 7px;

        background: rgba(255,255,255,.14) !important;

        color: #fff !important;

        font-size: 16px;
        font-weight: 700;

        box-shadow: none !important;
    }


    body.single-product .upc-product-admin-panel__toggle:hover {
        background: rgba(255,255,255,.25) !important;
    }


    /* CUERPO */
    body.single-product .upc-product-admin-panel__body {
        padding: 10px 11px 11px;
    }


    body.single-product .upc-product-admin-panel__section
    + .upc-product-admin-panel__section {
        margin-top: 10px;
        padding-top: 10px;
    }


    /* TÍTULOS APARIENCIA / PRODUCTO */
    body.single-product .upc-product-admin-panel__label {
        margin-bottom: 6px;

        color: #6F7C8D;

        font-size: 8px;
        letter-spacing: .8px;
    }


    /* BOTONES */
    body.single-product
    .upc-product-admin-panel
    .agotar-stock input[type="submit"],

    body.single-product
    .upc-product-admin-panel
    .reservar_producto input[type="submit"],

    body.single-product
    .upc-product-admin-panel
    .deshacer_reservar_producto input[type="submit"] {

        height: 35px !important;

        border-radius: 9px !important;

        font-size: 10px !important;

        box-shadow:
            0 3px 7px rgba(15,23,42,.11),
            inset 0 1px 0 rgba(255,255,255,.16) !important;
    }

}


/* =========================================================
   ULTRAPC - PANEL ADMIN MINIMIZADO COMPACTO
   ========================================================= */

@media (min-width: 768px) {

    body.single-product
    .upc-product-admin-panel.is-collapsed {
        width: 142px !important;

        border-radius: 11px !important;

        overflow: hidden !important;

        box-shadow:
            0 6px 18px rgba(15,23,42,.14),
            0 2px 5px rgba(15,23,42,.08) !important;
    }


    body.single-product
    .upc-product-admin-panel.is-collapsed
    .upc-product-admin-panel__header {
        min-height: 38px !important;

        padding: 0 7px 0 9px !important;
    }


    body.single-product
    .upc-product-admin-panel.is-collapsed
    .upc-product-admin-panel__title {
        gap: 5px !important;
    }


    body.single-product
    .upc-product-admin-panel.is-collapsed
    .upc-product-admin-panel__title > span:last-child {
        font-size: 0 !important;
    }


    body.single-product
    .upc-product-admin-panel.is-collapsed
    .upc-product-admin-panel__title > span:last-child::after {
        content: "ADMIN";

        font-size: 10px !important;
        font-weight: 800 !important;

        letter-spacing: .45px !important;
    }


    body.single-product
    .upc-product-admin-panel.is-collapsed
    .upc-product-admin-panel__toggle {
        width: 24px !important;
        height: 24px !important;

        flex: 0 0 24px !important;
    }

}


/* =========================================================
   ULTRAPC - CONTROL RAPIDO DE STOCK
   Panel U.L.T.R.A.
   ========================================================= */

@media (min-width: 768px) {

    body.single-product
    .upc-product-admin-panel__section--stock {
        margin-top: 10px;
        padding-top: 10px;

        border-top: 1px solid #E8EDF3;
    }


    body.single-product
    .upc-product-admin-panel__stock {
        width: 100%;
    }


    /* STOCK ACTUAL */
    body.single-product
    .upc-product-admin-panel__stock-info {
        display: flex;
        align-items: center;
        justify-content: space-between;

        margin-bottom: 8px;

        color: #697586;

        font-size: 10px;
        font-weight: 600;
    }


    body.single-product
    .upc-product-admin-panel__stock-info strong {
        display: flex;
        align-items: center;
        justify-content: center;

        min-width: 27px;
        height: 22px;

        padding: 0 7px;

        background: #F1F5F9;

        border: 1px solid #E2E8F0;
        border-radius: 7px;

        color: #172033;

        font-size: 12px;
        font-weight: 800;
    }


    /* FILA - / NUMERO / + */
    body.single-product
    .upc-product-admin-panel__stock-controls {
        display: grid;

        grid-template-columns:
            minmax(0, 1fr)
            42px
            minmax(0, 1fr);

        align-items: center;

        gap: 7px;

        width: 100%;
    }


    /* BOTONES */
    body.single-product
    .upc-product-admin-panel__stock-button {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100%;
        height: 34px;

        margin: 0;
        padding: 0;

        border: 0;
        border-radius: 9px;

        color: #fff !important;

        font-size: 20px;
        font-weight: 700;
        line-height: 1;

        cursor: pointer;

        box-shadow:
            0 3px 7px rgba(15,23,42,.11),
            inset 0 1px 0 rgba(255,255,255,.18);

        transition:
            transform .17s ease,
            filter .17s ease,
            box-shadow .17s ease;
    }


    /* RESTAR */
    body.single-product
    .upc-product-admin-panel__stock-button--minus {
        background:
            linear-gradient(
                135deg,
                #DC3545 0%,
                #B42318 100%
            ) !important;
    }


    /* SUMAR */
    body.single-product
    .upc-product-admin-panel__stock-button--plus {
        background:
            linear-gradient(
                135deg,
                #22A06B 0%,
                #198754 100%
            ) !important;
    }


    body.single-product
    .upc-product-admin-panel__stock-button:hover:not(:disabled) {
        transform: translateY(-1px);

        filter: brightness(1.06);

        box-shadow:
            0 5px 11px rgba(15,23,42,.15),
            inset 0 1px 0 rgba(255,255,255,.20);
    }


    body.single-product
    .upc-product-admin-panel__stock-button:active:not(:disabled) {
        transform: scale(.97);
    }


    body.single-product
    .upc-product-admin-panel__stock-button:disabled {
        cursor: not-allowed;

        opacity: .38;

        filter: grayscale(.25);
    }


    /* NUMERO CENTRAL */
    body.single-product
    .upc-product-admin-panel__stock-center {
        display: flex;
        align-items: center;
        justify-content: center;

        height: 34px;

        background: #F8FAFC;

        border: 1px solid #E2E8F0;
        border-radius: 9px;

        color: #172033;
    }


    body.single-product
    .upc-product-admin-panel__stock-value-secondary {
        font-size: 15px;
        font-weight: 800;
        line-height: 1;
    }


    /* MENSAJE AJAX */
    body.single-product
    .upc-product-admin-panel__stock-feedback {
        min-height: 13px;

        margin-top: 5px;

        font-size: 9px;
        font-weight: 700;
        line-height: 1.2;

        text-align: center;
    }


    body.single-product
    .upc-product-admin-panel__stock-feedback.is-success {
        color: #198754;
    }


    body.single-product
    .upc-product-admin-panel__stock-feedback.is-error {
        color: #B42318;
    }


    /* CARGANDO */
    body.single-product
    .upc-product-admin-panel__stock-value.is-loading {
        opacity: .45;
    }

}


/* =========================================================
   ULTRAPC - CANTIDAD EDITABLE DE STOCK
   ========================================================= */

@media (min-width: 768px) {

    body.single-product
    .upc-product-admin-panel__stock-center {
        display: flex;
        align-items: center;
        justify-content: center;

        height: 36px;

        padding: 0 !important;

        background: #F8FAFC !important;

        border: 1px solid #DCE4EC !important;
        border-radius: 9px !important;

        overflow: hidden;
    }


    body.single-product
    .upc-product-admin-panel__stock-quantity {
        display: block !important;

        width: 100% !important;
        height: 100% !important;

        margin: 0 !important;
        padding: 0 4px !important;

        background: transparent !important;

        border: 0 !important;
        outline: 0 !important;

        box-shadow: none !important;

        color: #172033 !important;

        font-family: inherit !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1 !important;

        text-align: center !important;

        appearance: textfield !important;
        -moz-appearance: textfield !important;
    }


    /* Quitar flechas nativas Chrome / Edge / Safari */
    body.single-product
    .upc-product-admin-panel__stock-quantity::-webkit-inner-spin-button,

    body.single-product
    .upc-product-admin-panel__stock-quantity::-webkit-outer-spin-button {
        margin: 0 !important;

        -webkit-appearance: none !important;
        appearance: none !important;
    }


    body.single-product
    .upc-product-admin-panel__stock-quantity:focus {
        background: #FFFFFF !important;

        box-shadow:
            inset 0 0 0 2px rgba(29,112,214,.18) !important;
    }

}


/* =========================================================
   ULTRAPC - CANTIDAD EDITABLE DE STOCK
   ========================================================= */

@media (min-width: 768px) {

    body.single-product
    .upc-product-admin-panel__stock-center {
        display: flex;
        align-items: center;
        justify-content: center;

        height: 36px;

        padding: 0 !important;

        background: #F8FAFC !important;

        border: 1px solid #DCE4EC !important;
        border-radius: 9px !important;

        overflow: hidden;
    }


    body.single-product
    .upc-product-admin-panel__stock-quantity {
        display: block !important;

        width: 100% !important;
        height: 100% !important;

        margin: 0 !important;
        padding: 0 4px !important;

        background: transparent !important;

        border: 0 !important;
        outline: 0 !important;

        box-shadow: none !important;

        color: #172033 !important;

        font-family: inherit !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 1 !important;

        text-align: center !important;

        appearance: textfield !important;
        -moz-appearance: textfield !important;
    }


    /* Quitar flechas nativas Chrome / Edge / Safari */
    body.single-product
    .upc-product-admin-panel__stock-quantity::-webkit-inner-spin-button,

    body.single-product
    .upc-product-admin-panel__stock-quantity::-webkit-outer-spin-button {
        margin: 0 !important;

        -webkit-appearance: none !important;
        appearance: none !important;
    }


    body.single-product
    .upc-product-admin-panel__stock-quantity:focus {
        background: #FFFFFF !important;

        box-shadow:
            inset 0 0 0 2px rgba(29,112,214,.18) !important;
    }

}


/* =========================================================
   ULTRAPC - EVITAR FLASH DE CONTROLES ANTES DE MONTAR PANEL
   ========================================================= */

@media (min-width: 768px) {

    /*
     * Mientras JavaScript aún no ha creado U.L.T.R.A.,
     * ocultamos momentáneamente los controles originales.
     */

    body:not(.upc-admin-panel-mounted) .electro-mode-switcher,
    body:not(.upc-admin-panel-mounted) .agotar-stock,
    body:not(.upc-admin-panel-mounted) .reservar_producto,
    body:not(.upc-admin-panel-mounted) .deshacer_reservar_producto {
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }


    /*
     * Una vez montado el panel vuelven a ser visibles
     * dentro de U.L.T.R.A.
     */

    body.upc-admin-panel-mounted .upc-product-admin-panel
    .electro-mode-switcher,

    body.upc-admin-panel-mounted .upc-product-admin-panel
    .agotar-stock,

    body.upc-admin-panel-mounted .upc-product-admin-panel
    .reservar_producto,

    body.upc-admin-panel-mounted .upc-product-admin-panel
    .deshacer_reservar_producto {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

}
