/* HDS Glossary Frontend — intentionally scoped. Does not touch body/theme containers. */
.hds-glossary{
  --hdsg-accent:#80ce2c;
  --hdsg-accent-dark:#69ab50;
  --hdsg-gold:#bf9835;
  --hdsg-hero-bg:#f4f8fd;
  --hdsg-hero-border:#e7f4dc;
  --hdsg-border:#e5e7eb;
  --hdsg-muted:#6b7280;
  --hdsg-surface:#ffffff;
  --hdsg-text:#111827;
  box-sizing:border-box;
  color:var(--hdsg-text);
  margin:0 auto;
  max-width:var(--hdsg-container-width,1600px);
  padding:clamp(1.25rem,2vw,2rem) 0;
  width:100%;
}
.hds-glossary *,
.hds-glossary *::before,
.hds-glossary *::after{box-sizing:border-box}
.hds-glossary--full-bleed{
  max-width:none;
  margin-left:auto;
  margin-right:auto;
  width:100%;
}
.hds-glossary--full-bleed .hds-glossary__hero{
  width:min(100%, var(--hdsg-hero-width,1200px));
}
.hds-glossary--full-bleed .hds-glossary__list,
.hds-glossary--full-bleed .hds-glossary__pagination{
  width:min(calc(100% - 2rem), var(--hdsg-list-width,1200px));
}

.hds-glossary__hero{
  background:
    radial-gradient(circle at 15% 0%, color-mix(in srgb, var(--hdsg-accent) 16%, transparent), transparent 34%),
    radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--hdsg-gold) 15%, transparent), transparent 34%),
    var(--hdsg-hero-bg);
  border:1px solid var(--hdsg-hero-border);
  border-radius:20px;
  box-shadow:0 1px 0 rgba(15,23,42,.03),0 14px 36px rgba(15,23,42,.06);
  margin:clamp(1.5rem,3vw,3rem) auto 1.5rem;
  max-width:var(--hdsg-hero-width,1200px);
  width:min(100%, var(--hdsg-hero-width,1200px));
  padding:2rem 1.5rem;
  text-align:center;
}
.hds-glossary__header{
  margin:0 auto 1.25rem;
  max-width:920px;
}
.hds-glossary__title{
  color:var(--hdsg-text);
  font-size:clamp(2rem,4vw,var(--hdsg-title-font-size,36px));
  letter-spacing:.01em;
  line-height:1.12;
  margin:0 0 .45rem;
}
.hds-glossary__description{
  color:var(--hdsg-muted);
  font-size:clamp(.95rem,1.25vw,var(--hdsg-description-font-size,18px));
  margin:0;
}
.hds-glossary__search{
  display:flex;
  gap:.65rem;
  margin:0 auto 1rem;
  max-width:860px;
}
.hds-glossary__search input[type="search"]{
  background:#fff;
  border:1px solid var(--hdsg-border);
  border-radius:12px;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
  flex:1 1 auto;
  min-height:48px;
  min-width:0;
  padding:0 1rem;
}
.hds-glossary__search button{
  background:var(--hdsg-accent-dark);
  border:1px solid var(--hdsg-accent-dark);
  border-radius:12px;
  color:#fff;
  cursor:pointer;
  flex:0 0 auto;
  font-weight:700;
  min-height:48px;
  padding:0 1.65rem;
}
.hds-glossary__search button:hover,
.hds-glossary__search button:focus{
  background:var(--hdsg-accent);
  border-color:var(--hdsg-accent);
  color:var(--hdsg-text);
}
.hds-glossary__letters{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  justify-content:center;
  margin:0 auto;
  max-width:100%;
  width:100%;
}
.hds-glossary__letters a{
  align-items:center;
  background:var(--hdsg-surface);
  border:1px solid var(--hdsg-border);
  border-radius:999px;
  color:inherit;
  display:inline-flex;
  font-size:.9rem;
  font-weight:700;
  justify-content:center;
  min-height:34px;
  min-width:34px;
  padding:0;
  text-decoration:none;
}
.hds-glossary__letters a:not(.hds-glossary__number):not(.hds-glossary__all){
  aspect-ratio:1 / 1;
  flex:0 0 34px;
  height:34px;
  width:34px;
}
.hds-glossary__number{
  flex:0 0 34px;
  font-size:.74rem!important;
  height:34px;
  letter-spacing:-.02em;
  min-width:34px!important;
  width:34px;
}
.hds-glossary__all{
  height:34px;
  min-width:52px!important;
  padding:0 .75rem!important;
}
@media (min-width:1100px){
  .hds-glossary__letters{
    flex-wrap:nowrap;
    justify-content:space-between;
  }
}
.hds-glossary__letters a:hover,
.hds-glossary__letters a:focus,
.hds-glossary__letters a.is-active{
  border-color:var(--hdsg-accent);
  color:var(--hdsg-accent-dark);
}
.hds-glossary__list{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  margin:0 auto;
  max-width:var(--hdsg-list-width,1200px);
  width:min(100%, var(--hdsg-list-width,1200px));
}
.hds-glossary__item{
  background:var(--hdsg-surface);
  border:1px solid var(--hdsg-border);
  border-radius:14px;
  box-shadow:0 1px 0 rgba(15,23,42,.03),0 8px 22px rgba(15,23,42,.06);
  padding:1rem;
}
.hds-glossary__item-title{
  font-size:1.05rem;
  line-height:1.3;
  margin:0 0 .5rem;
}
.hds-glossary__item-title a{
  color:inherit;
  text-decoration:none;
}
.hds-glossary__item-title a:hover,
.hds-glossary__item-title a:focus{
  color:var(--hdsg-accent-dark);
}
.hds-glossary__excerpt{
  color:var(--hdsg-muted);
  margin:0;
}
.hds-glossary__empty{
  border:1px dashed var(--hdsg-border);
  border-radius:12px;
  color:var(--hdsg-muted);
  margin:0;
  padding:1rem;
}
.hds-glossary__pagination{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  justify-content:center;
  margin:1.25rem auto 0;
  max-width:var(--hdsg-list-width,1200px);
  width:min(100%, var(--hdsg-list-width,1200px));
}
.hds-glossary__pagination .page-numbers{
  background:var(--hdsg-surface);
  border:1px solid var(--hdsg-border);
  border-radius:10px;
  color:inherit;
  padding:.45rem .7rem;
  text-decoration:none;
}
.hds-glossary__pagination .current{
  border-color:var(--hdsg-accent);
  color:var(--hdsg-accent-dark);
  font-weight:700;
}
@supports not (color: color-mix(in srgb, #000 10%, transparent)){
  .hds-glossary__hero{background:var(--hdsg-hero-bg)}
}
@media (max-width:900px){
  .hds-glossary{padding:1rem}
  .hds-glossary__hero{margin-top:1.5rem;max-width:100%}
  .hds-glossary__list{max-width:100%}
}
@media (max-width:600px){
  .hds-glossary{padding:.85rem}
  .hds-glossary__hero{padding:1.25rem .85rem;text-align:left}
  .hds-glossary__header{text-align:left}
  .hds-glossary__letters{justify-content:flex-start}
  .hds-glossary__search{align-items:stretch;flex-direction:column}
  .hds-glossary__search button{width:100%}
}


/* 0.1.14+: larguras e tipografia são controladas nas configurações do plugin. */
@media (max-width: 1024px) {
    .hds-glossary__hero { margin-top: 1.75rem; }
}
@media (max-width: 544px) {
    .hds-glossary__hero { margin-top: 1.25rem; }
}


/* 0.1.15: em desktop, o shortcode não desconta padding horizontal.
   Assim, quando a opção de largura total está desligada, o glossário ocupa
   100% da largura útil definida pelo container do tema. */
@media (min-width: 901px) {
  .hds-glossary { padding-left: 0; padding-right: 0; }
}

/* 0.1.50: espaçamento externo configurável da home.
   O controle agora atua como margem externa real do shortcode, com reforço
   também no CSS inline gerado pelo shortcode. Isso evita que cache/tema
   mantenha o padding antigo e torna perceptível a diferença entre 0, 30, 80
   ou 100 px sem alterar a altura interna do hero ou dos cards. */
.hds-glossary{
  margin-top:var(--hdsg-home-pad-top,40px) !important;
  margin-bottom:var(--hdsg-home-pad-bottom,50px) !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.hds-glossary__hero{
  margin:0 auto 1.5rem !important;
}
.hds-glossary__list,
.hds-glossary__empty{
  margin-top:0 !important;
}





/* 0.1.59: ajuste de alinhamento lateral e tipografia responsiva da home.
   O respiro lateral é aplicado dentro do shortcode, preservando header/footer
   de qualquer tema. Os tamanhos de fonte obedecem aos controles Desktop,
   Tablet e Smartphone da tela Configurações. */
.hds-glossary{
  padding-left:var(--hdsg-home-side-desktop,0px) !important;
  padding-right:var(--hdsg-home-side-desktop,0px) !important;
}
.hds-glossary__title{
  font-size:var(--hdsg-title-font-size-desktop,var(--hdsg-title-font-size,36px)) !important;
}
.hds-glossary__description{
  font-size:var(--hdsg-description-font-size-desktop,var(--hdsg-description-font-size,18px)) !important;
}
.hds-glossary__item-title{
  font-size:var(--hdsg-card-title-font-size-desktop,17px) !important;
}
.hds-glossary__excerpt{
  font-size:var(--hdsg-card-excerpt-font-size-desktop,16px) !important;
  line-height:1.65;
}
.hds-glossary--full-bleed .hds-glossary__hero{
  max-width:var(--hdsg-hero-width,1200px);
  width:min(100%, var(--hdsg-hero-width,1200px));
}
.hds-glossary--full-bleed .hds-glossary__list,
.hds-glossary--full-bleed .hds-glossary__pagination{
  max-width:var(--hdsg-list-width,1200px);
  width:min(100%, var(--hdsg-list-width,1200px));
}
@media (max-width:1024px){
  .hds-glossary{
    padding-left:var(--hdsg-home-side-tablet,32px) !important;
    padding-right:var(--hdsg-home-side-tablet,32px) !important;
  }
  .hds-glossary__title{
    font-size:var(--hdsg-title-font-size-tablet,34px) !important;
  }
  .hds-glossary__description{
    font-size:var(--hdsg-description-font-size-tablet,17px) !important;
  }
  .hds-glossary__item-title{
    font-size:var(--hdsg-card-title-font-size-tablet,17px) !important;
  }
  .hds-glossary__excerpt{
    font-size:var(--hdsg-card-excerpt-font-size-tablet,16px) !important;
  }
}
@media (max-width:600px){
  .hds-glossary{
    padding-left:var(--hdsg-home-side-mobile,20px) !important;
    padding-right:var(--hdsg-home-side-mobile,20px) !important;
  }
  .hds-glossary__title{
    font-size:var(--hdsg-title-font-size-mobile,32px) !important;
  }
  .hds-glossary__description{
    font-size:var(--hdsg-description-font-size-mobile,16px) !important;
  }
  .hds-glossary__item-title{
    font-size:var(--hdsg-card-title-font-size-mobile,18px) !important;
  }
  .hds-glossary__excerpt{
    font-size:var(--hdsg-card-excerpt-font-size-mobile,18px) !important;
  }
}


/* 0.1.16: template HDS Card para página individual do termo. */
.hds-glossary-single{
  --hdsg-accent:#80ce2c;
  --hdsg-accent-dark:#69ab50;
  --hdsg-gold:#bf9835;
  --hdsg-border:#e5e7eb;
  --hdsg-muted:#6b7280;
  --hdsg-surface:#ffffff;
  --hdsg-text:#111827;
  box-sizing:border-box;
  color:var(--hdsg-text);
  margin:0 auto;
  max-width:var(--hdsg-single-width,1200px);
  min-height:var(--hdsg-single-min-height,70vh);
  padding:var(--hdsg-single-pad-top,40px) 0 var(--hdsg-single-pad-bottom,60px);
  width:100%;
}
.hds-glossary-single *,
.hds-glossary-single *::before,
.hds-glossary-single *::after{box-sizing:border-box}
.hds-glossary-single__card{
  background:var(--hdsg-surface);
  border:1px solid var(--hdsg-border);
  border-radius:24px;
  box-shadow:0 1px 0 rgba(15,23,42,.03),0 18px 48px rgba(15,23,42,.07);
  margin:0 auto;
  max-width:var(--hdsg-single-card-width,960px);
  padding:clamp(1.4rem,3vw,2.75rem);
}
.hds-glossary-single__eyebrow{
  color:var(--hdsg-accent-dark);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.12em;
  margin-bottom:.45rem;
  text-transform:uppercase;
}
.hds-glossary-single__title{
  color:var(--hdsg-text);
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.1;
  margin:0 0 1rem;
}
.hds-glossary-single__meta{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin:0 0 1.5rem;
}
.hds-glossary-single__meta span,
.hds-glossary-single__meta a{
  background:#f6f8fb;
  border:1px solid var(--hdsg-border);
  border-radius:999px;
  color:var(--hdsg-muted);
  font-size:.85rem;
  padding:.35rem .7rem;
  text-decoration:none;
}
.hds-glossary-single__meta a:hover,
.hds-glossary-single__meta a:focus{
  border-color:var(--hdsg-accent);
  color:var(--hdsg-muted);
  text-decoration:none;
}
.hds-glossary-single__content{
  color:var(--hdsg-text);
  font-size:1.05rem;
  line-height:1.75;
}
.hds-glossary-single__content p{margin:0 0 1.15rem}
.hds-glossary-single__content h2,
.hds-glossary-single__content h3,
.hds-glossary-single__content h4{line-height:1.25;margin:1.7rem 0 .75rem}
.hds-glossary-single__content a{color:var(--hdsg-accent-dark);font-weight:700}
.hds-glossary-single__footer{
  border-top:1px solid var(--hdsg-border);
  margin-top:2rem;
  padding-top:1.25rem;
}
.hds-glossary-single__nav{
  display:grid;
  gap:1rem;
  grid-template-columns:1fr 1fr;
}
.hds-glossary-single__nav div:last-child{text-align:right}
.hds-glossary-single__nav span{
  color:var(--hdsg-muted);
  display:block;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.08em;
  margin-bottom:.2rem;
  text-transform:uppercase;
}
.hds-glossary-single__nav a{
  color:var(--hdsg-text);
  font-weight:700;
  text-decoration:none;
}
.hds-glossary-single__nav a:hover,
.hds-glossary-single__nav a:focus{color:var(--hdsg-accent-dark)}
@media (max-width:900px){
  .hds-glossary-single{padding:32px 1rem 44px;}
  .hds-glossary-single__card{border-radius:18px;}
}
@media (max-width:600px){
  .hds-glossary-single{padding:24px .85rem 36px;}
  .hds-glossary-single__nav{grid-template-columns:1fr;}
  .hds-glossary-single__nav div:last-child{text-align:left;}
}

/* 0.1.43: em largura total, o banner não aplica margem lateral artificial.
   O alinhamento fica a cargo da largura configurada do próprio hero. */
.hds-glossary--full-bleed .hds-glossary__hero{
  width:min(100%, var(--hdsg-hero-width,1200px));
}


/* 0.1.44: mantém o filtro alfabético em uma linha no desktop e exibe 0-9 antes do A. */
@media (min-width: 1100px){
  .hds-glossary__letters{
    flex-wrap:nowrap;
    gap:.25rem;
    justify-content:center;
    overflow-x:auto;
    padding-bottom:.15rem;
    scrollbar-width:none;
    white-space:nowrap;
  }
  .hds-glossary__letters::-webkit-scrollbar{display:none}
  .hds-glossary__letters a{
    flex:0 0 auto;
    min-height:32px;
    min-width:32px;
    padding:.2rem .45rem;
  }
  .hds-glossary__letters .hds-glossary__number,
  .hds-glossary__letters .hds-glossary__all{
    min-width:auto!important;
    padding-left:.65rem;
    padding-right:.65rem;
  }
}

/* 0.1.45: alinhamento visual do hero e alfabeto no desktop.
   Mantém o banner preso à largura configurada, sem expansão lateral inesperada. */
.hds-glossary__hero{
  margin-left:auto;
  margin-right:auto;
}

/* 0.1.57: estabilização do layout público de forma agnóstica de tema.
   - Remove as correções conflitantes das versões 0.1.53–0.1.56.
   - Não altera header, footer, body nem containers globais do tema.
   - O wrapper do shortcode volta a controlar largura, centralização e espaçamento.
   - Em páginas com respiro do container de conteúdo, neutraliza apenas wrappers comuns
     de conteúdo que CONTÊM o shortcode, para que os campos de espaçamento do plugin
     sejam a fonte da verdade. */
.hds-glossary[data-hds-component="glossary"]{
  display:block !important;
  box-sizing:border-box !important;
  color:var(--hdsg-text) !important;
  max-width:var(--hdsg-container-width,1600px) !important;
  width:100% !important;
  margin:0 auto !important;
  padding-top:var(--hdsg-home-pad-top,40px) !important;
  padding-right:0 !important;
  padding-bottom:var(--hdsg-home-pad-bottom,50px) !important;
  padding-left:0 !important;
  min-height:auto !important;
  overflow-x:clip !important;
}
.hds-glossary[data-hds-component="glossary"],
.hds-glossary[data-hds-component="glossary"] *,
.hds-glossary[data-hds-component="glossary"] *::before,
.hds-glossary[data-hds-component="glossary"] *::after{
  box-sizing:border-box;
}
.hds-glossary[data-hds-component="glossary"]::before,
.hds-glossary[data-hds-component="glossary"]::after{
  content:none !important;
  display:none !important;
}
.hds-glossary[data-hds-component="glossary"].hds-glossary--full-bleed{
  position:relative !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  max-width:min(100vw, var(--hdsg-container-width,1600px)) !important;
  width:min(100vw, var(--hdsg-container-width,1600px)) !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.hds-glossary[data-hds-component="glossary"] .hds-glossary__hero,
.hds-glossary[data-hds-component="glossary"] .hds-glossary__list,
.hds-glossary[data-hds-component="glossary"] .hds-glossary__pagination{
  margin-left:auto !important;
  margin-right:auto !important;
}
.hds-glossary[data-hds-component="glossary"] .hds-glossary__hero{
  max-width:var(--hdsg-hero-width,1200px) !important;
  width:min(100%, var(--hdsg-hero-width,1200px)) !important;
  margin-top:0 !important;
  margin-bottom:1.5rem !important;
}
.hds-glossary[data-hds-component="glossary"] .hds-glossary__list,
.hds-glossary[data-hds-component="glossary"] .hds-glossary__pagination{
  max-width:var(--hdsg-list-width,1200px) !important;
  width:min(100%, var(--hdsg-list-width,1200px)) !important;
}
.hds-glossary[data-hds-component="glossary"] .hds-glossary__pagination{
  margin-top:1.25rem !important;
  margin-bottom:0 !important;
}
@media (max-width:1100px){
  .hds-glossary[data-hds-component="glossary"]{
    max-width:100% !important;
    width:100% !important;
    padding-left:1rem !important;
    padding-right:1rem !important;
    overflow-x:hidden !important;
  }
  .hds-glossary[data-hds-component="glossary"].hds-glossary--full-bleed{
    left:auto !important;
    transform:none !important;
    max-width:100% !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__hero,
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__list,
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__pagination{
    max-width:100% !important;
    width:100% !important;
  }
}
@media (max-width:600px){
  .hds-glossary[data-hds-component="glossary"]{
    padding-left:.85rem !important;
    padding-right:.85rem !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__hero{
    padding:1.25rem .85rem !important;
    text-align:left;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__header{
    text-align:left;
  }
}

/* 0.1.58: ajuste real de responsividade da home pública.
   Mantém o plugin agnóstico de tema, sem tocar em header/footer globais.
   O modo largura total volta a funcionar também em tablet/smartphone, com
   gutters seguros para evitar barra horizontal e reduzir o efeito “fino” no
   smartphone vertical. Também reforça a obediência dos campos de espaço
   superior/inferior, neutralizando apenas wrappers de conteúdo que contêm o
   shortcode, quando o navegador oferece suporte a :has(). */
.hds-glossary[data-hds-component="glossary"]{
  position:relative !important;
  isolation:isolate !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:var(--hdsg-home-pad-top,40px) !important;
  padding-bottom:var(--hdsg-home-pad-bottom,50px) !important;
}
.hds-glossary[data-hds-component="glossary"].hds-glossary--full-bleed{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  width:min(100vw, var(--hdsg-container-width,1600px)) !important;
  max-width:min(100vw, var(--hdsg-container-width,1600px)) !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.hds-glossary[data-hds-component="glossary"] .hds-glossary__hero,
.hds-glossary[data-hds-component="glossary"] .hds-glossary__list,
.hds-glossary[data-hds-component="glossary"] .hds-glossary__pagination{
  position:relative !important;
}
@media (max-width:1100px){
  .hds-glossary[data-hds-component="glossary"]{
    max-width:100% !important;
    width:100% !important;
    padding-left:clamp(12px,2.5vw,24px) !important;
    padding-right:clamp(12px,2.5vw,24px) !important;
  }
  .hds-glossary[data-hds-component="glossary"].hds-glossary--full-bleed{
    left:50% !important;
    transform:translateX(-50%) !important;
    width:calc(100vw - clamp(18px,4vw,40px)) !important;
    max-width:calc(100vw - clamp(18px,4vw,40px)) !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__hero,
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__list,
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__pagination{
    max-width:100% !important;
    width:100% !important;
  }
}
@media (max-width:768px){
  .hds-glossary[data-hds-component="glossary"]{
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .hds-glossary[data-hds-component="glossary"].hds-glossary--full-bleed{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__hero{
    border-radius:18px !important;
    padding:1.5rem 1rem !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__list{
    grid-template-columns:1fr !important;
  }
}
@media (max-width:480px){
  .hds-glossary[data-hds-component="glossary"]{
    padding-left:8px !important;
    padding-right:8px !important;
  }
  .hds-glossary[data-hds-component="glossary"].hds-glossary--full-bleed{
    width:calc(100vw - 12px) !important;
    max-width:calc(100vw - 12px) !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__hero{
    padding:1.35rem .9rem !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__title{
    font-size:clamp(2rem,8.4vw,2.45rem) !important;
    line-height:1.13 !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__description{
    font-size:clamp(1rem,4.2vw,1.18rem) !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__letters{
    gap:.45rem .5rem !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__letters a:not(.hds-glossary__number):not(.hds-glossary__all){
    flex-basis:38px !important;
    height:38px !important;
    min-height:38px !important;
    min-width:38px !important;
    width:38px !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__number{
    flex-basis:42px !important;
    height:38px !important;
    min-height:38px !important;
    min-width:42px !important;
    width:42px !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__all{
    height:38px !important;
    min-height:38px !important;
  }
}

/* 0.1.59 final: o componente volta a controlar somente o próprio wrapper.
   Não toca em header, footer, body ou containers globais do tema. */
.hds-glossary[data-hds-component="glossary"]{
  box-sizing:border-box !important;
  display:block !important;
  margin-top:var(--hdsg-home-pad-top,40px) !important;
  margin-right:auto !important;
  margin-bottom:var(--hdsg-home-pad-bottom,50px) !important;
  margin-left:auto !important;
  max-width:var(--hdsg-container-width,1600px) !important;
  min-height:auto !important;
  overflow-x:clip !important;
  padding-top:0 !important;
  padding-right:var(--hdsg-home-side-desktop,0px) !important;
  padding-bottom:0 !important;
  padding-left:var(--hdsg-home-side-desktop,0px) !important;
  position:relative !important;
  width:100% !important;
}
.hds-glossary[data-hds-component="glossary"].hds-glossary--full-bleed{
  left:50% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  max-width:min(calc(100vw - var(--hdsg-home-side-desktop,0px) - var(--hdsg-home-side-desktop,0px)), var(--hdsg-container-width,1600px)) !important;
  padding-left:0 !important;
  padding-right:0 !important;
  transform:translateX(-50%) !important;
  width:min(calc(100vw - var(--hdsg-home-side-desktop,0px) - var(--hdsg-home-side-desktop,0px)), var(--hdsg-container-width,1600px)) !important;
}
.hds-glossary[data-hds-component="glossary"] .hds-glossary__hero{
  margin:0 auto 1.5rem !important;
  max-width:var(--hdsg-hero-width,1200px) !important;
  width:min(100%, var(--hdsg-hero-width,1200px)) !important;
}
.hds-glossary[data-hds-component="glossary"] .hds-glossary__list,
.hds-glossary[data-hds-component="glossary"] .hds-glossary__pagination{
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:var(--hdsg-list-width,1200px) !important;
  width:min(100%, var(--hdsg-list-width,1200px)) !important;
}
.hds-glossary[data-hds-component="glossary"] .hds-glossary__title{
  font-size:var(--hdsg-title-font-size-desktop,var(--hdsg-title-font-size,36px)) !important;
}
.hds-glossary[data-hds-component="glossary"] .hds-glossary__description{
  font-size:var(--hdsg-description-font-size-desktop,var(--hdsg-description-font-size,18px)) !important;
}
.hds-glossary[data-hds-component="glossary"] .hds-glossary__item-title{
  font-size:var(--hdsg-card-title-font-size-desktop,17px) !important;
}
.hds-glossary[data-hds-component="glossary"] .hds-glossary__excerpt{
  font-size:var(--hdsg-card-excerpt-font-size-desktop,16px) !important;
}
@media (max-width:1024px){
  .hds-glossary[data-hds-component="glossary"]{
    max-width:100% !important;
    padding-left:var(--hdsg-home-side-tablet,32px) !important;
    padding-right:var(--hdsg-home-side-tablet,32px) !important;
  }
  .hds-glossary[data-hds-component="glossary"].hds-glossary--full-bleed{
    max-width:calc(100vw - var(--hdsg-home-side-tablet,32px) - var(--hdsg-home-side-tablet,32px)) !important;
    width:calc(100vw - var(--hdsg-home-side-tablet,32px) - var(--hdsg-home-side-tablet,32px)) !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__title{
    font-size:var(--hdsg-title-font-size-tablet,34px) !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__description{
    font-size:var(--hdsg-description-font-size-tablet,17px) !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__item-title{
    font-size:var(--hdsg-card-title-font-size-tablet,17px) !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__excerpt{
    font-size:var(--hdsg-card-excerpt-font-size-tablet,16px) !important;
  }
}
@media (max-width:600px){
  .hds-glossary[data-hds-component="glossary"]{
    padding-left:var(--hdsg-home-side-mobile,20px) !important;
    padding-right:var(--hdsg-home-side-mobile,20px) !important;
  }
  .hds-glossary[data-hds-component="glossary"].hds-glossary--full-bleed{
    max-width:calc(100vw - var(--hdsg-home-side-mobile,20px) - var(--hdsg-home-side-mobile,20px)) !important;
    width:calc(100vw - var(--hdsg-home-side-mobile,20px) - var(--hdsg-home-side-mobile,20px)) !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__hero{
    padding:1.35rem 1rem !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__title{
    font-size:var(--hdsg-title-font-size-mobile,32px) !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__description{
    font-size:var(--hdsg-description-font-size-mobile,16px) !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__item-title{
    font-size:var(--hdsg-card-title-font-size-mobile,18px) !important;
  }
  .hds-glossary[data-hds-component="glossary"] .hds-glossary__excerpt{
    font-size:var(--hdsg-card-excerpt-font-size-mobile,18px) !important;
  }
}


/* 0.1.60: restaura o controle real do espaçamento externo vertical.
   A altura superior/inferior volta a ser aplicada como padding do wrapper
   do shortcode, evitando colapso de margens e mantendo o ajuste restrito ao
   componente. O reset abaixo neutraliza apenas o respiro vertical dos wrappers
   comuns que CONTÊM o glossário, sem alterar header, footer, body ou largura
   global do tema. */
.hds-glossary[data-hds-component="glossary"]{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:var(--hdsg-home-pad-top,40px) !important;
  padding-bottom:var(--hdsg-home-pad-bottom,50px) !important;
}
.hds-glossary[data-hds-component="glossary"] > :first-child{
  margin-top:0 !important;
}
.hds-glossary[data-hds-component="glossary"] > :last-child{
  margin-bottom:0 !important;
}
@supports selector(body:has(.hds-glossary[data-hds-component="glossary"])){
  body:has(.hds-glossary[data-hds-component="glossary"]) :where(
    #content,
    #primary,
    .site-content,
    .content-area,
    .site-main,
    .entry-content,
    .page-content,
    .post-content,
    .wp-site-blocks > main,
    .wp-block-post-content,
    .wp-block-group,
    .is-layout-constrained,
    .inside-article,
    .ast-container,
    main
  ):has(.hds-glossary[data-hds-component="glossary"]){
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  body:has(.hds-glossary[data-hds-component="glossary"]) :where(
    .entry-content,
    .page-content,
    .post-content,
    .wp-block-post-content,
    .wp-block-group,
    .is-layout-constrained,
    .inside-article,
    main
  ):has(.hds-glossary[data-hds-component="glossary"]) > :first-child{
    margin-top:0 !important;
  }
  body:has(.hds-glossary[data-hds-component="glossary"]) :where(
    .entry-content,
    .page-content,
    .post-content,
    .wp-block-post-content,
    .wp-block-group,
    .is-layout-constrained,
    .inside-article,
    main
  ):has(.hds-glossary[data-hds-component="glossary"]) > :last-child{
    margin-bottom:0 !important;
  }
}
