* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    /* border: 1px solid rgb(190, 190, 190); */
    /* font-family: 'Quicksand', sans-serif; */
    /* font-family: 'Roboto', sans-serif; */
    /* font-family: 'Montserrat', sans-serif; */
    /* font-family: 'Roboto Condensed', sans-serif; */
}

body {
    background-color: #000000;
}

header.cabecera {
    position: sticky;
    top: 0px;
    width: 100%;
    height: 110px;
    padding: 5px 0px 0px 0px;
    border-bottom: 1px solid #EDEEF0;
    background-color: #ffffff;
    display: grid;
    grid-template-columns: 10% 65% 10% 15%;
    grid-template-rows: 45% 25% 2% 28%;
    grid-template-areas:
    "A1 A2 A3 A4"
    "A1 A2 A3 A4"
    "B1 B1 B1 B1"
    "C1 C1 C1 C1";
    z-index: 1;
}

@media screen and (max-width: 620px) {

    header.cabecera {
        height: 110px;
        grid-template-columns: 20% 60% 20%;
        grid-template-rows: 45% 25% 2% 28%;
        grid-template-areas:
        "A1 A2 A3 A4"
        "A1 A2 A3 A4"
        "B1 B1 B1 B1"
        "C1 C1 C1 C1";
    }

    .linea {
        grid-area: B1;
        background-color: #EDEEF0;
    }
}



/* ___________________________________________________ */
 /* Inicia Estilos Payment "Botón Desplegable" */


 .perfil {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    grid-area: A1;
    cursor: pointer;
    margin: 0px 0px 0px 20px;
}

.perfil img {
    display: block;
    width: 35px;
    height: auto;
}

.check {
    display: none;
}

.check:checked + .panel-menu {
    position:fixed;
    top: 110px;
    bottom: 40px;
    left: 0px;
    width: 320px;
    background-color: #EDEEF0;
    transition: all 0,7s;
    padding: 20px 20px;

}

.panel-menu {
    position:fixed;
    top: 110px;
    bottom: 40px;
    left: -100%;
    width: 320px;
    background-color: #EDEEF0;
    transition: all 0.7s;
    padding: 20px 20px;
    z-index: 1;
}

.panel-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 20% 2% 50% 2% 20% 6%;
    row-gap: 2px;

}

.bloque1, .bloque2, .bloque3, .bloque4, .bloque5, .bloque6 {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}

.bloque1 {
    grid: 1/-2;
}

.bloque1 img {
    width: 70%;
    height: auto;
    object-fit: fill;
    padding: 10px;
}

.bloque2 {
    grid: 2/3;
}

.bloque3 {
    padding: 5px;
    grid: 3/4;
}

.bloque3 h3 {
    width: 100%;
    height: auto;
    color: #000000;
    font-family: 'Montserrat', sans-serif;
    /* font-family: 'Roboto Condensed', sans-serif; */
    font-size: 12pt;
    margin-bottom: 10px;
    text-align: center;
    /* font-weight: 400; */
    letter-spacing: normal;

}

/* ---------------- Direcciones Pertenece al Bloque 3 ---------------*/


div.contenedor-dir {
    display: inline-flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-content: flex-start;
    width: 70%;
    height: auto;
    column-gap: 5px;
    row-gap: 5px;
    margin: 10px 0px;
}

div.icono-ubicacion {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-content: flex-start;
    width: 20%;
    height: auto;
}

div.dir-locales {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-content: flex-start;
    width: 80%;
    height: auto;
}

div.dir-locales h4 {
    width: 100%;
    height: auto;
    color: #000000;
    font-family: 'Montserrat', sans-serif;
    font-size: 8pt;
    text-align:left;
    letter-spacing: 1px;
    margin-bottom: 5px;
    letter-spacing: normal;

}

p.direccion {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    color: #000000;
    font-size: 7pt;
    text-align: left;
    letter-spacing: normal;
}

img.icono-U {
    width: 35px;
    height: auto;
}


/* --------------- Fin direcciones Bloque3 -----------------  */


.bloque4 {
    grid: 4/5;
}

.bloque5 {
    grid: 5/6;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    margin: 0px 30px;
}

.link-facebook, .link-whatsapp, .link-instagram, .descarga-menu {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}

.link-facebook, .link-whatsapp, .link-instagram, .descarga-menu, img {
    width: 35px;
    height: auto;
    justify-self: center;
    align-self: center;
}


.link-facebook, .link-whatsapp, .link-instagram, .descarga-menu, p {
    font-family: 'Roboto', sans-serif;
    font-size: 8pt;
    margin: 3px 5px;
    justify-self: center;
    align-self: center;
    letter-spacing: normal;

}

    .link-whatsapp {
        grid: 1/2 ;

    }

    .link-facebook {
        grid: 2/3;

    }

    .link-instagram {
        grid: 3/4;
    }

    .descarga-menu {
        grid: 4/5;
    }

.linea-separacion {
    display: block;
    width: 70%;
    height: 1px;
    background-color: #808080;
}


.bloque6 {
    grid: 6/7;
  
    
}

.bloque6 p {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    color: #000000;
    font-size: 9pt;
    text-align: center;
    letter-spacing: normal;


}

@media screen and (max-width: 620px ) {

    .check:checked + .panel-menu {
        top: 110px;
        bottom: 40px;  
    }

    .perfil {
        margin: 0px 0px 0px 0px;
    }
}


@media screen and (min-width: 380px) and (max-width: 480px) {
  
    .check:checked + .panel-menu {
        width: 100%;
        padding: 30px 40px;   
    }

    .panel-menu {
        width: 100%;
        padding: 30px 40px;
    }
}

@media screen and (max-width: 380px) {

    .check:checked + .panel-menu {
        width: 100%;
        padding: 30px 30px;   
    }

    .panel-menu {
        width: 100%;
        padding: 30px 30px;
    }

    .bloque1 img {
        padding: 10px;
    }
    
}

/* ___________________________________________________ */
 /* Inicia Estilos "Logo Cabecera" */



.logo-restaurante {
    background-image: url("../imagenes-index/logo_abysmo_blanco.svg");
    background-size:contain;
    background-position: left;
    background-repeat: no-repeat;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-template-rows: auto;
    grid-template-areas:
    "left center right";
    width: 100%;
    height: 100%;
    grid-area: A2;
    align-self: center;
 }


 @media screen and (max-width: 620px) {

    .logo-restaurante {
        background-position: center;
        align-items: center;
        justify-content: center;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-template-areas:
        "center";
     }

}


 /* ___________________________________________________ */
 /* Inicia Estilos Payment "Botón Pago" */



 .payment {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: auto;
    grid-area: A3;
}

.payment img {
    display: block;
    width: 30px;
    height: auto;
}


@media screen and(max-width: 620px ) {

    .payment img {
        display: block;
        width: 40px;
        height: auto;
    }
    
}


/* ___________________________________________________ */
/* Inicia Estilos Botones "Redes Sociales" */



.redes {
    display: flex;
    flex-flow: row nowrap;
    align-content: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: auto;
    grid-area: A4;
}

.redes img {
    display: block;
    width: 25px;
    height: auto;
    margin: 0px 2px;
}




/* ___________________________________________________ */
/* Inicia Estilos Línea "Línea Divisoria" */

.linea {
    grid-area: B1;
    background-color: #EDEEF0;
}



/* ___________________________________________________ */
/* Inicia Estilos Título menú "titulo-menu-cabecera" */



.titulo-menu-cabecera {
    display: flex;
    flex-flow: column nowrap;
    align-items:center;
    justify-content:center;
    background-color: #ffffff;
    width: 100%;
    height: 30px;
    grid-area: C1;

}

.titulo-menu-cabecera h2 {
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 400;
    color: #000000;
    font-size: 1em;
    margin-top: 3px;
    letter-spacing: normal;

}

@media screen and (max-width: 620px) {

    .titulo-menu-cabecera h2 {
        font-size: 1em;
        margin-top: 7px;
    }

    .redes {
        display: none;
    }

}



/* ___________________________________________________________________________________ */
                    /* * inicia los stilos de "Section Menú" */ 



section.seccion-menu {
    height: 100%;
    width: 100%;
    background-color: #000000;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center; 
}

.menu-contenedor {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center; 
    background-color: #d5d5d5;
    width: 460px; 
    height: 100%;
    margin: 3px 0px 42px 0px;
    gap: 0px;
    z-index: 0;
}

.catg01-content {
    background-color: #ffffff;
    width: 100%;
    height: 460px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 85% 5% 5% 3% 2%;
    grid-template-areas: 
    "foto"
    "boton-go"
    "title"
    "description"
    "margen-button"; 
}


.enlace-foto,.menu-foto {
    background-color: #808080;
    width: 100%;
    height: 100%;
    margin: auto;
    grid-area: foto;
}

.n-categ {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    grid-area: title;
}

.n-categ h2 {
    font-family: 'Roboto Condensed', sans-serif;
    color: #000000;
    font-size: 11pt;
    font-weight: 600;
    letter-spacing: normal;
    text-align: center;
}

.descp-categ {
    display: flex;
    text-decoration: none;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: flex-start;
    grid-area: description;

}

.descp-categ p {
    font-family: 'Roboto', sans-serif;
    color: #515151;
    font-size: 9pt;
    font-weight: 400;
    letter-spacing: 90%;
    line-height: 120%;
    text-align: center;
    margin: 3px 25px;
    letter-spacing: normal;    
}

a, .flecha {
    display: flex;
    text-decoration: none;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    grid-area: boton-go;
}

.flecha-enlace {   
    position: relative;
    bottom: 17px; 
    background-color: #000000;
    border-radius: 50px;
    width: 40px;
    height: 40px;
    margin: auto;

}

.flecha > p {
    font-size: 1em;
    color: #ffffff;
    font-family: 'Quicksand', sans-serif;    
    font-weight: 400;
    letter-spacing: normal;

}


/* _______________Estilos Grupo FOTO-MENU______________________ */


div.foto01 {
    /* Tarjeta Vip A */
    background-image: url("../abysmo-vip/Tarjeta-Vip-Diosa2.jpg");
    background-position: center;
    background-size:cover;
    background-repeat: no-repeat;
}


@media screen and (min-width: 621px) and (max-width: 720px) {

    section.seccion-menu {
        background-color: #000000;
        height: 100%;
        width: 100%;  
      
    }

    .menu-contenedor {
        margin: 5px 0px 42px 0px;
        height: 100%;

    }

    .catg01-content {
        width: 100%;
        height: 480px;
    }

    .n-categ h2 {

        font-size: 13pt;

    }
  
    .descp-categ p {
        
        font-size: 11pt;

    }

}


@media screen and (max-width: 620px) {

    
    body {
        background-color: #d5d5d5;
    }


    section.seccion-menu {
        background-color: #d5d5d5;
        height:100%;
    }

    .menu-contenedor {
        height: 100%;
        width: 100%;
        margin: 3px 0px 0px 0px;
    }

    .catg01-content {
        margin: 2px 0px;
        height: 480px;
        width: 100%;
        grid-template-rows: 80% 5% 8% 5% 2%;
    
    }

    .n-categ h2 {

        font-size: 13pt;

        }

    .descp-categ p {
        
        font-size: 11pt;

    }

}

@media screen and (max-width: 480px) {

    body {
        background-color: #d5d5d5;
    }


    .catg01-content {
        height: 480px;
        grid-template-rows: 80% 5% 8% 5% 2%;
    }

}

@media screen and (max-width: 380px) {
   
    .catg01-content {
        height: 480px;
       
    }
    
}



/* --------------- Lista de opciones Abysmo Vip----------------- */


div.box-lista {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    background-color: #ffffff;
    width: 100%;
    height: 90px;
    margin-top: 1px;

}

p.descripcion-lista {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    width: 90%;
    height: auto;
    font-family: 'Roboto', sans-serif;
    color: #515151;
    font-size: 11pt;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 120%;
    text-align: center;

}


div.mod-grid-alter {
    background-color: #ffffff;
    width: 100%;
    height: 360px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 77% 7% 6% 7% 3%;
    grid-template-areas: 
    "foto"
    "boton-go"
    "title"
    "description"
    "margen-button"; 
}


/* _______________________________________________________ */
/* inicia los stilos de "Section Etiqueta Iva" */

section.seccion-iva {
    height: 40px;
    width: 100%;
    background-color: #ffffff;
    margin-top: 1px;
}

div.box-etiqueta-iva {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    padding-top: 12px;
}

p.etiqueta-iva {
   
    font-family: 'Roboto', sans-serif;
    color: black;
    font-size: 11pt;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 120%;

}


/* _______________________________________________________ */
/* inicia los stilos de "Nav Menú Pie" */



section.menu-pie {
    position:fixed;
    bottom: 0px;
    margin-top: 1px;
    background-color: #ffffff;
    height: 40px;
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}

section.menu-pie nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    grid-template-areas:
    "pie-1 pie-2 pie-3 pie-4";
    width: 340px;
    height: 80%;
}

section.menu-pie nav a {
    text-decoration: none;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
}

section.menu-pie nav a img {
    display: block;
    width: 27px;
    height: auto;

}

.menu-qr {
    grid-area:pie-1;
}

.promo-dia {
    grid-area:pie-2;
}

.reservas {
    grid-area:pie-3;
}

.califica {
    grid-area:pie-4;
}

@media screen and (min-width: 621px) and (max-width: 720px) {
    
    section.menu-pie {
        position:fixed;
        bottom: 0px;
}

}

@media screen and (max-width: 620px) {

    section.menu-pie {
        position:sticky;
        bottom: 0px;
}

}


@media screen and (max-width: 360px) {

section.menu-pie nav  {
    width: 280px;
}

}

*{
    letter-spacing: normal;
}