/* Tema claro opcional. El modo oscuro original permanece como predeterminado. */
html.light-mode {
  color-scheme: light;
  --bg-body: #f3efe9;
  --card-bg: #fffaf4;
  --text-white: #292832;
  --text-gray: #6b665f;
  --accent: #008eae;
  --primary-grad: linear-gradient(135deg, #e000a8 0%, #5b35db 48%, #008eae 100%);
  --btn-grad: linear-gradient(135deg, #6638e8 0%, #008fbd 100%);
  --shadow: 0 16px 38px rgba(27, 43, 72, .13);
}

html.light-mode body {
  background: radial-gradient(circle at top left, rgba(255, 0, 204, .055), transparent 32%), radial-gradient(circle at top right, rgba(0, 142, 174, .065), transparent 35%), var(--bg-body);
}
html.light-mode .top-bar-container,
html.light-mode .top-bar { background: rgba(255,255,255,.94) !important; border-color: rgba(25,48,82,.12) !important; }
html.light-mode .brand-mini .brand-morales,
html.light-mode .mobile-brand-name { color: #172033; }
html.light-mode .search-box,
html.light-mode .top-link,
html.light-mode .mobile-search-btn,
html.light-mode .mobile-more-btn { color: #26334a !important; background: rgba(28,48,78,.045) !important; border-color: rgba(28,48,78,.14) !important; }
html.light-mode .search-box input { color: #172033; }
html.light-mode .search-box input::placeholder { color: #7b8798; }
html.light-mode .product-card-v3,
html.light-mode .combo-premium-card,
html.light-mode .payment-section,
html.light-mode .referral-card,
html.light-mode .flash-offer-card { background: #fffaf4 !important; border-color: rgba(93,77,58,.16) !important; box-shadow: var(--shadow) !important; }
html.light-mode .product-card-v3 .plan-title,
html.light-mode .product-heading-v3 h3,
html.light-mode .combo-premium-card h3,
html.light-mode .payment-section h3 { color: #172033 !important; }
html.light-mode .product-card-v3 .plan-description,
html.light-mode .combo-premium-card p,
html.light-mode .payment-section-intro,
html.light-mode .banks-text { color: var(--text-gray) !important; }
html.light-mode .more-menu,
html.light-mode .info-hub-panel,
html.light-mode .site-dialog-panel,
html.light-mode .checkout-v3-panel,
html.light-mode .combo-v3-panel,
html.light-mode .payment-modal-panel { background: linear-gradient(155deg,#fffaf4,#f1ece5) !important; border-color: rgba(28,104,138,.22) !important; box-shadow: 0 28px 80px rgba(78,61,41,.18) !important; color: #292832; }
html.light-mode .more-menu button,
html.light-mode .more-menu a { color: #172033; }
html.light-mode .more-menu small,
html.light-mode .info-hub-panel>div>p,
html.light-mode .info-hub-grid small,
html.light-mode .info-hub-faq p { color: #5f6b7f; }
html.light-mode .info-hub-grid article,
html.light-mode .info-hub-faq details,
html.light-mode .referral-steps article { background: rgba(28,104,138,.045); border-color: rgba(28,57,94,.12); }
html.light-mode .info-hub-panel h2,
html.light-mode .site-dialog-copy h3,
html.light-mode .checkout-v3-panel h2,
html.light-mode .combo-v3-panel h2 { color: #172033; }
html.light-mode .site-dialog-copy p,
html.light-mode .checkout-v3-panel p,
html.light-mode .combo-v3-panel p { color: #5f6b7f; }
html.light-mode .theme-toggle { color: #006e8b !important; }
html.light-mode .product-card-v3,
html.light-mode .payment-section,
html.light-mode .combo-premium-card,
html.light-mode #cart-modal,
html.light-mode .detail-panel-v3,
html.light-mode .checkout-v3-panel,
html.light-mode .combo-v3-panel { background-color: #fffaf4 !important; }
html.light-mode .detail-panel-v3,
html.light-mode .checkout-v3-panel,
html.light-mode .combo-v3-panel,
html.light-mode .info-hub-panel { background: linear-gradient(155deg,#fffaf4,#f1ece5) !important; }
html.light-mode .detail-panel-v3 { background: radial-gradient(circle at 8% 9%,var(--modal-glow-2,rgba(0,142,174,.16)),transparent 58%), linear-gradient(145deg,color-mix(in srgb,var(--modal-mark,#008eae) 8%,#f3e9de),#e8ded2) !important; border-color: color-mix(in srgb,var(--modal-mark,#008eae) 42%,#d7cabc) !important; box-shadow: 0 24px 70px rgba(78,61,41,.25),0 0 30px var(--modal-glow,rgba(0,142,174,.08)) !important; }
html.light-mode .product-detail-head-v3 > img { box-shadow: 0 8px 24px color-mix(in srgb,var(--modal-mark,#008eae) 18%,transparent); }
html.light-mode .detail-stock-v3 { border-color: color-mix(in srgb,var(--modal-mark,#008eae) 30%,#d7cabc) !important; background: color-mix(in srgb,var(--modal-mark,#008eae) 9%,#fffaf4) !important; color: color-mix(in srgb,var(--modal-mark,#008eae) 72%,#34465f) !important; }
html.light-mode .hero-modern { background: linear-gradient(145deg,rgba(255,250,244,.34),rgba(246,239,231,.46)) !important; border-color: rgba(112,89,64,.18) !important; }
html.light-mode .hero-streaming-bg { opacity: .46 !important; mix-blend-mode: normal; }
html.light-mode .hero-modern h1 { color: #292832 !important; text-shadow: 0 2px 12px rgba(255,250,244,.92) !important; }
html.light-mode .hero-sub { color: #3e4654 !important; text-shadow: 0 1px 8px rgba(255,250,244,.96) !important; }
html.light-mode .auto-promo-banner { background: linear-gradient(135deg,#fffaf4,#eee8df) !important; border-color: #ddd1c3 !important; box-shadow: 0 14px 32px rgba(78,61,41,.14) !important; }
html.light-mode .auto-promo-item { border-color: #e2d8cd !important; }
html.light-mode .auto-promo-item strong { color: #292832 !important; }
html.light-mode .auto-promo-item small { color: #716a61 !important; }
html.light-mode .auto-promo-item span { background: #f1e9df !important; border-color: #ded2c5 !important; }
html.light-mode .cart-line-item,
html.light-mode .checkout-payment-details-v3,
html.light-mode .combo-option-v3,
html.light-mode .spec-v3 { background-color: #f5efe7 !important; }
html.light-mode .product-card-v3 .product-price-v3 .current-price-val,
html.light-mode .product-card-v3 .plan-title,
html.light-mode .product-card-v3 .card-detail-button-v3 { color: #172033 !important; }
html.light-mode .product-card-v3 .product-visual-v3,
html.light-mode .product-card-v3 .product-image-stage-v3 { background: #e8edf5 !important; }
html.light-mode .meta-chip-v3 { background: #f1f4f9 !important; border-color: #dce3ed !important; color: #65748a !important; }
html.light-mode .card-feature-v3 { color: #64738a !important; }
html.light-mode .card-actions-v3 .card-detail-button-v3 { background: #f1f4f9 !important; border-color: #cbd6e4 !important; }
html.light-mode .combo-label { background: #eef3fa !important; border-color: #d8e1ec !important; color: #496078 !important; }
html.light-mode .combo-price-mini { color: #079b68 !important; }
html.light-mode .combo-premium-card a.combo-action { background: #eef5ff !important; color: #087caa !important; border-color: #36c7e3 !important; }
html.light-mode .reviews-mini,
html.light-mode .review-modern-card { background: #fffaf4 !important; border-color: #e2d9cd !important; box-shadow: var(--shadow) !important; }
html.light-mode .reviews-mini { color: #4c627d !important; }
html.light-mode .reviews-header p,
html.light-mode .review-top span,
html.light-mode .review-modern-card p { color: #5f6b7f !important; }
html.light-mode .review-top h4 { color: #172033 !important; }
html.light-mode .review-footer,
html.light-mode .review-footer span { color: #6b7890 !important; }
html.light-mode .faq-heading h2,
html.light-mode .reviews-header h2 { color: #172033 !important; }
html.light-mode .faq-heading span { color: #008eae !important; }
html.light-mode .faq-item { background: #fffaf4 !important; border-color: #e2d9cd !important; box-shadow: 0 8px 22px rgba(78,61,41,.08); }
html.light-mode .faq-question { color: #172033 !important; }
html.light-mode .cart-line-item { background: #f1f4f9 !important; border-color: #dbe3ee !important; }
html.light-mode .cart-line-info h4,
html.light-mode .cart-quantity strong { color: #172033 !important; }
html.light-mode .cart-quantity { border-color: #cbd6e4; }
html.light-mode .cart-quantity button { background: #e5ebf3; color: #172033; }
html.light-mode #cart-modal { background: #f7f9fc !important; color: #172033; }
html.light-mode .checkout-payment-title-v3,
html.light-mode .checkout-payment-account-v3 strong { color: #172033 !important; }
html.light-mode .checkout-pay-choice-v3 { background: #f1f4f9; border-color: #d1dce9; color: #617087; }
html.light-mode .checkout-pay-choice-v3.active { background: #e2f6fb; color: #006f8d; }
html.light-mode .checkout-payment-details-v3 { background: #f7f9fc; border-color: #dbe3ee; }
html.light-mode .checkout-payment-total-v3,
html.light-mode .checkout-transfer-v3,
html.light-mode .checkout-confirm-v3 { color: #5f6b7f; }
html.light-mode .category-chip { background: #eef3fa !important; border-color: #d7e0eb !important; color: #617087 !important; }
html.light-mode .category-chip.active { color: #fff !important; background: linear-gradient(135deg,#6638e8,#008fbd) !important; }
html.light-mode .catalog-sort select { background: #172033 !important; color: #fff !important; }
html.light-mode .catalog-control-bar-v3 { background: rgba(255,250,244,.86) !important; border-color: #ded3c6 !important; }
html.light-mode .catalog-sort-v3,
html.light-mode .catalog-check-v3 { color: #6b665f !important; }
html.light-mode .catalog-sort-v3 select { background: #fffaf4 !important; color: #292832 !important; border-color: #cfc2b3 !important; }
html.light-mode .catalog-sort-v3 select option { background: #fffaf4 !important; color: #292832 !important; }
html.light-mode .detail-panel-v3 { background: linear-gradient(145deg,#fff,#eef3fb) !important; border-color: #9bd8e7 !important; box-shadow: 0 24px 70px rgba(27,43,72,.24) !important; }
html.light-mode .product-detail-title-v3 h2,
html.light-mode .detail-section-v3 h3,
html.light-mode .detail-price-v3 strong { color: #172033 !important; }
html.light-mode .spec-v3,
html.light-mode .feature-list-v3 li,
html.light-mode .detail-qty-v3 { background: #f1f4f9 !important; border-color: #d5dfeb !important; }
html.light-mode .detail-panel-v3 .spec-v3,
html.light-mode .detail-panel-v3 .feature-list-v3 li,
html.light-mode .detail-panel-v3 .detail-qty-v3 { background: rgba(255,250,244,.62) !important; border-color: #d7cabc !important; }
html.light-mode .detail-panel-v3 .spec-v3 { border-top-color: color-mix(in srgb,var(--modal-mark,#008eae) 42%,#d7cabc) !important; }
html.light-mode .detail-panel-v3 .feature-list-v3 li { border-left: 3px solid color-mix(in srgb,var(--modal-mark,#008eae) 52%,#d7cabc) !important; }
html.light-mode .spec-v3 strong,
html.light-mode .feature-list-v3 li { color: #34465f !important; }
html.light-mode .detail-footer-v3 { background: color-mix(in srgb,var(--modal-mark,#008eae) 7%,rgba(243,233,222,.97)) !important; border-color: color-mix(in srgb,var(--modal-mark,#008eae) 25%,#d7cabc) !important; }
html.light-mode .detail-cart-btn-v3 { background: #eef3fa !important; border-color: #cbd6e4 !important; color: #172033 !important; }
html.light-mode .detail-qty-v3 button { color: #172033 !important; }
html.light-mode .detail-qty-v3 button:disabled { color: #6b7890 !important; opacity: .55 !important; }
html.light-mode .combo-option-v3 { background: #f1f4f9 !important; border-color: #d5dfeb !important; }
html.light-mode .combo-option-v3.selected { background: #e2f6fb !important; }
html.light-mode .combo-option-v3 strong { color: #172033 !important; }
html.light-mode .combo-option-v3 small { color: #6b7890 !important; }
html.light-mode .combo-v3-fixed-footer { background: #eef3fa !important; border-color: #d5dfeb !important; }
html.light-mode .combo-v3-summary { color: #5f6b7f; background: #e2f6fb; }
html.light-mode .combo-v3-hint { color: #6b7890; }
html.light-mode .footer-v3-links { background: #e8edf5 !important; border-color: #d5dfeb !important; }
html.light-mode .footer-v3-inner p { color: #63728a !important; }
html.light-mode .footer-v3-inner a { color: #087caa !important; }
html.light-mode .referral-steps strong { color: #34465f !important; }
html.light-mode .referral-steps small { color: #6b7890 !important; }
html.light-mode .info-hub-close { color: #172033 !important; }
html.light-mode .flash-offer-card { color: #172033 !important; }
html.light-mode .flash-offer-card { background: linear-gradient(145deg,#eee2df,#dfd0c9) !important; border-color: rgba(255,0,204,.55) !important; box-shadow: 0 15px 35px rgba(78,61,41,.22),0 0 22px rgba(255,0,204,.12) !important; }
html.light-mode .flash-offer-card h4 { color: #172033 !important; }
html.light-mode .flash-offer-card p { color: #5f6b7f !important; }
html.light-mode .detail-close,
html.light-mode .flash-close,
html.light-mode #close-cart { background: #e8edf5 !important; border: 1px solid #cbd6e4 !important; color: #172033 !important; }
html.light-mode .detail-close i,
html.light-mode .flash-close i,
html.light-mode #close-cart i { color: #172033 !important; opacity: 1 !important; }
html.light-mode .detail-close:hover,
html.light-mode .flash-close:hover,
html.light-mode #close-cart:hover { background: #dbe4ef !important; color: #006f8d !important; }
.theme-toggle { gap: 6px; }
.theme-toggle i { color: var(--accent); }
@media (max-width:650px) { .theme-toggle-label { display: none; } .theme-toggle { min-width:42px; justify-content:center; } }

/* Navbar de escritorio: navegación a la izquierda y controles a la derecha. */
@media (min-width:651px) {
  .brand-logo-mini { height: 46px; }
  .top-bar { justify-content: flex-start; gap: 9px; }
  .top-actions { display: contents; }
  .top-actions > .top-link:not(#cart-btn):not(#theme-toggle) { order: 1; }
  .top-actions > a.top-link:first-child { margin-left: 12px; }
  .top-actions > #theme-toggle { order: 2; margin-left: auto; }
  .search-box { order: 3; width: 44px; height: 40px; padding: 8px; justify-content: center; cursor: text; overflow: hidden; }
  .search-box input { width: 1px; opacity: 0; padding: 0; }
  .search-box > .fa-magnifying-glass { flex: 0 0 auto; font-size: .95rem; }
  .search-box:focus-within { width: 285px; justify-content: flex-start; padding: 8px 14px; }
  .search-box:focus-within input { width: 100%; opacity: 1; padding: initial; }
  .top-actions > #cart-btn { order: 4; width: 44px; min-width: 44px; height: 40px; justify-content: center; padding: 7px; font-size: 0 !important; }
  .top-actions > #cart-btn > .fa-cart-shopping { font-size: .85rem !important; }
  .top-actions > #cart-btn #cart-count { font-size: .62rem !important; padding: 1px 5px; }
  .theme-toggle-label { display: none; }
  .top-actions > #theme-toggle { width: 44px; min-width: 44px; height: 40px; justify-content: center; padding: 7px; }
}

/* Identidad fija de la cabecera y contador del carrito sin desbordes. */
.top-bar-container { background: linear-gradient(135deg,#0b3d66 0%,#125d87 52%,#0a3458 100%) !important; border-bottom-color: rgba(150,220,255,.28) !important; }
.top-bar-container .brand-morales,
.top-bar-container .mobile-brand-name { color: #f4fbff !important; }
.top-bar-container .top-link { color: #f4fbff !important; background: rgba(255,255,255,.09) !important; border-color: rgba(196,231,248,.26) !important; }
.top-bar-container .top-link:hover { background: rgba(255,255,255,.17) !important; }
.top-bar-container .search-box { background: rgba(4,25,46,.42) !important; border-color: rgba(196,231,248,.30) !important; color: #dff4ff !important; }
.top-bar-container .search-box input { color: #f4fbff !important; }
.top-bar-container .search-box input::placeholder { color: #c4d9e6 !important; }
.top-bar-container #cart-btn { position: relative; overflow: visible !important; }
.top-bar-container #cart-btn #cart-count { position: absolute !important; top: -6px; right: -6px; min-width: 18px; text-align: center; line-height: 16px; }
html.light-mode .top-bar-container .theme-toggle { color: #f4fbff !important; }
html.light-mode #cart-modal { background: #eee5db !important; border-left-color: rgba(38,91,125,.35) !important; box-shadow: -12px 0 42px rgba(49,54,65,.28) !important; }
html.light-mode #cart-modal > div:first-child { margin: -24px -24px 0 !important; padding: 16px 24px 15px !important; background: linear-gradient(135deg,#0b3d66,#125d87 55%,#0a3458) !important; border-bottom: 1px solid rgba(180,226,247,.28) !important; box-shadow: 0 5px 18px rgba(11,61,102,.20); }
html.light-mode #cart-modal > div:first-child h3 { color: #f4fbff !important; }
html.light-mode #cart-modal > div:nth-child(2) { padding-top: 20px !important; }
html.light-mode #cart-modal > div:last-child { border-top-color: #d5c7b8 !important; }
html.light-mode #cart-modal .cart-line-item { background: #e7ddd2 !important; border-color: #d0c0b0 !important; }
html.light-mode #cart-modal .cart-coupon-box { background: rgba(20,139,176,.09) !important; border-color: rgba(20,139,176,.32) !important; }
html.light-mode #cart-modal .cart-coupon-box label { color: #087caa !important; }
html.light-mode #cart-modal #cart-next-tier { background: rgba(20,139,176,.10) !important; color: #087caa !important; }
html.light-mode #cart-modal #cart-total { color: #087caa !important; }
html.light-mode .top-bar-container,
html.light-mode .top-bar-container .top-bar { background: linear-gradient(135deg,#0b3d66 0%,#125d87 52%,#0a3458 100%) !important; }
html.light-mode .top-bar-container .brand-mini .brand-morales,
html.light-mode .top-bar-container .mobile-brand-name { color: #f4fbff !important; }
html.light-mode .top-bar-container .brand-mini .brand-streaming,
html.light-mode .top-bar-container .mobile-brand-name strong { color: #68e4ff !important; }
html.light-mode .top-bar-container .brand-logo-mini { filter: drop-shadow(0 0 9px rgba(104,228,255,.42)); }
html.light-mode .top-bar-container .top-link,
html.light-mode .top-bar-container .top-link i,
html.light-mode .top-bar-container #cart-btn,
html.light-mode .top-bar-container #cart-btn i,
html.light-mode .top-bar-container .theme-toggle,
html.light-mode .top-bar-container .theme-toggle i { color: #f4fbff !important; }
html.light-mode .top-bar-container .desktop-info-link i { color: #68e4ff !important; }
html.light-mode .top-bar-container .search-box > i { color: #dff4ff !important; }
@media (min-width:651px) {
  .top-bar { padding-left: 12px; padding-right: 12px; }
  html.light-mode .top-bar-container .top-link,
  html.light-mode .top-bar-container .search-box { border-color: rgba(190,231,248,.48) !important; box-shadow: inset 0 0 0 1px rgba(8,51,82,.10), 0 3px 10px rgba(4,34,58,.10); }
  html.light-mode .top-bar-container .top-actions > #theme-toggle,
  html.light-mode .top-bar-container .search-box,
  html.light-mode .top-bar-container #cart-btn { outline: 1px solid rgba(190,231,248,.22); outline-offset: 1px; }
  html.light-mode .top-bar-container .search-box:focus-within { outline-color: rgba(104,228,255,.72); }
}
html:not(.light-mode) .top-bar-container { background: linear-gradient(135deg,#20262d 0%,#3a434b 48%,#171c22 100%) !important; border-bottom-color: rgba(190,208,218,.30) !important; box-shadow: 0 5px 24px rgba(0,0,0,.40); }
html:not(.light-mode) .top-bar-container .top-link { background: linear-gradient(145deg,rgba(220,231,236,.13),rgba(16,20,25,.34)) !important; border-color: rgba(208,220,227,.27) !important; }
html:not(.light-mode) .top-bar-container .top-link:hover { background: linear-gradient(145deg,rgba(231,241,245,.22),rgba(30,35,42,.48)) !important; }
html:not(.light-mode) .top-bar-container .search-box { background: linear-gradient(145deg,rgba(14,18,23,.84),rgba(83,94,103,.30)) !important; border-color: rgba(208,220,227,.30) !important; }

/* Paleta grafito para todo el modo oscuro. */
html:not(.light-mode) {
  --bg-body: #11161c;
  --card-bg: #1c2229;
  --text-gray: #aeb8c2;
  --shadow: 0 18px 45px rgba(0,0,0,.42);
}
html:not(.light-mode) body { background: radial-gradient(circle at top left,rgba(255,0,204,.075),transparent 30%),radial-gradient(circle at top right,rgba(0,212,255,.065),transparent 32%),#11161c !important; }
html:not(.light-mode) .hero-modern { background: radial-gradient(circle at top left,rgba(151,167,180,.10),transparent 40%),linear-gradient(145deg,#272e35,#151a20) !important; border-color: rgba(201,215,223,.14) !important; }
html:not(.light-mode) .auto-promo-banner,
html:not(.light-mode) .payment-section,
html:not(.light-mode) .faq-item,
html:not(.light-mode) .review-modern-card,
html:not(.light-mode) .combo-premium-card,
html:not(.light-mode) .referral-card,
html:not(.light-mode) .flash-offer-card { background: linear-gradient(145deg,#252c33,#171c22) !important; border-color: rgba(201,215,223,.13) !important; box-shadow: var(--shadow) !important; }
html:not(.light-mode) .auto-promo-item { border-color: rgba(201,215,223,.10) !important; }
html:not(.light-mode) .auto-promo-item span { background: rgba(214,226,232,.08) !important; border-color: rgba(214,226,232,.14) !important; }
html:not(.light-mode) .product-card-v3 { background: linear-gradient(180deg,#252c33,#171c22) !important; border-color: rgba(201,215,223,.14) !important; box-shadow: 0 12px 34px rgba(0,0,0,.30) !important; }
html:not(.light-mode) .product-card-v3 .product-visual-v3,
html:not(.light-mode) .product-card-v3 .product-image-stage-v3 { background: #171c22 !important; }
html:not(.light-mode) .catalog-control-bar-v3 { background: rgba(15,20,26,.60) !important; border-color: rgba(201,215,223,.12) !important; }
html:not(.light-mode) .category-chip { background: rgba(214,226,232,.07) !important; border-color: rgba(214,226,232,.13) !important; }
html:not(.light-mode) .catalog-sort-v3 select,
html:not(.light-mode) .catalog-sort-v3 select option { background: #252c33 !important; color: #edf4f7 !important; border-color: rgba(201,215,223,.24) !important; }
html:not(.light-mode) #cardsContainer .more-platforms-card { background: linear-gradient(145deg,#252c33,#171c22) !important; border-color: rgba(104,228,255,.30) !important; box-shadow: 0 16px 34px rgba(0,0,0,.32) !important; }
html:not(.light-mode) .detail-panel-v3,
html:not(.light-mode) .checkout-v3-panel,
html:not(.light-mode) .combo-v3-panel,
html:not(.light-mode) .info-hub-panel,
html:not(.light-mode) .site-dialog-panel { background: linear-gradient(145deg,#282f36,#161b21) !important; border-color: rgba(174,213,229,.24) !important; }
html:not(.light-mode) .detail-footer-v3,
html:not(.light-mode) .combo-v3-fixed-footer { background: rgba(19,24,30,.96) !important; border-color: rgba(201,215,223,.13) !important; }
html:not(.light-mode) #cart-modal { background: #171c22 !important; }
html:not(.light-mode) .footer-v3-links { background: #0d1116 !important; border-color: rgba(201,215,223,.12) !important; }
/* En la página principal el banner queda visual; el mensaje completo vive en la bienvenida. */
header > .hero-modern { min-height: 250px !important; padding: 12px 16px !important; background: transparent !important; box-shadow: none !important; }
header > .hero-modern > .promo-loader-tag,
header > .hero-modern > h1,
header > .hero-modern > .hero-sub { display: none !important; }
header > .hero-modern .hero-streaming-bg { opacity: .62 !important; }

/* Catálogo: una sola imagen oscurecida como fondo continuo bajo el navbar. */
header { display: none !important; }
body {
  position: relative;
  display: flow-root;
  background-image: none !important;
}
.catalog-bg-layer {
  position: absolute !important;
  top: 65px !important;
  left: 0;
  right: 0;
  height: 325px;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  background: #111820;
}
.catalog-bg-layer::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  height: 325px;
  background: rgba(7,11,16,.04);
}
.catalog-bg-track { display: flex; width: max-content; height: 100%; animation: catalogMarquee 60s linear infinite; will-change: transform; }
.catalog-bg-group { display: flex; height: 100%; flex: none; }
.catalog-bg-group img { display: block; width: 25vw; min-width: 25vw; height: 100%; margin-right: -1px; object-fit: cover; object-position: center; }
@keyframes catalogMarquee {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}
@media (max-width:650px) {
  .catalog-bg-track { animation-duration: 60s; }
  .catalog-bg-group img { width: 52vw; min-width: 52vw; }
}
.catalog-heading { position: relative; z-index: 3; width: fit-content; max-width: min(680px,100%); padding: 8px 14px 10px !important; border-radius: 12px; background: rgba(5,12,20,.28); }
html.light-mode .catalog-heading { background: rgba(7,18,28,.24); }
@media (prefers-reduced-motion: reduce) { .catalog-bg-track { animation: none !important; } }
.auto-promo-banner,
.dashboard-filter-section,
#cardsContainer,
footer { position: relative; z-index: 2; }
.auto-promo-banner { margin-top: 110px !important; background: rgba(18,24,31,.42) !important; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
html.light-mode .auto-promo-banner { background: rgba(255,250,244,.30) !important; }
.dashboard-filter-section + .auto-promo-banner { margin-top: 0 !important; margin-bottom: 22px; }
.dashboard-filter-section { margin-top: 230px !important; }
@media (max-width:650px) {
  .catalog-bg-layer { top: 60px !important; height: 335px; background-size: 100% 335px, 25% 335px, 25% 335px, 25% 335px, 25% 335px; }
  .catalog-bg-layer::after { height: 335px; }
  .auto-promo-banner { margin-top: 82px !important; }
  .dashboard-filter-section { margin-top: 210px !important; }
}
html:not(.light-mode) .loader { background: radial-gradient(circle at center,#252c33 0%,#11161c 58%,#0c1015 100%) !important; }
html:not(.light-mode) .promo-loader-box { background: linear-gradient(145deg,#2b333b,#171c22) !important; border-color: rgba(104,228,255,.42) !important; box-shadow: 0 20px 50px rgba(0,0,0,.62),0 0 30px rgba(104,228,255,.14) !important; }
html:not(.light-mode) .promo-loader-box h2 { color: #f2f6f8 !important; }
html:not(.light-mode) .promo-loader-box p { color: #b8c4cc !important; }

/* El banner real se reutiliza como bienvenida a pantalla completa durante la carga. */
.loader { padding: 0 !important; }
.loader-hero-preview { width: 100% !important; height: 100svh !important; min-height: 100svh !important; border: 0 !important; border-radius: 0 !important; padding: 70px 5vw 42px !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; text-align:center !important; animation: none !important; background: linear-gradient(180deg,rgba(8,12,17,.42),rgba(8,12,17,.76)) !important; }
.loader-hero-preview::before { content:""; position:absolute; inset:0; z-index:1; background:rgba(7,11,16,.42); pointer-events:none; }
.loader-hero-preview .hero-streaming-bg { opacity: .47 !important; border-radius: 0 !important; }
.loader-hero-preview .hero-scroll-col img { height: 300px !important; }
.loader-hero-preview > *:not(.hero-streaming-bg) { position: relative; z-index: 2; }
.loader-hero-copy { position: relative; z-index: 3; display:flex; flex-direction:column; align-items:center; max-width:min(680px,92vw); padding:24px 32px 20px; border:1px solid rgba(150,220,240,.30); border-radius:22px; background:rgba(29,37,46,.58); box-shadow:0 18px 50px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.10); backdrop-filter:blur(7px); }
.loader-hero-copy h1 { margin:10px auto 8px !important; font-size:clamp(1.2rem,2.2vw,1.75rem) !important; letter-spacing:-.025em !important; text-shadow:0 2px 6px rgba(0,0,0,.38) !important; }
.loader-hero-copy .gradient-text::after { filter: drop-shadow(0 1px 4px rgba(0,0,0,.24)) !important; }
.loader-hero-copy .hero-sub { margin:0 auto !important; }
.loader-hero-preview > h1 { font-size: clamp(1.65rem,4.5vw,3.35rem) !important; }
.loader-hero-preview .hero-sub { font-size: clamp(.82rem,1.7vw,1rem) !important; }
.loader-hero-preview .promo-loader-tag { font-size: .72rem !important; }
.loader-hero-preview .hero-cta { display: none !important; }
.loader-explore-cta { position: relative; z-index: 4; display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; min-height: 42px; padding: 0 20px; border: 1px solid rgba(104,228,255,.52); border-radius: 999px; background: linear-gradient(135deg,#6638e8,#008fbd); color: #fff; font-size: .76rem; font-weight: 850; text-decoration: none; box-shadow: 0 8px 24px rgba(0,142,174,.25); }
html.light-mode .loader-hero-preview { background: linear-gradient(145deg,rgba(255,250,244,.26),rgba(246,239,231,.34)) !important; }
html:not(.light-mode) .loader-hero-preview { background: linear-gradient(145deg,rgba(18,23,29,.34),rgba(12,16,21,.50)) !important; }
@media (max-width:650px) { .loader-hero-preview { padding: 72px 14px 30px !important; } .loader-hero-preview > h1 { font-size: clamp(1.45rem,8vw,2.5rem) !important; } .loader-hero-preview .hero-scroll-col img { height: 230px !important; } .loader-hero-copy { padding:20px 16px 18px; border-radius:18px; } .loader-explore-cta { margin-top: 20px; } }

/* Bienvenida: elimina el shadow/glow para un acabado más limpio */
.loader-hero-copy { box-shadow: none !important; }
.loader-hero-copy h1,
.loader-hero-copy .hero-sub { text-shadow: none !important; }
.loader-hero-copy .gradient-text::after { filter: none !important; }

/* Modo claro — superficie limpia, contraste real y acentos de marca. */
html.light-mode {
  --bg-body: #f3f6f8;
  --card-bg: #ffffff;
  --text-white: #17263a;
  --text-gray: #607186;
  --accent: #008db7;
  --shadow: 0 12px 30px rgba(26, 55, 80, .12);
}
html.light-mode body { background: linear-gradient(145deg,#e7eef2 0%,#dce7ec 52%,#e8e3ed 100%) !important; }
html.light-mode .top-bar-container { background: linear-gradient(115deg,#0f537d 0%,#176a95 50%,#123f61 100%) !important; border-bottom-color: rgba(189,233,247,.38) !important; box-shadow: 0 5px 20px rgba(19,48,70,.20) !important; }
html.light-mode .brand-mini .brand-morales,
html.light-mode .mobile-brand-name { color: #ffffff !important; }
html.light-mode .top-link,
html.light-mode .search-box,
html.light-mode .mobile-search-btn,
html.light-mode .mobile-more-btn { color: #edfaff !important; background: rgba(4,28,47,.22) !important; border-color: rgba(205,241,251,.36) !important; box-shadow: none !important; }
html.light-mode .top-link:hover,
html.light-mode .search-box:focus-within { background: rgba(222,249,255,.16) !important; }
html.light-mode .search-box input,
html.light-mode .search-box input::placeholder { color: #ecfaff !important; }

html.light-mode .catalog-bg-layer { opacity: .99; }
html.light-mode .catalog-bg-layer.is-next { opacity: 0; }
html.light-mode .catalog-bg-layer.is-next.is-visible { opacity: 1; }
html.light-mode .dashboard-filter-section { padding: 0 !important; border: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
html.light-mode .catalog-heading h2 { background: linear-gradient(90deg,#123e62,#008ebd 50%,#7b47d2 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
html.light-mode .catalog-heading p { color: #526980 !important; }
html.light-mode .catalog-control-bar-v3 { background: rgba(235,242,246,.82) !important; border-color: rgba(45,93,124,.16) !important; }
html.light-mode .category-chip { background: rgba(255,255,255,.84) !important; border-color: rgba(41,101,138,.18) !important; color: #36566f !important; }
html.light-mode .category-chip:hover { background: #e6f8fc !important; border-color: #43bdd7 !important; color: #087a9e !important; }
html.light-mode .category-more-toggle { background: rgba(255,255,255,.68); }

html.light-mode .card { background: #fff !important; border-color: rgba(42,185,214,.52) !important; box-shadow: 0 8px 24px rgba(27,58,85,.09), 0 0 0 1px rgba(67,210,231,.18), 0 0 12px rgba(0,174,211,.10) !important; }
html.light-mode .card::before { background: radial-gradient(circle at top,rgba(255,255,255,.72),transparent 60%) !important; }
html.light-mode .card-inner { background: linear-gradient(180deg,#ffffff 0%,#f3f7fa 100%) !important; }
html.light-mode .card:hover { border-color: rgba(0,168,203,.82) !important; box-shadow: 0 17px 34px rgba(27,58,85,.22), 0 0 0 1px rgba(67,210,231,.42), 0 0 22px rgba(0,174,211,.22) !important; }
html.light-mode .plan-title { color: #18283b !important; }
html.light-mode .plan-duration { color: #087f9f !important; }
html.light-mode .price-tag,
html.light-mode .current-price-val { color: #008c69 !important; }
html.light-mode .card:not(.more-platforms-card)::after { color: #708196 !important; }
html.light-mode .card.sold-out::after { color: #b94a5a !important; }
html.light-mode .card-tag { background: rgba(255,255,255,.84) !important; border-color: rgba(7,140,181,.28) !important; color: #155a73 !important; }
html.light-mode .card-mini-badge { background: rgba(22,48,71,.86) !important; color: #fff1ad !important; }
html.light-mode .add-to-cart-btn { background: #e2f7fc !important; border-color: #64cde3 !important; color: #087c9f !important; }
html.light-mode #cardsContainer .more-platforms-card { background: linear-gradient(145deg,#f4f7ff,#e3f7fb) !important; border-color: rgba(0,142,183,.34) !important; box-shadow: var(--shadow) !important; }
html.light-mode .flash-offer-card {
  background: linear-gradient(145deg,#f4e3eb 0%,#e4eaf3 100%) !important;
  border-color: rgba(230,48,157,.78) !important;
  box-shadow: 0 12px 28px rgba(47,58,88,.18), 0 0 0 1px rgba(230,48,157,.24), 0 0 18px rgba(230,48,157,.16) !important;
}
html.light-mode .flash-offer-card h4 { color: #142942 !important; }
html.light-mode .flash-offer-card p { color: #52657b !important; }
html.light-mode .loader-hero-copy {
  background: rgba(247,250,252,.90) !important;
  border-color: rgba(0,145,184,.45) !important;
  box-shadow: 0 16px 38px rgba(23,54,77,.12) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html.light-mode .loader-hero-copy h1 { color: #17263a !important; text-shadow: none !important; }
html.light-mode .loader-hero-copy .hero-sub { color: #4b6073 !important; text-shadow: none !important; }
html.light-mode .loader-hero-copy .gradient-text::after { filter: none !important; }
html.light-mode .loader-hero-preview { background: linear-gradient(180deg,rgba(8,12,17,.42),rgba(8,12,17,.76)) !important; }
html.light-mode .loader-hero-preview::before { background: rgba(7,11,16,.42) !important; }
html.light-mode .loader-hero-copy {
  background: rgba(29,37,46,.58) !important;
  border-color: rgba(150,220,240,.30) !important;
  box-shadow: none !important;
  backdrop-filter: blur(7px) !important;
  -webkit-backdrop-filter: blur(7px) !important;
}
html.light-mode .loader-hero-copy h1 { color: #fff !important; }
html.light-mode .loader-hero-copy .hero-sub { color: #fff !important; }
html.light-mode .combo-v3-panel .checkout-step { color: #3d6a7d !important; background: rgba(53,169,198,.10) !important; border-color: rgba(53,169,198,.30) !important; box-shadow: none !important; }
html.light-mode .combo-v3-panel .combo-option-v3 { background: #f2f6f9 !important; border-color: #cddbe5 !important; }
html.light-mode .combo-v3-panel .combo-option-v3:hover { background: #edf7fa !important; border-color: #8bc6d4 !important; }
html.light-mode .combo-v3-panel .combo-option-v3.selected { background: #e7f5f8 !important; border-color: #54b9cf !important; box-shadow: inset 0 0 0 1px rgba(32,157,184,.12) !important; }
html.light-mode .combo-v3-panel .combo-option-v3 strong { color: #1d3044 !important; }
html.light-mode .combo-v3-panel .combo-option-v3 small { color: #61778b !important; }
html.light-mode .combo-v3-panel .combo-option-price { color: #126f89 !important; font-size: .82rem; font-weight: 900; }
html.light-mode .combo-v3-panel .combo-option-duration { color: #718596 !important; font-weight: 500; }
html.light-mode .combo-v3-panel .combo-option-v3 input { accent-color: #168ba8 !important; }
html.light-mode .combo-v3-panel .combo-v3-fixed-footer { background: #edf3f6 !important; border-color: #d0dde5 !important; }
html.light-mode .combo-v3-panel .combo-v3-summary { background: #e5f3f7 !important; color: #557084 !important; border: 1px solid #c4e0e8; }
html.light-mode .combo-v3-panel .combo-v3-summary strong { color: #087d98 !important; }
html.light-mode .combo-v3-panel .combo-v3-summary { align-items: center; }
html.light-mode .combo-v3-panel .combo-summary-lines { display: grid; gap: 2px; color: #557084; font-size: .68rem; }
html.light-mode .combo-v3-panel .combo-summary-lines span:first-child { color: #2e566d; font-weight: 800; }
html.light-mode .combo-v3-panel .combo-summary-lines b { color: #2b4b60; }
html.light-mode .combo-v3-panel .combo-summary-lines .combo-summary-saving,
html.light-mode .combo-v3-panel .combo-summary-lines .combo-summary-saving b { color: #07876f !important; }
html.light-mode .combo-v3-panel .combo-summary-total { font-size: 1.08rem !important; color: #087d98 !important; }

/* Misma jerarquía de precios en ambos temas. */
.combo-v3-panel .combo-option-price { font-size: .82rem; font-weight: 900; }
.combo-v3-panel .combo-option-duration { font-weight: 500; }
.combo-v3-panel .combo-summary-lines { display: grid; gap: 2px; font-size: .68rem; }
.combo-v3-panel .combo-summary-lines span:first-child { font-weight: 800; }
.combo-v3-panel .combo-v3-summary { align-items: center; }
.combo-v3-panel .combo-summary-total { font-size: 1.08rem !important; }
html:not(.light-mode) .combo-v3-panel .combo-option-price { color: #7fe8ff !important; }
html:not(.light-mode) .combo-v3-panel .combo-option-duration { color: #9aa7bc !important; }
html:not(.light-mode) .combo-v3-panel .combo-summary-lines { color: #aebbd0; }
html:not(.light-mode) .combo-v3-panel .combo-summary-lines b { color: #dce8f2; }
html:not(.light-mode) .combo-v3-panel .combo-summary-saving,
html:not(.light-mode) .combo-v3-panel .combo-summary-saving b { color: #67efb3 !important; }
html:not(.light-mode) .combo-v3-panel .combo-summary-total { color: #7fe8ff !important; }
html.light-mode .combo-v3-panel .combo-v3-hint { color: #60778b !important; }
html.light-mode .combo-v3-panel .combo-v3-buy { background: linear-gradient(105deg,#2ba9c2,#69d4e3) !important; color: #073443 !important; box-shadow: 0 7px 16px rgba(28,145,170,.16) !important; }
html.light-mode .combo-v3-panel .combo-v3-buy:disabled { background: #b9dce5 !important; color: #668997 !important; opacity: .78 !important; box-shadow: none !important; }

html.light-mode .combo-premium-card { transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease !important; }
html.light-mode .combo-premium-card:hover { transform: translateY(-7px) scale(1.035) !important; z-index: 3; border-color: #42c5df !important; box-shadow: 0 18px 38px rgba(22,63,91,.20) !important; }

/* Catálogo: menos ruido visual y una jerarquía más clara */
.catalog-heading { margin: 0 0 14px; padding-top: 2px; }
.catalog-heading h2 { margin: 0; display: inline-block; color: #f5f8fb; font-size: clamp(1.3rem, 2.4vw, 1.7rem); font-weight: 850; letter-spacing: -.025em; background: linear-gradient(90deg,#ffffff 0%,#00d9ff 50%,#c43cff 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.catalog-heading::after { content: ""; display: block; width: 205px; height: 4px; margin-top: 8px; border-radius: 999px; background: linear-gradient(90deg,#00e5ff,#7654ff,#c43cff,transparent); opacity: 1; }
.catalog-heading p { margin: 6px 0 0; color: #c5e5ef; font-size: .82rem; }
html.light-mode .catalog-heading h2 { color: #202631; }
html.light-mode .catalog-heading p { color: #717b89; }
html.light-mode .catalog-heading h2 { background: linear-gradient(90deg,#24364b 0%,#087eaa 58%,#7046bb 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

.category-filter-v3 .category-chip:nth-child(n+7):not(.category-more-toggle) { display: none; }
.category-filter-v3.is-expanded .category-chip:nth-child(n+7):not(.category-more-toggle) { display: inline-flex; }
.category-more-toggle { border: 1px dashed rgba(94,210,238,.45); background: transparent; color: #67d4ef; border-radius: 999px; padding: 8px 12px; font: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; }
.category-more-toggle:hover { background: rgba(94,210,238,.10); }
html.light-mode .category-more-toggle { color: #087eaa; border-color: rgba(8,126,170,.35); }
@media (min-width:651px) {
  .category-more-toggle .fa-chevron-down { transform: rotate(-90deg); }
  .category-more-toggle .fa-chevron-up { transform: rotate(-90deg); }
}

.auto-promo-banner { margin-bottom: 10px; }
.auto-promo-item { width: 270px; min-height: 68px; padding: 12px 14px; }
.auto-promo-item span { width: 36px; height: 36px; border-radius: 12px; font-size: 1rem; }
.auto-promo-item strong { font-size: .88rem; }
.auto-promo-item small { font-size: .72rem; }

/* Cabecera sobre las portadas: idéntica geometría en ambos temas. */
.dashboard-filter-section .catalog-heading { margin-bottom: 20px; max-width: 630px; }
.dashboard-filter-section .catalog-heading h2 { line-height: 1.2; }
html.light-mode .dashboard-filter-section .catalog-heading h2 {
  background: linear-gradient(90deg,#ffffff 0%,#66e4ff 55%,#c594ff 100%);
  background-clip: text; -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
html.light-mode .dashboard-filter-section .catalog-heading p { color: #edf5fc !important; text-shadow: 0 1px 5px #081320; }
.dashboard-filter-section .category-filter-v3 { gap: 8px !important; }
.dashboard-filter-section .catalog-control-bar-v3 { margin-top: 16px; }
 .catalog-control-bar-v3 { min-height: 46px !important; padding: 8px 12px !important; gap: 13px !important; border-radius: 12px !important; }
 .catalog-sort-v3 select { height: 34px !important; }
html.light-mode .catalog-control-bar-v3 { background: rgba(255,255,255,.95) !important; border-color: #d9e3ea !important; box-shadow: 0 6px 18px rgba(17,40,62,.08); }
html.light-mode .catalog-sort-v3,
html.light-mode .catalog-check-v3 { color: #3d5265 !important; }
html.light-mode .catalog-sort-v3 select,
html.light-mode .catalog-sort-v3 select option { background: #f4f7fa !important; color: #23384b !important; border-color: #ccd9e2 !important; }
html.light-mode .category-more-toggle { background: #f5fafc !important; color: #176079 !important; border-color: #8cc2d2 !important; }
html.light-mode .top-bar-container .top-bar { background: transparent !important; }

/* Los productos V3 no usan card-inner: su superficie es product-body-v3. */
html.light-mode #cardsContainer .product-card-v3 { background: #fff !important; border-color: rgba(42,185,214,.52) !important; box-shadow: 0 8px 24px rgba(27,58,85,.09), 0 0 0 1px rgba(67,210,231,.18), 0 0 12px rgba(0,174,211,.10) !important; }
html.light-mode #cardsContainer .product-body-v3 { background: linear-gradient(180deg,#ffffff,#f7f9fc) !important; }
html.light-mode #cardsContainer .product-card-v3 .plan-title { color: #192e40 !important; }
html.light-mode #cardsContainer .card-feature-v3 { color: #4c6072 !important; }
html.light-mode #cardsContainer .card-feature-v3 i { color: #00816f !important; }
html.light-mode #cardsContainer .meta-chip-v3 { background: #eff4f7 !important; color: #4b6174 !important; border-color: #dce5ec !important; }
html.light-mode #cardsContainer .product-price-v3 .current-price-val { color: #172e40 !important; }
html.light-mode #cardsContainer .old-price-card { color: #b63855 !important; }
html.light-mode #cardsContainer .card-detail-button-v3 { background: #f1f5f8 !important; color: #263d50 !important; border-color: #cedbe5 !important; }
html.light-mode #cardsContainer .card-cart-button-v3 { background: #007f9d !important; color: #fff !important; border-color: #007f9d !important; }
html.light-mode #cardsContainer .card-detail-button-v3:hover { background: #e3f1f6 !important; border-color: #75b3c7 !important; }
html.light-mode #cardsContainer .more-platforms-card h3 { color: #203d53 !important; }
html.light-mode #cardsContainer .more-platforms-card p { color: #526d81 !important; }

/* Ajuste final de contraste en claro: superficies y precios sólidos, sin neón. */
html.light-mode .combo-premium-card {
  background: #fffaf4 !important;
  border-color: #d8c9b8 !important;
  box-shadow: 0 10px 24px rgba(31,55,73,.14) !important;
}
html.light-mode .combo-premium-card h3 { color: #172d43 !important; }

/* Logos/nombres visuales de las plataformas con más presencia, igual en ambos temas. */
#cardsContainer .product-card-v3 .product-visual-v3 { height: 158px !important; }
#cardsContainer .product-card-v3 .product-image-stage-v3 img { transform: scale(1.045); transform-origin: center; }
.combo-premium-card h3 + p { font-size: .82rem !important; font-weight: 500 !important; line-height: 1.35 !important; color: #9caed0 !important; letter-spacing: 0 !important; }
.combo-premium-card:not(:has(.combo-platforms)) h3 { display: block; }
.combo-premium-card:has(.combo-platforms) h3 { display: none !important; }
.combo-premium-card h3 + p .combo-platforms { display: block; margin-bottom: 2px; font-size: .92rem; font-weight: 850; color: #8fc8e6; }
.combo-premium-card h3 + p .combo-description { display: block; color: inherit; }
html.light-mode .combo-premium-card h3 + p { color: #5b6f80 !important; }
html.light-mode .combo-premium-card h3 + p .combo-platforms { color: #2d6078 !important; }
@media (max-width: 650px) {
  #cardsContainer .product-card-v3 .product-visual-v3 { height: 120px !important; }
}
html.light-mode .combo-premium-card p { color: #5b6f80 !important; }
html.light-mode .combo-premium-card .combo-price-mini { color: #07876f !important; text-shadow: none !important; }
html.light-mode .combo-premium-card .combo-action,
html.light-mode .combo-premium-card .custom-card-btn { background: #eef5f7 !important; color: #08718d !important; border-color: #54b9cf !important; box-shadow: none !important; }
html.light-mode .combo-premium-card .combo-action:hover,
html.light-mode .combo-premium-card .custom-card-btn:hover { background: #e0f0f4 !important; color: #075b73 !important; border-color: #249ab4 !important; }
html.light-mode .flash-offer-card { background: #f4edf0 !important; border-color: #d96b9f !important; box-shadow: 0 10px 24px rgba(31,55,73,.14) !important; }
html.light-mode .flash-offer-card .promo-loader-tag { background: #f8dce9 !important; border-color: #d96b9f !important; color: #a53670 !important; box-shadow: none !important; }
html.light-mode .flash-offer-card .flash-badge { background: #f3d7e4 !important; border-color: #c85c8d !important; color: #922855 !important; box-shadow: none !important; text-shadow: none !important; }
html.light-mode .flash-offer-card .promo-loader-price { color: #07876f !important; text-shadow: none !important; }
html.light-mode .flash-offer-card .flash-new {
  color: #087a45 !important;
  text-shadow: none !important;
  filter: none !important;
  animation: none !important;
}
html.light-mode .flash-offer-card .old-price-strike { color: #b63855 !important; text-shadow: none !important; }

@media (hover:hover) and (pointer:fine) {
  #cardsContainer .product-card-v3:hover,
  #cardsContainer .product-card-v3:focus-within {
    transform: translateY(-7px) scale(1.035) !important;
    z-index: 5;
    border-color: #39bad3 !important;
  }
  html.light-mode #cardsContainer .product-card-v3:hover { box-shadow: 0 18px 38px rgba(22,63,91,.19), 0 0 0 1px rgba(67,210,231,.42), 0 0 22px rgba(0,174,211,.22) !important; }
}
@media (prefers-reduced-motion:reduce) {
  #cardsContainer .product-card-v3 { transition: none !important; }
  #cardsContainer .product-card-v3:hover,
  #cardsContainer .product-card-v3:focus-within { transform: none !important; }
}

/* Móvil: controles del catálogo en una sola línea compacta. */
@media (max-width: 650px) {
  .catalog-control-bar-v3 {
    min-height: 42px !important;
    height: 42px !important;
    padding: 6px 8px !important;
    gap: 7px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
  }
  .catalog-sort-v3 { width: auto !important; flex: 1 1 auto !important; min-width: 0 !important; gap: 6px !important; justify-content: flex-start !important; white-space: nowrap !important; }
  .catalog-sort-v3 select { width: 116px !important; max-width: 116px !important; height: 30px !important; flex: 0 0 116px !important; padding: 0 8px !important; font-size: .68rem !important; }
  .catalog-sort-v3 label, .catalog-check-v3 { font-size: .62rem !important; }
  .catalog-check-v3 { flex: 0 0 auto !important; gap: 4px !important; white-space: nowrap !important; }
  .catalog-check-v3 input { width: 13px !important; height: 13px !important; }
}

/* Las tarjetas de combos comparten el mismo movimiento en ambos temas. */
@media (hover:hover) and (pointer:fine) {
  .combo-premium-card {
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease !important;
  }
  .combo-premium-card:hover,
  .combo-premium-card:focus-within {
    transform: translateY(-7px) scale(1.035) !important;
    z-index: 3;
  }
}
@media (prefers-reduced-motion: reduce) {
  .combo-premium-card { transition: none !important; }
  .combo-premium-card:hover,
  .combo-premium-card:focus-within { transform: none !important; }
}

/* Reseñas: contraste firme en modo claro. */
html.light-mode .review-modern-card .review-top h4 { color: #1b3044 !important; }
html.light-mode .review-modern-card .review-top span { color: #4d7890 !important; }
html.light-mode .review-modern-card p { color: #4d6275 !important; }
html.light-mode .review-modern-card .review-footer,
html.light-mode .review-modern-card .review-footer span { color: #587083 !important; }
html.light-mode .review-modern-card .review-stars { color: #d69416 !important; }
html.light-mode .review-modern-card .review-person h4 { color: #1b3044 !important; }
html.light-mode .review-modern-card .review-person span { color: #2f6c91 !important; }
html.light-mode .review-modern-card .review-text { color: #40586b !important; }
html.light-mode .review-modern-card .review-service-badge { color: #168469 !important; background: #e9f8f1 !important; border-color: #a9e2c8 !important; }
html.light-mode .review-modern-card .review-footer span { color: #526b7d !important; }

/* Buscador de escritorio siempre extendido. */
@media (min-width: 651px) {
  .top-bar-container .search-box,
  .top-bar-container .search-box:focus-within {
    width: 285px !important;
    min-width: 285px !important;
    padding: 8px 14px !important;
    justify-content: flex-start !important;
  }
  .top-bar-container .search-box input,
  .top-bar-container .search-box:focus-within input {
    width: 100% !important;
    opacity: 1 !important;
    padding: initial !important;
  }
}

/* Inicio: pósters más oscuros para destacar el mensaje central. */
.loader-hero-preview::before,
html.light-mode .loader-hero-preview::before {
  background: rgba(5,9,15,.80) !important;
}

/* Carrito claro: información comercial con contraste sólido. */
html.light-mode #cart-modal .cart-coupon-box {
  background: #e5f1f5 !important;
  border-color: #79aec0 !important;
}
html.light-mode #cart-modal .cart-coupon-box label,
html.light-mode #cart-modal .cart-coupon-box label i { color: #075f7c !important; }
html.light-mode #cart-modal .cart-coupon-row input {
  background: #f7fafb !important;
  color: #243b4d !important;
  border-color: #b8cbd4 !important;
}
html.light-mode #cart-modal .cart-coupon-row input::placeholder { color: #677b88 !important; opacity: 1; }
html.light-mode #cart-modal .cart-coupon-row button {
  background: #d7ebf0 !important;
  color: #08627c !important;
  border-color: #64a9bc !important;
}
html.light-mode #cart-modal #cart-next-tier {
  color: #315f74 !important;
  background: #edf3f5 !important;
  border-color: #8eb3c1 !important;
}
html.light-mode #cart-modal #cart-discount-text {
  color: #8f2857 !important;
  background: #f5dce7 !important;
  border-color: #c85c8d !important;
  text-shadow: none !important;
}
html.light-mode #cart-modal #cart-old-total { color: #ad354f !important; }
html.light-mode #cart-modal #cart-total { color: #076b8b !important; font-weight: 900 !important; }
.combo-v3-panel .combo-v3-summary[hidden] { display: none !important; }

/* Separación visual entre el logo y la información de cada producto. */
#cardsContainer .product-card-v3 .product-visual-v3 {
  border-bottom: 2px solid rgba(92,208,229,.62) !important;
}
html.light-mode #cardsContainer .product-card-v3 .product-visual-v3 {
  border-bottom-color: #4aaec3 !important;
}
html:not(.light-mode) #cardsContainer .product-card-v3 .product-visual-v3 {
  border-bottom-color: rgba(96,215,235,.48) !important;
}

/* Barra inferior móvil: contraste sólido y legible en modo claro. */
@media (max-width:650px) {
  html.light-mode .mobile-bottom-nav {
    background: #f8fbfd !important;
    border-top-color: #b7ccd6 !important;
    box-shadow: 0 -8px 24px rgba(31,62,78,.18) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  html.light-mode .mobile-nav-item { color: #536a7b !important; }
  html.light-mode .mobile-nav-item.active,
  html.light-mode .mobile-nav-item:active { color: #087f9f !important; }
  html.light-mode .mobile-nav-item.active::before {
    background: #087f9f !important;
    box-shadow: none !important;
  }
}

/* En celulares apaisados el ancho supera 650px, pero debe conservarse la navegación móvil. */
@media (orientation: landscape) and (max-height: 600px) and (max-width: 1000px) {
  .mobile-bottom-nav { display: grid !important; }
  .mobile-search-btn, .mobile-more-btn { display: grid !important; }
  .top-actions, .desktop-info-link, .top-links { display: none !important; }
  .top-bar { justify-content: flex-start !important; }
  .brand-left-box { margin-right: auto !important; }
  .mobile-search-btn { margin-left: auto !important; }
  .top-bar-container { min-height: 62px !important; }
  .catalog-bg-layer { top: 62px !important; }
}

/* El modo oscuro usa grafito, también en la barra inferior móvil. */
html:not(.light-mode) .mobile-bottom-nav {
  background: #11161b !important;
  border-top-color: #39444d !important;
  box-shadow: 0 -8px 24px rgba(0,0,0,.45) !important;
}
html:not(.light-mode) .mobile-nav-item { color: #a5b1bb !important; }
html:not(.light-mode) .mobile-nav-item.active,
html:not(.light-mode) .mobile-nav-item:active { color: #58d9ef !important; }
html:not(.light-mode) .mobile-nav-item.active::before {
  background: #58d9ef !important;
  box-shadow: none !important;
}
html:not(.light-mode) .more-menu {
  background: #171d22 !important;
  border-color: #3b474f !important;
  box-shadow: 0 22px 60px rgba(0,0,0,.58) !important;
}
html:not(.light-mode) .more-menu button:hover,
html:not(.light-mode) .more-menu a:hover,
html:not(.light-mode) .more-menu button:focus-visible,
html:not(.light-mode) .more-menu a:focus-visible {
  background: #222c33 !important;
}
html:not(.light-mode) .more-menu i { color: #58d9ef !important; }
html:not(.light-mode) .more-menu small { color: #9eabb4 !important; }

/* Durante una búsqueda, el carrusel no debe competir con los resultados. */
body.search-active .catalog-bg-layer { display: none !important; }
.combo-premium-card.search-hidden,
.combo-premium-section.search-hidden { display: none !important; }
.search-suggestion {
  width: min(1250px,calc(100% - 64px));
  margin: 86px auto 14px;
  padding: 9px 14px;
  border: 1px solid rgba(74,181,205,.34);
  border-radius: 11px;
  background: rgba(31,113,137,.10);
  color: #82d8eb;
  text-align: center;
  font-size: .74rem;
  font-weight: 750;
}
.search-suggestion[hidden] { display: none !important; }
html.light-mode .search-suggestion { background: #e4f1f5; border-color: #8ebdca; color: #245f76; }
body.search-active .search-suggestion:not([hidden]) + #cardsContainer { margin-top: 0 !important; }
@media (max-width:650px) {
  .search-suggestion { width: calc(100% - 20px); margin-top: 76px; }
}

/* Contraste localizado sobre el carrusel, sin oscurecer los pósters completos. */
.dashboard-filter-section .catalog-heading {
  background: rgba(4,10,17,.52) !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.16);
}
.dashboard-filter-section .category-filter-v3 {
  width: fit-content;
  max-width: 100%;
  padding: 6px 8px !important;
  border-radius: 14px;
  background: rgba(4,10,17,.70);
  box-shadow: 0 7px 18px rgba(0,0,0,.12);
}
html.light-mode .dashboard-filter-section .catalog-heading { background: rgba(5,13,21,.46) !important; }
html.light-mode .dashboard-filter-section .category-filter-v3 { background: rgba(5,13,21,.28); }

/* Nombres de plataformas más protagonistas en ambos temas. */
#cardsContainer .product-card-v3 .plan-title,
#cardsContainer .card .plan-title,
.combo-premium-card h3 {
  font-size: 1.08rem !important;
  font-weight: 900 !important;
  letter-spacing: -.015em !important;
  line-height: 1.2 !important;
}
html:not(.light-mode) #cardsContainer .product-card-v3 .plan-title,
html:not(.light-mode) #cardsContainer .card .plan-title,
html:not(.light-mode) .combo-premium-card h3 { color: #f4f8fb !important; }
html.light-mode #cardsContainer .product-card-v3 .plan-title,
html.light-mode #cardsContainer .card .plan-title,
html.light-mode .combo-premium-card h3 { color: #172d43 !important; }
