/**
 * ================================================
 * IMPULSO DIGITAL DORADO - LANDING STYLES
 * Version: 2.0 Optimizado
 * Fecha: 2025-12-07
 * ================================================
 */

/* ========== BASE ========== */
html {
   scroll-behavior: smooth;
}

body {
   color: #fff;
   background-color: #1a3357;
   opacity: 1;
   background-image: radial-gradient(circle at center center, #fff, #1a3357),
      repeating-radial-gradient(circle at center center, #fff, #fff, 16px, transparent 32px, transparent 16px);
   background-blend-mode: multiply;
}

a {
   text-decoration-color: #E67E22 !important;
}

/* ========== SECCIONES ========== */
.quiensoy {
   padding: 50px;
   background-image: radial-gradient(circle at center center, #ffffff, #556b2f),
      repeating-radial-gradient(circle at center center, #ffffff, #ffffff, 32px, transparent 64px, transparent 32px);
   background-blend-mode: multiply;
   background-color: #556b2f;
}

.servicios {
   padding: 50px;
   background-color: #E67E22;
   opacity: 1;
   background-image: radial-gradient(circle at center center, #fff, #E67E22),
      repeating-radial-gradient(circle at center center, #fff, #fff, 16px, transparent 32px, transparent 16px);
   background-blend-mode: multiply;
}

.contacto {
   padding: 50px;
}

.paquetes {
   padding: 50px;
   background-color: #D2B48C;
   opacity: 1;
   background-image: radial-gradient(circle at center center, #fff, #D2B48C),
      repeating-radial-gradient(circle at center center, #fff, #fff, 16px, transparent 32px, transparent 16px);
   background-blend-mode: multiply;
}

/* ========== BOTONES ========== */
.btn-primary,
.btn-primary:hover,
.btn-primary:active,
.btn-primary:visited {
   background-color: #E67E22 !important;
   border-color: #f28b03;
}

.btn-secondary,
.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:visited {
   background-color: #556B2F !important;
   border-color: #556B2F;
}

.btn-secondary:hover {
   background-color: #556b2fc7 !important;
}

.text-primary {
   color: #E67E22 !important;
}

.text-secondary {
   color: #556B2F !important;
}

/* ========== NAVEGACIÓN ========== */
#web-nav {
   background: #556B2F;
   padding: 30px;
   border-bottom: 5px solid;
   width: 100%;
}

.bg-nav-dark {
   background: #1a3357;
}

.mobile-nav {
   display: none !important;
}

.mobile-button {
   display: flex;
   flex-direction: column;
   color: #fff;
   align-items: center;
}

.link-body-emphasis:focus,
.link-body-emphasis:hover {
   color: #D2B48C !important;
   border-bottom: 3px solid #fff;
}

.isActive {
   border-bottom: 3px solid #ffffffa8 !important;
   background: #1a3357;
   border-radius: 5px 5px 0px 0px;
   padding: 20px;
   box-shadow: 3px 7px 8px 3px #33333394;
}

/* ========== CAROUSEL ========== */
.carousel-control-next-icon,
.carousel-control-prev-icon {
   width: 5vw;
   height: 5vw;
}

.carousel-caption {
   bottom: 8.25rem;
   font-size: 20px;
   font-weight: 800;
   text-shadow: 1px 2px 1px #333;
}

/* ========== UTILIDADES ========== */
.under-stroke {
   border-bottom: 5px solid #E67E22;
}

.border-left {
   border-left: 5px solid #fff;
}

.border-righ {
   border-right: 5px solid #fff;
}

/* ========== CARDS ========== */
.text-bg-primary,
.card-header,
.card {
   background-color: transparent !important;
   border: 1px solid #fff;
   color: #fff;
}

.text-bg-primary,
.card-header,
.card {
   border: none;
}

.card-body {
   background-color: #1a3357 !important;
}

.card-header {
   background-color: #556B2F !important;
   text-shadow: 1px 1px 1px #332;
   font-weight: 700;
}

.card-text-main {
   min-height: 230px;
}

/* ========== ANIMACIONES ========== */
.programming {
   width: 600px;
   height: 600px;
   float: right;
   margin-right: 15%;
}

.slide-animation {
   width: 600px;
   height: 600px;
   float: right;
   margin-right: 15%;
}

.contact-container {
   margin: -13px;
}

.small-desc {
   display: none;
}

/* ========== WHITEBOARD ========== */
.whiteBoard {
   background-image: radial-gradient(circle at center center, #ffffff, #556b2f),
      repeating-radial-gradient(circle at center center, #ffffff, #ffffff, 32px, transparent 64px, transparent 32px);
   background-blend-mode: multiply;
   background-color: #556b2f;
   -webkit-box-shadow: -0.5px -10px 3px -4.5px #33333347;
   -moz-box-shadow: -0.5px -10px 3px -4.5px #33333347;
   box-shadow: -0.5px -10px 3px -4.5px #33333347;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-direction: column;
   border-bottom: 2px solid #fff;
}

/* ========== FORMULARIO ========== */
.invalid-feedback {
   background: #fff;
   border-radius: 5px;
   padding: 10px;
}

/* ========== FOOTER ========== */
.bg-body-tertiary {
   background-color: #556B2F !important;
   border-top: 1px solid #fff;
}

/* ========== SCROLL ANCHORS ========== */
#quienSoy::before {
   content: "";
   display: block;
   height: 100px;
   margin: -50px 0 0;
}

#servicios::before {
   content: "";
   display: block;
   height: 90px;
   margin: -90px 0 0;
}

#contacto::before {
   content: "";
   display: block;
   height: 100px;
   margin: -20px 0 0;
}

/* ========== MEDIA QUERIES ========== */

/* Desktop */
@media (min-width: 992px) {
   .container,
   .container-lg,
   .container-md,
   .container-sm {
      max-width: 1041px;
   }
}

/* Mobile */
@media (max-width: 600px) {
   .quiensoy {
      padding: 10px;
   }

   .contacto {
      padding: 0px;
   }

   .large-desc {
      display: none;
   }

   .small-desc {
      display: block;
   }

   .slide-animation {
      width: 200px;
      height: 200px;
      float: center;
      margin-right: 0%;
   }

   .carousel-caption {
      font-size: 10px;
   }

   .contact-container {
      margin: 0px;
   }

   .programming {
      width: 300px;
      height: 300px;
   }

   #myCarousel {
      /* margin-top:50px;
      display:none; */
   }

   #servicios {
      margin-top: 25px;
   }

   #web-nav {
      display: none !important;
   }

   .mobile-nav {
      display: block !important;
   }

   .mobile-container {
      margin: 10px !important;
   }

   .card {
      margin-bottom: 20px;
   }

   .servicios,
   .quienSoy {
      padding: 10px;
   }
}

/* ========== PERFORMANCE OPTIMIZATIONS ========== */

/* Reducir motion para usuarios que lo prefieren */
@media (prefers-reduced-motion: reduce) {
   html {
      scroll-behavior: auto;
   }

   *,
   *::before,
   *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
   }
}
