/* Native dialog top layer protects the panel from radio/chat stacking conflicts. */
.cc-mobile-edge-trigger { display:none; }
.cc-home-menu-label { display:none; }
.cc-mobile-edge {
  --edge-bg:#090909; --edge-text:#f5e9d0; --edge-accent:#d4af37;
  position:fixed; inset:0 auto 0 0; margin:0; padding:0;
  width:122px !important; max-width:90vw !important; height:100dvh; max-height:100dvh;
  box-sizing:border-box; color:var(--edge-text); background:var(--edge-bg);
  border:0; border-right:1px solid var(--edge-accent); border-radius:0 22px 22px 0;
  overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain;
  box-shadow:8px 0 32px #0008;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
}
.cc-mobile-edge::-webkit-scrollbar {
  display:none !important;
  width:0 !important;
  height:0 !important;
}
.cc-mobile-edge::backdrop { background:#0009; backdrop-filter:blur(2px); }

/* LUMINA Theme - Canonical Champagne Gold (#C4A35A) Palette */
.cc-mobile-edge[data-profile="lumina"] {
  --edge-bg:#0b1120;
  --edge-text:#f5eedf;
  --edge-accent:#C4A35A;
  --edge-accent-hover:#D4B578;
  border-right:1.5px solid #C4A35A;
  box-shadow:8px 0 32px rgba(0,0,0,0.8), 2px 0 16px rgba(196,163,90,0.25);
}
html[data-theme="light"] .cc-mobile-edge[data-profile="lumina"],
body[data-theme="light"] .cc-mobile-edge[data-profile="lumina"],
html[data-lumina-theme="light"] .cc-mobile-edge[data-profile="lumina"],
body.theme-lumina-light .cc-mobile-edge[data-profile="lumina"] {
  --edge-bg:#fffaff;
  --edge-text:#1a1625;
  --edge-accent:#C4A35A;
  --edge-accent-hover:#A08040;
  border-right:1.5px solid #C4A35A;
  box-shadow:8px 0 28px rgba(0,0,0,0.15), 2px 0 12px rgba(196,163,90,0.2);
}

/* SEARCH Theme - Wyszukiwarka Christian Culture Palette & 2-Kolumnowy Panel (L0 / START_TUTAJ 29.10.2026) */
.cc-mobile-edge[data-profile="search"] {
  --edge-bg:#080c14;
  --edge-text:#EDE6D6;
  --edge-accent:#C4A35A;
  --edge-accent-hover:#FF7A00;
  width:122px;
  max-width:90vw;
  background:radial-gradient(circle at 50% 20%, #151b28 0%, #080c14 100%);
  border-right:1.5px solid rgba(196, 163, 90, 0.35);
  box-shadow:8px 0 32px rgba(0,0,0,0.85), 2px 0 16px rgba(196,163,90,0.2);
  scrollbar-width:none;
  -ms-overflow-style:none;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.cc-mobile-edge[data-profile="search"]::-webkit-scrollbar {
  display:none;
  width:0;
  height:0;
}
.cc-mobile-edge[data-profile="search"]::backdrop {
  background:rgba(8, 12, 20, 0.8);
  backdrop-filter:blur(4px);
}
.cc-mobile-edge[data-profile="search"] nav {
  display:grid !important;
  grid-template-columns:repeat(2, 44px) !important;
  gap:6px 8px;
  justify-content:center;
  align-content:start;
  padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));
  box-sizing:border-box;
  width:100%;
}
.cc-mobile-edge[data-profile="search"] nav button[data-edge-key="close"] {
  grid-column:1 / -1;
  justify-self:center;
  margin-bottom:2px;
}
.cc-mobile-edge[data-profile="search"] nav [aria-current="page"] {
  color:#FF7A00;
  background:rgba(255, 122, 0, 0.12);
  border:1.5px solid #FF7A00;
  border-radius:13px;
  box-shadow:0 0 10px rgba(255, 122, 0, 0.25);
}
.cc-mobile-edge[data-profile="search"] nav :is(a, button):hover,
.cc-mobile-edge[data-profile="search"] nav :is(a, button):focus-visible {
  background:rgba(255, 255, 255, 0.12);
  color:#FF8C33;
}
.cc-mobile-edge[data-profile="search"] .cc-edge-lang-divider {
  grid-column:1 / -1;
  width:100%;
  height:1px;
  background:rgba(196, 163, 90, 0.25);
  margin:6px 0 2px 0;
}
.cc-mobile-edge[data-profile="search"] .cc-edge-lang-group {
  grid-column:1 / -1;
  display:flex;
  flex-direction:row;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px 8px;
  width:100%;
}
.cc-mobile-edge[data-profile="search"] .cc-edge-lang-btn {
  width:44px !important;
  height:44px !important;
  flex-shrink:0;
}

/* Universal 2-Kolumnowy Układ Nawigacji Krawędziowej (Eliminacja Paska Przewijania — Dyrektywa L0 30.10.2026) */
.cc-mobile-edge nav {
  display:grid !important;
  grid-template-columns:repeat(2, 44px) !important;
  gap:6px 8px !important;
  justify-content:center !important;
  align-content:start !important;
  min-height:auto;
  box-sizing:border-box;
  width:100% !important;
  padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom)) !important;
}
.cc-mobile-edge nav button[data-edge-key="close"] {
  grid-column:1 / -1 !important;
  justify-self:center !important;
  margin-bottom:2px;
}
.cc-mobile-edge nav :is(a,button)[data-edge-key="heart"] {
  color:#FF7A00 !important;
}
.cc-mobile-edge nav :is(a,button)[data-edge-key="heart"]:hover,
.cc-mobile-edge nav :is(a,button)[data-edge-key="heart"]:focus-visible {
  color:#FF8C33 !important;
  background:rgba(255, 122, 0, 0.16) !important;
  border-color:rgba(255, 122, 0, 0.4) !important;
}
.cc-mobile-edge nav :is(a,button) {
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  width:44px; height:44px; min-width:44px; min-height:44px; box-sizing:border-box;
  margin:0; padding:10px; border:1px solid transparent; border-radius:13px;
  background:transparent; color:inherit; text-decoration:none; cursor:pointer;
  touch-action:manipulation; -webkit-tap-highlight-color:transparent;
}
.cc-mobile-edge svg,.cc-mobile-edge-trigger svg { width:22px; height:22px; flex-shrink:0; }
.cc-mobile-edge nav [aria-current="page"] { color:var(--edge-accent); background:#ffffff12; border:1.5px solid var(--edge-accent); border-radius:13px; }
.cc-mobile-edge nav :is(a,button):hover { background:#ffffff18; }
.cc-mobile-edge nav [hidden] { display:none!important; }
.cc-mobile-edge nav [data-cc-favorite-toggle].is-active { color:var(--edge-accent); }
.cc-mobile-edge nav [data-cc-favorite-toggle].is-active svg { fill:var(--edge-accent); stroke:var(--edge-accent); }

/* Active Radio CC state */
.cc-mobile-edge nav [data-cc-edge-action="radio"].is-playing {
  color:var(--edge-accent,#C4A35A);
  background:#ffffff18;
  border:1.5px solid var(--edge-accent,#C4A35A);
  position:relative;
}
.cc-mobile-edge nav [data-cc-edge-action="radio"].is-playing::after {
  content:'';
  position:absolute;
  top:8px;
  right:8px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 8px #22c55e;
  animation:cc-edge-live-pulse 1.6s infinite ease-in-out;
}
@keyframes cc-edge-live-pulse {
  0%,100% { transform:scale(1); opacity:1; }
  50% { transform:scale(1.3); opacity:0.6; }
}

/* Chat Unread Badge indicator */
.cc-mobile-edge nav a[href="/mess"].has-unread,
.cc-mobile-edge nav [data-cc-edge-action="chat"].has-unread {
  position:relative;
}
.cc-mobile-edge nav a[href="/mess"].has-unread::after,
.cc-mobile-edge nav [data-cc-edge-action="chat"].has-unread::after {
  content:'';
  position:absolute;
  top:8px;
  right:8px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 6px #22c55e;
}

.cc-mobile-edge nav :is(a,button):focus-visible,.cc-mobile-edge-trigger:focus-visible { outline:2px solid var(--edge-accent,#d4af37); outline-offset:-2px; }
body[data-theme="light"] .cc-mobile-edge,html[data-theme="light"] .cc-mobile-edge,body.light-mode .cc-mobile-edge {
  --edge-bg:#fffdf7; --edge-text:#272016; --edge-accent:#76570b;
}

/* ── Eliminacja kolizji przycisków na krawędzi ekranu ── */
#luminaScrollTop,
.lumina-scroll-top,
.lumina-scroll-top-btn {
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Na portalu LUMINA przycisk INFO jest zintegrowany w panelu krawędziowym - zakaz pływającego flotera kolidującego ze stosem FAB */
html body:has(#luminaThemeSwitchBtn) :is(.ekocc-info-trigger, #ekoccInfoTriggerBtn),
html[data-lumina-theme] :is(.ekocc-info-trigger, #ekoccInfoTriggerBtn),
body.lumina-page :is(.ekocc-info-trigger, #ekoccInfoTriggerBtn) {
  display:none!important;
}

/* EkoCC Search Topbar Trigger: bezwzgledne usuniecie pierwszego zdublowanego + (L0 29.10.2026) */
.cc-omni-topnav .cc-mobile-edge-trigger:not(#ccOmniEdgeBtn),
.ccw-fallback .cc-mobile-edge-trigger:not(#ccOmniEdgeBtn),
.ccw-fallback > .cc-mobile-edge-trigger,
body:has(#ccOmniOverlay) .cc-mobile-edge-trigger:not(#ccOmniEdgeBtn),
body:has(.cc-omni-topnav) .cc-mobile-edge-trigger:not(#ccOmniEdgeBtn) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
#ccOmniEdgeBtn.cc-mobile-edge-trigger,
.cc-omni-topnav #ccOmniEdgeBtn {
  display:inline-flex !important;
  position:static !important;
  top:auto !important;
  left:auto !important;
  z-index:auto !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  color:#FF7A00 !important;
  box-shadow:none !important;
  transform:none;
}
#ccOmniEdgeBtn.cc-mobile-edge-trigger:hover,
#ccOmniEdgeBtn.cc-mobile-edge-trigger:focus-visible {
  background:rgba(255, 255, 255, 0.12) !important;
  color:#FF8C33 !important;
  transform:scale(1.08) !important;
  outline:none !important;
}
#ccOmniEdgeBtn.cc-mobile-edge-trigger:active {
  transform:scale(0.95) !important;
}

@media (max-width:767px) {
  #mainHeader #hamburgerBtn { width:44px; height:44px; min-width:44px; min-height:44px; padding:12px 10px; box-sizing:border-box; }
  #mainHeader #actionsToggleBtn { width:56px!important; height:44px!important; min-width:56px; padding:0; }
  #mainHeader #actionsToggleBtn .avatar-ring { width:56px; height:44px; box-sizing:border-box; border-radius:13px; }
  #mainHeader #actionsToggleIcon { display:none; }
  #mainHeader .cc-home-menu-label { display:inline; color:var(--gold-primary,#d4af37); font:700 11px/1 system-ui,sans-serif; letter-spacing:.04em; }
  @media (max-width:359px) { #mainHeader #helplineFloat, #mainHeader .cc-header-lang-switcher { display:none!important; } }
  html.cc-edge-search-ready body #mobileNavSearchBtn,
  html.cc-edge-theme-ready body:has(#luminaThemeSwitchBtn) #luminaThemeSwitchBtn { display:none!important; }
  
  /* Zduplikowany dymek czatu ukryty przy obecności głównego przycisku czatu */
  html body:has(#ccGlobalChatFab) .lumina-floating-chat-btn {
    display:none!important;
  }

  /* Czyste i równe rozmieszczenie pozostałych przycisków pływających na prawej krawędzi bez kolizji */
  html body #backToTopBtn[data-cc-back-to-top] {
    bottom:calc(76px + env(safe-area-inset-bottom, 0px))!important;
    right:max(16px, env(safe-area-inset-right))!important;
  }
  html body :is(#ccGlobalChatFab, .lumina-floating-chat-btn) {
    bottom:calc(var(--cc-lumina-action-base, calc(76px + env(safe-area-inset-bottom, 0px))) + 60px)!important;
    right:max(16px, env(safe-area-inset-right))!important;
  }
  html body:has(#luminaThemeSwitchBtn) #luminaMiniPlayerContainer.minimized,
  html body #luminaMiniPlayerContainer.minimized {
    bottom:calc(var(--cc-lumina-action-base, 76px) + 120px)!important;
    right:max(16px, env(safe-area-inset-right))!important;
  }
  
  .cc-edge-legacy { display:none!important; }
  #ccTopBarFavBtn,
  .cc-topbar-fav-btn,
  .cc-floating-topbar-wrap {
    display:none!important;
  }
  .ekocc-info-trigger,
  #ekoccInfoTriggerBtn,
  button.ekocc-info-trigger {
    display:none!important;
  }
  .cc-mobile-edge-trigger {
    display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
    width:44px; height:44px; min-width:44px; min-height:44px; padding:10px;
    box-sizing:border-box; border:1px solid #d4af3766; border-radius:50%;
    background:#101010; color:#e2cc9a; cursor:pointer; touch-action:manipulation;
  }
  body:has(#ccOmniOverlay.cc-open) .cc-mobile-edge-trigger:not(#ccOmniEdgeBtn):not(.cc-omni-toplink),
  .ccw-fallback .cc-mobile-edge-trigger:not(#ccOmniEdgeBtn):not(.cc-omni-toplink) {
    position: fixed;
    top: max(12px, env(safe-area-inset-top));
    left: max(12px, env(safe-area-inset-left));
    z-index: 1000001;
  }
  .netflix-navbar .cc-mobile-edge-trigger {
    position: relative;
    z-index: 10000;
    margin-right: 8px;
    flex-shrink: 0;
  }
  .cc-mobile-edge-trigger[data-profile="lumina"] {
    background:#0b1120;
    color:#C4A35A;
    border-color:rgba(196,163,90,0.65);
    box-shadow:0 0 12px rgba(196,163,90,0.3);
  }
  html[data-lumina-theme="light"] .cc-mobile-edge-trigger[data-profile="lumina"],
  html[data-theme="light"] .cc-mobile-edge-trigger[data-profile="lumina"],
  body.theme-lumina-light .cc-mobile-edge-trigger[data-profile="lumina"] {
    background:#fffaff;
    color:#A08040;
    border-color:rgba(196,163,90,0.75);
    box-shadow:0 2px 8px rgba(196,163,90,0.2);
  }
}

/* Wybór języka w panelu krawędziowym (Dyrektywa L0 29.10.2026) */
.cc-edge-lang-divider {
  grid-column: 1 / -1;
  width: 100%;
  height: 1px;
  background: rgba(196, 163, 90, 0.25);
  margin: 6px 0 2px 0;
  flex-shrink: 0;
}
.cc-edge-lang-group {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  width: 100%;
  padding-bottom: 8px;
  flex-shrink: 0;
}
.cc-mobile-edge nav .cc-edge-lang-btn,
.cc-edge-lang-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1.5px solid transparent !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--edge-text, #EDE6D6) !important;
  font-family: inherit !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 0.15s, border-color 0.15s, color 0.15s, transform 0.15s;
}
.cc-mobile-edge nav .cc-edge-lang-btn:hover,
.cc-mobile-edge nav .cc-edge-lang-btn:focus-visible {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: var(--edge-accent, #C4A35A) !important;
  color: #FFFFFF !important;
  transform: scale(1.05);
  outline: none !important;
}
.cc-mobile-edge nav .cc-edge-lang-btn:active {
  transform: scale(0.95);
}
.cc-mobile-edge nav .cc-edge-lang-btn.is-active,
.cc-mobile-edge nav .cc-edge-lang-btn[aria-pressed="true"] {
  background: rgba(255, 122, 0, 0.18) !important;
  border: 1.5px solid var(--edge-accent-hover, #FF7A00) !important;
  color: var(--edge-accent-hover, #FF7A00) !important;
  font-weight: 800 !important;
  box-shadow: 0 0 10px rgba(255, 122, 0, 0.25) !important;
}

/* Light mode support */
html[data-theme="light"] .cc-mobile-edge nav .cc-edge-lang-btn,
body[data-theme="light"] .cc-mobile-edge nav .cc-edge-lang-btn {
  background: rgba(0, 0, 0, 0.04) !important;
  color: #1a1625 !important;
}
html[data-theme="light"] .cc-mobile-edge nav .cc-edge-lang-btn.is-active,
body[data-theme="light"] .cc-mobile-edge nav .cc-edge-lang-btn[aria-pressed="true"] {
  background: rgba(196, 163, 90, 0.2) !important;
  border-color: #C4A35A !important;
  color: #A08040 !important;
}
