/* =========================================================
   Ministério Seven V7.3 — Correções de estrutura
   - Auto-rolagem própria em música/cifra
   - Menu superior sem quebra
   - Logo composta: V7 + Ministério/Seven
   - ADM com sidebar fixa respeitando permissões
   ========================================================= */

/* ---------- Header público: menu em uma linha ---------- */
.site-header,
.admin-topbar{
  overflow:visible !important;
}
.header-inner,
.admin-topbar-inner{
  display:flex !important;
  align-items:center !important;
  gap:clamp(14px, 1.4vw, 24px) !important;
}
.main-nav,
.header-nav,
.site-nav,
.admin-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(10px, 1.15vw, 22px) !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
.main-nav a,
.header-nav a,
.site-nav a,
.mobile-menu-panel a,
.admin-nav a{
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1 !important;
}
.main-nav a,
.header-nav a,
.site-nav a{
  font-size:clamp(.82rem, .78vw, .94rem) !important;
  padding-inline:clamp(8px, .85vw, 14px) !important;
}

/* ---------- Logo composta no header ---------- */
.site-header .brand-link,
.admin-topbar .admin-brand{
  min-width:clamp(214px, 18vw, 278px) !important;
  height:74px !important;
  padding:8px 14px !important;
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  border-radius:22px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.012)) !important;
}
.v73-brand-combo{
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  min-width:0;
}
.v73-brand-mark{
  width:clamp(42px, 4vw, 58px) !important;
  height:clamp(48px, 4.5vw, 66px) !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.38)) brightness(1.08) contrast(1.08) !important;
}
.v73-brand-word{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:4px;
  min-width:0;
  flex:1 1 auto;
}
.v73-brand-ministerio{
  width:clamp(98px, 9.5vw, 146px) !important;
  height:auto !important;
  max-height:18px !important;
  object-fit:contain !important;
  object-position:left center !important;
  opacity:.95;
}
.v73-brand-seven{
  width:clamp(118px, 11vw, 174px) !important;
  height:auto !important;
  max-height:32px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.brand-v7:not(.v73-brand-mark),
.admin-v7:not(.v73-brand-mark){
  width:auto !important;
  max-width:100% !important;
}
html[data-theme="light"] .v73-brand-combo img{
  filter:drop-shadow(0 8px 18px rgba(61,45,20,.12)) !important;
}

@media (max-width: 980px){
  .site-header .brand-link,
  .admin-topbar .admin-brand{
    min-width:174px !important;
    height:62px !important;
    padding:7px 10px !important;
  }
  .v73-brand-mark{width:38px !important;height:48px !important;}
  .v73-brand-ministerio{width:94px !important;max-height:14px !important;}
  .v73-brand-seven{width:112px !important;max-height:26px !important;}
  .main-nav,.header-nav,.site-nav{gap:8px !important;}
  .main-nav a,.header-nav a,.site-nav a{font-size:.8rem !important;padding-inline:7px !important;}
}
@media (max-width: 760px){
  .site-header .brand-link,
  .admin-topbar .admin-brand{min-width:72px !important;width:72px !important;}
  .v73-brand-word{display:none !important;}
  .v73-brand-mark{width:44px !important;height:50px !important;}
}

/* ---------- Home: evita corte nos botões do hero ---------- */
.home-page .hero-banner,
body.v7-page-index .hero-banner,
body.v7-page-index .hero-banner#hero-banner{
  min-height:clamp(560px, 50vw, 730px) !important;
  overflow:visible !important;
  margin-bottom:clamp(72px, 7vw, 112px) !important;
}
.home-page .v7-hero-content,
body.v7-page-index .v7-hero-content{
  padding-bottom:clamp(132px, 11vw, 182px) !important;
  padding-top:clamp(52px, 5vw, 82px) !important;
  min-height:inherit !important;
}
.home-page .v7-hero-actions,
body.v7-page-index .v7-hero-actions{
  margin-top:clamp(30px, 3.2vw, 48px) !important;
  transform:none !important;
  z-index:20 !important;
}
.home-page .v7-home-quick-grid,
body.v7-page-index .v7-home-quick-grid{
  position:relative !important;
  z-index:10 !important;
  margin-top:clamp(26px, 3vw, 44px) !important;
}

/* ---------- Auto-rolagem: esconde painéis antigos e usa V7.3 ---------- */
body.v73-autoscroll-custom .scroll-bubble:not(.v73-scroll-panel),
body.v73-autoscroll-custom .musica-scroll-bubble:not(.v73-scroll-panel),
body.v73-autoscroll-custom #scroll-bubble:not(.v73-scroll-panel),
body.v73-autoscroll-custom #musica-scroll-bubble:not(.v73-scroll-panel),
body.v73-autoscroll-custom [class*="scroll-bubble"]:not(.v73-scroll-panel):not(.v73-scroll-panel *){
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
#scroll-panel-toggle,
.scroll-panel-toggle-btn,
.v72-auto-btn-fixed{
  min-width:auto !important;
  font-size:.86rem !important;
  white-space:nowrap !important;
}
#scroll-panel-toggle::before,
.scroll-panel-toggle-btn::before{content:none !important;}
#scroll-panel-toggle::after,
.scroll-panel-toggle-btn::after{content:none !important;}

.v73-scroll-panel{
  position:fixed;
  right:24px;
  bottom:24px;
  width:min(330px, calc(100vw - 28px));
  padding:12px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(18,21,28,.98), rgba(8,10,14,.96));
  color:var(--text, #fff);
  box-shadow:0 22px 55px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  z-index:99999;
  display:none;
  user-select:none;
}
.v73-scroll-panel.is-open{display:block;}
.v73-scroll-panel.v73-positioned{right:auto;bottom:auto;}
html[data-theme="light"] .v73-scroll-panel{
  background:linear-gradient(180deg, rgba(255,252,245,.98), rgba(248,240,224,.96));
  color:#17130e;
  border-color:rgba(88,63,22,.18);
  box-shadow:0 20px 48px rgba(61,45,20,.16), inset 0 1px 0 rgba(255,255,255,.85);
}
.v73-scroll-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:4px 4px 10px;
  cursor:grab;
}
.v73-scroll-panel.is-dragging .v73-scroll-head{cursor:grabbing;}
.v73-scroll-title{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.78rem;
  color:var(--v7-gold, #d4af37);
}
.v73-scroll-title::before{content:"↧";font-size:1rem;}
.v73-scroll-close{
  width:30px;
  height:30px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.045);
  color:inherit;
  cursor:pointer;
  font-size:1.05rem;
  line-height:1;
}
.v73-scroll-body{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
}
.v73-scroll-play{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(180deg, rgba(212,175,55,.95), rgba(169,122,38,.95));
  color:#140f08;
  font-weight:900;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 28px rgba(212,175,55,.22);
}
.v73-scroll-play.is-running::before{content:"Ⅱ";font-size:.95rem;}
.v73-scroll-play:not(.is-running)::before{content:"▶";font-size:.88rem;margin-left:2px;}
.v73-scroll-range-wrap{
  min-width:0;
}
.v73-scroll-range-label{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:5px;
  color:var(--text-soft, #d8d2c4);
  font-size:.72rem;
  font-weight:750;
}
.v73-scroll-speed-value{color:var(--v7-gold, #d4af37);font-weight:900;}
.v73-scroll-range{
  display:block;
  width:100%;
  min-width:150px;
  accent-color:#f59b3a;
  cursor:pointer;
}
.v73-scroll-reset{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.045);
  color:inherit;
  cursor:pointer;
}
.v73-scroll-hint{
  margin-top:8px;
  font-size:.7rem;
  color:var(--text-muted, #a8a29a);
  text-align:center;
}
@media (max-width: 620px){
  .v73-scroll-panel{
    left:12px !important;
    right:12px !important;
    bottom:12px !important;
    top:auto !important;
    width:auto !important;
  }
}

/* ---------- ADM: menu lateral ---------- */
body.v73-admin-page{
  --v73-sidebar-width: 282px;
}
body.v73-admin-page:not(.v73-admin-ready) .admin-cards-grid{
  opacity:0 !important;
  visibility:hidden !important;
}
.v73-admin-shell{
  width:min(100% - 24px, 1440px);
  margin:24px auto 64px;
  display:grid;
  grid-template-columns:var(--v73-sidebar-width) minmax(0, 1fr);
  gap:22px;
  align-items:start;
}
.v73-admin-sidebar{
  position:sticky;
  top:calc(var(--header-height, 90px) + 18px);
  min-height:calc(100vh - 130px);
  border:1px solid var(--border, rgba(255,255,255,.12));
  border-radius:28px;
  background:linear-gradient(180deg, rgba(18,21,28,.96), rgba(8,10,14,.92));
  box-shadow:0 20px 50px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.05);
  padding:16px;
  overflow:hidden;
}
html[data-theme="light"] .v73-admin-sidebar{
  background:linear-gradient(180deg, rgba(255,252,245,.98), rgba(248,240,224,.95));
  box-shadow:0 18px 42px rgba(61,45,20,.12), inset 0 1px 0 rgba(255,255,255,.9);
}
.v73-admin-brand-mini{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 8px 16px;
  border-bottom:1px solid var(--border, rgba(255,255,255,.1));
  margin-bottom:14px;
}
.v73-admin-brand-mini img{width:44px;height:52px;object-fit:contain;}
.v73-admin-brand-mini strong{display:block;color:var(--text,#fff);font-size:.95rem;line-height:1.05;}
.v73-admin-brand-mini span{display:block;color:var(--v7-gold,#d4af37);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-top:3px;}
.v73-admin-menu-title{
  color:var(--v7-gold,#d4af37);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:16px 10px 8px;
}
.v73-admin-menu{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.v73-admin-menu a{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:16px;
  color:var(--text-soft,#d8d2c4);
  text-decoration:none;
  font-weight:800;
  font-size:.9rem;
  border:1px solid transparent;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.v73-admin-menu a:hover{
  transform:translateX(3px);
  color:var(--text,#fff);
  background:rgba(212,175,55,.08);
  border-color:rgba(212,175,55,.22);
}
.v73-admin-menu a.is-active{
  color:var(--text,#fff);
  background:linear-gradient(90deg, rgba(212,175,55,.20), rgba(212,175,55,.06));
  border-color:rgba(212,175,55,.32);
  box-shadow:inset 3px 0 0 var(--v7-gold,#d4af37);
}
.v73-admin-menu-icon{
  width:22px;
  height:22px;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  color:var(--v7-gold,#d4af37);
}
.v73-admin-content{
  min-width:0;
}
.v73-admin-content > .container,
.v73-admin-content > section.container,
.v73-admin-content > section{
  width:100% !important;
  max-width:none !important;
  margin-inline:0 !important;
}
body.v73-admin-page .admin-cards-grid{
  display:none !important;
}
.v73-admin-dashboard-welcome{
  border:1px solid var(--border, rgba(255,255,255,.12));
  border-radius:28px;
  padding:clamp(22px, 3vw, 34px);
  background:linear-gradient(135deg, rgba(212,175,55,.10), rgba(255,255,255,.035) 38%, rgba(0,0,0,.05));
  box-shadow:0 18px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.05);
  margin-bottom:22px;
}
.v73-admin-dashboard-welcome h2{
  margin:0 0 8px;
  font-family:var(--font-title, inherit);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.v73-admin-dashboard-welcome p{margin:0;color:var(--text-soft,#d8d2c4);line-height:1.55;}
.v73-admin-current-module{
  border:1px solid var(--border, rgba(255,255,255,.12));
  border-radius:24px;
  padding:18px;
  background:rgba(255,255,255,.035);
  margin-bottom:20px;
}
@media (max-width: 980px){
  .v73-admin-shell{
    grid-template-columns:1fr;
  }
  .v73-admin-sidebar{
    position:relative;
    top:auto;
    min-height:0;
  }
  .v73-admin-menu{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  }
}
