/* Ofertas y super ofertas - agregado aislado para no tocar los estilos base */
.day-cell.has-offer,
.day-cell.has-super-offer {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 5px 3px 7px;
}

.day-cell.has-offer {
  box-shadow: 0 0 0 1px rgba(139, 77, 255, .32) inset, 0 8px 18px rgba(113, 57, 255, .12);
}

.day-cell.has-super-offer {
  box-shadow: 0 0 0 1px rgba(255, 191, 55, .52) inset, 0 10px 22px rgba(224, 151, 0, .18);
}

.day-cell.has-offer::before,
.day-cell.has-super-offer::before {
  content: '';
  position: absolute;
  inset: 2px;
  border-radius: inherit;
  pointer-events: none;
  opacity: .42;
  z-index: 0;
  animation: offerDateGlow 5s ease-in-out infinite;
}

.day-cell.has-offer::before {
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.95), transparent 18%),
    radial-gradient(circle at 78% 26%, rgba(218,190,255,.86), transparent 20%),
    radial-gradient(circle at 68% 78%, rgba(159,93,255,.62), transparent 26%),
    linear-gradient(135deg, rgba(126, 66, 255, .44), rgba(199, 97, 255, .18));
}

.day-cell.has-super-offer::before {
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.98), transparent 18%),
    radial-gradient(circle at 82% 21%, rgba(255,243,167,.95), transparent 22%),
    radial-gradient(circle at 70% 82%, rgba(255,184,45,.72), transparent 28%),
    linear-gradient(135deg, rgba(255,196,50,.56), rgba(255,235,145,.22));
}

.day-cell.has-offer::after,
.day-cell.has-super-offer::after {
  content: '';
  position: absolute;
  top: -42%;
  left: -78%;
  width: 46%;
  height: 184%;
  transform: rotate(24deg);
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.18) 14%, rgba(255,255,255,.88) 50%, rgba(255,255,255,.18) 86%, transparent 100%);
  filter: blur(.2px);
  opacity: 0;
  z-index: 1;
  pointer-events: none;
  animation: offerDateSlash 5s ease-in-out infinite;
}

.day-cell.has-super-offer::after {
  background: linear-gradient(90deg, transparent 0%, rgba(255,249,202,.20) 14%, rgba(255,255,255,.96) 48%, rgba(255,226,94,.30) 86%, transparent 100%);
}

.day-number {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.45em;
  font-weight: 1000;
}

.day-offer-badge {
  position: relative;
  z-index: 2;
  display: block;
  max-width: 100%;
  margin-top: 1px;
  padding: 1px 3px;
  border-radius: 999px;
  font-size: 8.5px;
  line-height: 1.15;
  font-weight: 1000;
  letter-spacing: .02em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #07553a;
  background: rgba(255,255,255,.80);
  box-shadow: 0 4px 12px rgba(2, 20, 35, .10);
}

.day-cell.has-super-offer .day-offer-badge {
  color: #4b3000;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,230,116,.92));
  box-shadow: 0 5px 16px rgba(220, 140, 0, .22);
}

.slot-btn.has-date-offer {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.slot-btn.has-date-offer::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.65) 42%, transparent 66%);
  transform: translateX(-120%);
  animation: offerSweep 2.4s ease-in-out infinite;
  pointer-events: none;
  z-index: -1;
}

.slot-btn.has-date-offer.slot-offer {
  border-color: rgba(24,185,118,.62) !important;
  box-shadow: 0 16px 36px rgba(24,185,118,.14);
}

.slot-btn.has-date-offer.slot-super-offer {
  border-color: rgba(255,190,54,.78) !important;
  box-shadow: 0 18px 42px rgba(255,185,40,.24), 0 0 0 1px rgba(255,230,130,.38) inset;
}

.slot-offer-copy {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 5px;
  color: #08724a !important;
  font-size: .82rem !important;
  font-weight: 900;
}

.slot-btn.slot-super-offer .slot-offer-copy {
  color: #93620d !important;
}

.slot-price.has-discount {
  display: grid;
  justify-items: end;
  gap: 2px;
}

.slot-old-price {
  color: #8a97a6;
  font-size: .82rem;
  font-weight: 800;
  text-decoration: line-through;
  text-decoration-thickness: 2px;
}

.slot-new-price {
  color: #0a6947;
  font-size: 1.04rem;
  font-weight: 1000;
}

.slot-btn.slot-super-offer .slot-new-price {
  color: #956000;
}

.offer-admin-panel {
  margin: 16px 0 0;
  padding: 16px;
  border: 1px solid rgba(12, 104, 140, .12);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(239, 249, 252, .78));
  box-shadow: 0 18px 40px rgba(7, 32, 50, .06);
}

.offer-admin-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.offer-admin-head h3 {
  margin: 0 0 4px;
}

.offer-admin-head p {
  margin: 0;
  color: #647587;
  font-size: .92rem;
  line-height: 1.5;
}

.offer-admin-panel .admin-form {
  margin-top: 12px;
}

.offer-slot-choices {
  margin-top: 2px;
}

.offer-slot-choices-title {
  margin: 0 0 8px;
  color: #456174;
  font-size: .86rem;
  font-weight: 900;
}

.offer-slot-choices-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
}

.offer-slot-choice {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px 11px;
  border: 1px solid rgba(12, 104, 140, .12);
  border-radius: 14px;
  background: rgba(255,255,255,.74);
  cursor: pointer;
}

.offer-slot-choice input {
  margin-top: 3px;
  accent-color: #7f4dff;
}

.offer-slot-choice span {
  display: grid;
  gap: 2px;
}

.offer-slot-choice strong {
  color: #17384a;
  font-size: .86rem;
}

.offer-slot-choice small {
  color: #66798a;
  font-size: .78rem;
  font-weight: 800;
}

.offer-mini-note {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 4px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(24,185,118,.10);
  color: #08724a;
  font-size: .74rem;
  font-weight: 900;
}

.offer-mini-note.super {
  background: rgba(255,197,52,.18);
  color: #8a5a00;
}

.admin-offer-price {
  display: grid;
  gap: 2px;
}

.admin-offer-price s {
  color: #8d99a7;
  font-size: .78rem;
}

.admin-offer-price strong {
  color: #08724a;
}

.admin-offer-price.super strong {
  color: #936000;
}

.status-badge.offer,
.status-badge.super-offer {
  margin-left: 4px;
}

.status-badge.offer {
  background: rgba(24,185,118,.12);
  color: #08724a;
}

.status-badge.super-offer {
  background: rgba(255,197,52,.22);
  color: #8a5a00;
}

@keyframes offerDateGlow {
  0%, 78%, 100% { opacity: .34; filter: saturate(1); }
  84% { opacity: .72; filter: saturate(1.35); }
  90% { opacity: .48; filter: saturate(1.1); }
}

@keyframes offerDateSlash {
  0%, 72% { left: -78%; opacity: 0; }
  78% { opacity: .95; }
  88% { left: 132%; opacity: 0; }
  100% { left: 132%; opacity: 0; }
}

@keyframes offerSweep {
  0% { transform: translateX(-120%); opacity: 0; }
  20% { opacity: .75; }
  52% { transform: translateX(120%); opacity: 0; }
  100% { transform: translateX(120%); opacity: 0; }
}

@media (max-width: 680px) {
  .day-offer-badge { font-size: 7.5px; padding-inline: 2px; }
  .slot-price.has-discount { justify-items: start; }
  .offer-admin-panel { padding: 13px; border-radius: 18px; }
}
