/* ==========================================================================
   TEMA KORALTEC - ESTILOS RESPONSIVE
   --------------------------------------------------------------------------
   Todos los bloques @media del tema, agrupados por archivo de origen.
   Cada bloque indica el archivo y la linea original donde vivia.
   Este archivo se carga DESPUES de style.css (raiz) para respetar la cascada.
   ========================================================================== */

/* ==========================================================================
   ARCHIVO: normativas.css - Página de normativas
   ========================================================================== */
/* normativas.css (linea 18) -> .normativas-banner__image */
@media (max-width: 767px) {
    .normativas-banner__image {
        height: clamp(220px, 50vw, 320px);
    }
}

/* normativas.css (linea 140) -> .normativas-video */
@media (max-width: 991px) {
    .normativas-video {
        min-height: 320px;
        margin-bottom: 20px;
    }
}

/* normativas.css (linea 173) -> .normativas-gallery */
@media (max-width: 991px) {
    .normativas-gallery {
        min-height: 320px;
    }
}

/* normativas.css (linea 250) -> .normativas-related .swiper-wrapper */
@media (min-width: 768px) {
    .normativas-related .swiper-wrapper {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }

    .normativas-related .swiper-slide {
        width: 100% !important;
        flex-shrink: unset;
    }

    .normativas-related .swiper-pagination {
        display: none;
    }
}


/* ==========================================================================
   ARCHIVO: our-solutions-slide.css
   ========================================================================== */

/* our-solutions-slide.css - media query 1 */
@media (max-width: 980px) {
    .solution-panel.active {
      grid-template-columns: 1fr;
      gap: 20px;
    }
  
    .solutions-image-wrap {
      justify-content: center;
    }
  
    .solutions-info p {
      max-width: 100%;
    }
  
    .plus-btn {
      margin-left: 0;
    }
  }

/* our-solutions-slide.css - media query 2 */
@media (max-width: 768px) {
    .solutions-section {
      padding: 46px 0 28px;
    }
  
    .solutions-head {
      gap: 16px;
      margin-bottom: 24px;
    }
  
    .solutions-head h2 {
      font-size: 16px;
    }
  
    .solutions-topbar {
      flex-direction: column;
      align-items: flex-start;
      gap: 18px;
    }
  
    .solutions-tabs {
      gap: 10px;
    }
  
    .tab {
      font-size: 15px;
    }
  
    .tab-divider {
      height: 18px;
    }
  
    .solutions-link {
      font-size: 15px;
    }
  
    .solutions-info h3 {
      font-size: 18px;
    }
  
    .solutions-footer {
      gap: 14px;
    }
  
    .solutions-nav {
      gap: 16px;
    }
  }
/* ==========================================================================
   ARCHIVO: our-applications.css
   ========================================================================== */

/* our-applications.css - media query 1 */
@media (max-width: 768px) {
    .applications-section {
      padding: 34px 0 48px;
    }
  
    .applications-heading {
      font-size: 18px;
      margin-bottom: 26px;
    }
  
    .application-card {
      height: 220px;
    }
  
    .application-card h3 {
      font-size: 19px;
    }
  }

/* our-applications.css - media query 2 */
@media (max-width: 520px) {
    .application-card {
      height: 220px;
    }
  }
/* ==========================================================================
   ARCHIVO: why-koraltec.css
   ========================================================================== */

/* why-koraltec.css - media query 1 */
@media (max-width: 1280px) {
  .why-koraltec__intro h3 {
    font-size: 24px;
    margin-bottom: 38px;
  }

  .why-koraltec__intro p {
    font-size: 21px;
  }

  .why-card h4 {
    font-size: 24px;
  }

  .why-card p {
    font-size: 19px;
  }
}

/* why-koraltec.css - media query 2 */
@media (max-width: 980px) {
  .why-koraltec__intro {
    margin-bottom: 42px;
  }
}

/* why-koraltec.css - media query 3 */
@media (max-width: 768px) {
  .why-koraltec {
    padding: 42px 0 54px;
  }

  .why-koraltec__head {
    gap: 14px;
    margin-bottom: 30px;
  }

  .why-koraltec__head h2 {
    font-size: 15px;
    white-space: normal;
  }

  .why-koraltec__intro h3 {
    font-size: 20px;
    margin-bottom: 24px;
  }

  .why-koraltec__intro p {
    font-size: 17px;
    line-height: 1.35;
  }

  .why-card {
    min-height: 210px;
    padding: 24px 16px;
  }

  .why-card__icon {
    width: 54px;
    height: 54px;
    margin-bottom: 14px;
  }

  .why-card h4 {
    font-size: 21px;
  }

  .why-card p {
    font-size: 16px;
  }
}
/* ==========================================================================
   ARCHIVO: projects-slider.css
   ========================================================================== */

/* projects-slider.css - media query 1 */
@media (max-width: 1200px) {
  .projects-slider__content {
    grid-template-columns: 1fr;
  }

  .projects-slider__intro {
    min-height: auto;
    justify-content: flex-start;
  }

  .projects-slider__progress {
    width: 100%;
  }
}

/* projects-slider.css - media query 2 */
@media (max-width: 900px) {
  .project-card {
    height: 320px;
  }
}

/* projects-slider.css - media query 3 */
@media (max-width: 768px) {
  .projects-slider {
    padding: 32px 0 42px;
  }

  .projects-slider__head {
    gap: 12px;
    margin-bottom: 20px;
  }

  .projects-slider__head h2 {
    font-size: 16px;
    white-space: normal;
  }

  .projects-slider__nav {
    margin-bottom: 18px;
  }

  .slider-arrow {
    font-size: 36px;
  }

  .projects-slider__intro h3 {
    font-size: 22px;
  }

  .project-card {
    height: 260px;
    border-radius: 18px;
  }

  .project-card__play-circle {
    width: 72px;
    height: 72px;
  }

  .project-card__play-icon {
    border-top-width: 16px;
    border-bottom-width: 16px;
    border-left-width: 28px;
    margin-left: 8px;
  }

  .projects-slider__progress {
    margin-top: 28px;
  }
}
/* ==========================================================================
   ARCHIVO: cta-advisor.css
   ========================================================================== */

/* cta-advisor.css - media query 1 */
@media (max-width: 1100px) {
  .cta-project__container {
    grid-template-columns: 1fr;
    row-gap: 22px;
  }

  .cta-project__action {
    justify-content: flex-start;
  }

  .cta-project__text p {
    max-width: 100%;
  }
}

/* cta-advisor.css - media query 2 */
@media (max-width: 768px) {
  .cta-project {
    padding: 40px 0;
  }

  .cta-project__title h2 {
    font-size: 24px;
  }

  .cta-project__text p {
    font-size: 18px;
    line-height: 1.35;
  }

  .cta-project__button {
    min-width: 100%;
    font-size: 16px;
    min-height: 54px;
  }
}
/* ==========================================================================
   ARCHIVO: footer.css - Footer
   ========================================================================== */
/* footer.css (linea 79) -> .site-footer__container */
  @media (max-width: 980px) {
    .site-footer__container {
      grid-template-columns: 1fr;
      row-gap: 24px;
      text-align: center;
    }
  
    .site-footer__brand {
      justify-content: center;
    }
  
    .site-footer__divider {
      width: 120px;
      height: 1px;
      margin: 0 auto;
    }
  
    .site-footer__contact,
    .site-footer__social {
      align-items: center;
    }
  }

/* footer.css (linea 102) -> .site-footer__container */
  @media (max-width: 768px) {
    .site-footer__container {
      padding: 28px 18px 34px;
    }
  
    .site-footer__brand img {
      max-width: 220px;
    }
  
    .site-footer__contact p,
    .site-footer__social a {
      font-size: 16px;
    }
  }


/* ==========================================================================
   ARCHIVO: woocommerce.css - Tienda / WooCommerce
   ========================================================================== */
/* woocommerce.css (linea 455) -> .innovation-grid */
@media (max-width: 768px) {
    .innovation-grid {
        grid-template-columns: 1fr;
    }
    .solutions-grid {
        grid-template-columns: 1fr;
    }
    .featured-card {
        flex-direction: column;
    }
    .featured-card__image-container,
    .featured-card__content {
        width: 100%;
        padding-left: 0;
    }
    .featured-card__title,
    .featured-card__description {
        text-align: left;
    }
    .featured-card__btn {
        align-self: flex-start;
    }
}

/* woocommerce.css (linea 479) -> .solutions-grid */
@media (min-width: 769px) and (max-width: 1024px) {
    .solutions-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* ==========================================================================
   ARCHIVO: nosotros.css - Pagina nosotros
   ========================================================================== */
/* nosotros.css (linea 62) -> .kpi-col */
@media (max-width: 767px) {
    .kpi-col {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    .kpi-col:nth-last-child(-n+2) {
        border-bottom: none;
    }
}

/* nosotros.css (linea 105) -> .propuesta-card */
@media (max-width: 991px) {
    .propuesta-card {
        padding: 24px;
    }
}


/* ==========================================================================
   ARCHIVO: main.css - Base: fuentes, variables, nav, hero, secciones, cards
   ========================================================================== */
/* main.css (linea 352) -> .nav-links */
@media (min-width: 992px) {
  .nav-links {
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* main.css (linea 559) -> .hero__left */
@media (min-width: 992px) {
  .hero__left {
    max-width: min(33vw, 430px);
  }

  .hero__right {
    margin-top: 14vh;
  }

  .hero__eyebrow {
    max-width: 20vw;
  }

  .hero__title--light,
  .hero__title--strong {
    max-width: 50vw;
    width: 50vw;
  }
}

/* main.css (linea 893) -> .products-swiper */
@media (max-width: 991px) {
  .products-swiper {
    overflow: hidden;
  }
  .products-swiper .swiper-wrapper {
    display: flex;
    gap: 0;
  }
}

/* main.css (linea 958) -> .product-card__price */
@media (min-width: 768px) {
  .product-card__price {
    border-top: none;
    border-left: 3px solid var(--orange);
    padding-top: 0;
    padding-left: 14px;
  }
}

/* main.css (linea 985) -> .hero__left */
@media (max-width: 1366px) and (min-width: 992px) {
  .hero__left {
    max-width: 380px;
  }

  .hotspot--top {
    right: 7%;
  }

  .hotspot--mid-left {
    left: 19%;
  }

  .hotspot--main {
    left: 25%;
  }

  .hotspot--bottom {
    left: 49%;
  }
}

/* main.css (linea 1008) -> .container */
@media (max-width: 1200px) {
  .container {
    width: min(calc(100% - 34px), var(--container));
    padding-left: 0;
    padding-right: 0;
  }

  .koraltec-navbar__inner {
    gap: 14px;
  }

  .nav-links {
    gap: 12px 16px;
  }

  .nav-links a {
    font-size: 0.9rem;
  }
}

/* main.css (linea 1028) -> .hero__left */
@media (max-width: 1200px) and (min-width: 992px) {
  .hero__left {
    max-width: 330px;
  }

  .hero__title--light {
    font-size: clamp(2.9rem, 5vw, 4.8rem);
  }

  .hero__title--strong {
    font-size: clamp(3rem, 5.1vw, 4.9rem);
  }

  .hotspot .tag {
    font-size: 1rem;
  }

  .hotspot--top {
    top: 14%;
    right: 4%;
  }

  .hotspot--mid-left {
    top: 31%;
    left: 15%;
  }

  .hotspot--main {
    top: 53%;
    left: 20%;
  }

  .hotspot--bottom {
    left: 42%;
    bottom: 9%;
  }
}

/* main.css (linea 1067) -> .koraltec-navbar__inner */
@media (max-width: 991px) {
  .koraltec-navbar__inner {
    gap: 12px;
  }

  .about__title {
    max-width: 760px;
  }

  .product-card__image {
    height: 340px;
    flex-shrink: 0;
  }
}

/* main.css (linea 1083) -> .hero */
@media (max-width: 991.98px) {
  .hero {
    min-height: 90svh;
    display: flex;
    align-items: center;
  }

  .hero__bg {
    object-position: center 40%;
  }

  .hero__overlay {
    background:
      linear-gradient(to bottom, rgba(255,255,255,0.02), rgba(0,0,0,0.08)),
      linear-gradient(180deg, rgba(19,16,14,0.62) 0%, rgba(19,16,14,0.42) 35%, rgba(19,16,14,0.28) 70%, rgba(19,16,14,0.18) 100%);
  }

  .hero__content {
    min-height: 0;
    padding: 0;
    width: 100%;
  }

  .hero__row {
    min-height: 0;
  }

  .hero__left {
    max-width: 480px;
    padding-top: 0;
    text-align: center;
    align-items: center;
  }

  .hero__eyebrow {
    font-size: clamp(0.92rem, 0.85rem + 0.3vw, 1.05rem);
    line-height: 1.3;
    max-width: 22ch;
    margin-bottom: clamp(22px, 3vh, 32px);
  }

  .hero__title--light,
  .hero__title--strong {
    width: auto;
    max-width: 100%;
  }

  .hero__title--light {
    font-size: clamp(2.15rem, 8vw, 3.2rem);
    line-height: 0.9;
    margin-bottom: clamp(8px, 1vh, 12px);
  }

  .hero__title--strong {
    font-size: clamp(2.55rem, 9.5vw, 3.8rem);
    line-height: 0.9;
    margin-top: clamp(14px, 2vh, 22px);
    margin-bottom: clamp(28px, 4vh, 36px);
  }

  .cta-btn {
    align-self: center;
    margin-bottom: clamp(8px, 1.5vh, 20px);
  }

  .koraltec-navbar__inner {
    gap: 10px;
    padding-top: 0;
  }

  .logo img,
  .logo .custom-logo-link img {
    width: 118px;
  }

  .koraltec-navbar__collapse {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    right: 0;
    z-index: 30;
    padding: 14px;
    border-radius: 20px;
    background: rgba(29, 43, 63, 0.95);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
  }

  .nav-links {
    gap: 8px;
    flex-wrap: nowrap;
  }

  .nav-links > li {
    width: 100%;
  }

  .nav-links .nav-link,
  .nav-links a {
    display: flex;
    align-items: center;
    min-height: 48px;
    width: 100%;
    padding: 0 14px;
    border-radius: 14px;
    font-size: 0.98rem;
    color: rgba(255, 255, 255, 0.96);
    background: transparent;
  }

  .nav-links .nav-link:hover,
  .nav-links .nav-link:focus-visible,
  .nav-links a:hover,
  .nav-links a:focus-visible {
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 1);
  }

  .nav-links__store-mobile {
    display: block;
    margin-top: 6px;
  }

  .nav-links__store-mobile .store-btn {
    background: var(--orange);
    width: 100%;
    min-height: 50px;
    justify-content: center;
    font-size: 1rem;
  }

  .koraltec-navbar .dropdown-menu {
    position: static;
    inset: auto;
    background: rgba(255, 255, 255, 0.06);
    box-shadow: none;
    border: none;
    border-radius: 12px;
    margin: 4px 0 8px;
    padding: 6px;
  }

  .koraltec-navbar .dropdown-menu .dropdown-item {
    border-radius: 10px;
    padding: 10px 14px;
  }
}

/* main.css (linea 1217) -> .container */
@media (max-width: 767px) {
  .container {
    width: min(calc(100% - 28px), var(--container));
    padding-left: 0;
    padding-right: 0;
  }

  .section-label {
    align-items: center;
  }

  .section-label span {
    font-size: 0.95rem;
  }

  .about {
    padding-bottom: 48px;
  }

  .feature-card {
    min-height: 160px;
  }

  .product-card__image {
    height: 300px;
    flex-shrink: 0;
  }


}

/* main.css (linea 1249) -> .logo img .logo .custom-logo-link img */
@media (max-width: 480px) {
  .logo img,
  .logo .custom-logo-link img {
    width: 108px;
  }

  .koraltec-navbar__collapse {
    top: calc(100% + 10px);
    padding: 12px;
    border-radius: 18px;
  }

  .nav-links .nav-link,
  .nav-links a {
    min-height: 46px;
    font-size: 0.95rem;
  }

  .hero__bg {
    object-position: 58% center;
  }

  .hero__eyebrow {
    font-size: 0.98rem;
    margin-bottom: 16px;
  }

  .cta-btn {
    padding: 0 22px;
    min-height: 50px;
    font-size: 0.98rem;
  }

  .product-card__image {
    height: 260px;
    flex-shrink: 0;
  }
}


/* ==========================================================================
   ARCHIVO: blog.css - Blog
   ========================================================================== */
/* blog.css (linea 43) -> .blog-grid */
@media (min-width: 576px) {
    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* blog.css (linea 49) -> .blog-grid */
@media (min-width: 992px) {
    .blog-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* blog.css (linea 245) -> .post-meta */
@media (max-width: 576px) {
    .post-meta {
        gap: 10px;
    }
}

/* nosotros -> .nosotros-clients__head */
@media (max-width: 991px) {
    .nosotros-clients__titles {
        text-align: center;
        width: 100%;
    }

    .nosotros-clients__head {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
}

@media (max-width: 767px) {
    .client-logo-box {
        min-height: 80px;
        padding: 16px;
    }
}

/* nosotros -> fabricacion-swiper (SOLUCIONES DISEÑADAS) */
@media (max-width: 991px) {
    .fabricacion-swiper {
        height: clamp(300px, 45vh, 460px);
    }

    .fabricacion-slide__controls {
        bottom: 18px;
    }
}

/* nosotros -> trabajos-card */
@media (max-width: 767px) {
    .trabajos-card {
        aspect-ratio: auto;
        min-height: 260px;
    }
}


/* checkout -> barra de progreso (Carrito -> Checkout -> Pedido realizado) */
@media (max-width: 575px) {
    .checkout-step__dot {
        width: 12px;
        height: 12px;
    }

    .checkout-step__line {
        width: 20px;
    }

    .checkout-step__label {
        font-size: 0.72rem;
    }
}
