/*
 * ═══════════════════════════════════════════════════════════════════════
 *  PAGE THEME: Nintendo Wii
 *  Injected into <head> + body.theme-wii applied when visiting /wii/:slug.
 *  Changes ONLY colors & visual styles — zero structural modifications.
 *
 *  Palette:
 *    Wii Blue:   #009AC7
 *    Wii Deep:   #003E6B
 *    Wii LED:    #4DD9FF
 *
 *  All selectors use `.theme-wii` as prefix so they win over
 *  Angular's encapsulated styles regardless of specificity order.
 *
 *  Official art (you supply the binary files — not bundled in git):
 *    frontend/public/images/themes/official/wii/page-bg.jpg
 *    frontend/public/images/themes/official/wii/header-deco.png
 * ═══════════════════════════════════════════════════════════════════════
 */

/* ── 1. CSS Variables ──────────────────────────────────────────────────── */
.theme-wii {
  --official-page-bg: url('/images/themes/official/wii/page-bg.jpg');
  --official-header-deco: url('/images/themes/official/wii/header-deco.png');
  --primary-color: #009ac7;
  --primary-color-hover: #006fa8;
  --primary-color-rgb: 0, 154, 199;
  --wii-blue: #009ac7;
  --wii-blue-dark: #006fa8;
  --wii-blue-deeper: #003e6b;
  --wii-led: #4dd9ff;
  --wii-sky: #eaf6ff;
  --wii-border: rgba(0, 154, 199, 0.22);
}

.theme-wii,
.theme-wii * {
  --primary-color: #009ac7;
  --primary-color-hover: #006fa8;
  --primary-color-rgb: 0, 154, 199;
}

/* ── 2. Body — official wallpaper (optional) + Wii menu tint + scanlines ─ */
.theme-wii {
  background-color: #7eb8ea !important;
  background-image:
    linear-gradient(168deg, rgba(232, 244, 255, 0.82) 0%, rgba(184, 219, 247, 0.78) 42%, rgba(126, 184, 234, 0.9) 100%),
    var(--official-page-bg),
    radial-gradient(ellipse 100% 70% at 50% -15%, rgba(255, 255, 255, 0.75) 0%, transparent 52%),
    radial-gradient(ellipse 55% 45% at 100% 100%, rgba(77, 217, 255, 0.14) 0%, transparent 45%),
    url('/images/themes/wii-channel-float.svg'),
    linear-gradient(168deg, #e8f4ff 0%, #b8dbf7 42%, #7eb8ea 100%) !important;
  background-size: 100% 100%, cover, 100% 100%, 100% 100%, 900px auto, 100% 100%;
  background-position: center, center, center, center, center -20px, center;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-attachment: fixed, fixed, fixed, fixed, fixed, fixed;
  position: relative;
}

.theme-wii::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(255, 255, 255, 0.018) 0px,
    rgba(255, 255, 255, 0.018) 1px,
    transparent 1px,
    transparent 3px
  );
  opacity: 0.55;
}

.theme-wii .main-content {
  position: relative;
  z-index: 1;
  background: transparent;
}

/* ── 3. Top header bar ──────────────────────────────────────────────────── */
.theme-wii app-top-header {
  background-color: #eaf6ff !important;
  border-bottom-color: rgba(0, 154, 199, 0.18) !important;
}

.theme-wii app-top-header .contact-info,
.theme-wii app-top-header .contact-info a {
  color: #006fa8 !important;
}

.theme-wii app-top-header .contact-info a:hover {
  color: #003e6b !important;
}

.theme-wii app-top-header .social-icon {
  color: rgba(0, 111, 168, 0.7) !important;
}

/* ── 4. Main navigation header ──────────────────────────────────────────── */
.theme-wii app-main-header .content {
  background-color: #ffffff !important;
  border-bottom-color: rgba(0, 154, 199, 0.2) !important;
}

/* Wii blue gradient stripe at top of nav bar — like the console's blue LED strip */
.theme-wii app-main-header .content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    #003e6b 15%,
    #009ac7 45%,
    #4dd9ff 65%,
    #009ac7 80%,
    transparent 100%
  );
  pointer-events: none;
}

/* Sticky shadow with Wii blue tint */
.theme-wii app-main-header .content.sticky {
  box-shadow: 0 2px 20px rgba(0, 154, 199, 0.14) !important;
}

.theme-wii app-main-header .logo span {
  color: #1a2b3c !important;
}

.theme-wii app-main-header .desktop-menu a {
  color: #1a2b3c !important;
}

.theme-wii app-main-header .desktop-menu a:hover {
  color: #009ac7 !important;
}

.theme-wii app-main-header .desktop-menu a.active {
  color: #009ac7 !important;
}

.theme-wii app-main-header .desktop-menu a.active::after {
  background-color: #009ac7 !important;
}

.theme-wii app-main-header .hamburger-button span {
  background-color: #1a2b3c !important;
}

.theme-wii app-main-header .hamburger-button:hover span {
  background-color: #009ac7 !important;
}

/* ── 5. Desktop submenu dropdown ────────────────────────────────────────── */
.theme-wii app-main-header .submenu {
  background-color: #ffffff !important;
  border-color: rgba(0, 154, 199, 0.18) !important;
  box-shadow:
    0 8px 28px rgba(0, 80, 160, 0.1),
    0 0 0 1px rgba(0, 154, 199, 0.14) !important;
}

.theme-wii app-main-header .submenu li {
  border-top-color: rgba(0, 154, 199, 0.08) !important;
}

.theme-wii app-main-header .submenu a {
  color: #1a2b3c !important;
}

.theme-wii app-main-header .submenu a:hover {
  background-color: rgba(0, 154, 199, 0.07) !important;
  color: #009ac7 !important;
  border-left-color: #009ac7 !important;
}

.theme-wii app-main-header .submenu a.active {
  background-color: rgba(0, 154, 199, 0.06) !important;
  color: #006fa8 !important;
  border-left-color: #009ac7 !important;
  font-weight: 600;
}

/* ── 6. Mobile menu panel ───────────────────────────────────────────────── */
.theme-wii app-main-header .mobile-menu {
  background-color: #f0f8ff !important;
  border-bottom-color: rgba(0, 154, 199, 0.18) !important;
}

.theme-wii app-main-header .mobile-menu a {
  color: #1a2b3c !important;
}

.theme-wii app-main-header .mobile-menu li {
  border-bottom-color: rgba(0, 154, 199, 0.1) !important;
}

.theme-wii app-main-header .mobile-menu a:hover {
  background-color: rgba(0, 154, 199, 0.07) !important;
  color: #009ac7 !important;
}

.theme-wii app-main-header .mobile-menu a.active {
  background-color: rgba(0, 154, 199, 0.08) !important;
  border-left-color: #009ac7 !important;
  color: #006fa8 !important;
  font-weight: 600;
}

.theme-wii app-main-header .mobile-menu .submenu {
  background-color: #e3f3fc !important;
}

.theme-wii app-main-header .mobile-menu .submenu li {
  border-top-color: rgba(0, 154, 199, 0.08) !important;
}

.theme-wii app-main-header .mobile-menu .submenu a {
  color: #3a5068 !important;
}

.theme-wii app-main-header .cart-menu-trigger {
  color: #1a2b3c !important;
}

/* ── 7. Footer ──────────────────────────────────────────────────────────── */
.theme-wii app-footer {
  border-top: 3px solid transparent !important;
  border-image: linear-gradient(
      90deg,
      transparent                0%,
      #003e6b                    15%,
      #009ac7                    50%,
      #4dd9ff                    70%,
      transparent               100%
    )
    1 !important;
}

/* ── 8. Cart badge (uses --primary-color → #009AC7) ───────────────────── */

/* ═══ Playlist detail component chrome (migrated from SCSS) ═══ */
@charset "UTF-8";
/* ═══ Guía Wii — mismo lenguaje visual que WiiPost (canal + azul consola) ═══ */
.theme-wii {
  font-family: "Nunito", system-ui, sans-serif !important;
}
.theme-wii .playlist-detail-page .detail-layout {
  padding: 40px 20px 100px !important;
}
.theme-wii .playlist-detail-page .detail-layout > .back-link {
  position: relative !important;
  z-index: 1 !important;
  display: inline-block !important;
  margin: 0 0 0.65rem !important;
  color: rgba(0, 62, 107, 0.94) !important;
  font-weight: 800 !important;
}
.theme-wii .playlist-detail-page .detail-layout > .back-link:hover {
  color: #4dd9ff !important;
}
.theme-wii .playlist-detail-page .playlist-header {
  position: relative !important;
  margin-bottom: 1.75rem !important;
  padding: 20px !important;
  border-radius: 18px !important;
  background: linear-gradient(150deg, #003e6b 0%, #006fa8 45%, #009ac7 100%) !important;
  box-shadow: 0 10px 36px rgba(0, 80, 130, 0.2) !important;
}
.theme-wii .playlist-detail-page .playlist-header::before {
  content: "";
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.12) 0%, transparent 45%) !important;
  pointer-events: none !important;
}
.theme-wii .playlist-detail-page .playlist-header h1 {
  position: relative !important;
  z-index: 1 !important;
  margin: 0.65rem 1.25rem 0.5rem !important;
  padding: 0 0 0.25rem !important;
  color: #fff !important;
  font-size: 1.85rem !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.25) !important;
}
.theme-wii .playlist-detail-page .playlist-header .playlist-description {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 1.25rem 1.35rem !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-weight: 500 !important;
}
.theme-wii .playlist-detail-page .video-wrapper {
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 0 0 3px #009ac7, 0 0 0 6px rgba(255, 255, 255, 0.85), 0 12px 40px rgba(0, 90, 140, 0.2) !important;
}
.theme-wii .playlist-detail-page .episodes-title {
  color: #006fa8 !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
}
.theme-wii .playlist-detail-page .episode {
  background: #fff !important;
  border: 1px solid rgba(0, 154, 199, 0.22) !important;
  color: #1a2b3c !important;
}
.theme-wii .playlist-detail-page .episode:hover {
  background: #eaf6ff !important;
  border-color: #009ac7 !important;
}
.theme-wii .playlist-detail-page .episode.current {
  background: linear-gradient(90deg, rgba(0, 154, 199, 0.12) 0%, rgba(234, 246, 255, 0.9) 100%) !important;
  border-color: #009ac7 !important;
  font-weight: 700 !important;
}
.theme-wii .playlist-detail-page .episode .episode-num {
  color: #006fa8 !important;
  font-weight: 800 !important;
}
.theme-wii .playlist-detail-page .episodes-column .episodes-list {
  scrollbar-width: thin !important;
  scrollbar-color: #009ac7 rgba(0, 62, 107, 0.35) !important;
}
.theme-wii .playlist-detail-page .episodes-column .episodes-list::-webkit-scrollbar {
  width: 10px !important;
}
.theme-wii .playlist-detail-page .episodes-column .episodes-list::-webkit-scrollbar-track {
  background: rgba(0, 62, 107, 0.22) !important;
  border-radius: 8px !important;
  margin: 4px 0 !important;
}
.theme-wii .playlist-detail-page .episodes-column .episodes-list::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #4dd9ff 0%, #009ac7 45%, #006fa8 100%) !important;
  border-radius: 8px !important;
  border: 2px solid rgba(255, 255, 255, 0.7) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}
.theme-wii .playlist-detail-page .episodes-column .episodes-list::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #b8e8ff 0%, #009ac7 100%) !important;
}
.theme-wii .playlist-detail-page.playlist-detail-page--fanwrap .playlist-header {
  background-image: linear-gradient(150deg, rgba(0, 62, 107, 0.94) 0%, rgba(0, 111, 168, 0.92) 45%, rgba(0, 154, 199, 0.95) 100%), var(--official-header-deco), url("/images/themes/wii-channel-float.svg"), url("/images/themes/wii-sensor-dots.svg") !important;
  background-size: 100% 100%, min(200px, 42vw) auto, min(220px, 48vw) auto, 180px 180px !important;
  background-position: 0 0, right -0.5rem top 0, right -1.25rem bottom -2rem, left 12px bottom 10px !important;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat !important;
}
.theme-wii .playlist-detail-page.playlist-detail-page--fanwrap .video-column {
  position: relative !important;
  padding-top: 0.85rem !important;
}
.theme-wii .playlist-detail-page.playlist-detail-page--fanwrap .video-column::before {
  content: "CANAL Wii";
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 99999999 !important;
  padding: 0.2rem 0.55rem !important;
  border-radius: 6px !important;
  font-size: 0.58rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.18em !important;
  color: #fff !important;
  background: linear-gradient(90deg, #009ac7 0%, #006fa8 100%) !important;
  box-shadow: 0 4px 14px rgba(0, 100, 150, 0.25) !important;
}
.theme-wii .playlist-detail-page.playlist-detail-page--fanwrap .episodes-column {
  padding: 14px 12px 16px !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(0, 154, 199, 0.28) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 8px 28px rgba(0, 80, 130, 0.12) !important;
}
.theme-wii .playlist-detail-page.playlist-detail-page--fanwrap .current-video-description {
  background: linear-gradient(150deg, rgba(0, 62, 107, 0.94) 0%, rgba(0, 111, 168, 0.92) 45%, rgba(0, 154, 199, 0.95) 100%), var(--official-header-deco), url("/images/themes/wii-channel-float.svg"), url("/images/themes/wii-sensor-dots.svg") !important;
  background-size: 100% 100%, min(200px, 42vw) auto, min(220px, 48vw) auto, 180px 180px !important;
  background-position: 0 0, right -0.5rem top 0, right -1.25rem bottom -2rem, left 12px bottom 10px !important;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat !important;
}
.theme-wii .playlist-detail-page .current-video-description {
  position: relative !important;
  margin-top: 28px !important;
  padding: 20px !important;
  border-radius: 18px !important;
  background: linear-gradient(150deg, #003e6b 0%, #006fa8 45%, #009ac7 100%) !important;
  box-shadow: 0 10px 36px rgba(0, 80, 130, 0.2) !important;
}
.theme-wii .playlist-detail-page .current-video-description::before {
  content: "";
  position: absolute !important;
  inset: 0 !important;
  border-radius: 18px !important;
  background: radial-gradient(circle at 20% 0%, rgba(255, 255, 255, 0.12) 0%, transparent 45%) !important;
  pointer-events: none !important;
}
.theme-wii .playlist-detail-page .current-video-description__title {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 0 10px !important;
  color: #fff !important;
  font-size: 1.35rem !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.25) !important;
}
.theme-wii .playlist-detail-page .current-video-description__body {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}
.theme-wii .playlist-detail-page .current-video-description__toggle {
  position: relative !important;
  z-index: 1 !important;
  color: rgba(255, 255, 255, 0.95) !important;
}
.theme-wii app-related-content .related-content {
  --related-surface: transparent;
  --related-border: transparent;
  --related-shadow: none;
  --related-title-color: #003e6b;
  --related-label-color: #1a2b3c;
  --related-description-color: #3a5068;
  --related-meta-color: #7a90a4;
  --related-card-bg-hover: #eaf6ff;
  --related-arrow-bg: #eaf6ff;
  --related-arrow-color: #003e6b;
}
.theme-wii app-related-content .related-content__card:hover {
  background: #eaf6ff !important;
}

/* ═══ Comment thread tokens (migrated from theme-comments.scss) ═══ */

.theme-wii .playlist-detail-page .playlist-detail-comments {
  --primary-color: #009ac7;
  --cs-slug-loading-text: rgba(255, 255, 255, 0.85);
  --cs-slug-spinner-track: rgba(255, 255, 255, 0.2);
  --cs-slug-missing-bg: rgba(220, 38, 38, 0.2);
  --cs-slug-missing-text: #fecaca;
  --cs-slug-missing-border: rgba(248, 113, 113, 0.35);
  --cs-title-color: #fff;
  --cs-sort-border: rgba(255, 255, 255, 0.28);
  --cs-sort-text: rgba(255, 255, 255, 0.75);
  --cs-sort-hover-text: #fff;
  --cs-sort-bg: rgba(0, 0, 0, 0.12);
  --cs-dropdown-bg: rgba(0, 50, 90, 0.96);
  --cs-dropdown-border: rgba(255, 255, 255, 0.22);
  --cs-dropdown-shadow: 0 12px 40px rgba(0, 40, 80, 0.45);
  --cs-dropdown-item: rgba(255, 255, 255, 0.92);
  --cs-dropdown-item-hover: rgba(255, 255, 255, 0.1);
  --cs-empty-text: rgba(255, 255, 255, 0.55);
  --cs-empty-icon-opacity: 0.4;
  --cs-list-divider: rgba(255, 255, 255, 0.12);
  --cs-overlay-bg: rgba(0, 40, 80, 0.55);
  --cs-spinner-track: rgba(255, 255, 255, 0.2);
  --cs-composer-bg: rgba(0, 0, 0, 0.15);
  --cs-composer-border: rgba(255, 255, 255, 0.22);
  --cs-toolbar-border: rgba(255, 255, 255, 0.15);
  --cs-toolbar-bg: rgba(0, 30, 60, 0.55);
  --cs-editor-color: rgba(255, 255, 255, 0.95);
  --cs-editor-placeholder: rgba(255, 255, 255, 0.45);
  --cs-toolbar-btn-color: rgba(255, 255, 255, 0.7);
  --cs-toolbar-btn-hover-bg: rgba(255, 255, 255, 0.12);
  --cs-toolbar-btn-hover-color: #fff;
  --cs-toolbar-btn-active-bg: rgba(0, 154, 199, 0.28);
  --cs-toolbar-sep: rgba(255, 255, 255, 0.2);
  --cs-panel-bg: rgba(0, 50, 90, 0.98);
  --cs-panel-border: rgba(255, 255, 255, 0.22);
  --cs-panel-shadow: 0 12px 40px rgba(0, 40, 80, 0.5);
  --cs-meta-input-bg: rgba(0, 30, 60, 0.65);
  --cs-meta-input-color: #fff;
  --cs-meta-input-border: rgba(255, 255, 255, 0.25);
  --cs-meta-placeholder: rgba(255, 255, 255, 0.45);
  --cs-btn-cancel-text: rgba(255, 255, 255, 0.65);
  --cs-btn-cancel-hover-bg: rgba(255, 255, 255, 0.1);
  --cs-btn-cancel-hover-text: #fff;
  --cs-comment-name: #fff;
  --cs-comment-text: rgba(255, 255, 255, 0.82);
  --cs-comment-time: rgba(255, 255, 255, 0.5);
  --cs-comment-action: rgba(255, 255, 255, 0.65);
  --cs-comment-action-hover-bg: rgba(255, 255, 255, 0.1);
  --cs-comment-action-hover-text: #fff;
  --cs-blockquote-border: rgba(255, 255, 255, 0.25);
  --cs-blockquote-text: rgba(255, 255, 255, 0.65);
  --cs-code-bg: rgba(0, 0, 0, 0.25);
  --cs-content-fade: #006fa8;
  --cs-thread-line: rgba(255, 255, 255, 0.22);
  --cs-gif-search-border: rgba(255, 255, 255, 0.25);
  --cs-gif-loading: rgba(255, 255, 255, 0.5);
  --cs-composer-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 8px 32px rgba(0, 40, 80, 0.35);
  --cs-editor-wrap-bg: rgba(0, 0, 0, 0.18);
  --cs-editor-wrap-radius: 8px;
  --cs-ql-container-bg: transparent;
  --cs-ql-editor-bg: transparent;
  --cs-ql-list-marker: rgba(255, 255, 255, 0.75);
  --cs-editor-caret: #fff;
  --cs-editor-selection-bg: rgba(0, 154, 199, 0.35);
  --cs-toolbar-btn-active-color: #7dd3fc;
  --cs-btn-submit-bg: linear-gradient(135deg, #009ac7 0%, #006fa8 100%);
  --cs-btn-submit-shadow: 0 2px 16px rgba(0, 154, 199, 0.4);
  --cs-emoji-bg: rgba(0, 40, 70, 0.98);
  --cs-emoji-border-color: rgba(255, 255, 255, 0.2);
  --cs-emoji-button-hover-bg: rgba(255, 255, 255, 0.1);
  --cs-emoji-category-active: #38bdf8;
  --cs-emoji-input-border: rgba(255, 255, 255, 0.22);
  --cs-emoji-input-color: #fff;
  --cs-emoji-input-placeholder: rgba(255, 255, 255, 0.45);
}
