.ets1-section,
.ets1-section * {
  box-sizing: border-box;
}

.ets1-section {
  --ets1-text:   #101010;
  --ets1-muted:  #6b6b72;
  --ets1-dot:    #d6d6d6;
  --ets1-active: #132060;
  --ets1-star:   #f2c230;
  --ets1-price:  #e11d2e;
  --ets1-radius: 12px;

  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 20px 34px;
  color: var(--ets1-text);
  background: transparent;
  overflow: hidden;
}

/* ---------- Header ---------- */
.ets1-header {
  text-align: center;
  margin: 0 auto 26px;
  padding: 0 12px;
  max-width: 820px;
}

.ets1-header-title {
  margin: 0 0 10px !important;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif !important;
  font-size: 25px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #090909 !important;
  letter-spacing: 0 !important;
}

.ets1-header-subtitle {
  margin: 0 !important;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  color: #AFAFAF !important;
  font-weight: 400 !important;
}

/* ---------- Mensaje vacío ---------- */
.ets1-empty {
  text-align: center;
  color: var(--ets1-muted);
  padding: 32px 16px;
  font-size: 14px;
}

/* ---------- Slider / Grid ---------- */
.ets1-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
}

.ets1-slider.is-dragging { cursor: grabbing; }

.ets1-track {
  display: flex;
  gap: 20px;
  will-change: transform;
  transition: transform 520ms cubic-bezier(.22,.61,.36,1);
}

.ets1-slider.is-dragging .ets1-track { transition: none; }

.ets1-slide {
  flex: 0 0 calc((100% - 40px) / 3);
  min-width: 0;
}

/* Layout GRID: cuando hay filtro, expande las cards en una rejilla. */
.ets1-layout-grid .ets1-slider {
  cursor: default;
  overflow: visible;
}
.ets1-layout-grid .ets1-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px 20px;
  transform: none !important;
  transition: none;
}
.ets1-layout-grid .ets1-slide { flex-basis: auto; }

/* ---------- Card ---------- */
.ets1-card {
  width: 100%;
  background: #ffffff;
}

.ets1-image-wrap {
  display: block;
  width: 100%;
  position: relative;
  border-radius: var(--ets1-radius) !important;
  overflow: hidden !important;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

.ets1-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.74 / 1;
  object-fit: cover;
  border-radius: var(--ets1-radius) !important;
  pointer-events: none;
  -webkit-user-drag: none;
  transition: transform 380ms ease;
}

.ets1-image-wrap:hover .ets1-image {
  transform: scale(1.04);
}

/* ---------- Badge de descuento ---------- */
.ets1-badge-discount {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  background: #e11d2e;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  border-radius: 999px;
  letter-spacing: .02em;
  box-shadow: 0 3px 10px rgba(225, 29, 46, .35);
  pointer-events: none;
  user-select: none;
}

.ets1-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 400 !important;
  color: var(--ets1-muted) !important;
}

.ets1-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  white-space: nowrap;
}

.ets1-meta-item i {
  font-size: 13px;
  color: #777777;
  flex: 0 0 auto;
}

.ets1-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 400 !important;
}

.ets1-rating strong { font-weight: 700 !important; }

.ets1-rating i {
  font-size: 14px;
  color: var(--ets1-star);
}

.ets1-title {
  margin: 12px 0 6px !important;
  font-size: 18px !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  color: var(--ets1-text) !important;
}

.ets1-price-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-top: 6px;
}

.ets1-price-prefix {
  font-size: 12px;
  font-weight: 600 !important;
  color: var(--ets1-muted) !important;
}

.ets1-price-current {
  font-size: 20px;
  font-weight: 800 !important;
  letter-spacing: .01em;
  color: var(--ets1-price) !important;
}

.ets1-price-old {
  margin-left: 2px;
  font-size: 12px;
  font-weight: 600 !important;
  text-decoration: line-through;
  color: #8a8a8a !important;
}

.ets1-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  padding: 10px 18px !important;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background: var(--ets1-active) !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  letter-spacing: .01em !important;
  transition: transform 220ms ease, background 220ms ease, box-shadow 220ms ease !important;
  box-shadow: 0 6px 16px rgba(19, 32, 96, .18) !important;
}

.ets1-link i { font-size: 13px; }

.ets1-link:hover {
  transform: translateY(-2px);
  background: #1a2a7a !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(19, 32, 96, .26) !important;
}

.ets1-link:hover i { transform: translateX(2px); }
.ets1-link i { transition: transform 220ms ease; }

/* ---------- Dots ---------- */
.ets1-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 28px;
}

.ets1-dot {
  width: 12px;
  height: 12px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: var(--ets1-dot);
  cursor: pointer;
  transition: background 220ms ease, transform 220ms ease;
}

.ets1-dot.is-active {
  background: var(--ets1-active);
  transform: scale(1.04);
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
  .ets1-section { max-width: 760px; }
  .ets1-slide   { flex-basis: calc((100% - 18px) / 2); }
  .ets1-track   { gap: 18px; }
  .ets1-layout-grid .ets1-track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
}

@media (max-width: 620px) {
  .ets1-section   { padding: 10px 12px 28px !important; }
  /* En móvil el slider muestra 1 card completa + vista parcial de la siguiente */
  .ets1-slide     { flex-basis: min(calc(100vw - 40px), 340px); }
  .ets1-track     { gap: 14px; }
  .ets1-title     { font-size: 17px !important; }
  .ets1-price-current { font-size: 18px !important; }
  .ets1-layout-grid .ets1-track { grid-template-columns: 1fr; gap: 20px; }
  .ets1-header-title    { font-size: 22px !important; }
  .ets1-header-subtitle { font-size: 15px !important; }
  .ets1-badge-discount  { font-size: 12px; padding: 4px 8px; }
  /* Asegurar que el slider no haga overflow oculto en el contenedor padre */
  .ets1-slider { overflow: visible; }
  .ets1-section { overflow: hidden; }
}

/* ---------- Botón Ver Todos ---------- */
.ets1-clear-all-wrap {
  margin-top: 16px;
}

.ets1-clear-all-subtle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #6b6b72;
  background: transparent;
  border: 1px solid #d6d6d6;
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  transition: all 200ms ease;
}

.ets1-clear-all-subtle:hover {
  background: #f5f5f5;
  color: #101010;
  border-color: #b0b0b0;
}

.ets1-view-all-wrap {
  text-align: center;
  margin-top: 30px;
  padding: 0 12px;
}

.ets1-view-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--ets1-active);
  background: transparent;
  border: 2px solid var(--ets1-active);
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  transition: all 250ms ease;
  letter-spacing: .01em;
}

.ets1-view-all:hover {
  background: var(--ets1-active);
  color: #ffffff;
  box-shadow: 0 6px 20px rgba(19, 32, 96, .22);
  transform: translateY(-2px);
}

.ets1-view-all i {
  font-size: 14px;
}

.ets1-filter-hint {
  margin: 14px 0 0;
  font-size: 13px;
  color: #a0a0a0;
  font-weight: 400;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
}

/* Touch-friendly dots */
.ets1-dot {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  position: relative;
}

@media (max-width: 620px) {
  .ets1-dots { gap: 10px; }
  .ets1-dot {
    width: 14px;
    height: 14px;
  }
  .ets1-dot::after {
    content: '';
    position: absolute;
    inset: -10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ets1-track,
  .ets1-image,
  .ets1-link,
  .ets1-dot { transition: none !important; }
}
