/* 
    Main Style:
    - Header completo (nav).
    - Sector Hero

    Media Queries
    - Móvil - 760 - 992 - 1024 - 1200>.
*/

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,1..1000&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/* Variables */
:root{
    --colorPrincipal: #0f1110;
    --colorSecundario: #E7E5E4;
    --colorAlternativo: #1e1e1e;
    --colorNegro: rgba(0, 0, 0, 1);
    --ColorVerde: #03b54d;
    --colorClaroTextos: #D6D3D1;
    --colorRojo: #e71030;
    --colorRojoOscuro: #a11f1a;
    --colorFondoFotos: #ccc;
    --border6: 6px;
    --border8: 8px;
    --border12: 12px;
    --fuenteMovil: 1.125rem; /* 18px */
    --fuenteDesktop: 1.062rem; /* 16.99px */}

*{box-sizing: border-box;}

html{scroll-behavior: smooth;}

body{
    margin: 0 auto;
    background-color: var(--colorPrincipal);
    font-family: "Roboto", sans-serif;}

/*WhatsApp*/
#ws{
    width: 55px;
    right: 24px;
    bottom: 110px;
    z-index: 101;
    position: fixed;
    cursor: pointer;
    filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.7));}

#ws img{width: 100%;}

/*Flecha Arriba*/
#flecha{
    width: 55px;
    right: 25px;
    bottom: 40px;
    position: fixed;
    cursor: pointer;
    display: none;
    z-index: 100;}

#flecha img{width: 100%;}

/* Marcador de la Flecha */
#sectorHero{scroll-margin-top: 176px;}
#nosHistoria{scroll-margin-top: 150px;}
#tresServ{scroll-margin-top: 150px;}
#ultimosTrab{scroll-margin-top: 150px;}
#dondeEstamos{scroll-margin-top: 150px;}

/* Títulos y textos */
h1, h2, h3, h4, h5, h6{font-size: 1.75rem; text-align: center; font-family: "Google Sans Flex", sans-serif;}
h1{
    color: #fff;
    margin: 0 0 16px;
    font-size: clamp(2.3rem, 5vw, 3rem);
    text-align: center;
    font-weight: 700;
    text-shadow: 0 3px 8px rgba(0, 0, 0, 0.9);}

p, span, figcaption{font-size: var(--fuenteMovil);}

header{
    width: 100%;
    height: 90px;
    top: 0;
    left: 0;
    position: fixed;
    z-index: 100;}

.datosTop{
  width: 100%;
  height: 50px;
  padding: 14px 38px 16px 38px;
  top: 0;
  z-index: 200;
  color: var(--colorSecundario);
  background-color: var(--colorRojo);}  

.datosTop a{
    display: inline-block;
    transform: scaleY(1.1);
    font-weight: 700;
    font-size: var(--fuenteMovil);
    color: var(--colorSecundario);
    text-decoration: none;}

.mainContainer{
    width: 100%;
    display: flex;
    /*flex-wrap: wrap; */
    justify-content: space-between;}

.redesTop{
    display: flex;
    justify-content: space-between;
    width: 60px; 
    height: auto;
    margin-top: 0;}

.fa-instagram{font-size: 25px;}
.fa-tiktok{font-size: 20px; margin-top: 3px;}

.mainWrapper{
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;}    

/* Menú de navegación */
.navbar{
    width: 100%;
    max-width: 1920px;
    background-color: var(--colorNegro);
    padding: 6px 0 8px 12px;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.7);
    position: relative;}

.logoMenu{width: 150px;}

.navbar .nav-link{
    color: var(--colorSecundario) !important;
    text-align: right;
    margin-right: 15px;
    padding: 0;
    font-weight: 500;
    font-size: var(--fuenteMovil);
    height: 50px;}

.navbar-nav .nav-item{
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
    padding: 10px 0 8px 0;}

.navbar-nav .nav-item:first-child{margin-top: 20px;}    
.navbar-nav .nav-item:last-child{margin-bottom: 10px;}

/* Menú Hamburguesa */
.navbar-toggler{color: var(--colorSecundario); border:0px solid var(--colorNegro); background-color: transparent !important; font-size: 23px; margin-right: 16px;}
.navbar-toggler:focus{box-shadow: 0px 0px 10px var(--colorPrincipal);}

.navbar-toggler-icon{background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); font-size: 27px;}

.navbar-nav .nav-item{padding-left: 0; padding-right: 15px;}  
.navbar-nav .nav-link {padding: 20px 0 0 0; padding-bottom: 45px;}

#sectorHero#sectorHero{
    height: calc(100vh - 136px);
    max-height: 1000px;
    background-color: transparent;
    background-image: url(../imagenes/hero.webp);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    position: relative;
    padding: 30px 32px 80px 32px;
    margin-top: 136px;
    border-bottom: 10px solid var(--colorRojo);}

#sectorHero #bloqueMain{width: 100%;  margin: auto;}

#sectorHero p{
    font-size: 1.25rem;
    color: #F5F5F4;
    width: 275px;
    margin: auto;
    text-align: center;
    text-shadow: 0 3px 8px rgba(0, 0, 0, 0.9);}

#sectorHero a{
    width: 225px;
    height: 40px;
    padding: 10px;
    border-radius: 24px;
    color: var(--colorSecundario);
    background-color: var(--colorRojoOscuro);
    text-decoration: none;
    text-align: center;
    font-weight: 500;
    display: block;
    margin: 24px auto;
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.6);}

/* Tres placas de servicios */
.containerTresServicios{
    width: 75%;
    margin: -60px auto 0 auto; 
    position: relative;
    z-index: 10;
    /* transform: translate(-50%, -50%); */}    

.containerTresServicios .cardTapiceria{
    width: 100%;
    height: auto;
    padding: 24px 16px;
    margin: 0 auto 24px auto;
    border-radius: var(--border8);
    background-color: var(--colorSecundario);}

.cardTapiceria .bloqueUno{
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: center;
    flex-direction: column;}

.cardTapiceria .bloqueUno img{
    width: 250px;
    margin: auto;
    display: inline-block;}

@media (max-width: 360px){
.cardTapiceria .bloqueUno img{
width: 230px;}}

.bloqueUno .textos{width: 100%; margin: 16px 0;}

.bloqueUno .textos h2{font-weight: 700; font-size: 26px;}
.bloqueUno .textos p{text-align: left; font-size: var(--fuenteMovil);}

.cardTapiceria a{
    width: 100%;
    height: 40px;
    font-weight: 600;
    text-align: center;
    line-height: 40px;
    border-radius: var(--border8);
    color: var(--colorSecundario);
    display: inline-block;
    text-decoration: none;
    background-color: var(--colorRojoOscuro);}

footer{
    width: 100%;
    height: 500px;
    padding-top: 24px;
    text-align: center;
    position: relative;
    background: rgba(0, 0, 0, 0.85) url(../imagenes/banner-footer.webp) no-repeat center bottom / cover;
    background-blend-mode: darken;}    

footer .loguito{
  width: 100px;
  margin: 24px auto 12px auto;}

.loguito img{width: 100%;}  

.nombreLogo{color: var(--colorClaroTextos); margin-bottom: 50px;}

footer hr{width: 83%; margin: auto; border-color: rgba(255, 255, 255, 0.5);}

/* Redes Sociales */
#redesSociales{
    width: 133px;
    margin: 45px auto;}

#redesSociales span{
    width: inherit;
    color: var(--colorClaroTextos);
    font-size: var(--fuenteMovil);
    text-align: center;
    display: block;
    margin-bottom: 16px;}

#redes a{text-decoration: none;}
#redes img{width: 52px;}

.datosFooter{
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  background-color: var(--colorRojoOscuro);}

.datosFooter p{font-size: 16px; color: var(--colorClaroTextos);}
.datosFooter a{color: var(--colorClaroTextos);}

/* //////////////////////// */
@media (min-width:760px){
    /*WhatsApp*/
    #ws{
    width: 55px;
    right: 38px;
    bottom: 100px;
    z-index: 101;
    position: fixed;
    cursor: pointer;}

    #ws img{width: 100%;}

    /*Flecha Arriba*/
    #flecha{
    width: 55px;
    right: 38px;
    bottom: 30px;
    position: fixed;
    cursor: pointer;
    display: none;
    z-index: 100;}   
    
    /* Datos Top */
    .datosTop{
    width: 100%;
    height: 50px;
    padding: 14px 60px 16px 60px;
    top: 0;
    z-index: 200;
    color: var(--colorSecundario);
    background-color: var(--colorRojo);}  

    .datosTop a{
    display: inline-block;
    transform: scaleY(1.1);
    font-weight: 700;
    font-size: var(--fuenteMovil);
    color: var(--colorSecundario);
    text-decoration: none;}

    .mainContainer{
    width: 100%;
    display: flex;
    /*flex-wrap: wrap; */
    justify-content: space-between;}

    .redesTop{
    display: flex;
    justify-content: space-between;
    width: 70px; 
    height: auto;
    margin-top: 0;}

    .fa-instagram{font-size: 25px;}
    .fa-tiktok{font-size: 20px; margin-top: 3px;}

    /* NavBar */
    .container-fluid{padding: 0 30px 0 45px;}

    .logoMenu{width: 160px;}

    /* Marcador de la Flecha */
    #sectorHero{scroll-margin-top: 176px;}
    #nosHistoria{scroll-margin-top: 170px;}
    #tresServ{scroll-margin-top: 170px;}
    #ultimosTrab{scroll-margin-top: 170px;}
    #dondeEstamos{scroll-margin-top: 170px;}

    #sectorHero{
    height: calc(100vh - 144px) !important;
    max-height: 1000px;
    background-color: transparent;
    background-image: url(../imagenes/hero.webp);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    position: relative;
    padding: 100px 80px 0 80px;
    margin-top: 144px !important;
    border-bottom: 10px solid var(--colorRojo);}

    #sectorHero #bloqueMain{margin-top: 16px; width: 450px;}

    #sectorHero p{
    font-size: 1.1rem;
    color: var(--colorSecundario);
    width: 450px;
    margin: auto;
    text-align: center;}

    #sectorHero a{
    width: 225px;
    height: 40px;
    padding: 10px;
    border-radius: 24px;
    color: var(--colorSecundario);
    background-color: var(--colorRojoOscuro);
    text-decoration: none;
    text-align: center;
    font-weight: 500;
    display: block;
    margin: 24px auto;
    box-shadow: 0 1px 20px rgba(0, 0, 0, 0.5);}

    /* Tres placas de servicios */
    .containerTresServicios{
    width: 90%;
    margin: -60px auto 0 auto; 
    position: relative;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;}    

    .containerTresServicios .cardTapiceria{
    width: 32%;
    height: auto;
    padding: 24px 16px;
    margin: 0 auto 24px auto;
    border-radius: var(--border8);
    background-color: var(--colorSecundario);
    /* Hacer que la Card, se flex y en columna */
    display: flex;
    flex-direction: column;}

    .cardTapiceria .bloqueUno{
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: center;
    flex-direction: column;
    /* Esto hace que crezca en vertical-columna y se estire */
    flex-grow: 1;}

    .cardTapiceria .bloqueUno img{
    width: 100%;
    margin: auto;
    display: inline-block;}    
}
    
@media (min-width: 992px){
    .navbar{
    width: 100%;
    max-width: 1920px;
    background-color: rgba(0, 0, 0, 0.95);
    padding-top: 20px;
    padding-bottom: 20px;
    position: relative;}

    /* Ajuste del ancho del menú desplegable */
    .navbar-collapse{
    all: unset;
    display: flex !important;
    flex-basis: auto;
    align-items: center;}

    .navbar-brand{
    font-size: 1.6rem;
    color: var(--colorSecundario); 
    margin-left: 24px;}

    .navbar-nav{margin-left: auto;}

    .navbar .nav-link{
    color: var(--colorSecundario) !important;
    text-align: center;
    margin-right: auto;
    padding: 0 24px !important;
    font-weight: 500;
    height: 40px;
    line-height: 40px;
    /* border-right: 1px solid rgba(255, 255, 255, 0.2); */}

    .last{border-right: none !important;}

    .navbar-nav .nav-item{
    border-bottom: none !important;
    padding: 0 !important;}

    .navbar-nav .nav-item:first-child{margin-top: 0;}    
    .navbar-nav .nav-item:last-child{margin-bottom:0;}

    .navbar-nav .nav-item{padding-left: 0; padding-right: 15px;}  
    .navbar-nav .nav-link {padding: 20px 0 0 0; padding-bottom: 45px;}    
}

@media (min-width: 1024px){
    /* Datos Top */
    .datosTop{
    width: 100%;
    height: 50px;
    padding: 14px 70px 16px 70px;
    top: 0;
    z-index: 200;
    color: var(--colorSecundario);
    background-color: var(--colorRojo);} 

    /* Marcador de la Flecha */
    #sectorHero{scroll-margin-top: 176px;}
    #nosHistoria{scroll-margin-top: 190px;}
    #tresServ{scroll-margin-top: 190px;}
    #ultimosTrab{scroll-margin-top: 190px;}
    #dondeEstamos{scroll-margin-top: 190px;}

    header{height: 170px;}
    
    .navbar{background-color: transparent;}
    .container-fluid{padding: 0 15px 0 33px;}
    .logoMenu{width: 124px;}
    .navbar-nav{margin-right: 32px !important;}
    .nav-link{transition: 0.5s;}
   
    /*EFECTO NAVBAR*/
    header.abajo{
    background-color: rgba(0, 0, 0, 0.7) !important;     
    box-shadow: 0 5px 8px rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(10px);}    
    /*FIN EFECTO NAVBAR*/
 
    .logoMenu{width: 160px;}

    #sectorHero{
    height: calc(100vh - 170px) !important;
    max-height: 1000px;
    background-color: transparent;
    background-image: url(../imagenes/hero.webp);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    position: relative;
    padding-top: 50px;
    margin-top: 170px !important;}

    #sectorHero #bloqueMain{margin-top: 16px; width: 550px;}

    #sectorHero p{
    font-size: var(--fuenteMovil);
    color: #F5F5F4;
    width: 450px;
    margin: auto;
    text-align: center;
    text-shadow: 0 3px 8px rgba(0, 0, 0, 0.9);}

    .bloqueUno .textos p{text-align: left; font-size: var(--fuenteDesktop);}

    footer hr{width: 86%;}
}

@media (min-width: 1200px){
    /* Marcador de la Flecha */
    #sectorHero{scroll-margin-top: 176px;}
    #nosHistoria{scroll-margin-top: 190px;}
    #tresServ{scroll-margin-top: 190px;}
    #ultimosTrab{scroll-margin-top: 190px;}
    #dondeEstamos{scroll-margin-top: 190px;}

    /* Datos Top */
    .mainContainer{
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;}

    .datosTop{
    width: 100%;
    height: 50px;
    padding: 14px 150px 16px 150px;
    top: 0;
    z-index: 200;
    color: var(--colorSecundario);
    background-color: var(--colorRojo);}

    /*WhatsApp*/
    #ws{
    width: 60px;
    right: 150px;
    bottom: 150px;
    z-index: 101;
    position: fixed;
    cursor: pointer;}

    /*Flecha Arriba*/
    #flecha{
    width: 55px;
    right: 152px;
    bottom: 75px;
    position: fixed;
    cursor: pointer;
    display: none;
    z-index: 100;}

    header{
    width: 100%;
    height: 170px;
    position: fixed;
    z-index: 100;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.7);}

    /* NavBar */
    .container-fluid{padding: 0 28px 0 108px;}

    .navbar{
    width: 100%;
    max-width: 1920px;
    margin: 0 auto !important;
    box-shadow: none;}

    .navbar-nav{margin-right: 100px !important;}

    /* Efecto de subrayado en los li del menú */  
    .nav-link{transition: 0.5s; position: relative;}
    .nav-link:hover{color: var(--colorRojo) !important;}

    .nav-link::after{
    content: '';
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 0%;
    height: 1.8px;
    background-color: var(--colorRojo);
    transition: width 0.3s ease-in-out;}
      
    .nav-link:hover::after{width: 85%;}

    #sectorHero{
    height: 100vh;
    max-height: 1000px;
    background-color: transparent;
    background-image: url(../imagenes/hero.webp);
    background-repeat: no-repeat;
    background-position: left top -175px !important;
    background-size: cover;
    position: relative;
    padding-top: 100px;}

    #bloqueMain{
    width: 500px;
    position: absolute;
    left: 142px;
    top: 75px;}

    h1{
    color: var(--colorSecundario);
    margin: 0 0 16px;
    font-size: clamp(2.1rem, 5vw, 3.025rem);
    text-align: center;
    font-weight: 600;}

    #sectorHero p{
    font-size: 1.28rem;
    color: var(--colorSecundario);
    width: 500px;
    margin: auto;
    text-align: left;}

    #sectorHero a{
    width: 225px;
    height: 40px;
    padding: 10px;
    border-radius: 24px;
    text-decoration: none;
    text-align: center;
    font-weight: 500;
    display: block;
    margin: 32px auto;
    color: var(--colorClaroTextos);
    background-color: var(--colorRojoOscuro);
    box-shadow: 0 1px 20px rgba(0, 0, 0, 0.5);}

    #sectorHero a:hover{box-shadow: 0 3px 40px var(--colorRojo);}

    /* Tres placas de servicios */
    .mainWrapper{
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;}    

    .containerTresServicios{
    width: 80%;
    margin: -60px auto 0 auto; 
    position: relative;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;}    

    .containerTresServicios .cardTapiceria{
    width: 32.5%;
    height: auto;
    padding: 24px 16px;
    margin: 0;
    border-radius: var(--border8);
    background-color: var(--colorSecundario);
    /* Hacer que la Card, se flex y en columna */
    display: flex;
    flex-direction: column;}

    .cardTapiceria .bloqueUno{
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: center;
    flex-direction: row;
    /* Esto hace que crezca en vertical-columna y se estire */
    flex-grow: 1;}

    .cardTapiceria .bloqueUno img{
    width: 40%;
    flex-shrink: 0;        /* Evita que Flexbox la comprima */
    margin: auto;
    display: inline-block;}

    .bloqueUno .textos {
    flex: 1;               /* Ocupa el espacio restante automáticamente */
    min-width: 0;          /* Permite que el texto haga wrap correctamente */
    padding-left: 10px;
    margin-bottom: 24px;}

    .textos h3{text-align: left;}

    /* .resta{letter-spacing: -1px;} */

    .cardTapiceria a{
    width: 50%;
    margin: 24px auto 0 auto;}

    footer hr{width: 68%;}
}

/* ── Monitores medianos: 1200px – 1450px ── */
@media (max-width: 1450px) and (min-width: 1200px) {

  .containerTresServicios{width: 92%;}

  .cardTapiceria .bloqueUno img{width: 40%;}

  .bloqueUno .textos{
    width: 56%;
    padding-left: 8px;}

  .bloqueUno .textos h3{
    font-size: 20px;
    letter-spacing: 0;}

  .bloqueUno .textos p{
    font-size: 13.5px;
    line-height: 1.5;}
}

@media (width >= 1920px){
    .lineComen{
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;}
}