/* Only the homepage banner owns these rules; palettes belong to the active template. */
.channel-banner{--banner-accent:var(--green,#c34237);--banner-paper:var(--paper,#fff);--banner-ink:var(--ink,#222);--banner-soft:var(--sage,#f5f5f5);--banner-line:var(--line,#ddd);--banner-radius:12px;box-sizing:border-box;position:relative;display:block;width:100%;min-width:0;max-width:1280px;margin:12px 0 18px;padding:0;overflow:hidden;border:1px solid var(--banner-line);border-radius:var(--banner-radius);background:var(--banner-paper);color:var(--banner-ink)}
.channel-banner[data-banner-theme=default2]{--banner-accent:var(--accent);--banner-paper:var(--bg);--banner-ink:var(--text);--banner-soft:var(--panel-soft);--banner-radius:16px}
.channel-banner[data-banner-theme=default3]{--banner-accent:var(--accent);--banner-soft:var(--soft);--banner-radius:14px}
.channel-banner[data-banner-theme=default4]{--banner-radius:8px}
.channel-banner[data-banner-theme=default5]{--banner-radius:6px;border-bottom:3px solid var(--banner-accent)}
.channel-banner[data-banner-theme=default6]{--banner-radius:6px}
.channel-banner[data-banner-theme=default7]{--banner-radius:4px}
.channel-banner[data-banner-theme=default8]{--banner-radius:12px;box-shadow:0 8px 24px #08071018}
.channel-banner[data-banner-theme=default9]{--banner-radius:0px;border-color:var(--banner-ink)}
.channel-banner .channel-banner-stage{position:relative;width:100%;aspect-ratio:8/3;overflow:hidden;background:var(--banner-soft)}
.channel-banner .channel-banner-slide{position:absolute;inset:0;display:block;width:100%;height:100%;color:inherit;text-decoration:none}
.channel-banner .channel-banner-slide img{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:100%;margin:0;padding:0;border:0;border-radius:0;object-fit:contain;object-position:center;transform:none;filter:none}
.channel-banner .channel-banner-label{position:absolute;left:8px;top:8px;z-index:1;padding:2px 6px;border-radius:3px;background:#0009;color:#fff;font:10px/1.5 system-ui,sans-serif;pointer-events:none}
.channel-banner .channel-banner-controls{display:flex;align-items:center;gap:8px;min-width:0;min-height:48px;padding:6px 10px;background:var(--banner-paper);border-top:1px solid var(--banner-line)}
.channel-banner .channel-banner-controls>button{display:inline-flex;flex:0 0 34px;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;padding:7px;border:1px solid var(--banner-line);border-radius:var(--banner-radius);background:var(--banner-soft);color:var(--banner-ink);cursor:pointer}
.channel-banner .channel-banner-controls svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.channel-banner .channel-banner-dots{display:flex;flex:1 1 0;align-items:center;justify-content:center;min-width:0;gap:2px;overflow-x:auto}
.channel-banner .channel-banner-dots button{display:flex;flex:0 0 24px;align-items:center;justify-content:center;width:24px;height:34px;min-height:34px;padding:0;border:0;background:transparent;color:var(--banner-accent);cursor:pointer}
.channel-banner .channel-banner-dots span{display:block;width:6px;height:6px;border-radius:999px;background:var(--banner-ink);opacity:.25}
.channel-banner .channel-banner-dots [aria-pressed=true] span{width:16px;background:var(--banner-accent);opacity:1}
.channel-banner .channel-banner-count{flex:none;white-space:nowrap;color:var(--banner-ink);font:12px/1.5 system-ui,sans-serif;font-variant-numeric:tabular-nums}
.channel-banner button:hover{color:var(--banner-accent);border-color:var(--banner-accent)}
.channel-banner :is(a,button):focus-visible{outline:2px solid var(--banner-accent);outline-offset:-3px}
.channel-banner .channel-banner-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.channel-banner [hidden]{display:none!important}
@media(max-width:540px){.channel-banner .channel-banner-controls{gap:5px;padding-inline:7px}.channel-banner .channel-banner-controls>button{flex-basis:32px;width:32px;height:32px;min-height:32px}.channel-banner .channel-banner-dots button{flex-basis:22px;width:22px}.channel-banner .channel-banner-label{left:5px;top:5px}}
@media print{.channel-banner .channel-banner-controls{display:none}}
