.community-panel { margin: 28px 0; padding: clamp(18px,3vw,32px); border:1px solid #ffffff20; border-radius:20px; background:linear-gradient(120deg,#112631,#11131e); color:#f5f7fa; }
.community-panel h2 { margin:0 0 18px; font-size:clamp(1.25rem,3vw,1.7rem); }
.cinema-home main > .community-panel { margin-left:clamp(16px,4vw,64px); margin-right:clamp(16px,4vw,64px); }
.community-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:14px 0; }
.community-button,.community-panel select,.community-panel textarea { border:1px solid #ffffff38; border-radius:10px; background:#182532; color:#fff; font:inherit; padding:10px 14px; }
.community-button { cursor:pointer; text-decoration:none; display:inline-block; }
.community-button[aria-pressed=true] { background:#164954; border-color:#22d3ee; }
.community-button:hover { border-color:#22d3ee; }
.community-button:focus-visible,.community-panel a:focus-visible,.community-panel select:focus-visible { outline:3px solid #22d3ee; outline-offset:3px; }
.community-button:disabled { opacity:.5; cursor:wait; }
.community-button[hidden] { display:none; }
.community-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:16px; }
.community-card { min-width:0; max-width:230px; }
.community-card a { color:inherit; text-decoration:none; }
.community-card img { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:12px; background:#15222b; }
.community-card h3 { margin:8px 0; font-size:1rem; }
.community-card p,.community-note { color:#b8c8d5; font-size:.9rem; }
.community-card .community-button { font-size:.82rem; }
.community-notification { display:block; color:#c9f7ff; padding:12px 0; border-bottom:1px solid #ffffff20; }
.community-status { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:10000; background:#162c36; color:white; padding:14px 22px; border:1px solid #22d3ee; border-radius:12px; max-width:90vw; }
.community-status:empty { display:none; }
.community-episode { display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; }
.community-episode .episode-row { width:100%; }
.community-dialog { width:min(540px,94vw); max-height:85vh; overflow:auto; border:1px solid #536773; border-radius:18px; padding:24px; background:#111f2a; color:white; }
.community-dialog::backdrop { background:#000b; }
.community-dialog .community-panel { padding:0; margin:0; border:0; background:none; }
.community-dialog label { display:block; margin:14px 0 8px; }
.community-dialog select,.community-dialog textarea { width:100%; box-sizing:border-box; }
@media(max-width:600px) { .community-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .community-episode { grid-template-columns:1fr; gap:0; margin-bottom:18px; } .community-episode > button { justify-self:end; } .header-right { flex-wrap:wrap; } }

/* Home discovery sections share the catalogue's width and visual rhythm. */
.cinema-home main > .community-panel {
  width:92%; max-width:1600px; margin:36px auto; padding:0;
  border:0; border-radius:0; background:none;
}
.cinema-home .community-panel h2 { font-size:24px; letter-spacing:-.6px; margin:0 0 20px; }
.cinema-home .community-grid { grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); gap:24px 18px; }
.cinema-home .community-grid.is-empty { display:block; }
.cinema-home .community-grid.is-empty > p { margin:0; padding:16px 20px; border-left:2px solid #36d6eb66; background:#121b25; border-radius:0 6px 6px 0; line-height:1.6; }
.cinema-home .community-grid:empty { display:none; }
.cinema-home .community-card { display:flex; flex-direction:column; max-width:none; }
.cinema-home .community-card img { display:block; border-radius:7px; transition:filter .18s ease; }
.cinema-home .community-card a:hover img { filter:brightness(1.12); }
.cinema-home .community-card h3 { font-size:14px; line-height:1.5; height:42px; margin:12px 0 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cinema-home .community-card p { font-size:12px; margin:8px 0 12px; line-height:1.5; }
.cinema-home .community-card .community-button { margin-top:auto; align-self:flex-start; min-height:36px; padding:7px 11px; font-size:12px; }
.cinema-home .community-button { border-radius:5px; background:#18232e; border-color:#354352; }
.cinema-home main > .community-evening { padding:26px 28px; background:linear-gradient(110deg,#142934,#121b25 70%); border:1px solid #293d4a; border-radius:9px; }
.cinema-home .community-evening h2 { margin-bottom:8px; }
.cinema-home .community-note { line-height:1.6; }
.cinema-home .community-evening > .community-note { margin:8px 0 0; }
.cinema-home .community-evening > .community-note:last-child { font-size:12px; color:#94a8b9; }
.cinema-home .community-evening .community-actions { align-items:flex-end; gap:16px; margin:22px 0 18px; }
.cinema-home .community-evening label { display:flex; flex-direction:column; gap:8px; color:#b8c8d5; font-size:12px; font-weight:600; }
.cinema-home .community-evening select { min-width:180px; min-height:44px; border-radius:5px; font-size:14px; }
.cinema-home .community-evening .community-actions > button { min-height:44px; background:var(--accent); color:#08151b; border-color:transparent; font-size:14px; font-weight:700; padding:10px 22px; }
.cinema-home .community-evening .community-grid:not(:empty) { margin:22px 0; grid-template-columns:repeat(3,minmax(0,180px)); }
.cinema-home .community-collection { margin-top:28px; }
.cinema-home .community-collection + .community-collection { padding-top:28px; border-top:1px solid #25303c; }
.cinema-home .community-collection-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.cinema-home .community-collection-heading h3 { margin:0; font-size:18px; letter-spacing:-.2px; }
.cinema-home .community-collection-heading .community-button { flex-shrink:0; background:none; color:var(--accent); font-size:13px; min-height:40px; }
.cinema-home .community-collection > .community-note { margin:-4px 0 18px; font-size:13px; }
@media(max-width:600px) {
  .cinema-home main > .community-panel { margin:28px auto; }
  .cinema-home main > .community-evening { padding:20px 16px; }
  .cinema-home .community-panel h2 { font-size:21px; }
  .cinema-home .community-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 12px; }
  .cinema-home .community-evening .community-actions { gap:12px; }
  .cinema-home .community-evening label { flex:1 1 120px; min-width:0; }
  .cinema-home .community-evening select { width:100%; min-width:0; }
  .cinema-home .community-evening .community-actions > button { width:100%; }
  .cinema-home .community-evening .community-grid:not(:empty) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cinema-home .community-collection-heading { align-items:flex-start; }
  .cinema-home .community-collection-heading h3 { font-size:16px; }
  .cinema-home .community-collection-heading .community-button { padding:8px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .cinema-home .community-card img { transition:none; } }

/* Keep season actions out of the episode grid's reading order. */
.cinema-site .series-hub #episodes-list { grid-auto-rows:auto; align-items:stretch; }
.cinema-site .series-hub .community-season-actions {
  grid-column:1 / -1; display:flex; align-items:center; gap:10px;
  margin:0 0 6px; padding:0 0 16px; border-bottom:1px solid #25303c;
}
.cinema-site .community-season-actions .community-button {
  min-height:40px; padding:9px 14px; border-radius:6px; font-size:13px;
}
.cinema-site .community-season-actions .community-button + .community-button {
  background:transparent; border-color:transparent; color:#acbac9;
}
.cinema-site .series-hub .community-episode {
  display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto;
  align-items:stretch; min-width:0; height:auto; min-height:180px; gap:0; margin:0;
  background:#121b25; border:1px solid #293641; border-radius:9px; overflow:visible;
}
.cinema-site .series-hub .community-episode .episode-row {
  width:100%; height:auto; min-height:128px; border:0; border-radius:9px 9px 0 0;
  background:transparent; transform:none; box-shadow:none;
}
.cinema-site .series-hub .community-episode .episode-row:hover { background:#182531; }
.cinema-site .series-hub .community-episode .episode-row:focus-visible { outline-offset:-3px; }
.cinema-site .series-hub .community-episode > .community-button {
  position:static; justify-self:stretch; align-self:stretch; width:100%; box-sizing:border-box;
  margin:0; min-height:48px; padding:12px 16px;
  background:#1b2c39; border:0; border-top:1px solid #3b4b59; border-radius:0 0 8px 8px;
  color:#e0f7fc; font-size:13px; font-weight:600; line-height:1.5; text-align:right;
}
.cinema-site .series-hub .community-episode > .community-button:hover { color:#fff; background:#234351; border-color:#36d6eb; }
.cinema-site .series-hub .community-episode > .community-button[aria-pressed=true] { color:#8ce7dc; background:#133534; border-color:#28605a; }
@media(max-width:600px) {
  .cinema-site .series-hub .community-season-actions { gap:6px; }
  .cinema-site .community-season-actions .community-button { font-size:12px; padding:8px 10px; }
}

/* Lightweight library and notification controls in the shared header. */
.site-header .header-right .community-nav {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  position:relative; flex:0 0 auto; min-height:44px; padding:10px 12px;
  border:1px solid transparent; border-radius:8px; background:transparent;
  color:#b9c6d2; font:inherit; font-size:14px; font-weight:600;
  line-height:1; text-decoration:none; cursor:pointer;
}
.site-header .header-right .community-nav:hover { color:#fff; background:#ffffff0c; }
.site-header .header-right .community-nav:focus-visible { outline:2px solid #36d6eb; outline-offset:3px; }
.site-header .community-nav svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.site-header .header-right .community-nav-bell { width:44px; padding:10px; }
.site-header .community-nav-badge { position:absolute; top:0; right:-3px; min-width:17px; padding:3px 4px; border:2px solid #0b1016; border-radius:12px; background:#36d6eb; color:#08151b; font-size:10px; font-weight:700; text-align:center; }
.site-header .community-nav-badge[hidden] { display:none; }
.site-header .community-nav:disabled { opacity:.5; cursor:wait; }
@media(max-width:600px) { .site-header .header-right .community-nav-list { padding-inline:8px; font-size:13px; gap:6px; } }

.site-header .header-right .user-menu-button {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px; padding:10px 12px; border:1px solid transparent;
  border-radius:8px; background:transparent; color:#b9c6d2;
  font:inherit; font-size:14px; font-weight:600; line-height:1; box-shadow:none;
}
.site-header .header-right .user-menu-button::before {
  content:''; display:block; flex:0 0 20px; width:20px; height:20px;
  background:currentColor;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21v-2a8 8 0 0 1 16 0v2'/%3E%3C/svg%3E") center / contain no-repeat;
}
.site-header .header-right .user-menu-button .user-avatar { display:none; }
.site-header .header-right .user-menu-button .user-name { font:inherit; }
.site-header .header-right .user-menu-button:hover,
.site-header .header-right .user-menu-button[aria-expanded=true] { color:#fff; background:#ffffff0c; border-color:transparent; }
.site-header .header-right .user-menu-button:focus-visible { outline:2px solid #36d6eb; outline-offset:3px; }
@media(max-width:600px) {
  .site-header .header-right .user-menu-button { padding-inline:8px; font-size:13px; gap:6px; }
  .site-header .header-right .user-menu-button .user-name { display:block; max-width:82px; }
}

.cinema-home .header-right { margin-left:auto; }
.cinema-home .site-header .header-search-collapsible {
  display:block !important; position:absolute; z-index:1002; top:calc(100% + 10px); right:4%;
  width:min(460px,92vw); max-width:none; min-width:0; margin:0; padding:12px;
  border:1px solid #34414f; border-radius:10px; background:#0f1821;
  box-shadow:0 16px 40px #0006; opacity:0; visibility:hidden; pointer-events:none;
  transform:translateY(-10px) scale(.98); transform-origin:top right;
  transition:opacity .2s ease,transform .2s ease;
}
.cinema-home .site-header .header-search-collapsible.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0) scale(1); }
@media(prefers-reduced-motion:reduce) { .cinema-home .site-header .header-search-collapsible { transition:none; } }

/* Compact mobile header: brand and actions, then navigation. */
@media(max-width:600px) {
  .cinema-site .site-header { display:flex; flex-wrap:wrap; gap:0 6px; min-height:0; padding:6px 12px 0; }
  .cinema-site .site-header .header-left { flex:0 0 auto; }
  .cinema-site .site-header .logo { width:110px; height:44px; }
  .cinema-site .site-header .header-right { display:flex; flex-wrap:nowrap; align-items:center; gap:0; margin-left:auto; width:auto; }
  .cinema-site .site-header .header-right .community-nav,
  .cinema-site .site-header .header-right .user-menu-button { width:44px; height:44px; padding:10px; gap:0; }
  .cinema-site .site-header .community-nav-list > span,
  .cinema-site .site-header .header-right .user-menu-button .user-name {
    position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
    clip-path:inset(50%); white-space:nowrap;
  }
  .cinema-site .site-header .header-center { flex:1 0 100%; width:100%; margin:4px 0 0; }
  .cinema-site .site-header .type-filter-section,
  .cinema-site .site-header .cinema-navigation { display:flex; justify-content:space-between; gap:12px; width:100%; }
  .cinema-site .site-header .filter-chip,
  .cinema-site .site-header .cinema-nav-link,
  .cinema-site .site-header .cinema-navigation a { min-height:42px; font-size:13px; }
  .cinema-site .site-header .auth-open-btn { width:44px; height:44px; padding:10px; border:0; background:transparent; font-size:0; }
  .cinema-site .site-header .auth-open-btn::before { content:'↪'; font-size:24px; color:#b9c6d2; }
  .cinema-site .site-header .header-search-collapsible { right:12px; width:calc(100% - 24px); }
}
.cinema-site .site-header { position:relative; }
.cinema-site:not(.cinema-home) .site-header .header-search-collapsible {
  position:absolute; z-index:1002; top:calc(100% + 10px); right:4%; width:min(460px,92vw);
  padding:12px; border:1px solid #34414f; border-radius:10px; background:#0f1821;
  box-shadow:0 16px 40px #0006; opacity:0; visibility:hidden; pointer-events:none;
  transform:translateY(-10px); transition:opacity .2s ease,transform .2s ease;
}
.cinema-site:not(.cinema-home) .site-header .header-search-collapsible.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.header-search-form { display:flex; gap:8px; }
.header-search-form input { min-width:0; width:100%; padding:12px; border:1px solid #34414f; border-radius:6px; background:#17212c; color:#fff; font:inherit; }
.header-search-form button { border:0; border-radius:6px; background:#36d6eb; color:#08151b; padding:10px; cursor:pointer; }
.site-header .header-search-collapsible .search-box { width:100%; margin:0; max-width:none; }
@media(max-width:600px) {
  .cinema-site .site-header > .cinema-navigation { order:2; flex:1 0 100%; margin-top:4px; }
  .cinema-site .site-header > .logo { flex:0 0 110px; }
}
@media(prefers-reduced-motion:reduce) { .cinema-site .site-header .header-search-collapsible { transition:none; } }
