/*====================================================
        SISTEMA DE PEDIDOS V3
=====================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{

    --azul:#0F3D68;
    --azulHover:#114B81;
    --naranja:#F68B1F;
    --gris:#F4F6F8;
    --gris2:#E4E7EB;
    --blanco:#FFFFFF;
    --texto:#2F3640;
    --verde:#2BB673;
    --rojo:#E53935;

}

body{

    font-family:'Poppins',sans-serif;
    background:var(--gris);
    color:var(--texto);

}

/*======================================
CONTENEDOR
======================================*/

.contenedor{

    width:100%;
    max-width:480px;
    margin:auto;

    padding:15px;
    padding-bottom:170px;

}

/*======================================
HEADER
======================================*/

.header{

    text-align:center;
    margin-bottom:18px;

}

.header h1{

    color:var(--azul);
    font-size:28px;
    font-weight:700;

}

.lineaTitulo{

    width:70px;
    height:5px;

    background:var(--naranja);

    margin:10px auto 0;

    border-radius:30px;

}

/*======================================
PANELES
======================================*/

.panelDatos,
.panelBuscar,
.panelCatalogos{

    background:var(--blanco);

    border-radius:18px;

    padding:16px;

    margin-bottom:15px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

}

/*======================================
LABEL
======================================*/

label{

    display:block;

    margin-bottom:6px;

    font-size:13px;

    font-weight:600;

    color:var(--azul);

}

/*======================================
INPUTS
======================================*/

input,
textarea{

    width:100%;

    border:2px solid var(--gris2);

    border-radius:14px;

    padding:12px;

    font-size:15px;

    font-family:'Poppins',sans-serif;

    transition:.25s;

    outline:none;

    background:#fff;

}

textarea{

    resize:none;

    height:65px;

}

input:focus,
textarea:focus{

    border-color:var(--azul);

    box-shadow:0 0 0 4px rgba(15,61,104,.15);

}

/*======================================
BUSCADOR
======================================*/

#buscar{

    font-size:16px;

    font-weight:500;

}
/*======================================
BOTONES CATALOGO
======================================*/

.catalogos button{

    flex:1;

    height:55px;

    border:none;

    border-radius:14px;

    font-size:18px;

    font-weight:700;

    cursor:pointer;

    background:#F4F6F8;

    color:#0F3D68;

    transition:.25s;

}
.catalogos{

    width:100%;

    background:#FFFFFF;

    border-radius:18px;

    padding:10px;

    margin:15px 0;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    box-shadow:0 4px 12px rgba(0,0,0,.08);

}

.catalogos button.activo{

    background:#0F3D68;

    color:#FFFFFF;

}


.catalogos button:active{

    transform:scale(.97);

}
    .catalogos button:hover{

    transform:translateY(-2px);

    box-shadow:0 8px 18px rgba(0,0,0,.15);

}


.btnCatalogo{

    flex:1;

    border:none;

    border-radius:16px;

    background:#E8EDF2;

    color:var(--azul);

    font-weight:700;

    font-size:15px;

    padding:14px;

    cursor:pointer;

    transition:.25s;

    box-shadow:0 4px 12px rgba(0,0,0,.08);

}

.btnCatalogo:hover{

    transform:translateY(-2px);

}

.btnCatalogo.activo{

    background:var(--azul);

    color:white;

}

/*======================================
LISTA PRODUCTOS
======================================*/

.listaProductos{

    display:flex;

    flex-direction:column;

    gap:14px;

}

/*======================================
TARJETA
======================================*/

.tarjeta-producto{

    display:flex;

    gap:14px;

    align-items:center;

    background:white;

    border-radius:18px;

    padding:14px;

    box-shadow:0 8px 18px rgba(0,0,0,.08);

    transition:.25s;

    border:2px solid transparent;

}

.tarjeta-producto:hover{

    transform:translateY(-2px);

    box-shadow:0 12px 24px rgba(0,0,0,.12);

}

/*======================================
FOTO
======================================*/

.foto-producto{

    width:95px;

    min-width:95px;

    height:95px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#fff;

}

.foto-producto img{

    width:90px;

    height:90px;

    object-fit:contain;

}

/*======================================
INFORMACION
======================================*/

.info-producto{

    flex:1;

}

.marca{

    color:var(--azul);

    font-size:12px;

    font-weight:700;

}

.info-producto h3{

    font-size:15px;

    margin:4px 0;

    line-height:1.25;

}

.info-producto small{

    color:#888;

    display:block;

    margin-bottom:8px;

}

.info-producto p{

    font-size:13px;

    margin-bottom:10px;

}

/*======================================
FILAS
======================================*/

.fila{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:10px;

}

.fila label{

    margin:0;

    color:#555;

    font-size:13px;

}
/*======================================
CONTROLES + Y -
======================================*/

.control{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

}

.control button{

    width:36px;

    height:36px;

    border:none;

    border-radius:12px;

    background:var(--azul);

    color:white;

    font-size:22px;

    font-weight:700;

    cursor:pointer;

    transition:.20s;

    box-shadow:0 4px 10px rgba(15,61,104,.25);

}

.control button:hover{

    background:var(--azulHover);

    transform:scale(1.05);

}

.control button:active{

    transform:scale(.92);

}

.control input{

    width:75px;

    height:38px;

    text-align:center;

    border:2px solid var(--gris2);

    border-radius:12px;

    font-size:15px;

    font-weight:700;

    background:white;

    padding:0;

}

/*======================================
PRECIO PEDIDO
======================================*/

.precioPedido{

    color:var(--azul);

}

/*======================================
CANTIDAD
======================================*/

.cantidadPedido{

    color:#222;

}

/*======================================
TOTAL PRODUCTO
======================================*/

.totalProducto{

    margin-top:12px;

    padding-top:10px;

    border-top:1px solid #ECECEC;

}

.totalProductoValor{

    background:var(--gris);

    color:var(--azul);

    font-size:18px;

    font-weight:700;

    padding:8px 12px;

    border-radius:12px;

    min-width:95px;

    text-align:center;

}

/*======================================
DESCUENTO
======================================*/

.tarjeta-producto.descuento{

    border:2px solid #E53935;

}

.tarjeta-producto.descuento .precioPedido{

    color:#E53935;

    font-weight:700;

}

/*======================================
SCROLL
======================================*/

::-webkit-scrollbar{

    width:8px;

}

::-webkit-scrollbar-track{

    background:#ECECEC;

}

::-webkit-scrollbar-thumb{

    background:var(--azul);

    border-radius:30px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--azulHover);

}
/*======================================
BARRA INFERIOR
======================================*/

.barraInferior{

    position:fixed;

    left:0;
    right:0;
    bottom:0;

    max-width:480px;
    margin:auto;

    background:#FFFFFF;

    padding:5px;

    border-top-left-radius:22px;
    border-top-right-radius:22px;

    box-shadow:0 -8px 25px rgba(0,0,0,.12);

    z-index:999;

}

/*======================================
RESUMEN
======================================*/

.resumenPedido{

    display:flex;

    justify-content:space-between;

    gap:10px;

    margin-bottom:3px;

}

.datoResumen{

    flex:1;

    background:#F4F6F8;

    border-radius:14px;

    padding:1px;

    text-align:center;

}

.tituloResumen{

    display:block;

    font-size:12px;

    color:#666;

    margin-bottom:4px;

}

.datoResumen strong{

    font-size:15px;

    color:#0F3D68;

}

.datoResumen.total{

    background:#0F3D68;

}

.datoResumen.total .tituloResumen{

    color:#FFFFFF;

}

.datoResumen.total strong{

    color:#FFFFFF;

}

/*======================================
BOTONES
======================================*/

.botonesAccion{

    display:flex;

    gap:8px;

    margin-top:8px;

}

.btnNuevo{

    flex:1;

    height:46px;

    border:none;

    background:#0F3D68;

    color:white;

    border-radius:14px;

    font-size:15px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

    box-shadow:0 5px 12px rgba(15,61,104,.20);

}

.btnNuevo:hover{

    transform:translateY(-2px);

    background:#114B81;

}

.btnNuevo:active{

    transform:scale(.97);

}

.btnFinalizar{

    flex:2;

    height:46px;

    border:none;

    background:#F68B1F;

    color:white;

    border-radius:14px;

    font-size:15px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

    box-shadow:0 5px 12px rgba(246,139,31,.25);

}

.btnFinalizar:hover{

    transform:translateY(-2px);

    background:#FF9C2A;

}

.btnFinalizar:active{

    transform:scale(.97);

}

/*======================================
RESPONSIVE
======================================*/

@media(max-width:480px){

    .contenedor{

    width:100%;

    max-width:480px;

    margin:auto;

    padding:15px;

    padding-bottom:220px;

}

    .foto-producto{

        width:82px;

        min-width:82px;

        height:82px;

    }

    .foto-producto img{

        width:78px;

        height:78px;

    }

    .info-producto h3{

        font-size:14px;

    }

    .control input{

        width:65px;

    }

}

/*======================================
ANIMACIONES
======================================*/

.tarjeta-producto{

    animation:aparecer .25s ease;

}

@keyframes aparecer{

    from{

        opacity:0;

        transform:translateY(10px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}
/*======================================
BARRA FIJA INFERIOR
======================================*/

.barraInferior{

    position:fixed;

    left:0;

    bottom:0;

    width:100%;

    background:#FFFFFF;

    padding:8px 5px;

    border-top:1px solid #E5E5E5;

    box-shadow:0 -8px 25px rgba(0,0,0,.18);

    z-index:999999;

}

.btnNuevo{

    flex:1;

    height:60px;

    font-size:18px;

    font-weight:700;

    background:#0F3D68;

    border-radius:18px;

}
.btnFinalizar{

    flex:2;

    height:60px;

    font-size:18px;

    font-weight:700;

    background:#F68B1F;

    border-radius:18px;

}

/*==================================
CLIENTE NUEVO
==================================*/

.btnClienteNuevo{

    width:100%;

    height:55px;

    border:none;

    border-radius:14px;

    background:#1565C0;

    color:#fff;

    font-size:17px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

    box-shadow:0 4px 12px rgba(0,0,0,.12);

}

.btnClienteNuevo:hover{

    background:#0D47A1;

}

.panelClienteNuevo{

    display:none;

    margin-top:15px;

    padding:18px;

    border-radius:16px;

    background:#F8F9FA;

    border:2px solid #E5E7EB;

}

/*==================================
AVISO OPERACIÓN
==================================*/

.contenedorFoto{

    display:flex;

    gap:12px;

    margin-top:10px;

}

.btnFoto{

    flex:1;

    height:50px;

    border:none;

    border-radius:12px;

    background:#1565C0;

    color:#fff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.25s;

}

.btnFoto:hover{

    background:#0D47A1;

}

.previewFoto{

    margin-top:15px;

    text-align:center;

}

#previewAviso{

    max-width:260px;

    max-height:220px;

    border-radius:12px;

    border:2px solid #DDD;

    box-shadow:0 4px 12px rgba(0,0,0,.15);

}