

/*--------------------------------------------------------------------- File Name: style.css ---------------------------------------------------------------------*/


/*--------------------------------------------------------------------- import Fonts ---------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css?family=Rajdhani:300,400,500,600,700');
@import url('https://fonts.googleapis.com/css?family=Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i');
@import url('https://fonts.googleapis.com/css?family=Raleway:100,400,600,700,900&display=swap');

/*****---------------------------------------- 1) font-family: 'Rajdhani', sans-serif;
 2) font-family: 'Poppins', sans-serif;
 ----------------------------------------*****/


/*--------------------------------------------------------------------- import Files ---------------------------------------------------------------------*/

@import url(animate.min.css);
@import url(normalize.css);
@import url(icomoon.css);
@import url(font-awesome.min.css);
@import url(meanmenu.css);
@import url(owl.carousel.min.css);
@import url(swiper.min.css);
@import url(slick.css);
@import url(jquery.fancybox.min.css);
@import url(jquery-ui.css);
@import url(nice-select.css);

/*--------------------------------------------------------------------- skeleton ---------------------------------------------------------------------*/

* {
     box-sizing: border-box !important;
}

html {
     scroll-behavior: smooth;
}

body {
     background: #fff;
     color: #090909;
     font-size: 14px;
     font-family: 'Raleway', sans-serif;
     line-height: 1.80857;
     font-weight: normal;
}

.container {
     max-width: 1172px;
}

a {
     color: #1f1f1f;
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

h1,
h2,
h3,
h4,
h5,
h6 {
     letter-spacing: 0;
     font-weight: normal;
     position: relative;
     padding: 0 0 10px 0;
     font-weight: normal;
     line-height: normal;
     color: #090909;
     margin: 0
}

h1 {
     font-size: 24px;
     font-family: 'Raleway', sans-serif;
}

h2 {
     font-size: 22px;
}

h3 {
     font-size: 18px;     
    
}

hr {
      height: 5px;
      width: 100%;
      background-color: #f4b41a;
    
}     
h4 {
     font-size: 16px
}

h5 {
     font-size: 14px
}

h6 {
     font-size: 13px
}

*,
*::after,
*::before {
     -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
     box-sizing: border-box;
}

h1 a,
h2 a,

h4 a,
h5 a,
h6 a {
     color: #fff;
     /* text-decoration: none!important; */
     opacity: 1
}

button:focus {
     outline: none;
}
.logo{
     text-align: right;
     margin-right: 100px;    
    
}
.icono-logo {

     max-width: 5%;
    height: auto;
}
.icono-logo img {
     width: 100px;
   margin-left: 18%;

}


ul,
li,
ol {
     margin: 0px;
     padding: 0px;
     list-style: none;
     font-size: 17px;
}

p {
     margin: 0px;
     font-weight: 500;
     font-size: 17px;
     line-height: 24px;
     text-align: left;

}

a {
     color: #222222;
     text-decoration: none;
     outline: none !important;
}

a,
.btn {
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

img {
     max-width: 100%;
     height: auto;
}

 :focus {
     outline: 0;
}

.btn-custom {
     margin-top: 20px;
     background-color: transparent !important;
     border: 2px solid #ddd;
     padding: 12px 40px;
     font-size: 16px;
}


.lead {
     font-size: 18px;
     line-height: 30px;
     color: #767676;
     margin: 0;
     padding: 0;
}

.form-control:focus {
     border-color: #ffffff !important;
     box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}

.navbar-form input {
     border: none !important;
}

.badge {
     font-weight: 500;
}

blockquote {
     margin: 20px 0 20px;
     padding: 30px;
}

button {
     border: 0;
     margin: 0;
     padding: 0;
     cursor: pointer;
}

.full {
     float: left;
     width: 100%;
}

.full {
     width: 100%;
     float: left;
     margin: 0;
     padding: 0;
}


/**-- heading section --**/


/*---------------------------- preloader area ----------------------------*/

.loader_bg {
     position: fixed;
     z-index: 9999999;
     background: #fff;
     width: 100%;
     height: 100%;
}

.loader {
     height: 100%;
     width: 100%;
     position: absolute;
     left: 0;
     top: 0;
     display: flex;
     justify-content: center;
     align-items: center;
}

.loader img {
     width: 280px;
}

ul.btn {
     float: right;
}

ul.btn li {
     display: inline-block;
     padding: 0 25px;
}

ul.btn li a {
     color: #fff;
     font-size: 16px;
}

ul.btn li:last-child {
     padding-right: 0;
}


/*-- header area --*/


/*--------------------------------------------------------------------- top banner area ---------------------------------------------------------------------*/


/*--------------------------------------------------------------------- layout new css ---------------------------------------------------------------------*/

.header {
     width: 100%;
}

.header_to {
     background-color: #032154;
     padding: 9px 0;
}

ul.lan li i {
     padding-right: 5px;
}

ul.lan li {
     float: left;
     color: #e4dcdc;
     font-weight: 500;
     font-size: 17px;
}

.select-box {
     cursor: pointer;
     position: relative;
     max-width: 100px;
     display: flex;
     width: 100%;
     flex-wrap: wrap;
}

.select,
.label {
     color: #fff;
     display: block;
     font-size: 16px;
}

.select {
     width: 100%;
     position: absolute;
     top: 0;
     padding: 5px 0;
     opacity: 0;
     /* -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; */
     background: none transparent;
     border: 0 none;
}

.select-box1 {
     border-radius: 30px;
}

.label {
     position: relative;
     padding: 0px 23px 0px 9px;
     cursor: pointer;
     margin-bottom: 0;
}

.open .label::after {
     content: "▲";
}

.label::after {
     content: "▼";
     font-size: 15px;
     position: absolute;
     right: -3px;
     top: 5px;
     background: #f4b41a;
     width: 20px;
     height: 21px;
     line-height: 15px;
     text-align: center;
     padding-top: 3px;
}

ul.social_icon1 {
     display: flex;
     justify-content: flex-end;
     flex-wrap: wrap;
}

ul.social_icon1 li {
     height: 30px;
     color: #fff;
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     padding-right: 15px;
}

ul.social_icon1 li a {
     color: #fff;
     float: left;
     text-align: center;
     line-height: 31px;
     border-radius: 100%;
     font-size: 20px;
}

ul.social_icon1 li:last-child {
     padding-right: 0px;
}

.header_midil {
     background-color: #fff;
     width: 100%;
     padding: 5px 0; 
}

.logo {
     text-align: center;
     display: block;
}



.d_none1 {
     text-align: right;
}

ul.conta_icon li {
     display: inline-block;
}

ul.conta_icon li a i {
     padding-right: 5px;
     color: #f4b41a ;
}

ul.conta_icon li a {
     color: #271e0a;
     font-size: 17px;
     font-weight: 600;
     text-align: left;
}

ul.conta_icon li a:hover {
     color: #f4b41a;
     text-decoration: underline !important;
}

.search {
     padding: 24px 0;
     text-align: right;
}

.form_sea {
     border: #fff solid 1px;
     padding: 0px 15px;
     color: #000;
     height: 40px;
     position: relative;
     width: 100%;
     font-size: 17px;
}

.seach_icon {
     position: absolute;
     margin-left: -30px;
     z-index: 999;
     background: transparent;
     padding: 4px 0px 0px 0px;
     color: #b7b7b7;
     font-size: 17px;
}

.header_bo {
     background-color: #032154;
     width: 100%;
     height: 70px;
}


/* -- navigation-- */

.navigation.navbar {
     float: left;
     padding: 0;
}

.navigation.navbar-dark .navbar-nav .nav-link {
     padding:25px 22px;
     font-weight: 600;
     margin: 0 30px;
     color: #ffffff;
     font-size: 17px;
     line-height: 20px;
     text-transform: uppercase;
}

.navigation.navbar-dark .navbar-nav .nav-link:focus,
.navigation.navbar-dark .navbar-nav .nav-link:hover {
     color: #ffffff;
     background-color: #f4b41a;
}

.navigation.navbar-dark .navbar-nav .active>.nav-link,
.navigation.navbar-dark .navbar-nav .nav-link.active,
.navigation.navbar-dark .navbar-nav .nav-link.show,
.navigation.navbar-dark .navbar-nav .show>.nav-link {
     color: #ffffff;
     background-color: #f4b41a;
}

.navbar-expand-md .navbar-nav {
     padding-right: 10px;
}

ul.sign {
     padding: 13px 0;
}

ul.sign li a {
     color: #fff;
     font-size: 20px;
}

ul.sign li a i {
     float: left;
     padding-top: 12px;
}

.sign_btn {
     float: right;
     max-width: 161px;
     background: #f4b41a;
     font-size: 17px !important;
     width: 100%;
     text-align: center;
     border-radius: 10px;
     padding: 6px 0;
     font-weight: 600;
     text-transform: uppercase;
}

.sign_btn:hover {
     background-color: #000;
}


/** banner section **/

.banner_main {
     padding: 60px 0 0px 0;
     background: url(../images/banner.jpg);
     background-size: 100% 100%;
     background-repeat: no-repeat;
     z-index: -1;
    
}

.text-bg {
     text-align: left;
     padding-top: 100px;
}

.text-bg h1 {
     color: #acbde3;
     font-size: 60px;
     line-height: 70px;
     font-weight: bold;
}

.text-bg span {
     line-height: 28px;
     padding-bottom: 20px;
     display: block;
     color: #f4b41a;
     font-size: 30px;
     font-weight: 600;
}

.text-bg p {
     line-height: 28px;
     padding-bottom: 70px;
     display: block;
     color: #fff;
     font-size: 17px;
}

.text-bg a {
     font-size: 25px;
     color: #fff;
     font-weight: 600;
     text-align: left;
     display: inline-block;
     transition: ease-in all 0.5s;
     position: relative;
     line-height: 1px;
}

.text-bg a::before {
     position: absolute;
     content: "";
     top: 3px;
     border-right: #ffff00 solid 1px;
     border-width: 90px;
     height: 1px;
     right: -111px;
}

.text-bg a:hover {
     color: #fff;
     transition: ease-in all 0.5s;
}

.ban_img figure {
     margin: 0;
}


/** end banner section **/

.titlepage {
     text-align: left;
     padding-bottom: 60px;
}

.titlepage h2 {
     font-size: 36px;
     color: #154492;
     line-height: 45px;
     font-weight: bold;
     padding: 0;
     display: block;
     text-transform: uppercase;
}

.yellow {
     color: #f4b41a;
     font-size: 25px;
     font-weight: bold;
     text-transform: uppercase;
     line-height: 28px;
}

.titlepage p {
     font-size: 20px;
     color: #090a0b;
     padding-top: 30px;
}

.d_flex {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
    
}

.read_more {
     font-size: 25px;
     color: #fff !important;
     text-align: left;
     display: inline-block;
     border-radius: 10px;
     font-weight: 500;
     position: relative;
     padding: 0;
     line-height: 1px;
     max-width: 140px;
     width: 100%;
}

.read_more::before {
     position: absolute;
     content: "";
     top: 1px;
     border-right: #ddd solid 1px;
     border-width: 90px;
     height: 1px;
     right: -111px;
}


/** about section **/

.about {
     padding-top: 90px;
     background-color: #fff;
}

.about .titlepage {
     text-align: left;
     padding-bottom: 25px;
}

.about_img {
     padding-right: 40px;
     
}

.about_img figure {
     margin: 0;
}

.about_img figure img {
     width:80%;
     margin-left: 5.7em;

}

.about_box {
     text-align: left;
     max-width: 668px;
     width: 100%;
     float: right;
}

.about_box h3 {
     color: #0b0b0b;
     font-size: 25px;
     font-weight: bold;
     padding: 0;
     line-height: 30px;
     text-transform: uppercase;
}

.about_box span {
     font-size: 17px;
     font-weight: 1000;
     color: #f4b41a;
     line-height: 30px;
     padding-top: 25px;
     text-transform: uppercase;
     display: block;
}

.try {
     float: left;
}

.about_box p {
     font-size: 17px;
     padding-top: 25px;
     line-height: 30px;
     text-align: left;
     color: #0d0d0d;
     display: inline-block;
     padding-bottom: 15px;
    
}

.margin_bottom2 {
     margin-bottom: 30px;
}

.about .read_morea {
     margin-top: 7px;
     padding: 8px 0;
     margin-left: 60px;
     background-color: #f4b41a;
     max-width: 268px;
     width: 100%;
     display: inline-block;
     text-align: center;
     font-size: 17px;
     color: #fff;
     font-weight: 400;
}

.about .read_morea i {
     padding-left: 5px;
}

.about .read_morea:hover {
     background-color: #090909;
}


/** end about section **/


/** service section **/

.service {
     background-color: #fff;
     padding-top: 80px;
}

.service .service_box {
     margin-bottom: 30px;
}

.service .service_box img {
     display: block;
}

.service .service_box h3 {
     margin-top: 20px;
     color: #323639;
     font-size: 17px;
     font-weight: 700;
     line-height: 20px;
     text-transform: uppercase;
     border-bottom: #020001 solid 3px;
     display: inline-block;
     padding-bottom: 6px;
     transition: ease-in all 0.5s;
}

.service .service_box p {
     color: #323639;
     font-size: 17px;
     padding-top: 15px !important;
     padding: 0;
     line-height: 25px;
}

#ho_color:hover.service_box h3 {
     transition: ease-in all 0.2s;
     color: #f4b41a ;
    font-size: 30px;
   
      /* border-bottom: #f4b41a solid 3px;  */
} 
#ho_color:hover.service_box h3 a {
     transition: ease-in all 0.2s;
     color: #f4b41a ;
    font-size: 30px;
   
      /* border-bottom: #f4b41a solid 3px;  */
} 


.service .read_more {
     color: #f4b41a !important;
     margin: 0 auto;
     max-width: 140px;
     width: 100%;
     display: block;
     display: table;
     margin-top: 40px;
}

.service .read_more::before {
     border-right: #f4b41a solid 1px;
     border-right-width: 1px;
     border-width: 90px;
}
/* responsive  */

/** end service section **/


/** portfolio section **/

.portfolio {
     padding-top: 100px;
}

.portfolio .titlepage {
     text-align: left;
     padding-bottom: 40px;
}

.portfolio .titlepage h2 {
     color: #154492;
}

.portfolio .titlepage span {
     color: #040300;
     font-size: 17px;
     line-height: 38px;
     font-weight: 600;
}

.portfolio .titlepage p {
     color: #434343;
     font-size: 17px;
     line-height: 28px;
     padding-top: 15px;
}

.portfolio .portfolio_Carousel .carousel-caption {
     position: inherit;
     padding: 0;
}


/* Efecto hover para el portfolio */
.portfolio_img {
   overflow: hidden;
   border-radius: 8px;
   position: relative;
   height: 10rem;
}

.portfolio_img img {
   width: 100%;
   height: auto;
   display: block;
   transition: transform 0.4s ease;
   cursor: pointer;
}

.portfolio_img:hover img {
   transform: scale(1.15);
}

/* Efecto para el carrusel de empresas colaboradoras */
.team_img {
   overflow: hidden;
   border-radius: 8px;
   position: relative;
   height: 10rem;
}

.team_img img {
   width: 100%;
   height: auto;
   display: block;
   transition: transform 0.4s ease;
   cursor: pointer;
}

.team_img:hover img {
   transform: scale(1.1);
}

/* Opcional: Añadir sombra al hacer hover */
.portfolio_img:hover,
.team_img:hover {
   box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

/* Si quieres que el overlay (middle) se vea mejor */
.portfolio_img .middle {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   background: rgba(0,0,0,0.5);
   opacity: 0;
   transition: opacity 0.3s ease;
}

.portfolio_img:hover .middle {
   opacity: 0;
}

.portfolio_img .text2 {
   color: white;
   font-size: 18px;
   font-weight: bold;
   text-transform: uppercase;
}



.portfolio_box {
     text-align: center;
     position: relative;
}

.portfolio_img {
     margin-bottom: 30px;
     aspect-ratio: 16/9;
     object-fit: cover;
}


.middle:hover {
     opacity: 1;
     z-index: 9999;
}

.middle {
     z-index: 9999;
     transition: .5s ease;
     opacity: 0;
     position: absolute;
     top: 45%;
     left: 50%;
     transform: translate(-50%, -50%);
     -ms-transform: translate(-50%, -50%);
     text-align: center;
     background-color: #ebd93cc2;
     width: 90%;
     height: 92%;
}
.middle img {
     aspect-ratio: 16/9;
     object-fit: cover;

}

.text2 {
     background-color: transparent;
     color: white;
     font-size: 17px;
     padding: 7px 0px;
      width: 144px;
     margin-top: 50% !important;
     display: block;
     margin: 0 auto;
     border: #fff solid 2px;
}

.portfolio_Carousel .carousel-indicators {
     display: none;
}

#myCarousel a.carousel-control-prev {
     position: absolute;
     left: 20px;
}

#myCarousel a.carousel-control-next {
     right: 20px;
     position: absolute;
}

#myCarousel .carousel-control-next,
#myCarousel .carousel-control-prev {
     width: 60px;
     height: 60px;
     background: #29426c;
     opacity: 1;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     top: 30%;
     border-radius: 30px;
}

#myCarousel .carousel-control-prev:hover,
#myCarousel .carousel-control-next:hover,
#myCarousel .carousel-control-prev:focus,
#myCarousel .carousel-control-next:focus {
     background: #f4b41a;
     color: #fff;
}
.carousel-item img {
    width: 100%;
    height: 300px; /* Altura fija */
    object-fit: cover; /* Mantiene proporción y recorta si es necesario */
    object-position: center; /* Centra la imagen */
}

.portfolio .read_more {
     color: #f4b41a !important;
     margin: 0 auto;
     max-width: 140px;
     width: 100%;
     display: block;
     display: table;
     margin-top: 40px;
}

.portfolio .read_more::before {
     border-right: #f4b41a solid 1px;
     border-right-width: 1px;
     border-width: 90px;
}


/** end portfolio section **/


/** business section **/

.business {
     background: #fff;
     padding-top: 80px;
}

.business .titlepage h2 {
     color: #010000;
}

.business .titlepage p {
     color: #6f6f6e;
     padding-top: 10px;
}

.business .business_box {
     margin-bottom: 20px;
}

.business .business_box i {
     float: left;
     padding: 0;
     margin-right: 10px;
}

.business .business_box h3 {
     font-weight: bold;
     font-size: 40px;
     color: #29426c;
     padding-bottom: 3px;
     line-height: 42px;
}

.business .business_box p {
     color: #f4b41a;
     font-size: 19px;
     font-weight: bold;
}

.business .read_more {
     color: #f4b41a !important;
     margin-top: 60px;
}

.business .read_more::before {
     border-right: #f4b41a solid 1px;
     border-width: 90px;
}


/** end business section **/


/** team section **/

.team {
     background: #fff;
     padding-top: 80px;
}

.team .titlepage h2 {
     color: #154492;
}

.team .team_Carousel .carousel-caption {
     position: inherit;
     padding: 0;
}

.team_box {
     text-align: center;
}

.team_img img {
     margin-bottom: 30px;
     border-radius: 220px;
     border: #ddd solid 15px;
}

ul.social_icont {
     margin-top: 41%;
     display: flex;
     align-content: center;
     align-items: center;
     justify-content: center;
}

ul.social_icont li {
     padding: 4px;
     display: flex;
     align-items: center;
     justify-content: center;
}

ul.social_icont li a {
     color: #060400;
     width: 40px;
     height: 40px;
     background: #fff;
     float: left;
     text-align: center;
     line-height: 40px;
     border-radius: 100%;
     font-size: 22px;
}

#ho_bg:hover.team_img img {
     border: #e5d660 solid 15px;
     background-color: #ddd;
}

.ho_socal:hover {
     opacity: 1;
}

.ho_socal {
     position: absolute;
     z-index: 9999;
     top: 13px;
     right: 0;
     bottom: 0;
     left: 0;
     transition: .5s ease;
     background-color: #082a63de;
     border-radius: 381px;
     width: 242px;
     margin: 0 auto;
     height: 247px;
     opacity: 0;
}

.team_Carousel .carousel-indicators {
     bottom: -30px;
     align-items: center;
}

.team_Carousel .carousel-indicators .active {
     background-color: #fff;
     padding: 5px;
     width: 20px;
     height: 20px;
     border: #183971 solid 4px;
}

.team_Carousel .carousel-indicators li {
     background-color: #f4b41a;
     width: 15px;
     height: 15px;
     border-radius: 20px;
}

#team .carousel-control-next,
#team .carousel-control-prev {
     display: none;
}


/** end team section **/


/** testimonial section **/

.testimonial {
     padding-top: 90px;
     background-color: #fff;
}

.testimonial .titlepage {
     text-align: center;
}

.testimonial .titlepage h2 {
     color: #154492;
}

.testimonial .testimonial_Carousel .carousel-caption {
     position: inherit;
     padding: 0;
}

.testimonial_box {
     text-align: center;
}

.testimonial_Carousel .test_box span {
     font-size: 25px;
     font-weight: 600;
     line-height: 28px;
     padding-top: 27px;
     display: inline-block;
     color: #f4b41a;
     text-transform: uppercase;
     margin-left: 20px;
     float: left;
}

.testimonial_Carousel .test_box p {
     font-size: 16px;
     padding: 20px;
     line-height: 28px;
     color: #383737;
     text-align: left;
     border: #f4b41a solid 1px;
     display: inline-block;
     margin-bottom: 30px;
}

.testimonial_Carousel .test_box i {
     float: left;
}

.testimonial_Carousel .carousel-indicators {
     bottom: 31px;
     margin-right: 0px;
}

.testimonial_Carousel .carousel-indicators li {
     background-color: #f4b41a;
     width: 15px;
     height: 15px;
}

.testimonial_Carousel .carousel-indicators .active {
     background-color: #4231bd;
}

#testimo .carousel-control-next,
#testimo .carousel-control-prev {
     display: none;
}


/** end testimonial section **/


/** contact  section **/

#contact {
     padding-top: 5em;
     background:#15449214;
     padding-bottom: 5em;
     display: flex;
     flex-wrap: wrap;
     justify-content: space-around;
}

.contact .titlepage {
     text-align: left;
}

.contact .titlepage h2 {
     color: #154492;
}

.contact_form .contact_control {
     margin-bottom: 20px;
     width: 100%;
     height: 55px;
     background: transparent;
     color: #363636;
     font-size: 18px;
     font-weight: normal;
     border-bottom: #003471 solid 1px !important;
     border: inherit;
}

.contact_form .textarea {
     margin-bottom: 20px;
     width: 100%;
     background: transparent;
     color: #363636;
     font-size: 18px;
     font-weight: normal;
     padding-top: 10px;
     height: 150px;
     border-bottom: #003471 solid 1px !important;
     border: inherit;
}

.contact_form .send_btn {
     font-size: 20px;
     transition: ease-in all 0.5s;
     background-color: #f4b41a;
     text-transform: uppercase;
     color: #fffefe;
     padding: 15px 0px;
     border-radius: 40px;
     max-width: 217px;
     width: 100%;
     display: block;
     margin-top: 30px !important;
     font-weight: 600;
     margin: 0 auto;
}

.contact_form .send_btn:hover {
     background-color: #092352;
     transition: ease-in all 0.5s;
     color: #fff;
}

#post_form *::placeholder {
     color: #363636;
     opacity: 1;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form input.error {
    border-color: #e74c3c;
}

.form input.success {
    border-color: #2ecc71;
}

.error-message {
    color: #e74c3c;
    font-size: 12px;
    margin-top: 3px;
    display: none;
}

.error-message.show {
    display: block;
}

/** end contact  section **/


/** footer **/
.footer {
  background-color: #333;
  color: #fff;
  padding: 40px 0 20px;
}

.footer h3 {
  font-size: 1.2rem;
  margin-bottom: 20px;
  font-weight: 600;
}

.footer ul {
  padding: 0;
}

.footer ul li {
  line-height: 1.8;
}

.footer a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s;
}

.footer a:hover {
  color: #0d6efd;
}

.footer i {
  width: 20px;
  display: inline-block;
}

.social-links a {
  display: inline-block;
  width: 35px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  background-color: rgba(255,255,255,0.1);
  border-radius: 50%;
  transition: background-color 0.3s;
}

.social-links a:hover {
  background-color: #0d6efd;
}

/* Responsive ajustes */
@media (max-width: 991px) {
  .footer-logo {
    margin-top: 20px;
  }
  
  .footer-logo img {
    max-width: 150px !important;
  }
}

@media (max-width: 767px) {
  .footer {
    padding: 30px 0 15px;
  }
  
  .footer h3 {
    font-size: 1.1rem;
    margin-bottom: 15px;
  }
  
  .footer .col-12 {
    margin-bottom: 20px;
  }
}

.footer {
     padding-top: 90px;
     background: url(../images/footer_bg.jpg);
     background-size: 100% 100%;
     background-repeat: no-repeat;
     text-align: center;
     /* margin-top: 90px; */
}

.logo2 {
     float: left;
}

.footer h3 {
     color: #fff;
     font-weight: 600;
     font-size: 20px;
     line-height: 30px;
     text-align: center;
     margin-bottom: 19px;
     margin-top: 20px;
}

ul.location_icon {
     padding-top: 12px;
}

ul.location_icon li {
     font-size: 18px;
     line-height: 30px;
     color: #fff;
     text-align: left;
     padding-bottom: 26px;
     float: left;
     padding-right: 50px;
}

ul.location_icon li a i {
     display: block;
}

ul.location_icon li a {
     font-size: 25px;
     color: #fff;
     line-height: 35px;
}

ul.location_icon li a:hover {
     color: #eed818;
}

ul.social_icon {
     float: left;
}

ul.social_icon li {
     float: left;
     height: 80px;
     padding-right: 13px;
}

ul.social_icon li:last-child {
     padding-right: 0px;
}

ul.social_icon li a {
     color: #0b2554;
     width: 40px;
     height: 40px;
     background: #fff;
     float: left;
     text-align: center;
     line-height: 40px;
     border-radius: 100%;
     font-size: 22px;
}

ul.social_icon li a:hover {
     background: #eed818;
     color: #fff;
}

ul.link_icon li {
     display: flex;
     margin-bottom: 12px;
     flex-wrap: wrap;
}

ul.link_icon li.active a {
     color: #acaba9;
}

ul.link_icon li a {
     color: #fff;
     float: left;
     text-align: left;
     line-height: 20px;
     font-size: 17px;
}

ul.link_icon li a:hover {
     color: #acaba9;
}

ul.img_icon {
     float: left;
}

ul.img_icon li {
     display: block;
     padding-bottom: 10px;
     float: left;
     padding-right: 10px;
}

.main_form .news {
     padding: 0px 15px;
     margin-bottom: 20px;
     width: 100%;
     height: 40px;
     background: #fbf5f5;
     color: #a09f9b;
     font-size: 16px;
     font-weight: normal;
     border: #fbf5f5 solid 1px;
     border-radius: 10px;
}

.main_form .send_btn {
     font-size: 17px;
     transition: ease-in all 0.5s;
     background-color:#f4b41a;;
     text-transform: uppercase;
     color: #fff;
     padding: 9px 0px;
     max-width: 160px;
     width: 100%;
     display: block;
     border-radius: 10px;
     font-weight: 600;
}

.main_form .send_btn:hover {
     background-color: #000;
     transition: ease-in all 0.5s;
     color: #fff;
}

#request *::placeholder {
     color: #a09f9b;
     opacity: 1;
}

.copyright {
     background-color: #fff;
     margin-top: 70px;
     padding: 20px 0px;
}

.copyright p {
     color: #082557;
     font-size: 18px;
     line-height: 22px;
     text-align: center;
}

.copyright a {
     color: #082557;
}

.copyright a:hover {
     color: #fff;
}


/** end footer **/
/* css logo casuso banner */
.logo-casuso {
    /* position: absolute; */
    margin-left: 5em;
    
    
}
/* esto es para separar el texto de la foto y centrarlo */
.margen-derecha{
     padding-right: 5em;
}
.service_box {
     width: 80%;
     margin-top: 3rem;
    
}
.service_box .icon-title {
    display: flex;
    align-items: center;   /* alinea la imagen y el h3 en el mismo nivel */
    gap: 0.6rem; 
}
.service_box .icon-title img {
    width: 1.8rem;   /* o usa height: 1.8rem; según prefieras */
    height: auto;

}
    .service_box .icon-title h3 {
    margin: 0;               /* elimina márgenes extra que puedan desalinear */
    font-size: 1.2rem;       /* adapta el tamaño al diseño global */
} 
.service_row {
    display: flex;               /* crea la fila */
    align-items: flex-start;     /* alinea la parte superior de ambas columnas */
    gap: 1.2rem;                 /* espacio horizontal entre columnas */
}
/* -------------------------------------------------
   2️⃣ Columna izquierda: ícono + título
--------------------------------------------------- */
.icon_title {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.ruidos li {
    margin-left: 2em;
    font-size: 17px;
    list-style: disc;
}

/* CONFIGURACIÓN BASE DE CONTENEDORES */
.contenido-imagen {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 50%;
    margin-right: 75px;
    margin-left: 75px;
}

.contenido-imagen img {
    aspect-ratio: 16/9;
    object-fit: cover;
    width: 100%;
}

.contenido-imagen h3 {
    color: #10100f;
    font-size: 40px;
    margin-bottom: 1rem;
}

.contenido-texto {
    text-align: left;
    padding-top: 5rem;
    padding-left: 2rem;
    font-size: 17px Arial, sans-serif;
}

/* CONFIGURACIÓN DEL CONTENEDOR PRINCIPAL */
.service_box2 {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    align-items: flex-start;
    transition: all 0.3s ease;
    background-color: white;
    padding: 20px;
}

.service_box2 p {
    line-height: 25px;
}


 .footer {
      /* background-color: #ba3d3d; */
      /* background-image: linear-gradient(180deg, #1a1a1a 0%, #0f0f0f 100%); */
      color: #e0e0e0;
      font-family: 'Raleway', sans-serif;
      padding: 3rem 0;
      border-top: 4px solid #c5a100;
    }

    .footer h3 {
      color: #e0e0e0;
      font-weight: 700;
      text-transform: uppercase;
      font-size: 1.1rem;
      margin-bottom: 1rem;
    }

    .footer a {
      color: #e0e0e0;
      text-decoration: none;
      transition: color 0.3s ease;
    }

    .footer a:hover {
      color: #c5a100;
      text-shadow: 0 0 5px rgba(197,161,0,0.5);
    }

    .footer i {
      color: #c5a100;
      margin-right: 8px;
    }

    .footer ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer small {
      color: #aaa;
      font-size: 0.85rem;
    }

    .footer .border-line {
      border-top: 1px solid #333;
      margin-top: 2rem;
      padding-top: 1rem;
    }
 @media (max-width: 768px) {
      .footer {
        text-align: center;
      }
      .footer-logo img {
        margin-top: 1.5rem;
      }
    }
    /* boton de about */
    .read_morea {
     display: block;
     width: 80%; /* ajusta el ancho que quieras: 60%, 70%, 80%, 100% */
     max-width: 400px; /* ancho máximo para que no se haga demasiado grande */
     margin: 80px auto; /* centrado horizontal */
     padding: 15px 30px; /* hace el botón más alto */
     text-align: center;
     }
     /* css contact2 */
     /* Estilos Generales */
body {
    font-family: Arial, sans-serif;
    text-align: center;    
    background-color: #f8f8f8;
    color: #3e3d3d;

   
}

.how-it-works h1 {
    font-size: 2.5em;
    margin-bottom: 50px;
    color: #333;
}

/* Contenedor de los Pasos (Usa Flexbox para la distribución) */
.steps-container {
    display: flex;
    justify-content: center; /* Centra los 3 pasos */
    gap: 30px; /* Espacio entre los bloques */
    max-width: 1200px;
    margin: 0 auto;
}

/* Estilo para cada Paso */
.step {
    flex: 1; /* Permite que los pasos compartan el espacio por igual */
    text-align: left;
    position: relative;
    max-width: 350px; /* Límite para que no se estiren demasiado */
}

/* Contenedor de Imagen y Conexión */
.step-content {
    position: relative;
    padding-bottom: 30px; /* Espacio para la línea de conexión */
}

.step-image {
    width: 100%;
    max-width: 350px; /* Ajusta según el tamaño de tus imágenes */
    height: auto;
    /* Para replicar el efecto de la imagen flotando sobre un fondo blanco */
    border-radius: 10px; 
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); 
}

/* Línea de Conexión (El elemento clave del diseño) */
.connector-line {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200%; /* Se extiende a la derecha para conectar con el siguiente paso */
    height: 1px;
    background-color: #ddd; /* Color gris claro de la línea */
    z-index: 0;
}

/* Solo los primeros dos pasos tienen la línea */
.steps-container .step:last-child .connector-line {
    display: none;
}

/* Estilos del Bloque de Texto */
.text-block {
    margin-top: 20px;
}

.step-number {
    font-size: 1.5em;
    font-weight: bold;
    color: #333; /* Puedes usar un color de marca aquí */
    margin-right: 10px;
    /* Para el círculo del número: */
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    border-radius: 50%;
    background-color: #007bff; /* Color de fondo del círculo */
    color: white;
}

.text-block h3 {
    display: inline;
    font-size: 1.4em;
    color: #333;
    font-weight: 600;
}

.text-block p {
    margin-top: 15px;
    font-size: 1em;
    line-height: 1.6;
    color: #555;
}
/* formulario contact */
/* Estilos para el Formulario de Contacto en la Columna 3 */
.contact-form {
    display: flex;
    flex-direction: column; /* Apila los campos verticalmente */
    gap: 15px; /* Espacio entre los campos */
    margin-top: 20px;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1em;
    box-sizing: border-box; /* Asegura que padding no aumente el ancho total */
    transition: border-color 0.3s;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #007bff; /* Resalta el borde al enfocar */
    outline: none; /* Elimina el contorno predeterminado del navegador */
}

.contact-form textarea {
    resize: vertical; /* Permite al usuario solo cambiar la altura */
}

.contact-form button[type="submit"] {
    background-color: #007bff; /* Color de fondo del botón (igual que el número de paso) */
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1em;
    font-weight: bold;
    transition: background-color 0.3s;
}

.contact-form button[type="submit"]:hover {
    background-color: #0056b3; /* Color más oscuro al pasar el ratón */
}

/* Mostrar-Ocultar Formulario */
.form form {
    display: flex;
    flex-direction: column; 
    gap: 10px; 
    width: 300px; 
}

.form input,
.form textarea {
     width: 100%;
     padding: 8px;
     border: 1px solid #ccc;
     border-radius: 6px;
     font-size: 14px;
}

.form textarea {
    resize: vertical; 
    height: 100px;
}

.form input[type="submit"] {
    background-color: #007bff;
    color: white;
    border: none;
    cursor: pointer;
    transition: all 0.1s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    position: relative;
}

.form input[type="submit"]:hover {
    background-color: #0056b3;
    transform: translateY(-1px);
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
}

.form input[type="submit"]:active {
    transform: scale(0.98) translateY(2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    background-color: #004085;
}

.form-container {
    /* margin-top: 20px; */
    margin-top: 1.25rem;
}

.form-btn {
    padding: 12px 48px;
    background-color: #007bff;
    width: 100%;
    color: white;                 
    border: none;
    border-radius: 6px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s, opacity 0.3s;
    
}

.form-btn:hover {
    background-color: #0056b3;
}

.form {
    margin-top: 0;
    margin-left: 0;
    max-height: 500px;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out;
    opacity: 1;

}

.form.oculto {
    max-height: 0;
    opacity: 0;
}

.form-btn.oculto {
    opacity: 0;
    pointer-events: none;
    position: absolute;
}
/* Ocultar el botón "Rellenar Formulario" cuando el form esté visible */
.form-container:has(.form:not(.oculto)) .form-btn {
   display: none;
}

/* Botón de cerrar (X) */
.close-form-btn {
   position: absolute;
   top: 10px;
   right: 10px;
   background: transparent;
   border: none;
   font-size: 28px;
   color: #666;
   cursor: pointer;
   line-height: 1;
   padding: 5px 10px;
   transition: color 0.3s ease;
   z-index: 10;
}

.close-form-btn:hover {
   color: #333;
}

/* Formulario */
/* Formulario */
.form {
   position: relative;
   padding: 20px;
   background: white;
   border-radius: 8px;
   box-shadow: 0 2px 10px rgba(0,0,0,0.1);
   max-width: 100%;
   box-sizing: border-box;
}

.form.oculto {
   display: none;
}

/* Asegurar que todos los elementos del formulario respeten el tamaño */
.form * {
   box-sizing: border-box;
}

/* Inputs */
.form input[type="text"],
.form input[type="tel"],
.form input[type="email"] {
   width: 100%;
   padding: 12px 15px;
   border: 2px solid #e0e0e0;
   border-radius: 6px;
   font-size: 15px;
   margin-bottom: 15px;
   transition: all 0.3s ease;
}

.form input:focus {
   outline: none;
   border-color: #0066ff;
   box-shadow: 0 0 0 3px rgba(0,102,255,0.1);
}

/* Textarea */
.form textarea {
   width: 100%;
   min-height: 100px;
   padding: 12px 15px;
   border: 2px solid #e0e0e0;
   border-radius: 6px;
   font-size: 15px;
   font-family: inherit;
   resize: vertical;
   margin-bottom: 15px;
   transition: all 0.3s ease;
}

.form textarea:focus {
   outline: none;
   border-color: #0066ff;
   box-shadow: 0 0 0 3px rgba(0,102,255,0.1);
}

/* Contenedor de botones - DESCOMENTADO */
.form-buttons {
   display: flex;
   gap: 10px;
   margin-top: 15px;
   width: 100%;
}

/* Botón Cancelar */
.cancel-btn {
   flex: 1;
   padding: 12px 20px;
   background-color: #f0f0f0;
   color: #333;
   border: 1px solid #ccc;
   border-radius: 6px;
   cursor: pointer;
   font-size: 16px;
   font-weight: 500;
   transition: all 0.3s ease;
}

.cancel-btn:hover {
   background-color: #e0e0e0;
   border-color: #bbb;
}

/* Botón Enviar */
.submit-btn {
   flex: 1;
   padding: 12px 20px;
   background-color: #0066ff;
   color: white;
   border: none;
   border-radius: 6px;
   cursor: pointer;
   font-size: 16px;
   font-weight: 600;
   transition: all 0.3s ease;
}

.submit-btn:hover {
   background-color: #0052cc;
}

/* Botón X cerrar */
.close-form-btn {
   position: absolute;
   top: 10px;
   right: 10px;
   background: transparent;
   border: none;
   font-size: 28px;
   color: #999;
   cursor: pointer;
   width: 35px;
   height: 35px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   transition: all 0.3s ease;
   z-index: 10;
}

.close-form-btn:hover {
   color: #333;
   background-color: #f0f0f0;
}

/* Grupos de formulario */
.form-group {
   margin-bottom: 0;
}

/* Mensajes de error */
.error-message {
   color: #f44336;
   font-size: 13px;
   margin-top: -10px;
   margin-bottom: 10px;
   display: none;
}

.error-message.show {
   display: block;
}

/* Estados de validación */
.form input.success {
   border-color: #4caf50;
}

.form input.error {
   border-color: #f44336;
}

/* Eliminar el input submit antiguo */
form input[type="submit"] {
   display: none;
}

/* Responsive */
@media (max-width: 600px) {
   .form {
      padding: 15px;
   }
   
   .form-buttons {
      flex-direction: column;
      gap: 8px;
   }
}
/* .form {
   position: relative;
   padding: 20px;
   background: white;
   border-radius: 8px;
   box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.form.oculto {
   display: none;
}

/* Contenedor de botones */
/* .form-buttons {
   display: flex;
   gap: 10px;
   margin-top: 15px;
} */

/* Botón Cancelar */
/* .cancel-btn {
   flex: 1;
   padding: 12px 20px;
   background-color: #f0f0f0;
   color: #333;
   border: 1px solid #ccc;
   border-radius: 4px;
   cursor: pointer;
   font-size: 16px;
   transition: background-color 0.3s ease;
}

.cancel-btn:hover {
   background-color: #e0e0e0;
}

/* Botón Enviar */
/* .submit-btn {
   flex: 1;
   padding: 12px 20px;
   background-color: #0066ff;
   color: white;
   border: none;
   border-radius: 4px;
   cursor: pointer;
   font-size: 16px;
   transition: background-color 0.3s ease;
}

.submit-btn:hover {
   background-color: #0052cc;
} */

/* Eliminar el estilo del input[type="submit"] antiguo */
/* form input[type="submit"] {
   display: none;
} */ */ */

/* boton desplegable-Servicios */

 /* body {
            padding: 20px;
            background-color: #f5f5f5;
        } */
        
        .caja-horizonntal {
            margin-bottom: 20px;
        }
        
        #borde-caja {
            border: 1px solid #ddd;
            border-radius: 8px;
            overflow: hidden;
        }
        
        .contenido-imagen {
            text-align: center;
            margin-bottom: 20px;
        }
        
        .contenido-imagen h3 {
            color: #333;
            margin-bottom: 15px;
        }
        
        .contenido-imagen img {
            max-width: 100%;
            height: auto;
            border-radius: 8px;
        }
        
        .contenido-texto {
            position: relative;
            overflow: hidden;
            transition: max-height 0.4s ease;
        }
        
        .contenido-texto.colapsado {
            max-height: 150px;
        }
        
        .contenido-texto.expandido {
            max-height: 2000px;
        }
        
        .contenido-texto.colapsado::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            height: 60px;
            background: linear-gradient(to bottom, transparent, white);
            pointer-events: none;
        }
        
        .contenido-texto p {
            text-align: left;
            line-height: 1.6;
            color: #555;
            font-size: 17px;
        }
        
        
        
        .contenido-texto li {
            margin-bottom: 10px;
            line-height: 1.6;
            color: #555;
        }
        
        .btn-leer-mas {
            margin: 20px 0 15px 0;
            padding: 8px 20px;
            background-color: #0e50b0;
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 14px;
            transition: background-color 0.3s;
            display: inline-block;  
                   

        }
        
        .btn-leer-mas:hover {
            background-color: #0056b3;
        }
        
        .btn-leer-mas:focus {
            outline: none;
            box-shadow: 0 0 0 3px rgba(165, 197, 232, 0.25);
        }
       #btnVerMas{
          margin: 20px 200px 25px 0;
          padding: 10px 20px;
          background-color: #032154;
          color: white;          

       }
       /* aviso legal */
       /* .footer-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  font-size: 14px;
  color: #cccccc;
  margin-top: 20px;
} */

.footer-legal a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.3s ease;

}
.border-line,
.footer-legal {
    display: block;
    width: 100%;
}


.footer-legal a:hover {
  color: #ff9900; /* tono naranja que combina con tu logo */
}
.footer-legal {
  display: flex;
  justify-content: space-between;
  
}
/* boton volver aviso */
  /* body {
      background-color: #0f1a2f;
      color: #ffffff;
      font-family: 'Segoe UI', sans-serif;
      line-height: 1.6;
      padding: 40px;
      max-width: 800px;
      margin: auto;
    }

    h1 {
      color: #ff9900;
      font-size: 28px;
      margin-bottom: 20px;
    } */

    a.volver-inicio {
      display: inline-block;
      margin-top: 40px;
      font-size: 16px;
      color: #ffffff;
      background-color: #ff9900;
      padding: 10px 20px;
      text-decoration: none;
      border-radius: 5px;
      transition: background-color 0.3s ease;
    }

    a.volver-inicio:hover {
      background-color: #e67e00;
    }
 /* cookies */
 /* === BANNER COOKIES === */
/* ============================================
   BANNER DE COOKIES - RGPD
   ============================================ */

/* Banner principal de cookies */
     * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: Arial, sans-serif;
            background: #f5f5f5;
        }

        .page-content {
            max-width: 800px;
            margin: 0 auto;
            background: white;
            padding: 40px;
            border-radius: 8px;
        }

        /* Banner de cookies */
        .cookie-banner {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background:#17396f;
            color: white;
            padding: 20px;
            box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
            display: none;
            z-index: 1000;
            animation: slideUp 0.3s ease-out;
        }

        .cookie-banner.show {
            display: block;
        }

        @keyframes slideUp {
            from {
                transform: translateY(100%);
            }
            to {
                transform: translateY(0);
            }
        }

        .cookie-content {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            gap: 20px;
            flex-wrap: wrap;
        }

        .cookie-text {
            flex: 1;
            min-width: 250px;
        }

        .cookie-text h3 {
            margin-bottom: 8px;
            font-size: 18px;
        }

        .cookie-text p {
            font-size: 14px;
            line-height: 1.5;
            opacity: 0.9;
        }

        .cookie-text a {
            color: #3498db;
            text-decoration: underline;
        }

        .cookie-buttons {
            display: flex;
            gap: 15px;
            flex-wrap: wrap;

        }
        .cookie-buttons button {
         padding:10px 15px ;
         border-radius: 5px;
         font-weight: bold;
        }

        .btn {
            padding: 12px 24px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 14px;
            font-weight: bold;
            transition: all 0.3s;
        }
        
         .btn-settings {
            background: #27ae60;
            color: white;
            border: 2px solid white;
            background:#084622 ;
        }

        .btn-settings:hover {
            background: #a3e4be;
        }


        
/* 
        .btn-reject:hover {
            background: rgba(255,255,255,0.1);
        } */

        .btn-settings {
            background: #3498db;
            color: white;
        }

        .btn-settings:hover {
            background: #2980b9;
        }

        /* Modal de configuración */
        .cookie-modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0,0,0,0.5);
            z-index: 2000;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        .cookie-modal.show {
            display: flex;
        }

        .modal-content {
            background: white;
            padding: 30px;
            border-radius: 10px;
            max-width: 600px;
            width: 100%;
            max-height: 80vh;
            overflow-y: auto;
        }

        .modal-content h2 {
            margin-bottom: 20px;
            color: #2c3e50;
        }

        .cookie-option {
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 5px;
            margin-bottom: 15px;
        }

        .cookie-option-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 10px;
        }

        .cookie-option h3 {
            font-size: 16px;
            color: #2c3e50;
        }

        .cookie-option p {
            font-size: 14px;
            color: #666;
            line-height: 1.5;
        }

        .toggle-switch {
            position: relative;
            width: 50px;
            height: 26px;
        }

        .toggle-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }

        .slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 26px;
        }

        .slider:before {
            position: absolute;
            content: "";
            height: 18px;
            width: 18px;
            left: 4px;
            bottom: 4px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

        input:checked + .slider {
            background-color: #27ae60;
        }

        input:checked + .slider:before {
            transform: translateX(24px);
        }

        input:disabled + .slider {
            background-color: #27ae60;
            opacity: 0.5;
            cursor: not-allowed;
        }

        .modal-buttons {
            display: flex;
            gap: 10px;
            margin-top: 20px;
        }

        .status {
            margin: 20px 0;
            padding: 15px;
            background: #e8f5e9;
            border-left: 4px solid #27ae60;
            border-radius: 4px;
        }
/* Formulario opiniones  para clientes */
.btn-toggle-form {
        display: block;
        margin: 40px auto;
        background: linear-gradient(135deg, #ffa500 0%, #ff8c00 100%);
        color: white;
        border: none;
        padding: 18px 50px;
        font-size: 18px;
        font-weight: bold;
        border-radius: 50px;
        cursor: pointer;
        transition: all 0.3s ease;
        text-transform: uppercase;
        letter-spacing: 1px;
        box-shadow: 0 5px 20px rgba(255, 165, 0, 0.4);
        position: relative;
        overflow: hidden;
    }

    .btn-toggle-form:before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, 0.2);
        transition: left 0.5s ease;
    }

    .btn-toggle-form:hover:before {
        left: 100%;
    }

    .btn-toggle-form:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 25px rgba(255, 165, 0, 0.5);
    }

    .btn-toggle-form .icon {
        margin-left: 10px;
        font-size: 20px;
        transition: transform 0.3s ease;
        display: inline-block;
    }

    .btn-toggle-form.active .icon {
        transform: rotate(180deg);
    }

    /* Contenedor del formulario */
    .form-wrapper {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.5s ease, opacity 0.5s ease;
        opacity: 0;
    }

    .form-wrapper.active {
        max-height: 2000px;
        opacity: 1;
    }

    .opinion-form-container {
        background: white;
        border-radius: 15px;
        padding: 40px;
        margin: 0 auto 40px;
        max-width: 700px;
        box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    }

    .opinion-form-header {
        text-align: center;
        margin-bottom: 30px;
        padding-bottom: 20px;
        border-bottom: 3px solid #ffa500;
    }

    .opinion-form-header h3 {
        color: #003d82;
        font-size: 28px;
        margin-bottom: 10px;
    }

    .opinion-form-header p {
        color: #666;
        font-size: 16px;
    }

    .opinion-form-group {
        margin-bottom: 25px;
    }

    .opinion-form-group label {
        display: block;
        color: #333;
        font-weight: bold;
        margin-bottom: 8px;
        font-size: 14px;
    }

    .opinion-form-group input[type="text"],
    .opinion-form-group input[type="email"],
    .opinion-form-group textarea,
    .opinion-form-group select {
        width: 100%;
        padding: 12px 15px;
        border: 2px solid #e0e0e0;
        border-radius: 8px;
        font-size: 14px;
        transition: all 0.3s ease;
        font-family: Arial, sans-serif;
    }

    .opinion-form-group input:focus,
    .opinion-form-group textarea:focus,
    .opinion-form-group select:focus {
        outline: none;
        border-color: #ffa500;
        box-shadow: 0 0 0 3px rgba(255, 165, 0, 0.1);
    }

    .opinion-form-group textarea {
        resize: vertical;
        min-height: 120px;
    }

    .rating-group-opinion {
        margin-bottom: 25px;
    }

    .stars-opinion {
        display: flex;
        gap: 10px;
        font-size: 32px;
        cursor: pointer;
        justify-content: center;
        margin-top: 10px;
    }

    .stars-opinion span {
        color: #ddd;
        transition: all 0.2s ease;
    }

    .stars-opinion span:hover,
    .stars-opinion span.active {
        color: #ffa500;
        transform: scale(1.2);
    }

    .btn-submit-opinion {
        width: 100%;
        background: linear-gradient(135deg, #003d82 0%, #0056b3 100%);
        color: white;
        border: none;
        padding: 15px 30px;
        font-size: 16px;
        font-weight: bold;
        border-radius: 8px;
        cursor: pointer;
        transition: all 0.3s ease;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .btn-submit-opinion:hover {
        transform: translateY(-2px);
        box-shadow: 0 5px 20px rgba(0, 61, 130, 0.4);
    }

    .success-message-opinion {
        display: none;
        background: #4caf50;
        color: white;
        padding: 15px;
        border-radius: 8px;
        text-align: center;
        margin-top: 20px;
    }

    .success-message-opinion.show {
        display: block;
        animation: slideIn 0.5s ease;
    }

    @keyframes slideIn {
        from {
            opacity: 0;
            transform: translateY(-20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .required {
        color: #e74c3c;
    }

    @media (max-width: 768px) {
        .opinion-form-container {
            padding: 25px;
        }
        .btn-toggle-form {
            padding: 15px 35px;
            font-size: 16px;
        }
    }
    /* ========================================
   ESTILOS PARA SERVICIO CON EXPANSIÓN
   ======================================== */

/* Contenedor principal del servicio */
.service_box2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    padding: 30px;
    margin-bottom: 40px;
    background: #fff;
    /* border-radius: 10px; */
    /* box-shadow: 0 2px 10px rgba(0,0,0,0.1); */
    transition: all 0.5s ease;
}

.service_box2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    padding: 30px;
    margin-bottom: 40px;
    background: #fff;
    /* border-radius: 10px; */
    /* box-shadow: 0 2px 10px rgba(0,0,0,0.1); */
    transition: all 0.5s ease;
}

/* Cuando el servicio está expandido y la imagen está a la IZQUIERDA */
.service_box2[data-position="left"].expanded-left {
    grid-template-columns: 350px 1fr;
}

/* Cuando el servicio está expandido y la imagen está a la DERECHA */
.service_box2[data-position="right"].expanded-right {
    grid-template-columns: 1fr 350px;
}

/* Contenedor de la imagen */
.contenido-imagen {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contenido-imagen h3 {
    margin-bottom: 15px;
    font-size: 24px;
    color: #333;
}

.contenido-imagen img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 8px;
    transition: all 0.5s ease;
}

/* Imagen más pequeña cuando está expandido */
.service_box2.expanded .contenido-imagen img {
    height: 250px;
}

/* Contenedor del texto */
.contenido-texto {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.contenido-texto p {
    margin-bottom: 15px;
    line-height: 1.6;
    color: #333;
}

.contenido-texto strong {
    color: #313132;
}

/* Texto extra oculto */
#textoExtra1, #textoExtra2, #textoExtra3, 
#textoExtra4, #textoExtra5, #textoExtra6 {
    display: none;
    animation: fadeInText 0.5s ease;
}

/* Animación del texto */
@keyframes fadeInText {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Botón de ver más */
.btn-primary {
    background-color: #032154;
    border: none;
    padding: 10px 25px;
    border-radius: 5px;
    color: white;
    cursor: pointer;
    transition: all 0.3s ease;
    align-self: flex-start;
    margin-top: 15px;
}

.btn-primary:hover {
    background-color: #315bb5;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

/* Responsive para tablets */
@media (max-width: 992px) {
    .service_box2,
    .service_box2.expanded {
        grid-template-columns: 1fr;
    }
    
    .contenido-imagen img,
    .service_box2.expanded .contenido-imagen img {
        height: 300px;
    }
}

/* Responsive para móviles */
@media (max-width: 576px) {
    .service_box2 {
        padding: 20px;
        gap: 20px;
    }
    
    .contenido-imagen img,
    .service_box2.expanded .contenido-imagen img {
        height: 250px;
    }
    
    .contenido-imagen h3 {
        font-size: 20px;
    }
}