/* ============ Toques extra: animaciones y hovers ============ */

/* Reveal on scroll */
.ms-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}
.ms-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .ms-reveal { opacity: 1; transform: none; transition: none; }
}

/* Botones: leve escala al presionar + brillo al hover */
.marksystem-quote-button, .ms-cta-quote, .ms-manual-button, .ms-unete-form__submit {
  transition: background .2s ease, box-shadow .25s ease, transform .18s ease !important;
}
.marksystem-quote-button:hover, .ms-cta-quote:hover, .ms-manual-button:hover, .ms-unete-form__submit:hover {
  transform: translateY(-3px);
}
.marksystem-quote-button:active, .ms-cta-quote:active, .ms-unete-form__submit:active {
  transform: translateY(0) scale(.98);
}

/* Links con subrayado animado */
.ms-footer__list a, .ms-product-slide__cta, .ms-vendido-card__cta {
  position: relative;
}

/* Tarjetas: transición más suave donde ya existe hover */
.ms-product-slide, .ms-vendido-card, .ms-testimonial-slide, .ms-unete-option, article.ms-vendido-card {
  transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease, border-color .3s ease !important;
}
.ms-unete-option:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(29,36,32,.09);
  border-color: transparent;
}

/* Imágenes: zoom suave al hover dentro de tarjetas con overflow oculto */
.ms-product-slide__media, .ms-vendido-card__media, .ms-pgallery__slide {
  overflow: hidden;
}
.ms-product-slide__media img, .ms-vendido-card__media img {
  transition: transform .5s cubic-bezier(.22,.61,.36,1);
}
.ms-product-slide:hover .ms-product-slide__media img,
.ms-vendido-card:hover .ms-vendido-card__media img {
  transform: scale(1.06);
}

/* Acordeones FAQ: transición al abrir */
.ms-faq {
  transition: box-shadow .25s ease, border-color .25s ease;
}
.ms-faq[open] {
  box-shadow: 0 10px 28px rgba(29,36,32,.06);
}
.ms-faq summary {
  cursor: pointer;
  transition: color .2s ease;
}
.ms-faq summary:hover {
  color: var(--ms-primary);
}
.ms-faq__answer {
  animation: ms-faq-fade .35s ease;
}
@keyframes ms-faq-fade {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Chips / badges: leve pulso al aparecer en hero */
.ms-vendido-card__badge svg {
  transition: transform .3s ease;
}
.ms-vendido-card:hover .ms-vendido-card__badge svg {
  transform: rotate(-8deg) scale(1.1);
}

/* Inputs: foco más vistoso */
.ms-form-input:focus, .ms-form-select:focus, .ms-form-textarea:focus,
.ms-unete-form__field:focus {
  outline: none;
  border-color: var(--ms-primary) !important;
  box-shadow: 0 0 0 3px var(--ms-primary-soft);
}

/* Logo header: leve rebote al hover */
.ms-header__logo img { transition: transform .25s ease; }
.ms-header__logo:hover img { transform: scale(1.04); }

/* Scroll suave global ya viene por html{scroll-behavior:smooth} en base.css */

/* Grid reutilizable para listados de productos fuera del carrusel */
.ms-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 28px;
  margin-top: 34px;
}
.ms-products-grid .ms-product-slide { height: 100%; }

/* Honeypot anti-spam: campo invisible para humanos, visible para bots */
.ms-form-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
