/*
 * PACOTE FINAL 06 — Responsividade pública final
 * Escopo: páginas públicas padronizadas, cabeçalho, cards, filtros e botões no celular.
 * Não altera banco, conteúdo, imagens ou comportamento de cadastro.
 */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}
body{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
#conteudo-site,
main,
section,
.container,
.container-fluid{
  min-width:0;
  max-width:100%;
}
img, svg, video, iframe, object, embed{
  max-width:100%;
}

/* Cabeçalho público: compacto e sem espaço lateral sobrando no mobile */
.gala-public-navbar{
  min-height:auto !important;
}
.gala-public-navbar .container{
  width:100% !important;
  max-width:1320px !important;
  padding-left:clamp(12px, 3vw, 22px) !important;
  padding-right:clamp(12px, 3vw, 22px) !important;
}
.gala-public-navbar .navbar-brand{
  max-width:68vw;
  overflow:hidden;
  text-overflow:ellipsis;
}
.gala-public-navbar .navbar-toggler{
  width:42px;
  height:42px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.gala-public-navbar .navbar-collapse{
  min-width:0;
}
.gala-public-navbar .btn,
.gala-public-navbar .nav-link,
.gala-public-navbar .gala-parent-link,
.gala-public-navbar .dropdown-item{
  max-width:100%;
}

/* Botões flutuantes públicos não podem tampar card no celular */
.pd-theme-toggle-public,
.srv-admin,
.at-admin,
.sa-admin,
.lei-admin,
.dep-admin-actions,
.pgm-admin,
.pdv-admin,
.pdvc-admin{
  max-width:calc(100vw - 24px) !important;
}

/* Páginas padronizadas: remove grandes respiros e evita corte do título */
.srv-wrap,.at-wrap,.sa-wrap,.lei-wrap,.dep-page-wrap,.pdv-page,.pdvc-page{
  width:100%;
  overflow-x:hidden;
}
.srv-hero,.at-hero,.sa-hero,.lei-hero,.dep-hero-public,.pdv-hero,.pdvc-hero,.pgm-hero{
  overflow:hidden;
}
.srv-title,.at-title,.sa-title,.lei-title,.dep-section-title,.pgm-title,.pdv-title,.pdvc-title{
  overflow-wrap:anywhere;
  word-break:normal;
}
.srv-sub,.at-sub,.sa-sub,.lei-sub,.pgm-sub,.dep-text{
  overflow-wrap:anywhere;
}

/* Grades e cards mais estáveis */
.srv-grid,.at-grid,.sa-grid,.lei-grid,.dep-grid,.pgm-grid,.pdv-grid,.pdvc-grid{
  width:100%;
  min-width:0;
}
.srv-card,.at-card,.sa-card,.lei-card,.dep-card-public,.pgm-card,.pdv-card,.pdvc-card{
  min-width:0;
  max-width:100%;
}
.srv-media,.at-media,.sa-media,.lei-media,.pgm-media,.pdv-media,.pdvc-media,.dep-photo{
  max-width:100%;
  overflow:hidden;
}
.srv-media img,.at-media img,.sa-media img,.lei-media img,.pgm-media img,.pdv-media img,.pdvc-media img,.dep-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Ferramentas: busca/filtros nunca devem estourar a largura */
.srv-tools,.at-tools,.sa-tools,.lei-tools,.dep-tools,.pgm-tools,.pdv-panel,.pdvc-top{
  max-width:100%;
  min-width:0;
}
.srv-search,.at-search,.sa-search,.lei-search,.dep-search,.pdv-search,.pdvc-search{
  min-width:0 !important;
  max-width:100% !important;
}
.srv-filter,.at-filter,.sa-filter,.lei-filter,
.srv-count,.at-count,.sa-count,.lei-count{
  white-space:nowrap;
}

/* Botões/ícones de clique mais discretos */
.srv-link,.at-link,.sa-link,.lei-link,.pgm-btn,.pdv-btn,.pdvc-btn,
.pdv-back,.pdvc-back,.btn-voltar,
.srv-admin a,.at-admin a,.sa-admin a,.lei-admin a,.dep-admin-actions a,.pgm-admin a,.pdv-admin a,.pdvc-admin a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:40px;
  max-width:100%;
  line-height:1.15;
}
.srv-icon,.at-icon,.sa-icon,.lei-icon,.srv-media i,.at-media i,.sa-media i,.lei-media i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

@media (max-width: 991.98px){
  .gala-public-navbar{
    position:sticky;
    top:0;
    z-index:1035;
  }
  .gala-public-navbar .container{
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
  .gala-public-navbar .navbar-collapse{
    margin-top:10px;
    padding:10px;
    border:1px solid rgba(15,23,42,.08);
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 40px rgba(15,23,42,.08);
    max-height:calc(100vh - 82px);
    overflow:auto;
  }
  .gala-public-navbar .navbar-nav{
    width:100%;
    gap:4px !important;
  }
  .gala-public-navbar .nav-link,
  .gala-public-navbar .gala-parent-link{
    min-height:40px;
    padding:9px 10px !important;
    border-radius:12px;
    font-size:.88rem !important;
  }
  .gala-public-navbar .nav-link-with-toggle{
    width:100%;
    justify-content:space-between;
    border-radius:12px;
    background:rgba(15,23,42,.025);
  }
  .gala-public-navbar .nav-submenu-toggle{
    min-width:38px;
    min-height:38px;
    border-radius:12px;
    background:rgba(238,89,164,.08) !important;
  }
  .gala-public-navbar .dropdown-menu{
    padding:6px !important;
  }
  .gala-public-navbar .dropdown-item{
    border-radius:10px;
    white-space:normal;
  }

  .srv-hero,.at-hero,.sa-hero,.lei-hero,.dep-hero-public,.pdv-hero,.pdvc-hero,.pgm-hero{
    border-radius:0 0 28px 28px !important;
    padding-left:16px !important;
    padding-right:16px !important;
    padding-top:32px !important;
    padding-bottom:72px !important;
    min-height:auto !important;
  }
  .srv-container,.at-container,.sa-container,.lei-container,.dep-container,.pgm-wrap,.pdv-wrap,.pdvc-wrap{
    width:100% !important;
    max-width:100% !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .srv-intro,.at-intro,.sa-intro,.lei-intro,.pgm-intro,
  .pdv-panel,.pdvc-top{
    margin-left:auto !important;
    margin-right:auto !important;
    width:calc(100% - 24px) !important;
    max-width:100% !important;
    border-radius:22px !important;
    padding:18px !important;
  }
  .srv-title,.at-title,.sa-title,.lei-title,.pgm-title{
    font-size:clamp(2rem, 8vw, 3.1rem) !important;
    line-height:1.02 !important;
  }
  .srv-sub,.at-sub,.sa-sub,.lei-sub,.pgm-sub{
    font-size:1rem !important;
    line-height:1.45 !important;
  }
  .srv-section-head,.sa-section-head,.lei-section-head{
    text-align:center;
  }
  .srv-tools,.at-tools,.sa-tools,.lei-tools,.dep-tools,.pgm-tools,.pdv-panel,.pdvc-top{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
    padding:14px !important;
    border-radius:20px !important;
  }
  .srv-search,.at-search,.sa-search,.lei-search,.dep-search,.pdv-search,.pdvc-search{
    width:100% !important;
    flex:1 1 auto !important;
    font-size:.95rem !important;
    min-height:44px !important;
  }
  .srv-filter,.at-filter,.sa-filter,.lei-filter,.srv-count,.at-count,.sa-count,.lei-count{
    width:100%;
    min-height:40px;
    padding:9px 12px !important;
    font-size:.88rem !important;
    border-radius:999px !important;
  }
  .srv-grid,.at-grid,.sa-grid,.lei-grid,.dep-grid,.pgm-grid,.pdv-grid,.pdvc-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .srv-card,.at-card,.sa-card,.lei-card,.dep-card-public,.pgm-card,.pdv-card,.pdvc-card{
    border-radius:22px !important;
    padding:18px !important;
  }
  .srv-media,.at-media,.sa-media,.lei-media,.pgm-media,.pdv-media,.pdvc-media{
    border-radius:18px !important;
  }
  .pdv-media,.pdvc-media{
    aspect-ratio:16/9 !important;
    height:auto !important;
  }
  .srv-link,.at-link,.sa-link,.lei-link,.pgm-btn,.pdv-btn,.pdvc-btn,
  .pdv-back,.pdvc-back,.btn-voltar{
    width:100%;
    min-height:42px !important;
    padding:10px 14px !important;
    font-size:.9rem !important;
    border-radius:999px !important;
  }
  .srv-admin,.at-admin,.sa-admin,.lei-admin,.dep-admin-actions,.pgm-admin,.pdv-admin,.pdvc-admin{
    right:10px !important;
    bottom:64px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    align-items:flex-end !important;
  }
  .srv-admin a,.at-admin a,.sa-admin a,.lei-admin a,.dep-admin-actions a,.pgm-admin a,.pdv-admin a,.pdvc-admin a{
    min-height:38px !important;
    padding:9px 12px !important;
    font-size:.82rem !important;
    border-radius:14px !important;
    box-shadow:0 12px 26px rgba(15,23,42,.13) !important;
  }
  .pd-theme-toggle-public{
    width:42px !important;
    height:42px !important;
    padding:0 !important;
    border-radius:999px !important;
    justify-content:center !important;
  }
}

@media (max-width: 575.98px){
  .gala-public-navbar .navbar-brand{
    font-size:.92rem !important;
    max-width:62vw;
  }
  .srv-hero,.at-hero,.sa-hero,.lei-hero,.dep-hero-public,.pdv-hero,.pdvc-hero,.pgm-hero{
    padding-top:24px !important;
    padding-bottom:58px !important;
  }
  .srv-intro,.at-intro,.sa-intro,.lei-intro,.pgm-intro,
  .pdv-panel,.pdvc-top{
    width:100% !important;
    margin-top:-34px !important;
  }
  .srv-title,.at-title,.sa-title,.lei-title,.pgm-title{
    font-size:clamp(1.8rem, 10vw, 2.55rem) !important;
  }
  .dep-hero-inner{
    padding:26px 16px !important;
  }
  .pdv-wrap,.pdvc-wrap{
    padding-left:12px !important;
    padding-right:12px !important;
  }
}


/* V130 - acessibilidade, SEO visual e estabilidade de layout público */
.pd-skip-link{
  position:fixed;
  left:12px;
  top:12px;
  z-index:2147483647;
  transform:translateY(-140%);
  background:#154552;
  color:#fff;
  border-radius:999px;
  padding:10px 16px;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(15,23,42,.22);
  transition:transform .18s ease;
}
.pd-skip-link:focus{transform:translateY(0);color:#fff;outline:3px solid rgba(238,89,164,.45);outline-offset:3px;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.nav-link:focus-visible,.dropdown-item:focus-visible{
  outline:3px solid rgba(238,89,164,.45)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 4px rgba(238,89,164,.10)!important;
}
#conteudo-site{content-visibility:auto;contain-intrinsic-size:900px;}
#conteudo-site > section,#conteudo-site > div{min-width:0;}
.gala-public-navbar .dropdown-menu{overscroll-behavior:contain;}
.pd-public-img-ready img,.pd-public-img-ready iframe{content-visibility:auto;}
@media(max-width:575.98px){
  .pd-skip-link{left:10px;right:10px;text-align:center;border-radius:16px;}
  .gala-public-navbar .navbar-collapse{max-height:calc(100dvh - 78px)!important;}
  .dropdown-menu.gala-dropdown-menu{max-height:62dvh;overflow:auto;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}
