/* Ofertas: etiquetas de descuento, precio tachado y pantallas de ofertas (se carga en todas las páginas) */
.tag-oferta { display: inline-block; padding: 2px 9px; border-radius: 99px; font-size: .75rem; font-weight: 700; line-height: 1.5;
  background: linear-gradient(180deg, #ff6a5c, #e6283f); color: #fff; white-space: nowrap; vertical-align: middle; }
.antes { color: var(--suave); text-decoration: line-through; font-weight: 400; }
.precio-of { color: var(--verde); font-weight: 600; }

/* etiqueta sobre la foto del producto */
/* (el selector lleva .foto delante para ganarle a «.foto span», que es el estilo de la letra grande de los productos sin imagen) */
.foto .oferta-tag, .oferta-tag { position: absolute; top: 10px; right: 10px; left: auto; z-index: 2; padding: 4px 11px; border-radius: 99px; font-size: .85rem; font-weight: 700;
  line-height: 1.4; background: linear-gradient(180deg, #ff6a5c, #e6283f); color: #fff; text-shadow: none; box-shadow: 0 2px 10px rgba(0,0,0,.4); }
.prod .precio .antes { display: block; font-size: .85rem; line-height: 1.1; }
.prod .precio.con-oferta { color: var(--verde); }
.hasta-of { color: #ffc857; font-size: .8rem; }

/* pantalla Ofertas */
.promos { display: flex; gap: 10px; flex-wrap: wrap; }
.promo { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 14px; border: 1px solid #e6283f;
  background: rgba(230,40,63,.1); }
.promo b { font-size: 1.05rem; }
.promo small { color: var(--suave); }
.encabezado-ofertas { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; justify-content: space-between; }
.encabezado-ofertas .btn-sec { margin: 0; }
.sin-ofertas { display: grid; gap: 16px; justify-items: center; text-align: center; padding: 40px 20px; color: var(--suave); }

/* administración de ofertas (Productos > Ofertas) */
.form-oferta { align-items: end; }
.form-oferta .btn-pri { align-self: end; }
.form-oferta .campo-tipo, .form-oferta .campo-prod { grid-column: 1 / -1; }
.of-estado { display: inline-block; padding: 3px 12px; border-radius: 99px; font-size: .82rem; font-weight: 600; border: 1px solid; }
.of-estado.vigente { color: var(--verde); } .of-estado.programada { color: #ffc857; }
.of-estado.pausada, .of-estado.vencida { color: var(--suave); }
td.of-desc { font-weight: 700; color: var(--verde); white-space: nowrap; }
.acciones .btn-sec.peq { height: 38px; }

/* Mis compras */
.compra-vacia { display: grid; gap: 16px; justify-items: center; text-align: center; padding: 40px 20px; color: var(--suave); }
.productos-ped .nom-p .tag-oferta { margin-left: 6px; }
.productos-ped .antes { font-size: .85rem; margin-right: 6px; }
.recomprar { margin: 0; }
.aviso-compra { color: #ffc857; margin: 0; }

@media (max-width: 768px) {
  .foto .oferta-tag, .oferta-tag { top: 8px; right: 8px; font-size: .72rem; padding: 3px 9px; }
  .prod .precio .antes { font-size: .75rem; }
}
