/* La ventana muestra el diseño hasta la descripción; excluye la franja de precios. */
.hero .combo-carousel {
  min-width: 0;
  width: 100%;
  max-width: 550px;
  margin-inline: auto;
  padding: 15px;
  background: #fff;
  border: 1px solid #e8dfd2;
  border-radius: 8px;
  box-shadow: 0 18px 45px rgba(67, 48, 29, .09);
}
.combo-carousel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 2px 12px;
  color: #866a45;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}
.combo-carousel-heading span:last-child {
  color: #5a5044;
  white-space: nowrap;
  letter-spacing: .08em;
}
.combo-carousel-stage {
  width: 100%;
  aspect-ratio: 1254 / 1080;
  overflow: hidden;
  border: 1px solid #f0ebe3;
  background: #faf7f1;
  touch-action: pan-y;
}
.combo-carousel-stage img {
  display: block;
  width: 100%;
  height: auto;
}
.combo-carousel-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 13px 2px 9px;
}
.combo-carousel-controls button {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #c7ad86;
  border-radius: 50%;
  background: #fff;
  color: #59432b;
  font-size: 22px;
  line-height: 1;
}
.combo-carousel-controls button:hover,
.combo-carousel-controls button:focus-visible {
  background: #f4ecdf;
  outline-offset: 2px;
}
.combo-carousel-controls > span {
  color: #776d61;
  font-size: 12px;
  text-align: center;
}
.combo-carousel-links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 16px;
  border-top: 1px solid #eee5d9;
  padding: 13px 2px 1px;
  font-size: 12px;
}
.combo-carousel-links button { color: #766551; text-decoration: underline; text-underline-offset: 3px; padding: 0; border: 0; background: transparent; font: inherit; cursor: pointer; }
.combo-carousel-links a:last-child { color: #22503a; font-weight: 700; }
.combo-carousel-links a:focus-visible,.combo-carousel-links button:focus-visible { outline: 2px solid #a6814e; outline-offset: 3px; }
.combo-dialog { width: min(760px, calc(100% - 24px)); max-height: 94dvh; overflow-y: auto; padding: 18px; border: 1px solid #d4bd97; border-radius: 10px; color: #443528; background: #fffdf9; }
.combo-dialog::backdrop { background: rgba(37, 29, 22, .68); }
.combo-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.combo-dialog-heading h2 { margin: 0; font: normal 25px var(--serif); }
.combo-poster-crop { width: 100%; aspect-ratio: 1254 / 1080; overflow: hidden; background: #faf7f1; }
.combo-poster-crop img { display: block; width: 100%; height: auto; }
.combo-dialog-whatsapp { display: block; padding: 16px 10px 4px; text-align: center; color: #22503a; font-size: 14px; font-weight: 700; }
@media (max-width: 760px) {
  .hero .combo-carousel { margin-top: 35px; padding: 10px; }
  .combo-carousel-heading { margin-bottom: 9px; font-size: 9px; }
}
@media (max-width: 390px) {
  .combo-carousel-links { font-size: 11px; }
  .combo-carousel-controls > span { font-size: 11px; }
}
