/* Fullscreen container */
.kiosk-rotator-cover { position: fixed; inset: 0; z-index: 2147483647; background: #000; }
/* In-editor or non-cover mode occupies block box at 100vh */
.kiosk-rotator-inline { position: relative; width: 100%; height: 100vh; background: #000; }

.kiosk-stage { position: absolute; inset: 0; overflow: hidden; }

/* Slides */
.kiosk-slides { display: contents; }
.kiosk-slide { position: absolute; inset: 0; overflow: auto; opacity: 0; transition: opacity var(--fade-ms,300ms) ease; background: var(--kiosk-bg, #000); color: var(--kiosk-fg, #fff); pointer-events: none; }
.kiosk-slide.active { opacity: 1; pointer-events: auto; }
.kiosk-slide-inner { min-height: 100%; box-sizing: border-box; padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }

/* Theme palettes via CSS variables */
.kiosk-theme-dark { --kiosk-bg:#000; --kiosk-fg:#fff; --kiosk-link:#7db3ff; --kiosk-muted:#a8a8a8; }
.kiosk-theme-light { --kiosk-bg:#fff; --kiosk-fg:#111; --kiosk-link:#0645ad; --kiosk-muted:#444; }

/* Apply palette to common elements */
.kiosk-slide a { color: var(--kiosk-link); }
.kiosk-slide :where(p,li,dt,dd,span,em,strong,small,blockquote,figcaption,th,td,label){ color: var(--kiosk-fg); }
.kiosk-slide hr{ border:0; border-top:1px solid var(--kiosk-muted); }
.kiosk-slide table{ border-color: var(--kiosk-muted); }
.kiosk-slide table td, .kiosk-slide table th { border-color: var(--kiosk-muted); }

/* Optional hard override for base text color when plugins set their own colors */
.kiosk-slide.is-force-text.kiosk-theme-light :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,small,em,strong,blockquote,th,td,label){ color:#111 !important; }
.kiosk-slide.is-force-text.kiosk-theme-dark :where(h1,h2,h3,h4,h5,h6,p,li,dt,dd,small,em,strong,blockquote,th,td,label){ color:#fff !important; }

/* Disable interactive controls inside slides; scrolling still works */
.kiosk-slide a,
.kiosk-slide button,
.kiosk-slide input,
.kiosk-slide select,
.kiosk-slide textarea,
.kiosk-slide [role="button"],
.kiosk-slide [onclick] { pointer-events: none !important; }

/* Full-bleed first child helper */
.kiosk-slide.kiosk-fill-first .kiosk-slide-inner { display: flex; flex-direction: column; min-height: 100%; }
.kiosk-slide.kiosk-fill-first .kiosk-slide-inner > :first-child { flex: 1 1 auto; min-height: 0; height: auto; max-height: none !important; }
.kiosk-slide.kiosk-fill-first .kiosk-slide-inner > :first-child iframe { width: 100%; height: 100% !important; min-height: 0; max-height: none !important; }

/* Screensaver overlay */
.kiosk-saver { position: absolute; inset: 0; background: #000; display: none; z-index: 3; }
.kiosk-saver.show { display: block; }
.kiosk-bounce { position: absolute; inset: 0; overflow: hidden; }
.kiosk-logo, .kiosk-logo-fallback {
  position: absolute; width: 160px; height: auto; user-select: none; pointer-events: none;
  -webkit-user-drag: none; will-change: transform; image-rendering: auto;
}
.kiosk-logo-fallback {
  width: 160px; height: 160px; display: flex; align-items: center; justify-content: center;
  background: #111; color: #fff; font: 600 28px system-ui, -apple-system, Segoe UI, Roboto, sans-serif; border-radius: 12px;
}

/* Editor niceties */
.kb-rotator-edit { border: 1px dashed #ccc; padding: 12px; background:#111; color:#aaa; }
.kb-slide-edit { border: 1px dashed #666; padding: 12px; min-height: 120px; background:#1a1a1a; }
.kb-editor-note { margin-bottom: 8px; font-size:12px; opacity:0.8; }

/* Custom CSS for Specific use cases */
.kiosk-slide .simcal-day > div {
  min-height: 14vh !important;
  height: auto !important;
}
