/* Izolowane menu LARGE/GRAWER. */
#df-categories-menu .df-menu-row { position: relative; }
#df-categories-menu .df-menu-row > .dt-menu-link { padding-right: 36px; }
#df-categories-menu .df-menu-toggle { position: absolute; right: 3px; top: 9px; width: 30px; height: 32px; padding: 0; border: 0; background: transparent; color: #79ccff; cursor: pointer; font-size: 20px; }
#df-categories-menu .df-menu-row.df-open > .dt-menu-link { background: #24221c; border-left: 2px solid #79ccff; }
#df-categories-menu .df-flyout { display: none !important; }
#df-categories-menu .df-flyout.df-visible { display: flex !important; position: fixed !important; flex-direction: column; width: 540px; max-width: calc(100vw - 24px); box-sizing: border-box; z-index: 10000; padding: 16px; margin: 0; border: 1px solid #285a7e; border-radius: 8px; background: #081421; box-shadow: 0 12px 30px #0009; opacity: 1; visibility: visible; overflow: hidden; animation: df-menu-in .12s ease-out; }
#df-categories-menu .df-flyout-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
#df-categories-menu .df-flyout-title { color: #79ccff; font: bold 25px/1.3 Georgia, 'Times New Roman', serif; }
#df-categories-menu .df-flyout-close { padding: 4px 8px; border: 0; background: transparent; color: #79ccff; font-size: 25px; cursor: pointer; }
#df-categories-menu .df-flyout .dt-submenu-link { display: flex; align-items: center; box-sizing: border-box; width: auto; min-width: 0; min-height: 42px; margin: 0; padding: 10px 12px; border: 1px solid #39362f; border-radius: 8px; background: #0c2134; color: #e3ddcf; font: bold 15px/1.4 Arial, sans-serif; text-decoration: none; white-space: normal; overflow-wrap: anywhere; box-shadow: none; }
#df-categories-menu .df-flyout .df-menu-all { justify-content: center; flex-shrink: 0; margin-bottom: 12px; background: #176fba; color: #ffffff; border-color: #ac9258; }
#df-categories-menu .df-genres { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; overflow-y: auto; min-height: 0; padding-right: 5px; scrollbar-width: thin; scrollbar-color: #8f805b #171717; }
#df-categories-menu .df-flyout .dt-submenu-link:hover { border-color: #4aa9e0; background: #28261f; color: #d6e9f8; }
#df-categories-menu .df-flyout .df-menu-all:hover { background: #f0dfa9; color: #ffffff; }
#df-categories-menu a:focus-visible, #df-categories-menu button:focus-visible { outline: 2px solid #79ccff; outline-offset: 2px; }
@keyframes df-menu-in { from { opacity: 0; transform: translateX(-5px); } to { opacity: 1; transform: none; } }
@media (max-width: 720px) { #df-categories-menu .df-flyout.df-visible { position: static !important; width: 100%; max-width: none; max-height: 65vh !important; margin: 8px 0; padding: 12px; } #df-categories-menu .df-flyout-title { font-size: 20px; } #df-categories-menu .df-flyout .dt-submenu-link { font-size: 13px; padding: 9px; } }
@media (prefers-reduced-motion: reduce) { #df-categories-menu .df-flyout.df-visible { animation: none; } }
/* Reset konfliktów starego podmenu — wyłącznie LARGE. */
#df-categories-menu .dt-submenu.df-flyout.df-visible { right:auto !important; bottom:auto !important; height:auto !important; min-width:0 !important; min-height:0 !important; max-width:calc(100vw - 24px) !important; transform:none !important; float:none !important; align-items:stretch !important; justify-content:flex-start !important; gap:0 !important; overflow:hidden !important; columns:auto !important; text-align:left !important; }
#df-categories-menu .df-flyout > .df-flyout-head { display:flex !important; flex:0 0 auto !important; width:100% !important; position:static !important; padding:0 !important; background:transparent !important; border:0 !important; }
#df-categories-menu .df-flyout > .df-menu-all { flex:0 0 auto !important; width:100% !important; position:static !important; }
#df-categories-menu .df-flyout > .df-genres { display:grid !important; flex:1 1 auto !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; width:100% !important; max-width:100% !important; max-height:calc(100vh - 180px); min-height:0 !important; position:static !important; margin:0 !important; overflow-y:auto !important; overflow-x:hidden !important; box-sizing:border-box !important; }
#df-categories-menu .df-genres > .dt-submenu-link { width:100% !important; max-width:100% !important; min-width:0 !important; position:static !important; margin:0 !important; float:none !important; }
@media(max-width:720px) { #df-categories-menu .dt-submenu.df-flyout.df-visible { max-width:100% !important; } #df-categories-menu .df-flyout > .df-genres { max-height:40vh; } }
/* Zwarta lista z własnym przewijaniem i czytelnym przyciskiem. */
#df-categories-menu .dt-submenu.df-flyout.df-visible {
 max-height: min(560px, calc(100dvh - 24px)) !important;
 padding: 14px !important;
}
#df-categories-menu .df-flyout > .df-genres {
 flex: 0 1 auto !important;
 height: auto !important;
 max-height: min(410px, calc(100dvh - 175px)) !important;
 overflow-y: auto !important;
 overscroll-behavior: contain;
}
#df-categories-menu .df-flyout .df-menu-all,
#df-categories-menu .df-flyout .df-menu-all:visited,
#df-categories-menu .df-flyout .df-menu-all * {
 color: #ffffff !important;
 text-shadow: none !important;
 -webkit-text-fill-color: #ffffff !important;
 opacity: 1 !important;
}
#df-categories-menu .df-genres > .dt-submenu-link {
 min-height: 38px !important;
 padding: 8px 12px !important;
 font-size: 14px !important;
}
@media(max-width:720px) {
 #df-categories-menu .df-flyout > .df-genres {
 max-height: min(350px, 40dvh) !important;
 }
}
/* Telefon: czytelna lista w wąskim sidebarze, desktop bez zmian. */
@media (max-width:720px) {
 #df-categories-menu .dt-submenu.df-flyout.df-visible {
  width:100% !important; max-width:100% !important;
  padding:10px !important; box-sizing:border-box !important;
 }
 #df-categories-menu .df-flyout > .df-genres {
  grid-template-columns:minmax(0,1fr) !important;
  gap:6px !important; padding-right:4px !important;
 }
 #df-categories-menu .df-genres > .dt-submenu-link {
  min-height:44px !important; height:auto !important;
  padding:9px 6px !important; font-size:13px !important;
  line-height:1.4 !important; justify-content:center !important;
  word-break:normal !important; overflow-wrap:normal !important;
  hyphens:none !important; white-space:normal !important;
 }
 #df-categories-menu .df-flyout .df-menu-all {
  font-size:13px !important; padding:10px 6px !important;
  word-break:normal !important; overflow-wrap:normal !important;
 }
 #df-categories-menu .df-flyout-title {
  font-size:18px !important; line-height:1.3 !important;
  min-width:0; overflow-wrap:break-word;
 }
 #df-categories-menu .df-flyout-close { flex-shrink:0; padding:2px 4px; }
}
#df-categories-menu .df-flyout .df-menu-all, #df-categories-menu .df-flyout .df-menu-all * {color:#fff!important;-webkit-text-fill-color:#fff!important;}
