/* Correcciones sobre la maqueta original. Se mantiene la identidad visual. */
html { scroll-padding-top: 90px; }
body { overflow-x: hidden; }
img { max-width: 100%; }
.mc-wa img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  display: block;
}
textarea:focus { outline: none; border-color: #0E4FA3 !important; box-shadow: 0 0 0 3px rgba(14,79,163,.12); }

.mc-menu-button,
.mc-mobile-only { display: none; }

.mc-menu-button {
  width: 44px;
  height: 44px;
  padding: 9px;
  border: 1px solid #D9E2EC;
  border-radius: 9px;
  background: #fff;
  cursor: pointer;
}

.mc-menu-button span {
  display: block;
  height: 2px;
  margin: 5px 0;
  background: #0C1B2A;
  transition: transform .2s ease, opacity .2s ease;
}

.mc-menu-button[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mc-menu-button[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.mc-menu-button[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mc-field-label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  font-size: 0;
}

.mc-field-label input,
.mc-field-label select,
.mc-field-label textarea { width: 100%; }

/* El carrusel debe continuar incluso con el cursor encima o si Windows reduce animaciones. */
.mc-logos-track {
  animation: mcMarquee 24s linear infinite !important;
  animation-play-state: running !important;
  will-change: transform;
}

.mc-logos-mask:hover .mc-logos-track {
  animation-play-state: running !important;
}

@media (max-width: 920px) {
  html { scroll-padding-top: 72px; }

  header > div {
    min-height: 72px;
    padding: 9px 16px !important;
    gap: 12px !important;
    flex-wrap: wrap;
  }

  header img { height: 44px !important; }
  .mc-menu-button { display: block; margin-left: auto; }

  header nav {
    display: none !important;
    order: 10;
    width: 100%;
    flex: 0 0 100% !important;
    margin-left: 0 !important;
    padding: 8px 0 4px;
    flex-direction: column;
    align-items: stretch;
    gap: 0 !important;
  }

  header nav.mc-menu-open { display: flex !important; }

  header nav a {
    padding: 11px 4px;
    border-bottom: 1px solid #EAEFF5;
  }

  header nav .mc-mobile-only {
    display: block;
    color: #0E4FA3;
    font-weight: 700;
    text-decoration: none;
  }

  header > div > div[style*="flex-direction:column"],
  header > div > a.mc-cta { display: none !important; }

  .mc-home section > div[style*="grid-template-columns"],
  .mc-home section div[style*="grid-template-columns"],
  .mc-home footer div[style*="grid-template-columns"],
  .mc-catalog section > div[style*="grid-template-columns"],
  .mc-catalog section div[style*="grid-template-columns"],
  .mc-catalog footer div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }

  .mc-home section { padding-left: 18px !important; padding-right: 18px !important; }
  .mc-catalog section { padding-left: 16px !important; padding-right: 16px !important; }

  aside {
    position: static !important;
    top: auto !important;
  }

  .mc-catalog section[style*="padding:36px"] > div {
    gap: 30px !important;
  }

  footer > div > div[style*="grid-template-columns"] { gap: 34px !important; }
}

@media (min-width: 621px) and (max-width: 920px) {
  .mc-catalog sc-if[value="{{ notEmpty }}"] > div[style*="grid-template-columns"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .mc-home section[style*="padding:72px"] { padding-top: 54px !important; padding-bottom: 62px !important; }
  .mc-home section[style*="padding:88px"] { padding-top: 66px !important; padding-bottom: 66px !important; }

  h1 { font-size: clamp(36px, 11vw, 50px) !important; }
  h2 { font-size: clamp(28px, 8vw, 38px) !important; }

  .mc-home [style*="grid-template-columns:repeat(4,1fr)"],
  .mc-home [style*="grid-template-columns:repeat(3,1fr)"],
  .mc-catalog [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
  }

  .mc-home [style*="font-size:19px"] { font-size: 17px !important; }
  .mc-home [style*="padding:28px"] { padding: 22px !important; }

  .mc-logos-track { gap: 36px !important; }
  .mc-logo { height: 64px !important; }

  footer { padding-left: 16px !important; padding-right: 16px !important; }
  footer > div > div:last-child { align-items: flex-start !important; }

  .mc-wa {
    right: 16px !important;
    bottom: 16px !important;
    width: 54px !important;
    height: 54px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .mc-logos-track { animation: mcMarquee 60s linear infinite !important; }
}
