/*--------------------------------------------------------------------- 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');
@import url('https://fonts.googleapis.com/css?family=Dosis:400,500,600,700,800&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 {
     color: #666666;
     font-size: 14px;
     font-family: 'Poppins', sans-serif;
     line-height: 1.80857;
     font-weight: normal;
}

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: #111111;
     margin: 0
}

h1 {
     font-size: 24px;
}

h2 {
     font-size: 22px;
}

h3 {
     font-size: 18px;
}

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,
h3 a,
h4 a,
h5 a,
h6 a {
     color: #212121;
     text-decoration: none!important;
     opacity: 1
}

button:focus {
     outline: none;
}

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

p {
     margin: 0px;
     font-weight: 500;
     font-size: 15px;
     line-height: 24px;
}

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%;
}

.layout_padding {
     padding-top: 90px;
     padding-bottom: 90px;
}

.layout_padding_2 {
     padding-top: 75px;
     padding-bottom: 75px;
}

.light_silver {
     background: #f9f9f9;
}

.theme_bg {
     background: #38c8a8;
}

.margin_top_30 {
     margin-top: 30px !important;
}

.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;
}

.login_btn {
     padding-left: 50px;
}

.login_btn a {
     background-color: #fff;
     display: inline-block;
     padding: 7px 35px;
     border-radius: 10px;
     color: #292e39 !important;
     font-size: 17px;
}

.login_btn a:hover {
     color: #fff !important;
     background: #0808ff;
}


/*-- header area --*/


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


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


/*-- navigation--*/

.navigation.navbar {
     float: right;
     padding-top: 31px !important;
     padding: 0;
}

.navigation.navbar-dark .navbar-nav .nav-link {
     padding: 0 25px;
     color: #fff;
     font-size: 17px;
     line-height: 20px;
     font-weight: 500;
}

.navigation.navbar-dark .navbar-nav .nav-link:focus,
.navigation.navbar-dark .navbar-nav .nav-link:hover {
     color: #51fe44;
}

.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: #51fe44;
}

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

.padd_right {
     padding-right: 10px;
}

.sign_btn {
     padding-left: 50px;
}

.sign_btn a {
     display: inline-block;
     padding: 7px 10px;
     color: #fff;
     font-size: 17px;
}

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

.header {
     width: 100%;
     padding: 30px 30px;
     background: transparent;
     position: absolute;
     z-index: 999;
}

.logo a {
     font-size: 40px;
     font-weight: bold;
     text-transform: uppercase;
     color: #fff;
     line-height: 40px;
}


/** banner section **/

.banner_main {
     background: url(../images/banner.jpg);
     background-repeat: no-repeat;
     min-height: 900px;
     background-size: 100% 100%;
     display: flex;
     justify-content: center;
     align-content: center;
     align-items: center;
     position: relative;
}
.banner_main::before {
     position: absolute;
     content: "";
     width:50px; 
     height:40px;
     background: url(../images/cross.png);
     background-repeat: no-repeat;
     bottom: -38px;
     right: 38px;
}
.banner_main::after {
     position: absolute;
     content: "";
     width:50px; 
     height:40px;
     background: url(../images/cross.png);
     background-repeat: no-repeat;
     bottom: -38px;
     left: 38px;
}
.text-bg {
     text-align: left;
}

.text-bg h1 {
     color: #fff;
     font-size: 81px;
     line-height: 80px;
     padding-bottom: 45px;
     font-weight: bold;
}

.text-bg span {
     color: #fff;
     font-size: 42px;
     line-height: 50px;
     font-weight: normal;
     padding-bottom: 18px;
     display: block;
}

.text-bg p {
     line-height: 28px;
     font-weight: 500;
     padding-bottom: 60px;
     display: block;
}

.text-bg figure img {
     width: 100%;
     padding-top: 70px;
}

.text_img {
     margin-right: -130px;
}

.text_img figure {
     margin: 0;
}

.text_img figure img {
     width: 100%;
}

.carousel-caption {
     position: inherit;
}

#banner1 .carousel-inner {
     padding-right: 130px;
}

#banner1 .carousel-indicators {
     left: inherit;
     bottom: 40px;
}

#banner1 .carousel-indicators li {
     width: 20px;
     height: 20px;
     border-radius: 20px;
     background: #48ca95;
     margin-right: 5px;
     margin-left: 5px;
}

#banner1 .carousel-indicators li.active {
     background: #ffffff;
}

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

.text-bg a {
     font-size: 17px;
     background-color: transparent;
     border: #fff solid 2px;
     color: #fff;
     font-weight: 500;
     padding: 14px 0px;
     width: 100%;
     max-width: 215px;
     text-align: center;
     display: inline-block;
     transition: ease-in all 0.5s;
     margin-right: 10px;
}

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


/** end banner section **/

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

.titlepage h2 {
     font-size: 40px;
     color: #090807;
     line-height: 55px;
     font-weight: bold;
     padding: 0;
     text-transform: uppercase;
     border-bottom: #48ca95 solid 1px;
     max-width: 315px;
     margin: auto;
}

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

.blu {
     color: #0808ff;
}

.read_more {
     font-size: 16px;
     background: linear-gradient(135deg, #48ca95, #38c8a8);
     color: #fff !important;
     padding: 12px 28px;
     border-radius: 999px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     border: none;
     text-align: center;
     font-weight: 600;
     letter-spacing: 0.02em;
     box-shadow: 0 14px 30px rgba(15, 23, 42, 0.18);
     transition: all 0.25s ease;
}

.read_more:hover {
     transform: translateY(-2px);
     box-shadow: 0 20px 40px rgba(15, 23, 42, 0.25);
     background: linear-gradient(135deg, #38c8a8, #48ca95);
     color: #fff !important;
}

.read_more.read_more_outline {
     background: transparent;
     color: #48ca95 !important;
     border: 1px solid #48ca95;
     box-shadow: none;
}

.read_more.read_more_outline:hover {
     background: #48ca95;
     color: #fff !important;
}


/** three_box section **/

.three_box {
     background-color: #f7f9fb;
     padding: 80px 0 90px;
}

.box_text {
     background: #ffffff;
     text-align: left;
     padding: 32px 28px 28px;
     border-radius: 24px;
     border: 1px solid rgba(72, 202, 149, 0.15);
     box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
     transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.box_text:hover {
     transform: translateY(-6px);
     box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
}

.box_text h3 {
     color: #121010;
     font-size: 22px;
     line-height: 1.3;
     font-weight: 600;
     margin-bottom: 12px;
}

.box_text p {
     font-size: 15px;
     color: #454545;
     line-height: 1.6;
     margin-bottom: 6px;
}

.box_text i {
     display: block;
     margin-bottom: 18px;
}

.box_text i img {
     max-width: 56px;
}

/** end three_box section **/



/** products section **/

.products {
     margin-top: 90px;
     background: #f7f7f7;
     padding: 90px 0 90px 0;
}

.our_products {
     background-color: #fff;
     padding: 90px 0;
}

.our_products .product_box {
     text-align: center;
     margin-bottom: 30px;
}

.our_products .product_box figure {
     margin: 0;
}

.our_products .product_box h3 {
     width: 200px;
     color: #fff;
     font-size: 20px;
     line-height: 20px;
     background-color: #252525;
     font-weight: 500;
     margin: 0 auto;
     padding: 10px 0;
     margin-top: 40px;
     transition: ease-in all 0.5s;
}

.our_products .product_box h3:hover {
    background: #48ca95;
    transition: ease-in all 0.5s;
}

.margin_bottom1 {
     margin-bottom: 60px;
}

.our_products .read_more {
     margin: 0 auto;
     display: block;
     margin-top: 50px;
     background-color: transparent;
     border: #48ca95 solid 2px;
     color: #48ca95 !important;
     max-width: 232px;
     padding: 15px 0;
}

.our_products .read_more:hover {
     background: #48ca95;
     color: #000 !important;
}


/** end products section **/


/** laptop  section **/

.laptop {
     font-family: 'Dosis', sans-serif;
     padding: 130px 0;
     background-color: #4f4aa6;
}

.laptop .titlepage {
     text-align: left;
     padding-bottom: 0;
}

.laptop .titlepage p {
     color: #fff;
     display: block;
     font-size: 40px;
     font-weight: normal;
     padding-bottom: 24px;
     line-height: 40px;
}

.laptop .titlepage h2 {
     text-transform: none;
     font-size: 80px;
     color: #fff;
     max-width: inherit;
     border: inherit;
     font-weight: 500;
     line-height: 80px;
}

.laptop_box {
     margin-right: -50px;
}

.laptop_box figure {
     margin: 0;
}

.margin_bottom {
     margin-bottom: 30px;
}

.laptop .read_more {
     display: block;
     margin-top: 60px;
}


/** end laptop  section **/


/** customer section **/

.customer {
     padding: 90px 0px 140px 0px;
     background: #fff;
}

.customer .titlepage h2 {
     max-width: 385px;
}

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

.customer_box {
     text-align: center;
}

.test_box {
     text-align: left;
}

.customer_Carousel .test_box h4 {
     font-size: 30px;
     color: #030305;
     line-height: 28px;
     display: block;
     font-weight: 600;
     padding: 30px 0px 30px 0px;
     text-align: left;
}

.customer_Carousel .test_box p {
     font-size: 17px;
     line-height: 28px;
     color: #0b0b0c;
     text-align: left;
}

.customer_Carousel .carousel-indicators {
     bottom: -50px;
     right: inherit;
     margin-left: 4px;
}

.customer_Carousel .carousel-indicators li {
     width: 20px;
     height: 20px;
     border-radius: 20px;
     background: #48ca95;
}

.customer_Carousel .carousel-indicators li.active {
     background: #4f4aa6;
}

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


/** end customer section **/


/** contact section **/

.contact {
     background: url(../images/contact_g.jpg);
     background-repeat: no-repeat;
     background-size: 100% 100%;
     padding: 90px 0;
}

.contact .titlepage h2 {
     color: #fff;
     border-bottom: #fff solid 1px;
}

.main_form {
     padding: 70px 50px;
     border: #fff solid 2px;
     margin: 0 50px;
}

.main_form .contactus {
     border: #fff solid 2px;
     padding: 0px 15px;
     margin-bottom: 25px;
     width: 100%;
     height: 57px;
     background: transparent;
     color: #fff;
     font-size: 18px;
     font-weight: normal;
}

.main_form .textarea {
     border: #fff solid 2px;
     padding: 0px 15px;
     margin-bottom: 25px;
     width: 100%;
     background: transparent;
     color: #fff;
     font-size: 18px;
     font-weight: normal;
     padding-top: 56px;
     height: 151px;
}

.main_form .send_btn {
     font-size: 22px;
     transition: ease-in all 0.5s;
     background-color: #48ca95;
     text-transform: uppercase;
     color: #fff;
     padding: 15px 0px;
     max-width: 226px;
     width: 100%;
     display: block;
     margin-top: 30px !important;
     margin: 0 auto;
     border-radius: 40px;
     font-weight: 500;
}

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

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


/** end contact section **/


/** footer **/

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

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

.footer .titlepage h2 {
     color: #fff;
     margin: inherit;
     border-bottom: #fff solid 1px;
}

.logo1 {
     float: left;
     margin-top: -30px;
}

ul.social_icon {
     padding-top: 37px;
     width: 100%;
     float: left;
     text-align: left;
}

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

ul.social_icon li a {
     background: #fff;
     width: 40px;
     height: 40px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 25px;
     border-radius: 30px;
     margin: 0 3px;
}

ul.social_icon li a:hover {
     background-color: #48ca95;
     color: #fff;
}

.footer h3 {
     font-weight: 600;
     font-size: 25px;
     line-height: 25px;
     text-align: left;
     color: #fff;
     padding-bottom: 15px;
}

.about_us li {
     color: #fff;
     font-size: 17px;
     text-align: left;
}

.conta li {
     color: #fff;
     font-size: 17px;
     text-align: left;
}

.bottom_form h3 {
     font-weight: 600;
     font-size: 25px;
     line-height: 25px;
     text-align: left;
     color: #fff;
     padding-bottom: 15px;
}

.bottom_form .enter {
     border: inherit;
     padding: 0px 19px;
     width: 100%;
     height: 45px;
     background: #fffffff2;
     color: #ccc8c8;
     font-size: 17px;
     font-weight: 600;
     float: left;
     border-radius: 10px;
     margin-bottom: 20px;
}

.sub_btn {
     font-size: 17px;
     transition: ease-in all 0.5s;
     background-color: #48ca95;
     color: #fff;
     padding: 10px 0px;
     max-width: 147px;
     border-radius: 10px;
     width: 100%;
     display: block;
     font-weight: 500;
     text-transform: uppercase;
}

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

.copyright {
     margin-top: 80px;
     padding-bottom: 20px;
}

.copyright p {
     color: #ddd;
     font-size: 18px;
     line-height: 22px;
     text-align: center;
     border-top: #ddd solid 1px;
     padding-top: 25px;
     font-weight: normal;
}

.copyright a {
     color: #ddd;
}

.copyright a:hover {
     color: #48ca95;
}


/** end footer **/


/** inner page css **/

.inner_posituong .header {
     position: inherit;
     background: #4843a3;
}

.computer_page .laptop {
     margin-top: 90px;
}

.contact_page .contact {
     margin-top: 90px;
}


/** about **/

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

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

.about .titlepage h2 {
     max-width: inherit;
     border: inherit;
}

.about .titlepage p {
     padding: 30px 0;
}

.about_img figure {
     margin: 0;
}

.about_img figure img {
     width: 100%;
}


/** end about **/


/** laptop **/

.laptop1 {
     background-color: #f6f6f6;
     padding: 90px 0;
}

.laptop1 .titlepage {
     text-align: right;
}

.laptop1 .titlepage h2 {
     max-width: inherit;
     border: inherit;
     color: #000;
}

.laptop1 .titlepage p {
     padding: 30px 0;
     color: #000;
}

.laptop1_img figure {
     margin: 0;
}

.laptop1_img figure img {
     width: 100%;
}


/** end laptop **/



/* =========================================================
   REFRESH 2025: Tipografía + Botones unificados
   ========================================================= */

/* Tipografía global más prolija y moderna */
body {
     font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
     font-size: 16px;
     line-height: 1.6;
     color: #444444;
}

/* Encabezados consistentes */
h1, h2, h3, h4, h5, h6 {
     font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
     color: #111111;
     letter-spacing: 0.02em;
     margin-bottom: 0.6em;
}

h1 {
     font-size: 2.25rem;
     font-weight: 700;
}

h2 {
     font-size: 1.8rem;
     font-weight: 600;
}

h3 {
     font-size: 1.5rem;
     font-weight: 600;
}

h4 {
     font-size: 1.2rem;
     font-weight: 600;
}

h5 {
     font-size: 1rem;
     font-weight: 500;
}

h6 {
     font-size: 0.875rem;
     font-weight: 500;
}

p {
     font-size: 0.98rem;
     line-height: 1.7;
     margin-bottom: 0.9rem;
}

/* Botones 2025: todos rectangulares, coherentes */
.read_more,
.btn-custom,
.login_btn a,
.send_btn,
button,
input[type="submit"],
input[type="button"] {
     font-size: 0.95rem;
     font-weight: 600;
     letter-spacing: 0.03em;
     text-transform: uppercase;
     background: linear-gradient(135deg, #48ca95, #38c8a8);
     color: #ffffff !important;
     padding: 12px 26px;
     border-radius: 10px;          /* Rectángulos modernos, no pastilla */
     border: none;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     box-shadow: 0 10px 22px rgba(15, 23, 42, 0.16);
     transition: all 0.18s ease-out;
}

.read_more:hover,
.btn-custom:hover,
.login_btn a:hover,
.send_btn:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
     transform: translateY(-1px);
     box-shadow: 0 14px 30px rgba(15, 23, 42, 0.24);
     background: linear-gradient(135deg, #38c8a8, #48ca95);
}

/* Variante contorneada: se usa agregando la clase .btn-outline */
.btn-outline {
     background: transparent !important;
     color: #48ca95 !important;
     border: 1px solid #48ca95 !important;
     box-shadow: none !important;
}

.btn-outline:hover {
     background: #48ca95 !important;
     color: #ffffff !important;
}

/* Botón de envío de formularios full-width */
.send_btn {
     width: 100%;
     max-width: 260px;
}

/* Ajustes menores para secciones de servicio (cards) */
.box_text h3 {
     font-size: 1.2rem;
     font-weight: 600;
     margin-bottom: 0.5rem;
}

.box_text p {
     font-size: 0.96rem;
}

/* Menú: texto un poco más moderno */
.navigation.navbar .navbar-nav .nav-link {
     font-size: 0.95rem;
     font-weight: 500;
     letter-spacing: 0.04em;
     text-transform: uppercase;
}

/* =========================================================
   REFRESH 2025 – Tipografía, hero, botones y tarjetas
   (Pegar al FINAL de style.css)
   ========================================================= */

/* 1) Tipografía global más prolija */
body {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: #444444;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #111827;
    margin-bottom: 0.6em;
}

/* escala moderna y responsive */
h1 { font-size: clamp(2.2rem, 3.5vw, 3rem); }
h2 { font-size: clamp(1.9rem, 3vw, 2.4rem); }
h3 { font-size: clamp(1.5rem, 2.3vw, 1.9rem); }
h4 { font-size: clamp(1.2rem, 1.9vw, 1.4rem); }
h5 { font-size: 1rem; }
h6 { font-size: 0.9rem; }

p {
    font-size: 0.98rem;
    line-height: 1.7;
    margin-bottom: 0.9rem;
    color: #4b5563;
}

/* 2) Menú más actual (texto prolijo) */
.navigation.navbar-dark .navbar-nav .nav-link {
    font-size: 0.95rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0 20px;
}

/* 3) Hero: que el texto entre bien y sea legible */
.banner_main {
    min-height: 620px;              /* antes 900px, demasiado alto */
    padding-top: 120px;
    padding-bottom: 120px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
}

/* columna de texto */
.banner_main .text-bg {
    text-align: left;
    max-width: 520px;
}

/* “Software de gestión online” */
.banner_main .text-bg span {
    display: block;
    font-size: 1.05rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-weight: 600;
    color: #E5E7EB;
    margin-bottom: 0.75rem;
}

/* “Sistemas a medida” */
.banner_main .text-bg h1 {
    color: #FFFFFF;
    font-size: clamp(2.4rem, 3.8vw, 3.1rem);
    line-height: 1.1;
    margin-bottom: 1.4rem;
}

/* párrafo del hero */
.banner_main .text-bg p {
    font-size: 1rem;
    color: #E5E7EB;
    max-width: 36rem;
    margin-bottom: 1.8rem;
}

/* botones del hero (Hablar por WhatsApp / Ver detalles) */
.banner_main .text-bg a {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 12px 26px;
    border-radius: 8px;
    border: 2px solid #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: none;
    margin-right: 12px;
    margin-bottom: 10px;
    background: transparent;
    color: #FFFFFF;
    transition: all 0.18s ease-out;
}

/* botón principal (el primero, ej. WhatsApp) lleno */
.banner_main .text-bg a:first-child {
    background: #48ca95;
    border-color: #48ca95;
    color: #ffffff;
    box-shadow: 0 12px 30px rgba(72, 202, 149, 0.45);
}

.banner_main .text-bg a:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.35);
}

/* imagen del hero, sin desfasar */
.text_img {
    margin-right: 0;        /* antes -130px, podía cortar cosas */
}

.text_img figure {
    margin: 0;
}

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

/* ajustes responsive del hero */
@media (max-width: 991.98px) {
    .banner_main {
        min-height: auto;
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .banner_main .text-bg {
        max-width: 100%;
        margin-bottom: 30px;
    }
    .banner_main .text-bg h1 {
        font-size: 2rem;
    }
}

/* 4) Botones unificados, cuadrados y modernos */
.read_more,
.send_btn,
.login_btn a,
button,
input[type="submit"],
input[type="button"] {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 8px;  /* 👈 todos cuadrados/rectangulares */
    padding: 12px 24px;
    width: auto;
    max-width: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #48ca95;
    color: #ffffff !important;
    border: none;
    box-shadow: 0 10px 24px rgba(72, 202, 149, 0.35);
    transition: all 0.18s ease-out;
}

.read_more:hover,
.send_btn:hover,
.login_btn a:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
}

/* variante para botones contorneados si los usás */
.btn-outline,
.read_more.btn-outline {
    background: transparent;
    color: #48ca95 !important;
    border: 2px solid #48ca95;
    box-shadow: none;
}

/* 5) Tarjetas de servicios (las 3 cajas) como cards modernas */
.three_box {
    background-color: #f4f7fb;
    padding-top: 80px;
    padding-bottom: 80px;
}

.box_text {
    background: #ffffff;
    text-align: left;
    padding: 28px 24px 24px;
    border-radius: 22px;
    border: none;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
    transition: transform 0.18s ease-out, box-shadow 0.18s ease-out;
}

.box_text i {
    padding-bottom: 16px;
    display: inline-flex;
}

.box_text h3 {
    color: #111827;
    font-size: 1.08rem;
    margin-bottom: 0.4rem;
}

.box_text p {
    font-size: 0.96rem;
    color: #4b5563;
    line-height: 1.6;
    margin-bottom: 0.35rem;
}

.box_text .read_more {
    margin-top: 0.9rem;
}

.box_text:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 55px rgba(15, 23, 42, 0.12);
}

/* ===== Servicio técnico remoto (srvsoporte.html) ===== */

/* Bloque de texto extendido debajo de la imagen */
.laptop1-extended {
    padding-top: 25px;      /* acerca el bloque al hero */
    padding-bottom: 60px;   /* espacio antes del footer */
}

.laptop1-extended .titlepage p {
    margin-bottom: 0;       /* sin hueco extra debajo del párrafo */
}

/* Botón único debajo del título "Servicio Técnico Remoto" */
.srv-cta-top {
    margin: 12px 0 20px;    /* separación del título y del texto */
    display: inline-flex;
}