/* === MIAMI BAR THEME — glass translucid cards sobre fondo Miami === */
:root[data-theme="miami"] {
  --m-pink:      #E83380;
  --m-pink-soft: #F4A8C8;
  --m-teal:      #5DEDEA;
  --m-yellow:    #F7E789;
  --m-purple:    #2D1B4E;
  --m-navy:      #1E2A52;
  --m-sky:       #B3E5FC;
  --m-white:     #FFFFFF;
  --m-text:      #1E1538;
  --m-text-soft: #4A3B6B;
  --m-line:      rgba(30,21,56,0.10);

  /* Redefinición de variables del framework para legibilidad en tema claro/glass */
  --gold:        #E83380;       /* Rosa magenta principal */
  --gold-2:      #E83380;       /* Rosa magenta principal */
  --gold-3:      #4A3B6B;       /* Morado oscuro suave */
  --cream:       #1E1538;       /* Texto oscuro en lugar de crema */
  --muted:       #4A3B6B;       /* Texto suave oscuro en lugar de gris apagado */
  --platinum:    #4A3B6B;       /* Para cualquier elemento de marca secundario */
  --card:        rgba(255, 255, 255, 0.92); /* Tarjeta clara de fondo */
  --line:        rgba(30, 21, 56, 0.12);    /* Línea sutil morada */
}

/* === GLOBAL BG: gradient Miami sky === */
body[data-theme="miami"] {
  background: linear-gradient(180deg, #5DEDEA 0%, #B3E5FC 40%, #FFB7DC 100%) !important;
  background-attachment: fixed !important;
  color: var(--m-text) !important;
  -webkit-font-smoothing: antialiased;
}

/* === SCREEN containers transparentes para que el fondo Miami se vea === */
body[data-theme="miami"] .screen,
body[data-theme="miami"] .screen.center,
body[data-theme="miami"] .home,
body[data-theme="miami"] .menu-container,
body[data-theme="miami"] main,
body[data-theme="miami"] .app-shell,
body[data-theme="miami"] .container,
body[data-theme="miami"] .page {
  background: transparent !important;
  color: var(--m-text) !important;
}

/* === SPLASH (mantener foto, no tocar) === */
/* (el splash bg se inyecta inline en app.js con CONFIG.splashImage) */

/* ================================================================ */
/* === MIAMI SPLASH FX — flamenco + olas + sol + hojas + wobble === */
/* ================================================================ */

/* .splash-bg ya es position:absolute inset:0 z-index:-1 en styles.css — no tocar position */
body[data-theme="miami"] .miami-fx {
  position: absolute; inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 2;
}
/* CRITICAL: brand-overrides oculta .splash-video con display:none — Miami necesita mostrarlo */
body[data-theme="miami"] .splash-bg .splash-video {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 0 !important;
}
/* Restaurar overlay suave encima del video (brand-overrides lo deshabilita) */
body[data-theme="miami"] .splash-bg::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(180deg,
    rgba(0,0,0,0.05) 0%,
    rgba(0,0,0,0.02) 35%,
    rgba(0,0,0,0.18) 75%,
    rgba(0,0,0,0.45) 100%) !important;
  pointer-events: none;
}

/* --- Sol brillo radial pulsante (esquina sup derecha) --- */
body[data-theme="miami"] .miami-sun {
  position: absolute;
  top: -90px; right: -90px;
  width: 360px; height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(247,231,137,0.55) 0%, rgba(247,231,137,0.25) 35%, rgba(247,231,137,0) 70%);
  filter: blur(8px);
  animation: miamiSunPulse 4s ease-in-out infinite;
  mix-blend-mode: screen;
}
@keyframes miamiSunPulse {
  0%, 100% { transform: scale(1); opacity: 0.85; }
  50%      { transform: scale(1.12); opacity: 1; }
}

/* --- Logo wobble + glow neón sutil --- */
body[data-theme="miami"] .splash-card .logo-wrap {
  animation: miamiLogoWobble 5s ease-in-out infinite;
  transform-origin: 50% 80%;
  filter: drop-shadow(0 0 14px rgba(232,51,128,0.55)) drop-shadow(0 0 24px rgba(93,237,234,0.35));
}
body[data-theme="miami"] .splash-card .logo {
  animation: miamiLogoPulse 4s ease-in-out infinite;
}
@keyframes miamiLogoWobble {
  0%, 100% { transform: rotate(-2deg) translateY(0); }
  50%      { transform: rotate(2deg)  translateY(-4px); }
}
@keyframes miamiLogoPulse {
  0%, 100% { filter: drop-shadow(0 0 6px rgba(255,255,255,0.6))  brightness(1); }
  50%      { filter: drop-shadow(0 0 12px rgba(247,231,137,0.9)) brightness(1.08); }
}

/* --- Título "MIAMI BAR" con gradient animado --- */
/* Specificity alta para ganar contra body[data-theme=miami] h1 currentcolor */
body[data-theme="miami"] h1.miami-splash-title,
body[data-theme="miami"] .miami-splash-title {
  background: linear-gradient(90deg, #E83380 0%, #FFFFFF 40%, #5DEDEA 60%, #F7E789 80%, #E83380 100%) !important;
  background-size: 250% auto !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  animation: miamiTextShine 6s linear infinite !important;
  text-shadow: none !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  filter: drop-shadow(0 2px 8px rgba(30,21,56,0.45));
}
@keyframes miamiTextShine {
  0%   { background-position: 0% center; }
  100% { background-position: 250% center; }
}

/* --- Botón con pulse continuo (sin fade-in, aparece directo para entrada rápida) --- */
body[data-theme="miami"] .splash-card .btn-gold {
  animation: miamiBtnPulse 2s ease-in-out 0.4s infinite;
}
@keyframes miamiBtnPulse {
  0%, 100% { box-shadow: 0 6px 18px rgba(232,51,128,0.40), 0 0 0 0 rgba(232,51,128,0.45); }
  50%      { box-shadow: 0 6px 22px rgba(232,51,128,0.55), 0 0 0 12px rgba(232,51,128,0); }
}

/* Respeta reduced motion */
@media (prefers-reduced-motion: reduce) {
  body[data-theme="miami"] .miami-sun,
  body[data-theme="miami"] .miami-waves .wave,
  body[data-theme="miami"] .miami-flamingo,
  body[data-theme="miami"] .miami-flamingo *,
  body[data-theme="miami"] .miami-leaves .leaf,
  body[data-theme="miami"] .splash-card .logo-wrap,
  body[data-theme="miami"] .splash-card .logo,
  body[data-theme="miami"] .splash-card .display.gold-text,
  body[data-theme="miami"] .splash-card .eyebrow,
  body[data-theme="miami"] .splash-card .sub,
  body[data-theme="miami"] .splash-card .btn-gold {
    animation: none !important;
  }
}

/* === TOPBAR translucido glass === */
body[data-theme="miami"] .topbar,
body[data-theme="miami"] header.topbar {
  background: rgba(255,255,255,0.55) !important;
  backdrop-filter: blur(20px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
  border-bottom: 1px solid rgba(30,21,56,0.08) !important;
  color: var(--m-text) !important;
}
body[data-theme="miami"] .topbar .title,
body[data-theme="miami"] .topbar * {
  color: var(--m-text) !important;
}
body[data-theme="miami"] .topbar svg,
body[data-theme="miami"] .topbar .icon {
  color: var(--m-text) !important;
  filter: none !important;
}

/* === HERO BANNER del menu (donde dice "Nuestro Menú") === */
body[data-theme="miami"] .menu-hero {
  background: linear-gradient(135deg, rgba(232,51,128,0.85) 0%, rgba(93,237,234,0.85) 100%) !important;
  color: var(--m-white) !important;
}
body[data-theme="miami"] .menu-hero .mh-title,
body[data-theme="miami"] .menu-hero h1,
body[data-theme="miami"] .menu-hero h2 {
  color: var(--m-white) !important;
  text-shadow: 0 2px 8px rgba(30,21,56,0.25);
}
body[data-theme="miami"] .menu-hero .mh-kicker,
body[data-theme="miami"] .menu-hero .sub {
  color: var(--m-white) !important;
  opacity: 0.95;
}

/* === BUTTONS === */
body[data-theme="miami"] .btn-gold,
body[data-theme="miami"] .btn-primary {
  background: linear-gradient(135deg, #E83380 0%, #FF6BAA 100%) !important;
  color: var(--m-white) !important;
  border: none !important;
  box-shadow: 0 6px 20px rgba(232,51,128,0.40) !important;
  font-weight: 700 !important;
}
body[data-theme="miami"] .btn-gold:hover,
body[data-theme="miami"] .btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 26px rgba(232,51,128,0.55) !important;
}
body[data-theme="miami"] .btn-outline {
  background: rgba(255,255,255,0.65) !important;
  color: var(--m-text) !important;
  border: 1px solid rgba(232,51,128,0.40) !important;
  backdrop-filter: blur(10px);
  font-weight: 600 !important;
}

/* === CHIPS de categorías (TODOS, APERITIVOS, etc) === */
body[data-theme="miami"] .chip,
body[data-theme="miami"] .cat-chip,
body[data-theme="miami"] .tab,
body[data-theme="miami"] .filter-chip {
  background: rgba(255,255,255,0.65) !important;
  color: var(--m-text) !important;
  border: 1px solid rgba(30,21,56,0.10) !important;
  backdrop-filter: blur(8px) !important;
}
body[data-theme="miami"] .chip.active,
body[data-theme="miami"] .cat-chip.active,
body[data-theme="miami"] .tab.active,
body[data-theme="miami"] .filter-chip.sel,
body[data-theme="miami"] .chip.sel {
  background: var(--m-white) !important;
  color: var(--m-pink) !important;
  border-color: var(--m-pink) !important;
  font-weight: 700 !important;
}

/* === TOGGLE Lista/Fotos === */
body[data-theme="miami"] .view-toggle,
body[data-theme="miami"] .view-switch {
  background: rgba(255,255,255,0.65) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(30,21,56,0.10) !important;
}
body[data-theme="miami"] .view-toggle button,
body[data-theme="miami"] .view-switch button {
  color: var(--m-text) !important;
}
body[data-theme="miami"] .view-toggle button.active,
body[data-theme="miami"] .view-switch button.active {
  background: var(--m-white) !important;
  color: var(--m-pink) !important;
}

/* === MENU SECTION (.m-section) container — transparent === */
body[data-theme="miami"] .m-section,
body[data-theme="miami"] .menu-container,
body[data-theme="miami"] .menu-list,
body[data-theme="miami"] .menu {
  background: transparent !important;
}

/* === CATEGORY BANNER "APERITIVOS" .rb — pill rosa sólido === */
body[data-theme="miami"] .m-section .rb,
body[data-theme="miami"] .rb {
  background: linear-gradient(135deg, #E83380 0%, #FF4F94 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
  padding: 10px 28px !important;
  border-radius: 999px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  text-align: center !important;
  display: block !important;
  width: fit-content !important;
  margin: 0 auto 18px !important;
  box-shadow: 0 6px 18px rgba(232,51,128,0.40) !important;
}

/* Section header (roman numeral + ornament) — centered, dark */
body[data-theme="miami"] .m-sec-head {
  color: var(--m-text) !important;
}
body[data-theme="miami"] .m-sec-num {
  color: var(--m-pink) !important;
  font-weight: 700 !important;
}
body[data-theme="miami"] .m-sec-head .orn,
body[data-theme="miami"] .m-sec-head .orn i,
body[data-theme="miami"] .m-sec-head .orn span {
  color: var(--m-pink) !important;
  background: var(--m-pink) !important;
}
body[data-theme="miami"] .m-sec-head .orn i {
  background: transparent !important;
  color: var(--m-pink) !important;
}

/* Section note (description) — dark on light bg, NO card */
body[data-theme="miami"] .m-nota {
  color: var(--m-text-soft) !important;
  font-weight: 500 !important;
  text-align: center !important;
  margin: 4px auto 16px !important;
  max-width: 90% !important;
  background: transparent !important;
}

/* === MENU ITEM ROW (.mitem) — Glass card opaco con max contraste === */
body[data-theme="miami"] .mitem,
body[data-theme="miami"] .mitem-card,
body[data-theme="miami"] .menu-item,
body[data-theme="miami"] .item {
  background: rgba(255,255,255,0.92) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  border: 1px solid rgba(255,255,255,1) !important;
  color: var(--m-text) !important;
  box-shadow: 0 8px 22px rgba(30,21,56,0.10), 0 1px 0 rgba(255,255,255,0.6) inset !important;
  border-radius: 14px !important;
  padding: 14px 18px !important;
  margin-bottom: 10px !important;
}

/* Item name (.n) */
body[data-theme="miami"] .mitem .info .n,
body[data-theme="miami"] .mitem-card .info .n,
body[data-theme="miami"] .n {
  color: #1A1135 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}

/* Item description (.m-item-desc, .d) */
body[data-theme="miami"] .mitem .info .m-item-desc,
body[data-theme="miami"] .mitem-card .info .m-item-desc,
body[data-theme="miami"] .mitem-card .info .d,
body[data-theme="miami"] .m-item-desc,
body[data-theme="miami"] .d {
  color: #4A3B6B !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  opacity: 1 !important;
}

/* Price (.p) — magenta bold + webkit text fill override */
body[data-theme="miami"] .mitem .p,
body[data-theme="miami"] .mitem-card .info .p,
body[data-theme="miami"] .mitem-card .p,
body[data-theme="miami"] .p,
body[data-theme="miami"] .price,
body[data-theme="miami"] .item-price {
  color: #E83380 !important;
  -webkit-text-fill-color: #E83380 !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  text-shadow: none !important;
  background: none !important;
}

/* Override webkit-text-fill-color en TODOS los textos del menu para que el color real funcione */
body[data-theme="miami"] .mitem,
body[data-theme="miami"] .mitem *,
body[data-theme="miami"] .mitem-card,
body[data-theme="miami"] .mitem-card *,
body[data-theme="miami"] .m-section *,
body[data-theme="miami"] .menu-hero *,
body[data-theme="miami"] .card,
body[data-theme="miami"] .card *,
body[data-theme="miami"] h1, body[data-theme="miami"] h2,
body[data-theme="miami"] h3, body[data-theme="miami"] h4,
body[data-theme="miami"] p, body[data-theme="miami"] span,
body[data-theme="miami"] div, body[data-theme="miami"] button {
  -webkit-text-fill-color: currentColor !important;
}

/* Re-aplicar colores específicos después del fix webkit */
body[data-theme="miami"] .mitem .info .n,
body[data-theme="miami"] .mitem-card .info .n,
body[data-theme="miami"] .n {
  -webkit-text-fill-color: #1A1135 !important;
  color: #1A1135 !important;
}
body[data-theme="miami"] .m-item-desc,
body[data-theme="miami"] .mitem .info .m-item-desc,
body[data-theme="miami"] .mitem-card .info .d,
body[data-theme="miami"] .d {
  -webkit-text-fill-color: #4A3B6B !important;
  color: #4A3B6B !important;
}
body[data-theme="miami"] .m-nota {
  -webkit-text-fill-color: #4A3B6B !important;
  color: #4A3B6B !important;
}
body[data-theme="miami"] .rb {
  -webkit-text-fill-color: #FFFFFF !important;
  color: #FFFFFF !important;
}
body[data-theme="miami"] .menu-hero,
body[data-theme="miami"] .menu-hero * {
  -webkit-text-fill-color: #FFFFFF !important;
  color: #FFFFFF !important;
}
/* OCULTAR ornamentos residuales (Roman numeral + diamond + spans) */
body[data-theme="miami"] .m-sec-num,
body[data-theme="miami"] .m-sec-head .orn,
body[data-theme="miami"] .m-sec-head .orn *,
body[data-theme="miami"] .m-sec-head,
body[data-theme="miami"] .m-fin {
  display: none !important;
}

/* OCULTAR hero gradient card "SABOR CARIBEÑO... Nuestro Menú... Sabor del mar..." */
body[data-theme="miami"] .menu-hero,
body[data-theme="miami"] .mh-kicker,
body[data-theme="miami"] .mh-title,
body[data-theme="miami"] .menu-hero * {
  display: none !important;
}

/* Dots between name and price */
body[data-theme="miami"] .mitem .dots,
body[data-theme="miami"] .dots {
  color: rgba(30,21,56,0.20) !important;
  border-color: rgba(30,21,56,0.20) !important;
}

/* Photo card image placeholder — SOLO gradient cuando NO hay foto */
body[data-theme="miami"] .mitem-card .ph:not([style*="background-image"]),
body[data-theme="miami"] .mitem-card .ph[data-img=""] {
  background: linear-gradient(135deg, #F4A8C8 0%, #5DEDEA 100%) !important;
  opacity: 0.6 !important;
}
/* Si hay foto, asegurar que se vea bien */
body[data-theme="miami"] .mitem-card .ph[style*="background-image"] {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* === GENERAL CARDS / OFFERS / RESY === */
body[data-theme="miami"] .card,
body[data-theme="miami"] .photo-grid-item,
body[data-theme="miami"] .offer-card,
body[data-theme="miami"] .resy-card,
body[data-theme="miami"] .option {
  background: rgba(255,255,255,0.92) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  border: 1px solid rgba(255,255,255,1) !important;
  color: var(--m-text) !important;
  box-shadow: 0 6px 18px rgba(30,21,56,0.10) !important;
  border-radius: 14px !important;
}
body[data-theme="miami"] .option.sel,
body[data-theme="miami"] .option:hover {
  background: #FFFFFF !important;
  border-color: var(--m-pink) !important;
}

body[data-theme="miami"] h1,
body[data-theme="miami"] h2,
body[data-theme="miami"] h3,
body[data-theme="miami"] h4 {
  color: var(--m-text) !important;
}

/* === Banners y notas === */
body[data-theme="miami"] .offers-banner,
body[data-theme="miami"] .nota,
body[data-theme="miami"] .cat-note {
  background: rgba(255,255,255,0.70) !important;
  color: var(--m-text) !important;
  border: 1px solid rgba(232,51,128,0.20) !important;
  backdrop-filter: blur(10px);
  border-radius: 12px !important;
}
body[data-theme="miami"] .offers-banner .ob-text {
  color: var(--m-text) !important;
}

/* === INPUTS === */
body[data-theme="miami"] input,
body[data-theme="miami"] textarea,
body[data-theme="miami"] select,
body[data-theme="miami"] .input {
  background: rgba(255,255,255,0.85) !important;
  border: 1px solid rgba(30,21,56,0.20) !important;
  color: var(--m-text) !important;
  border-radius: 12px !important;
}
body[data-theme="miami"] input::placeholder,
body[data-theme="miami"] textarea::placeholder {
  color: var(--m-text-soft) !important;
  opacity: 0.6;
}
body[data-theme="miami"] label,
body[data-theme="miami"] .label {
  color: var(--m-text) !important;
  font-weight: 600 !important;
}

/* === Floating language toggle === */
body[data-theme="miami"] .lang-float {
  background: rgba(255,255,255,0.80) !important;
  color: var(--m-text) !important;
  border: 1px solid rgba(232,51,128,0.40) !important;
  backdrop-filter: blur(12px) !important;
}

/* === Footer y misc text === */
body[data-theme="miami"] .footer,
body[data-theme="miami"] footer,
body[data-theme="miami"] .text-soft,
body[data-theme="miami"] .text-muted {
  color: var(--m-text-soft) !important;
}

/* === Lightbox de fotos del menú === */
body[data-theme="miami"] .lightbox,
body[data-theme="miami"] .lightbox-bg {
  background: rgba(30,21,56,0.92) !important;
}
body[data-theme="miami"] .lightbox-content {
  color: var(--m-white) !important;
}

/* === Resy reserva pantalla === */
body[data-theme="miami"] .resy-step,
body[data-theme="miami"] .resy-summary {
  background: rgba(255,255,255,0.70) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255,255,255,0.85) !important;
  color: var(--m-text) !important;
}

/* === Decoración: palmas en silhouette translucid en esquinas (sutil) === */
body[data-theme="miami"]::before {
  content: '';
  position: fixed;
  top: 0; left: 0;
  width: 30vw; height: 45vh;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'><path fill='%232D1B4E' opacity='0.12' d='M100 280v-95c-25-10-45-30-50-58 5 10 18 18 35 18-15-15-22-38-15-58 5 13 16 24 30 27-12-22-10-50 5-65 12 15 12 38 0 55 16-7 35-2 47 12-15 0-30 6-40 18 22-6 40 2 50 18-22-8-42 0-55 13 18-2 30 8 35 20-12-3-25 0-35 7v88h-7z'/></svg>");
  background-repeat: no-repeat;
  background-position: top left;
  background-size: contain;
  pointer-events: none;
  z-index: 0;
}
body[data-theme="miami"]::after {
  content: '';
  position: fixed;
  bottom: 0; right: 0;
  width: 35vw; height: 50vh;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'><path fill='%23E83380' opacity='0.15' d='M100 280v-95c-25-10-45-30-50-58 5 10 18 18 35 18-15-15-22-38-15-58 5 13 16 24 30 27-12-22-10-50 5-65 12 15 12 38 0 55 16-7 35-2 47 12-15 0-30 6-40 18 22-6 40 2 50 18-22-8-42 0-55 13 18-2 30 8 35 20-12-3-25 0-35 7v88h-7z'/></svg>");
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: contain;
  pointer-events: none;
  z-index: 0;
  transform: scaleX(-1);
}

/* asegurar que el contenido vaya encima de las palmas decorativas */
body[data-theme="miami"] .screen,
body[data-theme="miami"] main,
body[data-theme="miami"] header,
body[data-theme="miami"] .app-shell {
  position: relative;
  z-index: 1;
}

/* override final para asegurar nada quede oscuro */
body[data-theme="miami"] [style*="background:#0A0C10"],
body[data-theme="miami"] [style*="background-color:#0A0C10"],
body[data-theme="miami"] [style*="background: #0A0C10"],
body[data-theme="miami"] [style*="background:rgb(10"],
body[data-theme="miami"] [style*="background-color:rgb(10"] {
  background: rgba(255,255,255,0.65) !important;
}


/* Correcciones de legibilidad y aspecto visual para el tema Miami */
body[data-theme="miami"] .hub-card,
body[data-theme="miami"] .hub-card.feature,
body[data-theme="miami"] .hub-card.fire {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1.5px solid rgba(255, 255, 255, 1) !important;
  box-shadow: 0 8px 24px rgba(30, 21, 56, 0.08) !important;
  border-radius: 14px !important;
}
body[data-theme="miami"] .hub-card.fire {
  border: 1.5px solid rgba(232, 51, 128, 0.25) !important;
}
body[data-theme="miami"] .hub-card.feature {
  border: 1.5px solid rgba(93, 237, 234, 0.45) !important;
}
body[data-theme="miami"] .hub-card .h {
  color: var(--m-text) !important;
}
body[data-theme="miami"] .hub-card .d {
  color: var(--m-text-soft) !important;
}
body[data-theme="miami"] .splash-screen .sub {
  color: #FFFFFF !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important;
  font-weight: 600 !important;
}
body[data-theme="miami"] .splash-screen .eyebrow {
  color: #FFFFFF !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6) !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
}
body[data-theme="miami"] .splash-screen .gold-text {
  color: #FFFFFF !important;
  text-shadow: 0 0 12px var(--m-pink), 0 2px 5px rgba(0, 0, 0, 0.8) !important;
  font-weight: 800 !important;
}
body[data-theme="miami"] .splash-screen button[data-action="skipHome"] {
  color: #FFFFFF !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8) !important;
  opacity: 0.95 !important;
  font-weight: 600 !important;
}

body[data-theme="miami"] .splash-card {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: auto 12px !important;
  width: calc(100% - 24px) !important;
  max-width: 380px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  z-index: 2 !important;
}

/* Correcciones de legibilidad en pantallas no-splash (como opt-in) */
body[data-theme="miami"] label,
body[data-theme="miami"] .field label,
body[data-theme="miami"] .label {
  color: var(--m-text) !important;
  -webkit-text-fill-color: var(--m-text) !important;
  font-weight: 600 !important;
}

body[data-theme="miami"] .input-tel {
  background: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid rgba(30, 21, 56, 0.20) !important;
  border-radius: 12px !important;
}
body[data-theme="miami"] .input-tel select#paisCodigo,
body[data-theme="miami"] .input-tel input#tel {
  color: var(--m-text) !important;
  -webkit-text-fill-color: var(--m-text) !important;
}
body[data-theme="miami"] .input-tel select#paisCodigo {
  border-right: 1px solid rgba(30, 21, 56, 0.20) !important;
}
body[data-theme="miami"] .btn-ghost,
body[data-theme="miami"] .btn-ghost * {
  color: var(--m-text-soft) !important;
  -webkit-text-fill-color: var(--m-text-soft) !important;
  font-weight: 600 !important;
}

/* === CORRECCIONES ADICIONALES DE CONTRASTE E ICONOS === */

/* Iconos de tarjetas y generales en rosa/magenta */
body[data-theme="miami"] .hub-card .ic,
body[data-theme="miami"] .card .ic,
body[data-theme="miami"] .ic-lg,
body[data-theme="miami"] .ic {
  color: var(--m-pink) !important;
  stroke: var(--m-pink) !important;
}

/* Cajas de estadísticas (.stat) en estilo glassmorphic claro con texto oscuro/pink */
body[data-theme="miami"] .stat {
  background: rgba(255, 255, 255, 0.65) !important;
  border: 1px solid rgba(232, 51, 128, 0.18) !important;
  box-shadow: 0 4px 12px rgba(30, 21, 56, 0.04) !important;
}
body[data-theme="miami"] .stat .num {
  color: var(--m-pink) !important;
  -webkit-text-fill-color: var(--m-pink) !important;
  font-weight: 800 !important;
}
body[data-theme="miami"] .stat .lbl {
  color: var(--m-text-soft) !important;
  -webkit-text-fill-color: var(--m-text-soft) !important;
  font-weight: 600 !important;
}

/* Pestañas de administración (.tab-btn) legibles e interactivas */
body[data-theme="miami"] .tab-container {
  background: rgba(255, 255, 255, 0.45) !important;
  border: 1px solid rgba(30, 21, 56, 0.12) !important;
}
body[data-theme="miami"] .tab-btn {
  color: var(--m-text-soft) !important;
  opacity: 0.70 !important;
}
body[data-theme="miami"] .tab-btn .tab-ic {
  stroke: var(--m-text-soft) !important;
  opacity: 0.70 !important;
}
body[data-theme="miami"] .tab-btn:hover {
  opacity: 1 !important;
}
body[data-theme="miami"] .tab-btn.active {
  background: rgba(232, 51, 128, 0.12) !important;
  color: var(--m-pink) !important;
  opacity: 1 !important;
  font-weight: 700 !important;
}
body[data-theme="miami"] .tab-btn.active .tab-ic {
  stroke: var(--m-pink) !important;
  opacity: 1 !important;
}
body[data-theme="miami"] .tab-btn.active span {
  color: var(--m-pink) !important;
}

/* Control de selección de lista/fotos (.menu-view-toggle) glassmorphic */
body[data-theme="miami"] .menu-view-toggle {
  background: rgba(255, 255, 255, 0.60) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(30, 21, 56, 0.12) !important;
  border-radius: 999px !important;
  padding: 4px !important;
}
body[data-theme="miami"] .menu-view-toggle button {
  color: var(--m-text-soft) !important;
  border-radius: 999px !important;
  opacity: 0.75 !important;
}
body[data-theme="miami"] .menu-view-toggle button svg {
  color: var(--m-text-soft) !important;
  stroke: var(--m-text-soft) !important;
}
body[data-theme="miami"] .menu-view-toggle button:hover {
  opacity: 1 !important;
}
body[data-theme="miami"] .menu-view-toggle button.active {
  background: var(--m-white) !important;
  color: var(--m-pink) !important;
  opacity: 1 !important;
  box-shadow: 0 4px 12px rgba(30, 21, 56, 0.08) !important;
}
body[data-theme="miami"] .menu-view-toggle button.active svg {
  color: var(--m-pink) !important;
  stroke: var(--m-pink) !important;
}

/* Texto legal de precios y salud en pie del menú */
body[data-theme="miami"] .menu-legal {
  color: var(--m-text-soft) !important;
  font-weight: 500 !important;
}

/* Botones de la barra superior (topbar), incluyendo idioma (EN), volver y home */
body[data-theme="miami"] .topbar button,
body[data-theme="miami"] .topbar .iconbtn,
body[data-theme="miami"] .lang-btn,
body[data-theme="miami"] .lang-float {
  color: var(--m-text) !important;
  -webkit-text-fill-color: var(--m-text) !important;
  background: rgba(255, 255, 255, 0.50) !important;
  border: 1px solid rgba(30, 21, 56, 0.12) !important;
  box-shadow: 0 2px 6px rgba(30, 21, 56, 0.04) !important;
  opacity: 1 !important;
}

body[data-theme="miami"] .topbar button:hover,
body[data-theme="miami"] .topbar .iconbtn:hover,
body[data-theme="miami"] .lang-btn:hover,
body[data-theme="miami"] .lang-float:hover {
  background: #FFFFFF !important;
  color: var(--m-pink) !important;
  -webkit-text-fill-color: var(--m-pink) !important;
  border-color: rgba(232, 51, 128, 0.25) !important;
}

body[data-theme="miami"] .topbar svg,
body[data-theme="miami"] .topbar .iconbtn svg,
body[data-theme="miami"] .topbar .iconbtn * {
  color: var(--m-text) !important;
  stroke: var(--m-text) !important;
}

