/*===================================================
Project: techida | IT Solutions & Business Services HTML landing page template
Author: ERRAMIX
====================================================*/

/* start global classes */
:root {
    /* body bg color */
    --bodyColor: #f8f6f4;

    /* box bg color */
    --boxColor: #eff0ef;

    /* dark brand color */
    --dark-brand-color: #202020;

    /* brand color */
    --brand-color: #3f8300;

    /* Primary Text Color */
    --primaryColor: #404742;

    /* title 2 Color (subtitle-color) */
    --title-2-color: #292836;

    /* Secondary Text Color */
    --secendaryColor: #5e5e5e;

    /* border radius */
    --border-radius: 5px;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body {
    font-family: "Outfit", sans-serif;
    color: var(--primaryColor);
    background-color: var(--bodyColor);
    text-align: left;
    text-transform: capitalize;
    position: relative;
    overflow-x: hidden;
}

body.home-rtl {
    font-family: "Tajawal", sans-serif;
}

/* ========== srart dark-mode colors ============ */

body.dark-mode {
    --bodyColor: #232323;
    /* box bg color */
    --boxColor: #1e1e1e;

    /* Primary Text Color */
    --primaryColor: #e4e6e4;

    /* brand color */
    --brand-color: rgb(63, 131, 0);

    /* Secondary Text Color */
    --secendaryColor: #bcbcbc;

    /* title 2 Color (subtitle-color) */
    --title-2-color: #ebebeb;
}

/* ========== end dark-mode colors ============ */

.switch-button {
    border-radius: 50%;
    border: none;
    outline: none;
    display: grid;
    place-items: center;
    width: 45px;
    height: 45px;
    margin-left: 10px;
    border: 0.5px solid var(--brand-color);
}

.btn-light-mode {
    background-color: var(--boxColor);
    color: var(--primaryColor);
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

::selection {
    color: var(--bodyColor);
    background-color: var(--brand-color);
}

.title {
    color: var(--primaryColor);
    font-size: 45px;
    font-weight: bold;
    position: relative;
    text-transform: capitalize;
}

.title-2 {
    color: var(--title-2-color);
    font-size: 26px;
    font-weight: bold;
    position: relative;
    text-transform: capitalize;
}

.pretitle {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 16px;
    color: var(--brand-color);
}

.unique-text {
    color: var(--brand-color);
}

.home-2 .heading {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}

body.home-rtl .heading {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: end;
    text-align: end;
}

body.home-rtl .heading > * {
    justify-self: end;
    text-align: end;
}

a,
a:hover,
a:focus {
    text-decoration: none;
}

.box {
    background-color: var(--boxColor);
    padding: 20px;
    border-radius: var(--border-radius);
    position: relative;
    height: 100%;
    z-index: 1;
    transition: color 300ms ease-in-out;
}

.box.box-hover::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background-color: var(--brand-color);
    transition: transform 400ms ease-in-out;
    transform: scaleX(0);
    transform-origin: left;
    color: #f3f3f3;
    border-radius: var(--border-radius);
}

.box.box-hover:hover:before,
.box.box-hover:focus:before {
    transform: scaleX(1);
}

.box.box-hover:hover,
.box.box-hover:focus,
.box.box-hover:hover a i,
.box.box-hover:hover .box-icon i,
.box.box-hover:hover > * {
    color: #f9f9f9;
}

.box.box-hover:hover > p {
    color: #def3de;
}

.home-rtl .box {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    text-align: end;
}

/* start buttons style */
.btn,
.btn-sec {
    border: 1px solid var(--brand-color);
    background: var(--brand-color);
    color: var(--bodyColor);
    font-weight: 800;
    border-radius: 40px;
    padding: 8px 25px;
    font-size: 20px;
    position: relative;
    overflow: hidden;
    display: inline-flex;
    justify-content: center;
    text-transform: capitalize;
    align-items: center;
    text-align: center;
    letter-spacing: 0.5px;
    outline: none;
    font-weight: bold;
    transition: 0.8s all ease;
    cursor: pointer;
    z-index: 1;
}

.btn-sec {
    background-color: var(--boxColor);
    border: 1px solid var(--brand-color);
    color: var(--primaryColor);
}

.btn-sec:hover {
    color: var(--bodyColor);
}

.btn::before,
.btn-sec::before {
    background: var(--boxColor);
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    transition: all 0.6s ease;
    width: 100%;
    height: 0%;
    transform: translate(-50%, -50%) rotate(45deg);
}

.btn-sec::before {
    background: var(--brand-color);
}

.btn:hover::before,
.btn-sec:hover::before {
    height: 380%;
}

.learn-more {
    text-transform: capitalize;
    color: var(--brand-color);
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    border: none;
    background-color: transparent;
    display: flex;
    align-items: center;
}

.learn-more .bi {
    font-size: 25px;
}

/* end main button style */

@media (max-width: 768px) {
    .btn {
        padding: 6px 18px;
        font-size: 16px;
    }

    .title {
        font-size: 35px;
    }

    .title-2 {
        font-size: 20px;
    }

    .pretitle {
        font-size: 14px;
    }

    p {
        font-size: 14px;
        line-height: 28px;
    }
}

p {
    color: var(--secendaryColor);
    font-size: 16px;
    line-height: 32px;
    font-weight: 400;
}

ul {
    list-style: none;
}

img {
    width: 100%;
}

/* ====== start breadcrumbs style========= */
.breadcrumbs {
    background: var(--dark-brand-color); /* Fondo oscuro según tu :root */
    min-height: 40px;
    margin-top: 82px; /* Espacio para el navbar sticky */
    padding: 30px 0;
    color: var(--bodyColor);
    display: block;
}

@media (max-width: 992px) {
    .breadcrumbs {
        margin-top: 57px;
    }
}

.breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0 0 10px 0;
    font-size: 14px;
    text-transform: uppercase;
}

.breadcrumbs h2 {
    color: #eaf0ec;
    font-weight: bold;
    text-transform: uppercase;
}

.breadcrumbs ol a {
    color: #f8f6f4;
    transition: 0.3s;
    text-decoration: none;
}

.breadcrumbs ol a:hover {
    color: var(--brand-color);
}

.breadcrumbs p {
    color: #b6b6b6;
    margin-top: 10px;
}

/* Separador / entre los elementos de la lista */
.breadcrumbs ol li + li {
    padding-left: 10px;
}

.breadcrumbs ol li + li::before {
    display: inline-block;
    padding-right: 10px;
    color: #f8f6f4;
    content: "/";
}

/* Estilo para la categoría (SERVICES) */
.category-breadcrumb {
    font-weight: bold;
    color: var(--brand-color) !important;
}

/* ====== end breadcrumbs style ========= */


/* ==== start  preloader style  ===== */

#preloader {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: var(--bodyColor);
    z-index: 9999;
}

svg {
    width: 300px;
    visibility: hidden;
}

/* ==== end  preloader style  ===== */

/* ======== start scroll-to-top button style  =========== */

#progress {
    position: fixed;
    bottom: 20px;
    right: 10px;
    height: 70px;
    width: 70px;
    display: none;
    place-items: center;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    z-index: 800;
}

#progress-value {
    display: block;
    height: calc(100% - 15px);
    width: calc(100% - 15px);
    border-radius: 50%;
    display: grid;
    background-color: var(--bodyColor);
    place-items: center;
    font-size: 35px;
    color: var(--brand-color);
}

/* ======== end scroll-to-top button style  =========== */

/*================== start navbar section ==================*/
.navbar {
    z-index: 900;
}

.navbar-toggler,
.navbar-toggler:active,
.navbar-toggler:focus {
    border: none;
}

/* Abrir submenús al pasar el mouse  */
@media (min-width: 992px) {
    .navbar-nav .nav-item.dropdown:hover > .dropdown-menu {
        display: block;
        margin-top: 0; /* Evita que se cierre por el espacio entre menú y submenú */
        opacity: 1;
        visibility: visible;
        transition: all 0.3s ease;
    }

    /* Evita que el submenú desaparezca si hay un pequeño espacio */
    .navbar-nav .dropdown-menu {
        display: none;
        position: absolute;
    }
}

@media (max-width: 990px) {
    .navbar {
        background-color: var(--boxColor);
    }

    .home-rtl .navbar #navbar {
        display: flex;
        flex-direction: column !important;
    }
}

.navbar #menu {
    color: var(--title-2-color);
    font-size: 30px;
}

.navbar .logo {
    width: 9rem;
}

.navbar.sticky {
    background-color: var(--boxColor);
    transition: 1s;
}

.navbar ul li a:focus {
    background-color: transparent;
}

.navbar ul li a {
    font-weight: 600;
    text-transform: capitalize;
    color: var(--secendaryColor) !important;
}

.navbar ul li a:hover,
.navbar ul li a.active {
    color: var(--brand-color) !important;
}

.navbar .dropdown-menu {
    background-color: var(--boxColor) !important;
}

.navbar .dropdown-menu .dropdown-item {
    color: var(--title-2-color);
    background-color: var(--boxColor);
}

/*================== End navbar section ==================*/

/*================== start hero section ==================*/
.hero {
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    padding-top: 3rem;
}

.error-message {
    color: red;
    font-size: 0.8em;
    margin-top: 4px;
    margin-bottom: 4px;
    display: none;
}

.home-3 .hero {
    min-height: 150vh !important;
}

@media (max-width: 990px) {
    .home-1 .hero,
    .home-3 .hero,
    .home-rtl {
        margin-top: 80px;
    }
}

#particles-js {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

#content {
    position: relative;
    z-index: 1;
}

.hero .hero-text .title {
    line-height: 37px;
    font-size: 32px;
}

.hero .hero-icons a {
    width: 36px;
    height: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: var(--border-radius);
    background-color: var(--boxColor);
}

.hero .hero-icons a:hover {
    background-color: var(--brand-color);
}

.hero .hero-icons a:hover > i {
    color: var(--boxColor);
}

.hero .hero-icons i {
    font-size: 20px;
    color: var(--secendaryColor);
    cursor: pointer;
}

@media (max-width: 990px) {
    .hero .hero-text .title {
        line-height: 65px;
        font-size: 44px;
    }
}

/* home 3 */

.home-3 .hero .hero-text .title {
    font-size: 50px;
    line-height: 65px;
}

.home-3 .hero .hero-text .icons .icon {
    background-color: var(--brand-color);
    color: var(--body-color);
    border-radius: 50%;
    margin-inline: 5px;
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.home-3 .hero .hero-text .icons i {
    font-size: 20px;
}

.home-3 .hero .hero-images .hero-img {
    height: 500px;
}

.home-3 .hero .hero-images .hero-img img {
    border-radius: var(--border-radius);
    object-fit: cover;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.home-3 .hero .hero-numbers .box-number {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.home-3 .hero .hero-numbers .box-number h2 {
    font-size: 55px;
    color: var(--brand-color);
    font-weight: bold;
    text-align: center;
}

.home-3 .hero .hero-numbers .box-number h6 {
    color: var(--secendaryColor);
    font-size: 18px;
    font-weight: 400;
}

/*================== end hero section =====================*/

/*============== Start About section ==========*/
.about .box .title-2 {
    text-transform: capitalize;
    font-size: 18px;
}

.about .box {
    display: flex;
    flex-direction: row !important;
    align-items: center;
    padding: 15px;
}

.about .box i {
    font-size: 35px;
    color: var(--brand-color);
}

.about .bars {
    margin: 0;
    padding: 0;
}

@keyframes load {
    from {
        width: 0%;
    }
}

@-webkit-keyframes load {
    from {
        width: 0%;
    }
}

@-o-keyframes load {
    from {
        width: 0%;
    }
}

@-moz-keyframes load {
    from {
        width: 0%;
    }
}

.progress-bar {
    width: 100%;
    height: 8px;
    background-color: var(--boxColor);
    border-radius: 5px;
    overflow: hidden;
}

.progress-bar-fill {
    height: 100%;
    background-color: var(--brand-color);
    border-radius: 5px;
    transition: width 0.2s ease-in-out;
    animation: load 3s 0s;
    -webkit-animation: load 3s 0s;
    -moz-animation: load 3s 0s;
    -o-animation: load 3s 0s;
}

.progress-bar-fill.progress-bar-fill-1 {
    width: 70%;
}

.progress-bar-fill.progress-bar-fill-2 {
    width: 20%;
}

.progress-bar-fill.progress-bar-fill-3 {
    width: 55%;
}

.home-rtl .about .box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: end;
}

/*============== End About section ==========*/

/*============== Start Services section ==========*/
.box-service .box-icon i {
    color: var(--brand-color);
    font-size: 4rem;
}

.home-2 .box-service {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.home-rtl .box-service {
    text-align: end;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
}

.services .box-service a {
    display: flex;
    align-items: baseline;
}

.services .box-service a i {
    font-size: 18px;
    margin: 0 5px;
}

/*============== Start single-service section ==========*/
.single-service {
    min-height: 100vh;
    margin-top: 6rem;
}

.service-side {
    height: fit-content;
}

.service-side .social .icon {
    width: 40px;
    height: 40px;
    border-radius: var(--border-radius);
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--brand-color);
}

.service-side .social .icon i {
    font-size: 18px;
    color: var(--bodyColor);
}

.single-service .service-box {
    height: fit-content;
}

.single-service .service-box h3 {
    font-size: 16px;
}

.single-service .service-box p {
    line-height: 26px;
    font-size: 14px;
}

.single-service .service-box i {
    font-size: 35px;
    color: var(--brand-color);
}

/*============== End single-service section ==========*/
/*============== End Services section ==========*/

/*============== Start Why us section ==========*/
.why-choose-us .box h1 {
    font-size: 50px;
    color: var(--brand-color);
    font-weight: bold;
}

/*============== Our Expert ==========*/
/* Configuración General */
.tech-stack-premium {
    background-color: #0b0e11; /* Fondo oscuro tecnológico */
    color: #ffffff;
}

.text-gradient {
    background: linear-gradient(90deg, #408300, #044022);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Encabezados Estilo Dashboard */
.tech-tag {
    display: inline-block;
    background: rgba(81, 239, 118, 0.1);
    color: #408300;
    padding: 5px 15px;
    border-radius: 50px;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.category-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
}

.cat-number {
    /*font-family: 'Courier New', monospace;*/
    color: #5bb800;
    font-weight: bold;
    font-size: 1.2rem;
    opacity: 0.5;
}

.cat-title {
    font-size: 1.4rem;
    font-weight: 800;
    margin: 0;
    letter-spacing: 1px;
}

/* Cuadrícula Tech */
.tech-bento-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 15px;
}

.tech-card {
    background: #15191d;
    height: 120px;
    border-radius: var(--border-radius);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.05);
    font-size: 2.8rem;
    color: #8b949e;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    position: relative;
    cursor: crosshair;
}

/* Efecto Hover Revolucionado */
.tech-card::before {
    content: attr(data-name);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    font-size: 0.9rem;
    font-weight: 800;
    color: #21df51;
    opacity: 0;
    transition: all 0.4s ease;
}

.tech-card i {
    transition: all 0.4s ease;
}

.tech-card:hover {
    background: #1c2128;
    border-color: #21df51;
    box-shadow: 0 0 25px rgba(33, 223, 81, 0.2);
}

.tech-card:hover i {
    opacity: 0; /* Desaparece el icono */
    transform: scale(0.5);
}

.tech-card:hover::before {
    opacity: 1; /* Aparece el nombre en el centro exacto */
    transform: translate(-50%, -50%) scale(1.1);
}

/* Adaptabilidad Móvil */
@media (max-width: 576px) {
    .tech-bento-grid {
        grid-template-columns: repeat(3, 1fr);
        content: attr(data-name);

    }

    .tech-card {
        height: 100px;
        font-size: 2rem;
    }
}


/*============== End Our Expert ==========*/


/*============== Start wiring ==========*/
/* Ajustes específicos para esta sección sin romper el global */
.wiring-content .box-icon i {
  color: var(--brand-color);
}
.wiring-content .box {
  transition: all 0.3s ease;
  border: 1px solid rgba(0,0,0,0.05) !important;
}
.wiring-content img {
  object-fit: cover;
  width: 100%;
  height: 400px;
}
.bg-brand {
  background-color: var(--brand-color) !important;
}
/* Efecto hover suave para las tarjetas tech */
.wiring-content .box:hover {
  border-color: var(--brand-color) !important;
}
/*============== End wiring ==========*/
.wiring{
  color: #408300; font-size: 3rem;
}
/*============== Start portfolio section ==========*/

.portfolio-btn {
    text-transform: capitalize;
    font-size: 20px;
    font-weight: 600;
    cursor: pointer;
    color: var(--secendaryColor);
    border: none;
    background-color: var(--bodyColor);
}

.portfolio-item img {
    width: 100%;
    height: 100%;
    border-radius: var(--border-radius);
}

.portfolio ul {
    margin: 0 !important;
    padding: 1rem 0 !important;
}

@media screen and (max-width: 768px) {
    .portfolio ul li a {
        font-size: 17px;
    }
}

.portfolio .img-overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 1), transparent);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    opacity: 0;
    transition: opacity 0.5s;
}

.portfolio .img-overlay .content {
    padding: 1.5rem;
    width: 100%;
    color: #c9e8d2;
}

.portfolio .img-overlay .content h3,
.portfolio .img-overlay .content h6 {
    color: #f9f9f9;
}

.portfolio .img-overlay > * {
    transform: translateY(40px);
    transition: transform 25ms;
}

.portfolio .img-overlay:hover > * {
    transform: translateY(0);
}

.portfolio .img-overlay:hover {
    opacity: 1;
}

.portfolio .img-overlay h3 {
    font-size: 25px;
    font-weight: bold;
    text-transform: uppercase;
}

.portfolio .img-overlay h4 {
    padding: 7px 10px;
    color: var(--brand-color);
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #c4c0e6;
    cursor: pointer;
}

.portfolio .img-overlay .tags span {
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    color: #1fa84f;
    margin: 0 0.5rem;
}

.portfolio-btn .active,
.portfolio-btn:hover {
    color: var(--brand-color) !important;
}

.portfolio-item {
    transition: ease-in-out 50ms;
    position: relative;
}

.client-side {
    height: fit-content;
}

.client-side .box .icon {
    flex: 0.25;
}

.client-side .box .icon i {
    font-size: 45px;
    color: var(--brand-color);
}

.client-side .box .text {
    flex: 0.75;
}

.client-side .box .text h3 {
    color: var(--primaryColor);
    margin: 0;
    font-size: 18px;
}

.client-side .social .icon {
    width: 40px;
    height: 40px;
    border-radius: var(--border-radius);
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--brand-color);
}

.client-side .social .icon i {
    font-size: 18px;
    color: var(--bodyColor);
}

/*============== End portfolio section ==========*/

/*============== start clients section ==========*/

.clients {
    background-color: var(--boxColor);
}

.clients img {
    filter: grayscale(100%);
}

.clients img:hover {
    filter: grayscale(0);
}

/*============== End clients section ==========*/

/*============== Start numbers section ==========*/

.counter-up {
    /*padding: 60px 0;*/
    padding: 4px 0;
    /*background-color: var(--dark-brand-color);*/
    background-color: #56ab05;
    color: #f9f9f9;
    text-align: center;

}

.home-3 .counter-up {
    background-color: transparent;
}

.counter-up .counter {
    font-size: 50px;
    font-weight: bold;
    color: var(--brand-color);
}

.counter-up .title-2 {
    color: #f9f9f9;
}

.counter-up i {
    font-size: 50px;
    color: var(--brand-color);
}

/*============== End numbers section ==========*/


/*============== Start pricing section ==========*/

.pricing .row .box {
    text-align: center;
    align-items: center;
}

#table3 {
    background-color: var(--brand-color);
    color: #f3f3f3;
}

#table3 > .price {
    color: #f3f3f3;
}

#table3 > h3,
#table3 > ul li,
#table3 > i {
    color: #d8d8d8;
}

.pricing .row .box ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

#table3 .btn {
    background-color: var(--bodyColor);
    color: var(--brand-color);
}

#table3 ul li .bi-check2-circle {
    color: var(--dark-brand-color);
}

.pricing .row .box .price {
    font-size: 35px;
    font-weight: bold;
    color: var(--brand-color);
}

.pricing .row .box i {
    font-size: 55px;
    color: var(--secendaryColor);
}

.pricing .box ul li .bi {
    font-size: 18px;
    margin-right: 5px;
}

.pricing .box ul li .bi-check2-circle {
    color: var(--brand-color);
}

.pricing .box ul li .bi-x-circle {
    color: #864141;
}

.pricing ul li {
    color: var(--secendaryColor);
    font-size: 20px;
    font-weight: 400;
    text-align: center;
}

.pricing h3 {
    color: var(--secendaryColor);
    font-size: 20px;
    font-weight: 600;
    text-transform: capitalize;
}

.pricing .box .title-2 {
    font-size: 25px;
    text-transform: capitalize;
    font-weight: bold;
}

/*============== End pricing section ==========*/

/*============== Start Bento Grid ==========*/
/* Bento Grid Layout */
.bento-grid-pricing {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: minmax(180px, auto);
    gap: 20px;
}

.bento-item {
    background: #ffffff;
    border-radius: var(--border-radius);
    padding: 30px;
    border: 1px solid #eee;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.bento-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
}

/* El elemento ancho ocupa 2 columnas */
.bento-item.wide {
    grid-column: span 2;
}

/* Control de tamaños del Bento */
.main-card {
    grid-column: span 2; /* Ocupa 2 columnas */
    grid-row: span 2; /* Es más alta */
}

.small-card {
    grid-column: span 1;
}

.small-card.wide {
    grid-column: span 2;
}

/* Estilos internos */
.bento-item .price {
    font-size: 2.5rem;
    color: #408300;
    font-weight: 800;
}

.bento-item .unit {
    font-size: 1rem;
    color: #888;
}

.bento-item.highlight {
    background: #f4fff7; /* Un tono verde muy suave */
    border-color: #21df51;
}

/*.btn-bento {*/
/*  background: #21df51;*/
/*  color: white;*/
/*  border-radius: 12px;*/
/*  text-align: center;*/
/*  padding: 10px;*/
/*  font-weight: bold;*/
/*}*/

.learn-more {
    color: #408300;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
}

/* Responsive para Celulares */
@media (max-width: 991px) {
    .bento-grid-pricing {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .bento-grid {
        grid-template-columns: 1fr;
    }

    .bento-item.wide {
        grid-column: span 1;
    }
}

@media (max-width: 576px) {
    .bento-grid-pricing {
        grid-template-columns: 1fr;
    }

    .main-card, .small-card, .small-card.wide {
        grid-column: span 1;
    }
}

/*==============End Bento Grid ==========*/


/*============== Start testimonials section ==========*/
.testimonials .box h1 {
    font-size: 18px;
    margin: 0;
    padding: 0;
}

.testimonials i {
    color: #b8b800;
    font-size: 20px;
}

/*============== End testimonials section ==========*/

/*============== start team section ==========*/
.team .box {
    padding: 0;
    padding-bottom: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.team .box .team-img {
    width: 100%;
}

.team .box .social-icons i {
    font-size: 1.5rem;
    margin: 0 0.5rem;
    color: var(--secendaryColor);
}

.team .box .social-icons i:hover {
    color: var(--brand-color);
}

/*============== end team section ==========*/

/*============== Start blog section ==========*/

.blog h3 {
    font-size: 16px;
    font-weight: 400;
    color: var(--secendaryColor);
}

.home-rtl .blog .card-body {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
    text-align: end;
}

.blog .card i {
    font-size: 17px;
    color: var(--brand-color);
}

.blog .title-2 {
    font-size: 25px;
    line-height: 40px;
}

.blog .card {
    padding: 0 !important;
}

.blog .card img {
    border-radius: var(--border-radius);
}

.blog .card a {
    display: flex;
    align-items: center;
    flex-direction: row;
    color: var(--brand-color);
}

.blog .card a i {
    font-size: 18px;
    margin-inline: 5px;
}

.blog-nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
}

.blog-nav a {
    margin-inline: 0.5rem;
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--boxColor);
    color: var(--title-2-color);
    border-right: var(--border-radius);
    /*border-radius: 50%;*/
}

.blog-nav a.active,
.blog-nav a:hover {
    background-color: var(--brand-color);
}

/* =========== start blog single page ============ */

.blog .entry {
    padding: 30px;
    margin-bottom: 60px;
}

.blog .entry .entry-img {
    max-height: 440px;
    margin: -30px -30px 20px -30px;
    overflow: hidden;
}

.blog .entry .entry-title {
    font-size: 28px;
    font-weight: bold;
    padding: 0;
    margin: 0 0 20px 0;
}

.blog .entry .entry-title a {
    color: var(--title-2-color);
    transition: 0.3s;
}

.blog .entry .entry-meta {
    margin-bottom: 15px;
    color: var(--brand-color);
}

.blog .entry .entry-meta ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    align-items: center;
    padding: 0;
    margin: 0;
}

.blog .entry .entry-meta ul li + li {
    padding-left: 20px;
}

.blog .entry .entry-meta i {
    font-size: 16px;
    margin-right: 8px;
    line-height: 0;
}

.blog .entry .entry-meta a {
    color: var(--primaryColor);
    font-size: 14px;
    display: inline-block;
    line-height: 1;
}

.blog .entry .entry-content p {
    line-height: 24px;
}

.blog .entry .entry-content .read-more {
    -moz-text-align-last: right;
    text-align-last: right;
}

.blog .entry .entry-content h3 {
    font-size: 22px;
    margin-top: 30px;
    font-weight: bold;
}

.blog .entry .entry-footer {
    padding-top: 10px;
    border-top: 1px solid #e6e6e6;
}

.blog .entry .entry-footer i {
    color: var(--brand-color);
    display: inline;
}

.blog .entry .entry-footer a {
    color: var(--secendaryColor);
    transition: 0.3s;
}

.blog .entry .entry-footer .cats {
    list-style: none;
    display: inline;
    padding: 0 20px 0 0;
    font-size: 14px;
}

.blog .entry .entry-footer .cats li {
    display: inline-block;
}

.blog .entry .entry-footer .tags {
    list-style: none;
    display: inline;
    padding: 0;
    font-size: 14px;
}

.blog .entry .entry-footer .tags li {
    display: inline-block;
}

.blog .entry .entry-footer .tags li + li::before {
    padding-right: 6px;
    color: var(--secendaryColor);
    content: ",";
}

.blog .entry .entry-footer .share {
    font-size: 16px;
}

.blog .entry .entry-footer .share i {
    padding-left: 5px;
}

.blog .entry-single {
    margin-bottom: 30px;
}

.blog .blog-author {
    padding: 20px;
    margin-bottom: 30px;
    background-color: var(--boxColor);
    border-radius: var(--border-radius);
}

.blog .blog-author img {
    width: 120px;
    margin-right: 20px;
}

.blog .blog-author h4 {
    font-weight: 600;
    font-size: 22px;
    margin-bottom: 0px;
    padding: 0;
    color: var(--title-2-color);
}

.blog .blog-author .social-links {
    margin: 0 10px 10px 0;
}

.blog .blog-author .social-links a {
    color: rgba(1, 41, 112, 0.5);
    margin-right: 5px;
}

.blog .blog-author p {
    color: var(--secendaryColor);
}

.blog .blog-comments {
    margin-bottom: 30px;
}

.blog .blog-comments .comments-count {
    font-weight: bold;
}

.blog .blog-comments .comment {
    margin-top: 30px;
    position: relative;
}

.blog .blog-comments .comment .comment-img {
    margin-right: 14px;
}

.blog .blog-comments .comment .comment-img img {
    width: 60px;
}

.blog .blog-comments .comment h5 {
    font-size: 16px;
    margin-bottom: 2px;
}

.blog .blog-comments .comment h5 a {
    font-weight: bold;
    color: var(--title-2-color);
    transition: 0.3s;
}

.blog .blog-comments .comment h5 .reply {
    padding-left: 10px;
    color: var(--brand-color);
}

.blog .blog-comments .comment h5 .reply i {
    font-size: 20px;
}

.blog .blog-comments .comment time {
    display: block;
    font-size: 14px;
    color: var(--brand-color);
    margin-bottom: 5px;
}

.blog .blog-comments .comment.comment-reply {
    padding-left: 40px;
}

.blog .blog-comments .reply-form {
    margin-top: 30px;
    padding: 4rem;
}

.blog .blog-comments .reply-form h4 {
    font-weight: bold;
    font-size: 22px;
}

.blog .blog-comments .reply-form p {
    font-size: 14px;
}

.blog .blog-comments .reply-form input {
    border-radius: var(--border-radius);
    outline: none;
    border: none;
    color: var(--title-2-color);
    font-size: 14px;
}

.blog .blog-comments .reply-form input:focus {
    background-color: var(--boxColor);
    border: none;
    outline: none;
    box-shadow: none;
}

.blog .blog-comments .reply-form textarea {
    box-shadow: none;
    outline: none;
    border: none;
    color: var(--title-2-color);
}

.blog .blog-comments .reply-form textarea:focus {
    background-color: var(--boxColor);
}

.blog .blog-comments .reply-form .form-group {
    margin-bottom: 1rem;
}

.blog .sidebar {
    padding: 30px;
    margin: 0 0 60px 20px;
    width: fit-content;
    background-color: var(--boxColor);
}

.blog .sidebar .sidebar-title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 15px 0;
    color: var(--title-2-color);
    position: relative;
}

.blog .sidebar .sidebar-item {
    margin-bottom: 30px;
}

.blog .sidebar .search-form {
    background-color: var(--boxColor);
}

.blog .sidebar .search-form form {
    background: var(--boxColor);
    border: 1px solid var(--boxColor);
    width: 100%;
    height: 100%;
    position: relative;
}

.blog .sidebar .search-form form input[type="text"] {
    border: 0;
    padding: 4px;
    border-radius: 4px;
    width: calc(100% - 40px);
}

.blog .sidebar .search-form form input[type="text"]:focus {
    border: var(--boxColor);
    outline: none;
    box-shadow: none;
}

.blog .sidebar .search-form form button {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    border: 0;
    background: none;
    font-size: 16px;
    padding: 0 15px;
    margin: -1px;
    background: var(--brand-color);
    color: var(--bodyColor);
    transition: 0.3s;
    border-radius: 0 4px 4px 0;
    line-height: 0;
}

.blog .sidebar .search-form form button i {
    line-height: 0;
    color: var(--bodyColor);
}

.blog .sidebar .categories ul {
    list-style: none;
    padding: 0;
}

.blog .sidebar .categories ul li + li {
    padding-top: 10px;
}

.blog .sidebar .categories ul a {
    color: var(--title-2-color);
    transition: 0.3s;
}

.blog .sidebar .categories ul a span {
    padding-left: 5px;
    color: var(--secendaryColor);
    font-size: 14px;
}

.blog .sidebar .recent-posts .post-item + .post-item {
    margin-top: 15px;
}

.blog .sidebar .recent-posts img {
    width: 80px;
    height: 100%;
    float: left;
    border-radius: var(--border-radius);
}

.blog .sidebar .recent-posts h4 {
    font-size: 15px;
    margin-left: 95px;
    font-weight: bold;
}

.blog .sidebar .recent-posts h4 a {
    color: var(--primaryColor);
    transition: 0.3s;
}

.blog .sidebar .recent-posts time {
    display: block;
    margin-left: 95px;
    font-size: 14px;
    color: var(--secendaryColor);
}

.blog .sidebar .tags {
    margin-bottom: -10px;
}

.blog .sidebar .tags ul {
    list-style: none;
    padding: 0;
}

.blog .sidebar .tags ul li {
    display: inline-block;
}

.blog .sidebar .tags ul a {
    color: var(--brand-color);
    font-size: 14px;
    padding: 6px 14px;
    margin: 0 6px 8px 0;
    border: 1px solid var(--secendaryColor);
    display: inline-block;
    border-radius: var(--border-radius);
    transition: 0.3s;
}

/* =========== start blog single page ============ */

/*============== End blog section ==========*/

/*============== start FAQ section ==========*/
.faq .box h4 {
    color: var(--title-2-color);
    font-size: 20px;
    font-weight: 600;
}

.faq .box i {
    font-size: 25px;
    color: var(--brand-color);
}

.rotate-icon {
    transition: transform 0.3s ease-in-out;
}

.rotate-icon.rotated {
    transform: rotate(180deg);
}

/*============== End FAQ section ==========*/

/*============== Start contact section ==========*/
.contact form input,
.contact form textarea {
    width: 100%;
    padding: 15px;
    outline: none;
    border: none;
    box-shadow: none;
    background-color: var(--boxColor);
    border-radius: var(--border-radius);
    color: var(--title-2-color);
}

.contact form input:focus,
.contact form textarea:focus {
    background-color: var(--boxColor);
    box-shadow: none;
}

.contact .info i {
    font-size: 30px;
    color: var(--brand-color);
}

.contact .info h5 {
    color: var(--secendaryColor);
    font-size: 20px;
    font-weight: 600;
}

.contact-map {
    width: 100%;
    height: 400px;
    margin-top: 5rem;
}

.toast-success {
    background-color: #0d9700 !important;
    opacity: 1 !important;
}

.toast-error {
    background-color: #8b0500 !important;
    opacity: 1 !important;
}

.toast {
    border-radius: var(--border-radius) !important;
    color: #f9f9f9;
    font-family: "Outfit", sans-serif;
    box-shadow: none !important;
}

/*============== End contact section ==========*/

/*============== Start Footer section ==========*/
.footer {
    background-color: #1c1d1c;
}

.footer .box {
    background-color: var(--dark-brand-color);
}

.footer .box p {
    color: var(--secendaryColor);
}

.footer .box .logo img {
    width: 50%;
}

.footer .box .icon {
    color: #fff;
    background-color: var(--brand-color);
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
}

.footer .box h4 {
    color: #b6b6b6;
}

.footer .box p {
    color: #a2a1a1;
}

.footer h4 {
    color: #b6b6b6;
    font-size: 18px;
    font-weight: 600;
}

.footer ul {
    margin: 0;
    padding: 0;
}

.footer ul li {
    color: #ddd;
    cursor: pointer;
}

.footer ul li a {
    font-size: 14px;
    font-weight: 400;
    text-transform: capitalize;
    color: #ddd;
}

.footer ul li i {
    font-size: 12px;
}

.footer .copyrights a {
    color: #d8d8d8;
}

.footer hr {
    color: #b1b1b1;
}

/*============== End Footer section ==========*/

/* ================= start 404 page ===================== */
.fzf {
    width: 100%;
    overflow: hidden;
    height: 100%;
    display: grid;
    place-items: center;
    place-content: center;
}

.fzf .content {
    /*margin-top: 20%;*/
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.fzf .content img {
    width: 70%;
}

.fzf .content h1 {
    font-size: 60px;
    text-transform: uppercase;
    font-weight: bold;
    margin-block: 1rem;
}

/* ================= end 404 page ===================== */
/* Start custom software */
.step-modern-box {
    background: #ffffff;
    border: 1px solid #ebebeb;
    border-radius: 12px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.step-modern-box:hover {
    background: #fcfcfc;
    border-left: 5px solid var(--brand-color, #f39c12);
    transform: translateX(10px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.step-number-minimal {
    font-size: 1.5rem;
    font-weight: 800;
    color: #ddd;
    font-family: sans-serif;
}

.step-modern-box:hover .step-number-minimal {
    color: var(--brand-color, #f39c12);
}

.step-divider {
    width: 1px;
    height: 40px;
    background: #eee;
}

.step-icon-end {
    color: #eee;
    transition: all 0.3s ease;
}

.step-modern-box:hover .step-icon-end {
    color: var(--brand-color, #f39c12);
    transform: translateX(5px);
}

.title-2 {
    transition: color 0.3s ease;
}

/* Opcional: Si quieres que el texto sea blanco en hover como los otros cuadros */
.step-modern-box:hover .title-2,
.step-modern-box:hover p,
.step-modern-box:hover .step-number-minimal {

}
/* End custom software */
/* Start VDI */
/* Estilos específicos para este componente */
.badge-pro, .badge-con {
    font-size: 10px;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 4px;
    margin-right: 10px;
    display: inline-block;
    min-width: 50px;
    text-align: center;
}

.badge-pro {
    background-color: rgba(63, 131, 0, 0.1);
    color: var(--brand-color);
}

.badge-con {
    background-color: rgb(29, 69, 5);
    color: #78e700;
}

/* Efecto hover blanco para los badges y textos pequeños */
.box-hover:hover .badge-pro,
.box-hover:hover .badge-con {
    background-color: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.box-hover:hover small {
    color: #fff !important;
    opacity: 0.9;
}

.tag-group {
    display: flex;
    align-items: flex-start;
}

/* Estilos de alineación y color para la comparativa */
.tech-specs {
    text-align: left;
}

.ls-1 { letter-spacing: 1px; }

.color-brand {
    color: var(--brand-color);
    transition: color 0.3s ease;
}

.border-top-highlight {
    border-top: 3px solid var(--brand-color) !important;
}

.box-hover:hover hr {
    border-color: #fff !important;
    opacity: 0.5;
}
/* End VDI */

/* star iframe WER STORE */
.breadcrumbs {
    position: relative;
    z-index: 10 !important;
    background: #202020 !important; /* Un poco de transparencia para el efecto */
    backdrop-filter: blur(10px); /* Efecto de cristal esmerilado */
    margin-bottom: 0;
}

.external-web-wrapper {
    line-height: 0;
    overflow: hidden;
}

.external-iframe {
    height: 90vh;
    width: 100%;
    border: none;
}

@media (max-width: 992px) {
    .wiring-content {
        margin-top: -90px;
    }
}
/* END iframe WER STORE */


/* star menu del footer */
/* Estilos específicos para que el menú del footer no se rompa */
.footer-menu a {
    color: var(--secendaryColor);
    text-decoration: none;
    transition: 0.3s;
    font-size: 14px;
    font-weight: 600;
}
.footer-menu a:hover {
    color: var(--brand-color);
}
.footer-menu .collapse ul li a {
    font-weight: 400;
    opacity: 0.8;
}
/* END menu del footer */


/* ================= start login page + register page  ===================== */

.auth {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.auth input {
    border: 0;
    outline: 0;
    margin-block: 0.5rem;
}

/* ================= Estilos personalizados para la página Who We Are  ===================== */

 .who-we-are-section {
     background-color: #fff;
     text-align: left;
 }

.ls-2 { letter-spacing: 2px; }

.bg-light-soft {
    background-color: rgba(var(--brand-color-rgb), 0.05);
}

.border-brand {
    border-color: var(--brand-color) !important;
}

.color-brand {
    color: var(--brand-color);
}

/* Estilo para la tarjeta oscura de Why Nazca */
.bg-dark-card {
    background: #1a1a1a;
    padding: 40px;
    border-radius: 15px;
}

/* Animación sutil para el icono central */
.about-icon-wrapper {
    position: relative;
    display: inline-block;
    padding: 40px;
}

.geometric-shape {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 150px;
    height: 150px;
    border: 2px solid var(--brand-color);
    opacity: 0.2;
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
    animation: morph 8s linear infinite;
    z-index: -1;
}

@keyframes morph {
    0% { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }
    50% { border-radius: 50% 50% 20% 80% / 25% 80% 20% 75%; }
    100% { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }
}

.mission-box {
    border-radius: 15px;
    background: linear-gradient(135deg, #ffffff 0%, #f9f9f9 100%);
}

/* Compatibilidad con el hover blanco del sitio */
.box-hover:hover .title-2,
.box-hover:hover p {
    color: #fff !important;
}







/* ================= end login page + register page  ===================== */
