:root {
   /* colores */
   --CIV_Cyan: #1BAFDE;
   --CIV_Azul: #2B5FA4;
   --CIV_Celeste1: #6383D4;
   --CIV_Vison: #554D61;
   --CIV_Marino: #10223E;
   --CIV_Verde: #8DBA30;
   --CIV_Blanco: #FFFFFF;
   --CIV_Celeste2: #79A9DF;
   --CIV_Negro: #000000;
   --CIV_Orange: #f46530;

   --Azul_Promo: #22509e;
   
   --Redes_blue: #0146cf;
   --Redes_green: #8cfc7c;
   --Redes_blue2: #0246cb;

   /* fuentes */
   --L_H1_fsize: 40px;
   --M_H1_fsize: 30px;
   --L_button_fsize: 22px;
   --M_button_fsize: 16px;
   --L_prods_fsize: 12px;
   --M_prods_fsize: 12px;
   --S_prods_fsize: 12px;

   /* margenes */
   --xmargen_seccion: 30px;
}

* {
   font-family: "Montserrat", sans-serif;
   font-optical-sizing: auto;
   font-weight: 500;
   font-style: normal;
}

body {margin: 0px;}

/* sections */
#s_inicio {
    padding: 0px !important;
}
#s_productos {
    background-color: var(--CIV_Verde);
    padding: 10px 0px 50px !important;
}
#s_servicios {
    width: 100%;
    background-color: var(--CIV_Blanco);
    padding: 10px 0px 50px !important;
}
#s_contacto {background-color: var(--CIV_Vison); padding-bottom: 60px;}

#mnu {
   box-shadow: rgb(0 0 0 / 35%) 2px 1px 12px 2px;
   background: #ffffff;
   position: fixed;
   top: 0px;
   width: 100%;
   height: 60px;
   border-right: 1px solid #ffffff;
   z-index: 1000;
   transition: width 0.3s ease;
   display: flex;
   flex-direction: row;
   justify-content:space-between;
   align-items: center;
}

section {
   padding: 10px var(--xmargen_seccion) 50px;
   flex-grow: 1;
   transition: margin-left 0.3s ease;
   margin-left: 0px;
}

/* seccion menu */
#mnu-main {
    order: 2;
    display: flex;
    justify-items: center;
    margin-right: 12px;    
}

.mnu_main-button {
   color: var(--CIV_Azul);
   background-color: transparent;
   font-size: 14px;
   font-weight: 700;
   padding: 2px 12px;   
   border-radius: 3px;
   display: block;
}
.mnu_main-button:hover {
   background-color: var(--CIV_Cyan);
   color: var(--CIV_Blanco);
}

#mnu-logo {
    display: none;
    margin: 0px 6px 0px 6px;
}
#mnu-logo_img {
   width: 50px;
   border-radius: 60px;
   cursor: pointer;
}

.brand-ico {width: 24px; margin: 6px; cursor: pointer;}
#mnu-bottom {
   display: contents;
   flex-direction: row;
}
#mnu-bottom_qr {
    order: 1;
    width: 40px;
    margin-left: 12px;
}
#mnu-bottom_mnu img {margin-top: 6px; width: 30px; cursor: pointer;}
#mnu-bottom_place {
    display: none;
    margin-top: 12px;
    margin-bottom: 22px;
    font-size: 12px;
    color: var(--CIV_Azul);
}
#mnu-bottom_place img {width: 20px;}
#mnu-bottom_icons {
    display: none;
    order: 3;
}

/* seccion inicio */
#ini_fondo {
   margin-top: 60px;
}
#ini_fondo-img {
   width: 100%;
}

/* seccion inicio box*/
#box_promo {
   position: absolute;
   top: 70px;
   right: 20px;
   /* background-color: var(--Azul_Promo);
   border: 1px solid var(--CIV_Blanco); */
}
#box_promo-bottom {
   display: flex;
   justify-content: space-between;
   padding: 12px;
   background-color: var(--CIV_Blanco);
}
.box_promo-button {
   padding: 2px 12px;
   color: var(--CIV_Blanco);
   background-color: var(--CIV_Verde);
   font-size: 18px;
   font-weight: 700;
   border-radius: 3px;
   display: block;
}
.box_promo-button:hover {
   background-color: var(--CIV_Cyan);
}
#box_promo-media img {width: 220px;}
#box_promo-media video {width: 140px;}


/* datos genericos */
p {font-size: var(--L_prods_fsize);}

button {
   font-size: var(--L_button_fsize);   
   margin: 2px;
   border: none;
}
button:hover {   
   cursor: pointer;
}

/* whatsapp button */
#chat-button {
   background-color: transparent;
   position: fixed;
   bottom: 20px;
   right: 20px;
   cursor: pointer;
   z-index: 1000;
   margin: 0px !important;
}
#chat-button:hover {opacity: 0.5;}

/* seccion productos */
#grid_prods {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 10px;
   margin-top: 20px;   
}
.cell_prods {
   padding: 12px 0px 0px;
   text-align: center;
   background-color: var(--CIV_Blanco);
   border-radius: 12px;
   border: 1px Solid var(--CIV_Celeste2);
}
.cell_prods-img {
   max-width: 100px;
   height: auto;
}
.cell_prods-txt {
   font-size: var(--L_prods_fsize);   
   color: var(--CIV_Blanco);
   display: block;
   border-radius: 0px 0px 12px 12px;
   height: 40px;
   background-color: #00B2E3;   
   padding: 4px;
}

/* iconos en seccion productos */
#grid_prods-ico {
   background-color: #FFFFFF;
   margin-bottom: 40px;
   padding: 6px;   
}
#grid_prods-ico_body {
   padding: 4px;
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   justify-items: center;
}
.grid_prods-ico_cell {
   text-align: center;
   padding: 6px;
   font-size: 14px;
}

/* grilla en seccion servicios  grid-template-rows: repeat(3, 1fr);    */
#grid_serv {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   grid-template-rows: repeat(3, 1fr);
   gap: 8px;
   background-color: var(--CIV_Verde);
   margin: 12px 0px;
}

.grid_serv-img {
   background-color: var(--CIV_Blanco);
   display: flex;
}
.grid_serv-img img {
   display: block;
   max-width: none;     /* evita que se reduzca al 100% del contenedor */
   height: auto;
}

.grid_serv-txt {
   padding: 16px 6px;
   background-color: var(--CIV_Azul);
   align-content: center;
   text-align: center;
}
.grid_serv-txt_titulo {
   margin-bottom: 12px;
   font-size: 22px;
   color: var(--CIV_Cyan);
}
.grid_serv-txt_body {
   margin-bottom: 12px;
   font-size: 16px;
   color: var(--CIV_Blanco);
}

/* seccion faq */
#faq_body {
   padding: 12px;
}

/* slide seccion productos */
.slide-container {
   width: 100%;   
   margin: auto;
   overflow: hidden;
   position: relative;
   margin: 30px 0px 10px;
 }
 .slide {
   display: flex;      
   transition: transform 1s ease-in-out;
 }
 .slide-producto {
     flex: 0 0 100%;
     text-align: center;
 }
 .slide-producto img {
     width: 200px;
     object-fit: cover;
     border-radius: 12px;
     box-shadow: 0 4px 6px rgba(0,0,0,0.1);
 }

/* seccion contacto */
#form_contact form {
   display:grid;
   padding:12px;
   gap:6px;
}
#form_contact input[type="text"] {
   border: none;
   border-radius: 5px;
   width: 300px;
   padding: 4px;
   outline: none;
   border-radius: 2px;
}
#form_contact input[type="text"]:focus {
   border: 1px solid var(--CIV_Verde) !important;   
}
#form_contact textarea{
   width: 300px;
   height: 140px;
   resize: none;
}
#contact_icons {
   margin: 6px 0px 12px;
   display: grid;
}
#contact_icons div {
   color: var(--CIV_Celeste2);   
   padding: 2px;
   display: flex;
   align-items: center;
   justify-content: center;
}
.contact_icons_img {
   margin: 0px 6px;   
}
#contact_img {
   width: 200px;
}
.png_green {
   filter: invert(56%) sepia(87%) saturate(348%) hue-rotate(38deg) brightness(100%) contrast(90%);
}
.png_cyan {
   filter: invert(52%) sepia(100%) saturate(377%) hue-rotate(147deg) brightness(93%) contrast(99%);
}
.png_orange {
   filter: invert(46%) sepia(71%) saturate(3218%) hue-rotate(345deg) brightness(109%) contrast(91%);
}
.png_celeste2 {
   filter: invert(67%) sepia(85%) saturate(709%) hue-rotate(182deg) brightness(92%) contrast(88%);
}