.hero--slider{
  min-height:70vh;
  padding:0;
  position:relative;
  overflow:hidden;
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
}
.theme-slider{
  position:relative;
  min-height:70vh;
  width:100%;
  height:100%;
  overflow:hidden;
}
.theme-slider__slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .7s ease,visibility .7s ease;
  background:var(--color-primary,#1a1a1a);
  z-index:1;
}
.theme-slider__slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:2;
}
.theme-slider__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  min-width:100%;
  min-height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.theme-slider__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.58) 72%);z-index:1;pointer-events:none}
.theme-slider__copy{position:relative;z-index:2;min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4.5rem 4vw 5.5rem;max-width:860px;margin:0 auto;color:#fff;pointer-events:none}
.theme-slider__copy .hero-brand,.theme-slider__copy .hero-headline{color:#fff;text-shadow:0 8px 28px rgba(0,0,0,.45)}
.theme-slider__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.25rem;pointer-events:auto}
.theme-slider__cta{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.35rem;border-radius:999px;border:1px solid rgba(255,255,255,.45);color:#fff;font-weight:700;text-decoration:none;background:rgba(255,255,255,.12)}
.theme-slider__cta:hover{background:rgba(255,255,255,.22);text-decoration:none}
.theme-slider__nav{position:absolute;top:50%;z-index:6;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.45);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;pointer-events:auto}
.theme-slider__nav--prev{left:1rem}
.theme-slider__nav--next{right:1rem}
.theme-slider__nav:hover{background:rgba(0,0,0,.65)}
.theme-slider__dots{position:absolute;left:0;right:0;bottom:1.15rem;z-index:8;display:flex;gap:.55rem;justify-content:center;pointer-events:auto}
.theme-slider__dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(0,0,0,.25);cursor:pointer}
.theme-slider__dot.is-active{background:#fff;transform:scale(1.25)}

.theme-slider__now-playing{
  position:absolute;
  left:max(1rem, 4vw);
  bottom:3.25rem;
  z-index:9;
  pointer-events:auto;
  max-width:min(420px, calc(100% - 2rem));
}

.now-playing-block{
  margin-top:0;
  padding:.7rem 1.15rem .7rem .7rem;
  background:rgba(0,0,0,.42);
  border:0;
  border-radius:16px;
  backdrop-filter:blur(8px);
  display:inline-flex;
  align-items:center;
  gap:.85rem;
  color:#fff;
  font:inherit;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  max-width:100%;
  box-shadow:0 10px 28px rgba(0,0,0,.28);
}

.hero .now-playing-block{
  margin-top:1.15rem;
}

.now-playing-block:hover,
.now-playing-block:focus{
  background:rgba(0,0,0,.55);
  text-decoration:none;
  color:#fff;
}

.now-playing-block.is-playing{
  box-shadow:0 0 0 2px rgba(255,255,255,.28), 0 10px 28px rgba(0,0,0,.28);
}

.np-play{
  flex:none;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:transparent;
  border:2px solid rgba(255,255,255,.72);
  color:#fff;
}

.np-play__icon{
  display:block;
  font-size:.9rem;
  line-height:1;
  transform:translateX(1px);
}

.now-playing-block.is-playing .np-play{
  border-color:rgba(255,255,255,.95);
  background:rgba(255,255,255,.12);
}

.np-copy{min-width:0}

.np-label{
  display:block;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  opacity:.75;
  margin-bottom:.25rem;
}

.np-track{
  display:block;
  font-size:.95rem;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Carrossel configurado no admin (site + prévia do tema) */
.theme-slider--site .theme-slider__nav{display:none}
.theme-slider--site .theme-slider__dots{bottom:1.25rem;gap:.7rem}
.theme-slider--site .theme-slider__dot{width:12px;height:12px;background:rgba(255,255,255,.5)}
.theme-slider--site .theme-slider__dot.is-active{background:#fff;transform:scale(1.2)}

@media (max-width:720px){
  .hero--slider,
  .theme-slider,
  .theme-slider__copy{
    min-height:min(52vh, 430px);
  }
  .theme-slider__copy{
    padding: 4.25rem 1.05rem 3.1rem;
    max-width: 100%;
  }
  .theme-slider__copy .hero-brand{
    font-size: clamp(1.45rem, 7.2vw, 2.1rem);
    line-height: 1.12;
    overflow-wrap: anywhere;
  }
  .theme-slider__copy .hero-headline{
    font-size: 0.92rem;
    line-height: 1.35;
    max-width: 36ch;
  }
  .theme-slider__actions{
    margin-top: 0.9rem;
  }
  .theme-slider__cta{
    padding: 0.7rem 1.1rem;
    font-size: 0.86rem;
  }
  .theme-slider__now-playing{
    left: 1rem;
    right: 1rem;
    bottom: 2.75rem;
    max-width: none;
  }
  .now-playing-block{
    width: 100%;
  }
  .theme-slider__nav{
    width: 32px;
    height: 32px;
    font-size: 1.2rem;
  }
  .theme-slider__nav--prev{ left: 0.4rem; }
  .theme-slider__nav--next{ right: 0.4rem; }
  .theme-slider__dots{ bottom: 0.75rem; }
}
.theme-preview-embed .hero--slider{
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
}
.slide-admin-preview .hero--slider,
.slide-admin-preview .theme-slider,
.slide-admin-preview .theme-slider__copy,
.theme-slider--panel.hero--slider,
.theme-slider--panel .theme-slider,
.theme-slider--panel .theme-slider__copy{
  min-height:400px;
  height:400px;
}
.slide-admin-preview .hero--slider,
.theme-slider--panel.hero--slider{
  border-radius:12px;
}
.slide-admin-preview .theme-slider__copy,
.theme-slider--panel .theme-slider__copy{
  min-height:400px;
  padding:2rem 1.5rem 2.5rem;
}
@media (max-width:720px){
  .slide-admin-preview .hero--slider,
  .slide-admin-preview .theme-slider,
  .slide-admin-preview .theme-slider__copy,
  .theme-slider--panel.hero--slider,
  .theme-slider--panel .theme-slider,
  .theme-slider--panel .theme-slider__copy{
    min-height:280px;
    height:280px;
  }
}
