/*------------------------------------------------------------------

    Main Style Stylesheet
    Project:        BEAM. |  
    Version:        1.0
    Author:         Bakhtrai Badr
    Last change:    9/12/2018
    Primary use:    App And Software Showcase 

-------------------------------------------------------------------*/

/*=======================================================

			TABLE OF CONTENT:

   1*)Body Style
   2*)Typography
   3*)Buttons
   4*)Navbar
   5*)Banner
   6*)About
   7*)Services
   8*)Features
   9*)Prices
   10*)Testimonials
   11*)Video PopUp
   12*)App Screenshots
   13*)Team
   14*)Brands
   15*)Contact
   16*)Media Queries:

========================================================*/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap");

/*=======================================================
    BODY
========================================================*/
body {
    font-family: 'Montserrat', sans-serif;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #686b75;
    background-color: #FFF;
}

::selection {
    background: #00a99e;
    color: #FFF;
}

/*=======================================================
			COLORS(Only Visible In Scss File):
========================================================*/

/*=======================================================
			TYPOGRAPHY:
========================================================*/

h1 {
    font-size: 55px;
    font-weight: bold;
    line-height: 1.3em;
    color: #fff;
}

h2 {
    font-size: 36px;
    font-weight: bold;
}

h4 {
    font-size: 20px;
    font-weight: 600;
}

.section-title {
    margin: 0;
}

.section-title:after {
    content: "";
    position: relative;
    left: 50%;
    bottom: 0;
    width: 60px;
    height: 4px;
    display: block;
    background-color: #fd8917;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    border-radius: 5px;
    margin: 30px 0;
}

.sub {
    color: #fff;
    font-size: 24px;
    line-height: 1.7em;
     font-weight: 300; /* más delgado */
}

.sub-small {
    font-family: 'Montserrat', sans-serif;
    color: #fff;
    font-size: 17px;
    line-height: 1.7em;
    font-weight: 300; /* más delgado */
}

/*=======================================================
			BUTTONS:
========================================================*/

.btn-first {
    background: #fd8917;
    color: #F3F3F3;
    padding: 15px 20px;
    font-weight: bold;
    border: none;
}

.btn-gradient {
    background-image: linear-gradient(90deg, #ff9800, #ff5722);
    border: none;
    color: white;
    transition: 0.3s ease;
    border-radius: 5px;
}

.btn-gradient:hover {
      background-image: linear-gradient(90deg, #ff7c00, #ff4500);
    color: white;
    text-decoration: none;
}


.btn-first:hover,
.btn-first:focus,
.btn-first:active {
    color: #F3F3F3;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-3px);
    transition: all .2s ease-in-out;
}

.btn-second {
    background: #068BEA;
    color: #F3F3F3;
    padding: 15px 20px;
    font-weight: bold;
    border: none;
}

.btn-second:hover,
.btn-second:focus,
.btn-second:active {
    background: #0972BD;
    color: #F3F3F3;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-3px);
    transition: all .2s ease-in-out;
    animation: headShake;
    animation-duration: 1s;
}

.btn-third {
    background: #02BDAB;
    color: #F3F3F3;
    padding: 15px 20px;
    font-weight: bold;
    border: none;
}

.btn-third:hover,
.btn-third:focus,
.btn-third:active {
    background: #029486;
    color: #F3F3F3;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-3px);
    transition: all .2s ease-in-out;
    animation: headShake;
    animation-duration: 1s;
}

.btn-transparent {
    background: transparent;
    padding: 15px 20px;
    text-transform: uppercase;
    font-weight: bold;
    border: 2px solid #068BEA;
}

.btn-transparent:hover,
.btn-transparent:focus,
.btn-transparent:active {
    background: #068BEA;
    color: #fff;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-3px);
    transition: all .2s ease-in-out;
}

/*=======================================================
			NAVBAR
========================================================*/

.navbar {
    transition: all .2s ease-in-out;
}

.navbar .navbar-brand {
    font-weight: bold;
    letter-spacing: 0.3em;
    color: #fff;
}

.navbar .navbar-brand span {
    color: #fd8917;
}

.navbar .navbar-collapse {
    padding: 30px 0 0 0;
}

.navbar .navbar-nav .nav-link {
    color: #fff;
    padding: 0 0.8rem;
    transition: all .2s ease-in-out;
}

.navbar .navbar-nav .nav-link:hover {
    color: #fd8917;
}

.navbar .navbar-nav .nav-link.active {
    color: #fd8917;
    font-weight: 700;
}

.navbar .navbar-nav .active > .nav-link {
    color: #fd8917;
}

.navbar .navbar-nav .btn {
    position: relative;
    top: -15px;
    margin-left: 15px;
}

.navbar .navbar-toggler {
    border: none;
}

.navbar .navbar-toggler i {
    font-size: 2.5rem;
    color: #fff;
}

.navbar .navbar-toggler:focus,
.navbar .navbar-toggler:hover {
    border: none;
    outline: 0;
}

.navbar-light {
    /*background: #068BEA;*/
    background-image: radial-gradient(circle at 50% 50%, #35b2ff 0, #1e8ef3 50%, #006cbd 100%);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    transition: all .2s ease-in-out;
}

.navbar-light .navbar-brand {
    color: #fff;
    transition: all .2s ease-in-out;
}

.navbar-light .navbar-collapse {
    padding: 25px 0 0 0;
}

.navbar-light .navbar-brand:hover {
    color: #fd8917;
}

.navbar-light .navbar-nav .nav-link {
    color: #fff;
}

.navbar-light .navbar-nav .nav-link.active {
    color: #fd8917;
}

.navbar-light .navbar-toggler {
    border: none;
}

.navbar-light .navbar-toggler i {
    font-size: 2.5rem;
    color: #fff;
}

.navbar-light .navbar-toggler:focus,
.navbar-light .navbar-toggler:hover {
    border: none;
    outline: 0;
}

/*=======================================================
			BANNER:
========================================================*/

.banner {
    background: url(../imgs/ContractX-automatiza-control-documental-repse.jpg);
    background-size: cover;
    background-position: top center;
    text-align: center;
    position: relative;
    min-height: 900px;   
}


.banner .container .caption {
    padding-top: 140px;
}

.banner .container .caption h1 {
    margin-bottom: 20px;
}

.banner .container .caption p {
    margin-bottom: 20px;
}

.banner .container .caption .btn {
    margin-bottom: 40px;
}

.banner .container .caption img {
    width: 800px;
}



/*=======================================================
			FEATURES:
========================================================*/

#features {
    padding: 60px 0;
    text-align: justify;
    padding-top: 40px; 
    scroll-margin-top: 100px;

    
}

.section-anchor {
    position: relative;
}
.section-anchor::before {
    content: "";
    display: block;
    height: 120px; /* mismo valor que scroll-margin-top */
    margin-top: -120px;
    visibility: hidden;
    pointer-events: none;
}


#features .feature {
    margin: 30px 0;
    padding: 0 20px;
    transition: all .2s ease-in-out;
}

#features .feature .feature-icon {
    background: url(../imgs/icons-bg.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: inline-block;
    width: 125px;
    height: 125px;
}

#features .feature .feature-icon svg {
    position: relative;
    top: 40px;
}

#features .feature h4 {
    margin: 25px 0;
}

#features .feature:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-3px);
}
#features p {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.3rem; /* Más grande (ajusta según lo que busques) */
    font-weight: 500;  /* Más gruesa, pero sin ser negrita total */
    line-height: 1.5;  /* Mejor separación entre líneas */
    color: #333; /* Gris medio, más suave que negro puro */    
     text-align: center;
     white-space: pre-line;
}

#features p strong {
    font-weight: 800; /* Para que el texto en <strong> sea bien negrita */
}

@media (min-width: 768px) {
    #features p {
        text-align: left;
    }
}



.documentacion-section ul li::before {
    content: "■";
    color: #333;
    margin-right: 10px;
    display: inline-block;
}

.documentacion-section {
    background: url(/landing/imgs/ContractX-validamos-tu-documentacion.jpg);
    background-size: cover;
    background-position: top center;
    position: relative;
    padding-top: 100px;
    padding-bottom: 200px; /* Aumenta según lo que necesites */
}

@media (max-width: 768px) {
    .documentacion-section {
        padding-top: 100px;
        padding-bottom: 100px;
            background-size: cover;
    }
}

 .documentacion-section h2, .documentacion-section p {
   color: white;
 }

.documentacion-section ul li {
                margin-bottom: 0.75rem;
                font-size: 1.3rem;
                line-height: 1.5;
}

 .documentacion-section .bg-white {
                border-radius: 30px;
}


/* Cuadro naranja arriba del título */
.section-header {
    position: relative;
    display: inline-block;
}

.section-header .section-deco {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 15px;
    height: 15px;
    background-color: #fd8917;
}

/* Línea azul horizontal */
.timeline-line {
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(to right, #1e90ff, #0047ab);
    z-index: 1;
}

/* Contenedor de cada paso */
.timeline-steps {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    padding-top: 50px;
    max-width: 100%;
    flex-wrap: wrap;
}

.step-item {
    position: relative;
    text-align: center;
    flex: 1;
    z-index: 2;
    vertical-align: top;
    min-width: 150px;
    padding: 0 10px;
}

/* Puntos sobre la línea */
.timeline-point {
    width: 20px;
    height: 20px;
    background-color: white;
    border: 4px solid #1e90ff;
    border-radius: 50%;
    margin: 0 auto 10px auto;
    position: relative;
    z-index: 3;
}

/* Número debajo de cada punto */
.step-number {
    font-size: 1.5rem;
    font-weight: bold;
    color: #333;
}

.step-text {
    font-size: 0.95rem;
    color: #333;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    min-height: 120px;        /* Alto mínimo igual para todas */
    display: flex;             /* Para centrar verticalmente */
    align-items: center;       /* Centrado vertical */
    justify-content: center;   /* Centrado horizontal */
    padding: 15px;
    text-align: center;
}

.step-texto {
  font-size: 1.3rem;
}

/* Responsive para móviles */
@media (max-width: 767px) {
    .timeline-steps {
        flex-direction: column;
        align-items: center;
    }

    .timeline-line {
        display: none;
    }

    .step-item {
        margin-bottom: 30px;
    }
}

.section-header {
    position: relative;
    display: inline-block;
}

.section-header .section-deco {
    position: absolute;
    top: -15px;
    left: 0;
    width: 15px;
    height: 15px;
    background-color: #fd8917;
    border-radius: 2px;
}

.section-header {
    position: relative;
    display: inline-block;
}

.section-header .section-deco {
    position: absolute;
    top: -15px;
    left: 0;
    width: 15px;
    height: 15px;
    background-color: #fd8917;
    border-radius: 2px;
}

.list-beneficios li {
    margin-bottom: 12px;
    padding-left: 25px;
    position: relative;
    color: #333;
   font-size: 1.3rem;
}


.list-beneficios li::before {
    content: "■";
    position: absolute;
    left: 0;
    color: #333;
    font-size: 0.7rem;
    top: 3px;
    
}


@media (max-width: 767px) {
    #beneficios img {
        margin-bottom: 20px;
    }
}


#panel-administrativo .section-header h2 {
    font-size: 2.5rem;
}

.list-panel li {
    display: flex;
    align-items: center;
    margin-bottom: 25px;
    font-size: 1.25rem;
    color: #333;
}

.list-panel li .icon-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
}

.list-panel li .img-icon {
    width: 32px;
    height: 32px; 
}
@media (min-width: 992px) {
    .floating-card {
        position: absolute;
        top: 350px; /* ⬅️ Aumenta este valor para bajarla más */
        left: 50%;
        transform: translateX(-50%);
    }
}



.floating-card {

    background-color: white;
    border-radius: 30px;
    box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.1);
    z-index: 10;
    width: 75vw;
    box-sizing: border-box;
    padding: 1rem;
}


@media (max-width: 991px) {
    .floating-card {
        position: relative;
        top: 250px;
        left: auto;
        transform: none;
        width: 95%;
        margin: 2rem auto;
    }
}

.texto-list {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.2rem;
    line-height: 1.7em;
    font-weight: 400;
    color: #333;
}



.beneficio-text {
    font-weight: 500;
    font-size: 1.2rem;
}

.section-header .section-deco {
    position: absolute;
    top: -15px;
    left: 0;
    width: 15px;
    height: 15px;
    background-color: #fd8917;
    border-radius: 2px;
}

@media (max-width: 767px) {
    #panel-administrativo img {
        margin-top: 20px;
    }

    .list-panel li {
        font-size: 1.1rem;
    }

    .list-panel li .icon-circle {
        width: 50px;
        height: 50px;
    }

    .list-panel li .img-icon {
        width: 24px;
        height: 24px;
    }
}


.section-header {
    position: relative;
    display: inline-block;
}

.section-header .section-deco {
    position: absolute;
    top: -15px;
    left: 0%;
    transform: translateX(-50%);
    width: 15px;
    height: 15px;
    background-color: #fd8917;
    border-radius: 2px;
}

h2.display-4 {
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.2;
    color: #333;
}

.text-n {
    white-space: normal;  /* Permite que el texto salte línea según el ancho */
    overflow: visible;    /* Que no oculte nada */
    text-overflow: clip;  /* No corta el texto, no pone "..." */
}


#contacto .form-control {
    border-radius: 10px;
    border: 1px solid #ddd;
    margin-bottom: 15px;
    font-size: 1.1rem;
    padding: 15px 20px;
}

#contacto .btn-gradient {
    background-image: linear-gradient(90deg, #ff9800, #ff5722);
    border: none;
    border-radius: 30px;
    transition: all 0.3s ease-in-out;
}

#contacto .btn-gradient:hover {
    background-image: linear-gradient(90deg, #ff7c00, #ff4500);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transform: translateY(-2px);
}


footer {
    background-color: #000;
        margin-top: auto;
}

footer a {
    color: white;
    text-decoration: none;
    margin: 0 10px;
    transition: color 0.3s ease;
}

footer a:hover {
    color: #fd8917; /* Cambia color al pasar el mouse */
}

footer nav a.text-decoration-underline {
    text-decoration: underline;
    font-weight: bold;
}

footer .fs-5 {
    font-size: 1.25rem;
}

footer i {
    color: #000;
}

.img-social {
    width: 30px;       /* Puedes ajustar a 35px o 40px si quieres más grande */
    height: auto;
    transition: transform 0.3s ease;
}

.social-icons a:hover .img-social {
    transform: translateY(-3px);
    opacity: 0.8;
}








/*=======================================================
			ABOUT:
========================================================*/

#about {
    padding: 120px 0;
    text-align: center;
}

/*=======================================================
			SERVICES:
========================================================*/

#services {
    padding: 120px 0;
}

#services p {
    margin: 25px 0;
}

#services ul li span {
    position: relative;
    bottom: 15px;
}

#services .img-table {
    position: relative;
    top: 30px;
}

#services .caption {
    position: relative;
    top: 30px;
}

#services .seconde {
    padding: 80px 0;
}


/*=======================================================
			PRICES:
========================================================*/

#prices {
    padding: 120px 0;
    background: url(../imgs/pricing-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    color: #fff;
    text-align: center;
}

#prices .price-table {
    background: #fff;
    color: #686b75;
    transition: all .2s ease-in-out;
    padding: 60px 30px;
    border-radius: 5px;
    margin: 30px 0;
}

#prices .price-table .header {
    margin-bottom: 30px;
}

#prices .price-table .header .title {
    color: #068BEA;
    font-weight: 500;
}

#prices .price-table .header .price {
    font-size: 60px;
    color: #000;
    font-weight: 700;
}

#prices .price-table .header h4 {
    font-weight: 700;
}

#prices .price-table ul {
    list-style: none;
    padding: 0;
    margin: 15px 0;
}

#prices .price-table .btn {
    margin-top: 30px;
}

#prices .price-table:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-3px);
}

/*=======================================================
			TESTIMONIALS:
========================================================*/

#testimonials {
    padding: 0 0 120px 0;
    text-align: center;
}

#testimonials .carousel-container {
    margin: 0 auto;
}

#testimonials .carousel-container .testi-icon {
    background: url(../imgs/icons-bg.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: inline-block;
    width: 90px;
    height: 90px;
}

#testimonials .carousel-container .testi-icon svg {
    position: relative;
    top: 20px;
}

#testimonials .carousel-container .quote {
    font-size: 18px;
    font-weight: bold;
    margin: 40px 0;
}

#testimonials .carousel-container img {
    width: 60px;
}

#testimonials .carousel-container .item {
    padding: 0 10px;
}

#testimonials .carousel-container .owl-theme .owl-controls .owl-page span {
    display: block;
    width: 12px;
    height: 12px;
    margin: 5px 7px;
    filter: Alpha(Opacity=50);
    opacity: 0.5;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    border: 2px solid #068BEA;
    background: transparent;
}

#testimonials .carousel-container .owl-theme .owl-controls .owl-page.active span,
#testimonials .carousel-container .owl-theme .owl-controls.clickable .owl-page:hover span {
    background: #068BEA;
}

/*=======================================================
			VIDEO POP UP:
========================================================*/

#video-popup {
    padding: 100px 0;
}

#video-popup .video-box {
    margin: 0 auto;
    text-align: center;
}

#video-popup .video-box .play-button a {
    background: #fff;
    position: absolute;
    left: calc(50% - 40px);
    top: calc(50% - 40px);
    width: 80px;
    height: 80px;
    line-height: 6.8;
    border-radius: 100%;
    transition: all .2s ease-in-out;
    z-index: 2;
}

#video-popup .video-box .play-button a i {
    color: #fd8917;
    font-size: 40px;
}

#video-popup .video-box .play-button a:hover {
    background: #fd8917;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-3px);
}

#video-popup .video-box .play-button a:hover i {
    color: #fff;
}

#video-popup .video-box .waves-block {
    position: absolute;
    width: 384px;
    width: 24rem;
    height: 384px;
    height: 24rem;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
}

#video-popup .video-box .waves-block .waves {
    position: absolute;
    width: 384px;
    width: 24rem;
    height: 384px;
    height: 24rem;
    background: rgba(255, 255, 255, 0.4);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    border-radius: 320px;
    background-clip: padding-box;
    -webkit-animation: waves 3s ease-in-out infinite;
    animation: waves 3s ease-in-out infinite;
}

#video-popup .video-box .waves-block .wave-1 {
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

#video-popup .video-box .waves-block .wave-2 {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}

#video-popup .video-box .waves-block .wave-3 {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}

@keyframes waves {
    0% {
        -webkit-transform: scale(0.2, 0.2);
        transform: scale(0.2, 0.2);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
    50% {
        opacity: 0.9;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
    }
    100% {
        -webkit-transform: scale(0.9, 0.9);
        transform: scale(0.9, 0.9);
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }
}

/*=======================================================
			APP SCREENSHOTS:
========================================================*/

#screenshots {
    padding: 100px 0;
    text-align: center;
}

#screenshots .title-container {
    margin: 0 auto;
}

#screenshots .item {
    margin: 40px 20px;
}

#screenshots .item img {
    box-shadow: 0 3px 15px rgba(76, 76, 77, 0.15);
}

#screenshots .owl-theme .owl-controls .owl-page span {
    display: block;
    width: 12px;
    height: 12px;
    margin: 5px 7px;
    filter: Alpha(Opacity=50);
    opacity: 0.5;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    border: 2px solid #068BEA;
    background: transparent;
}

#screenshots .owl-theme .owl-controls .owl-page.active span,
#screenshots .owl-theme .owl-controls.clickable .owl-page:hover span {
    background: #068BEA;
}

/*=======================================================
			TEAM:
========================================================*/

#team {
    padding: 120px 0;
    text-align: center;
}

#team .title-container {
    margin: 40px auto;
}

#team .member img {
    width: 250px;
    margin: 0 auto;
}

#team .member h4 {
    margin-top: 15px;
}

#team .member h4:after {
    content: "";
    position: relative;
    left: 50%;
    bottom: 0;
    width: 60px;
    height: 2px;
    display: block;
    background-color: #068BEA;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    border-radius: 5px;
    margin: 15px 0;
}

#team .member .social-media {
    list-style: none;
    margin: 0 auto;
    padding: 0;
}

#team .member .social-media li {
    display: inline-block;
    background: #068BEA;
    transition: all .2s ease-in-out;
    border-radius: 100%;
    line-height: 2.5;
    margin: 0 8px 8px 0;
    width: 40px;
    height: 40px;
}

#team .member .social-media li a {
    color: #fff;
}

#team .member .social-media li:hover {
    cursor: pointer;
    background: #fd8917;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-3px);
}

/*=======================================================
			BRANDS:
========================================================*/

#brands {
    padding: 60px 0;
    text-align: center;
}

#brands .title-container {
    margin: 0 auto;
}

#brands .item {
    margin: 25px 0;
}

#brands .owl-theme .owl-controls .owl-page span {
    display: block;
    width: 12px;
    height: 12px;
    margin: 5px 7px;
    filter: Alpha(Opacity=50);
    opacity: 0.5;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
    border: 2px solid #068BEA;
    background: transparent;
}

#brands .owl-theme .owl-controls .owl-page.active span,
#brands .owl-theme .owl-controls.clickable .owl-page:hover span {
    background: #068BEA;
}

/*=======================================================
			CONTACT:
========================================================*/

#contact {
    /*background: url(../imgs/footer.png);*/
    /*background: url(../imgs/business-office-supplies.jpg);*/
    background-size: cover;
    background-position: top center;
    padding: 60px 0 40px 0;
    color: #fff;
}

#contact .container {
    background-image: url(../imgs/business-office-supplies.jpg);
    background-repeat: no-repeat;
    background-size: 80% 100%;
    background-origin: content-box;
}

#contact .title-container {
    margin: 0 auto;
}

#contact form {
    margin: 40px 0;
}

#contact form .form-group label {
    font-size: 14px;
    font-weight: 700;
}

#contact form .form-group .form-control {
    padding: 13px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    border-radius: 30px;
    border: 1px solid #DDE4F4;
    outline: none;
    font-weight: 600;
}

#contact form .btn {
    margin: 1rem 0;
}

#contact p {
    text-align: center;
}

#contact .contact-form {
    background-image: radial-gradient(circle at 50% 50%, #405f83 0, #02426d 50%, #002757 100%);
}

/*=======================================================
			MEDIA QUERIES:
========================================================*/
@media (max-width: 992px) {
    /* ✅ Títulos más pequeños */
    .banner .container .row .caption h1 {
        font-size: 32px;
        text-align: center;
    }

    section .container .row h2 {
        font-size: 24px;
        text-align: center;
    }

    /* ✅ Centra el texto en pantallas chicas */
    .caption,
    .caption p,
    .section-header,
    .texto-list,
    .step-text {
        text-align: center !important;
    }

    /* ✅ Asegura que no se desborde el ancho */
    img,
    .img-fluid {
        max-width: 100%;
        height: auto;
    }

    /* ✅ Evita espacio blanco lateral */
    body {
        overflow-x: hidden;
    }

    /* ✅ Ajusta paddings para no dejar márgenes grandes */
    .container,
    .row,
    section {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* ✅ Elimina ancho fijo en tarjetas flotantes que causa overflow */
    .floating-card {
        width: 95% !important;
        left: 50%;
         top: 260px;
        transform: translateX(-50%);
        position: relative;
        margin-top: 20px;
    }

    /* ✅ Botones responsivos */
    .btn-wide {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 1.1rem;
    }

    /* ✅ Reduce márgenes innecesarios */
    .mb-5 {
        margin-bottom: 2rem !important;
    }

      #features h2 {
        font-size: 28px;
        text-align: center;
    }

    #features .caption,
    #features .fw-bold {
        text-align: center !important;
    }
}



/* Opcional: mejora visual en móvil */
@media (max-width: 768px) {
    .floating-card {
        padding: 1.5rem;
    }

    .floating-card ul {
        padding-left: 1rem;
    }
}



@media (max-width: 991px) {
    #home .navbar {
        background: #068BEA;
    }
    #home .navbar .navbar-collapse .navbar-nav .btn {
        position: static;
        margin: 10px 0 0 0;
    }
}

@media (max-width: 767px) {
    #home .banner .caption h1 {
        font-size: 34px;
    }

    #contact .container {
        background-image: none;
    }
}

@media (max-width: 400px) {
    #video-popup .video-box .waves-block {
        display: none;
    }
}

/*=======================================================
            FOOTER:
========================================================*/

/*=======================================================
            SETTINGS:
========================================================*/

.text-turquoise-light {
    color: #49FAE8;
}

.text-turquoise-dark {
    color: #02BDAB;
}

.fv-plugins-message-container .fv-help-block {
    color: #FFFFFF;
    font-weight: 600;
}

.invalid-feedback {
    color: #FFFFFF;
    font-weight: 600;
}

.carousel-fade .carousel-item {
    height: 50vh;
}

.translate-Y {
    margin: 30px 0;
    padding: 0 20px;
    transition: all .2s ease-in-out;
}

.translate-Y:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-3px);
}

#features img.img-fluid {
    width: 85%;

    box-shadow: rgb(255, 255, 255) 0px 0px 20px;

}

.campo-form {
    border-radius: 12px;
    font-size: 14px;
    padding: 10px 15px;
    border: 1px solid #e0e0e0;
    background-color: #fff;
    box-shadow: none;
    transition: border-color 0.3s;
}

.campo-form:focus {
    border-color: #f37021;
    outline: none;
    box-shadow: 0 0 0 0.1rem rgba(243, 112, 33, 0.15);
}

.btn-gradient {
    background: linear-gradient(to right, #f37021, #f9c50a);
    border: none;
    border-radius: 8px;
}

.btn-gradient:hover {
    opacity: 0.9;
}

