/* ============================================================
   NoFeeOrders — capa de tema propio
   Se carga al final: refina el diseño sin tocar la estructura.
   Compatible con carrito, PWA y modo claro/oscuro del sistema.
   ============================================================ */

:root {
  --nfo-amber: #E8920C;
  --nfo-amber-ink: #B36F05;
  --nfo-card: #FFFFFF;
  --nfo-ink: #1C1813;
  --nfo-soft: #6B6153;
  --nfo-line: #ECE5D7;
  --nfo-radius: 16px;
  --nfo-shadow: 0 4px 18px rgba(20, 18, 15, .07);
  --nfo-shadow-hover: 0 12px 32px rgba(20, 18, 15, .14);
}
body.theme-dark {
  --nfo-card: #1E1B16;
  --nfo-ink: #F3EEE4;
  --nfo-soft: #A99F8E;
  --nfo-line: #2E2A22;
  --nfo-amber: #F5B23C;
  --nfo-amber-ink: #F5B23C;
  --nfo-shadow: 0 6px 22px rgba(0, 0, 0, .40);
  --nfo-shadow-hover: 0 14px 36px rgba(0, 0, 0, .55);
}

/* ---- Tarjetas de plato ---- */
.modern_item_card {
  background: var(--nfo-card) !important;
  border: 1px solid var(--nfo-line) !important;
  border-radius: var(--nfo-radius) !important;
  box-shadow: var(--nfo-shadow) !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
  overflow: hidden;
}
.modern_item_card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--nfo-shadow-hover) !important;
  border-color: color-mix(in srgb, var(--primaryColor) 40%, var(--nfo-line)) !important;
}
.item_img,
.item_img_box {
  border-radius: 13px !important;
  overflow: hidden;
}

/* ---- Título y descripción ---- */
.item_title {
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
  color: var(--nfo-ink) !important;
}
.item_desc {
  color: var(--nfo-soft) !important;
  line-height: 1.45 !important;
}

/* ---- Precio en ámbar, cifras alineadas ---- */
.item_price,
.item_price .pri,
.item_price span,
.priceGroup {
  color: var(--nfo-amber-ink) !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums;
}

/* ---- Botón "Agregar" con la marca ---- */
.add_btn {
  background: var(--primaryColor) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 10px color-mix(in srgb, var(--primaryColor) 35%, transparent) !important;
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease !important;
}
.add_btn:hover {
  transform: translateY(-1px) scale(1.03) !important;
  filter: brightness(1.05);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--primaryColor) 45%, transparent) !important;
}
.add_btn:active { transform: scale(.96) !important; }

/* ---- Insignia "Nuevo" ---- */
.new_badge {
  background: var(--nfo-amber) !important;
  color: #2a1a00 !important;
  font-weight: 800 !important;
  letter-spacing: .03em;
  text-transform: uppercase;
  font-size: 10px !important;
  padding: 3px 8px !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--nfo-amber) 40%, transparent) !important;
}

/* ---- Chips de categoría ---- */
.topCategory .nav-item .nav-link,
.itemList .nav-link {
  border-radius: 999px !important;
  font-weight: 600 !important;
  transition: background .15s ease, color .15s ease !important;
}
.topCategory .nav-item.active .nav-link,
.itemList .nav-item.active .nav-link {
  background: var(--primaryColor) !important;
  color: #fff !important;
  box-shadow: 0 3px 12px color-mix(in srgb, var(--primaryColor) 35%, transparent) !important;
}

/* ---- Hero / banner del restaurante ---- */
.user_home_banner {
  border-radius: 0 0 22px 22px !important;
}

/* ---- Barra/carrito flotante ---- */
.shopping_cart,
.top_cart_order {
  border-radius: 14px !important;
}

/* ---- Botones secundarios coherentes con la marca ---- */
.btn-secondary {
  background: var(--primaryColor) !important;
  border-color: var(--primaryColor) !important;
}

/* ---- Foco visible accesible ---- */
.add_btn:focus-visible,
.nav-link:focus-visible,
.btn:focus-visible {
  outline: 2px solid var(--nfo-amber) !important;
  outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
  .modern_item_card,
  .add_btn { transition: none !important; }
}
