/* ========================================================================
   DELS — CSS REI 1.0.0
   Contrato global de layout. Componentes podem escolher cor, borda, sombra,
   tipografia e espaçamento, mas não podem violar estas invariantes.
   ======================================================================== */

html{max-width:100%;}
body.dels-css-rei-active{max-width:100%;overflow-x:hidden;overflow-x:clip;}
body.dels-css-rei-active *,body.dels-css-rei-active *::before,body.dels-css-rei-active *::after{box-sizing:border-box;}

/* Estruturas que historicamente receberam max-width:none/overflow:visible. */
body.dels-css-rei-active :is(main,.site-main,.entry-content,.page-content,.elementor,.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget-container){min-width:0;}

body.dels-css-rei-active.single-dicionario :is(.site-main,main,.entry-content,.page-content,.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap,.elementor-widget-container){
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-x:clip!important;
}

/* A família DELS nunca pode aumentar a largura disponível do pai. */
body.dels-css-rei-active :is(
  .dels-bp,.dels-bp-search-box,.dels-bp-form,.dels-bp-search-grid,.dels-bp-search-card,.dels-bp-card,
  .dels-card,.dels-lista-card,.dels-card-publico,.dels-verbete-publico-wrap,.dels-verbete-hero-card,
  .dels-corpo-verbete,.dels-principal-grid,.dels-principal-col,.dels-verbete-escritas-card,
  .dels-escrita-conteudo,.dels-perfil-card,.dels-perfil-grid,.dels-perfil-stats,
  .dels-palavra-dia,.dels-palavra-dia-card,.dels-relacionadas-item,.dels-arquivo-assunto-card,
  .dels-footer,footer
){min-width:0!important;max-width:100%!important;}

body.dels-css-rei-active :is(
  .dels-bp-search-grid,.dels-principal-grid,.dels-verbete-escritas-card,.dels-perfil-grid,.dels-perfil-stats,
  .dels-footer,footer
)>*{min-width:0!important;max-width:100%!important;}

body.dels-css-rei-active :is(img,video,iframe,canvas,svg,fsw-sign){max-width:100%;}

/* Busca: três colunas reais no desktop, nenhuma coluna pode impor largura. */
body.dels-css-rei-active .dels-bp-search-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
@media(max-width:900px){body.dels-css-rei-active .dels-bp-search-grid{grid-template-columns:minmax(0,1fr)!important;}}

/* ========================================================================
   ELiS — regra universal
   - quebra somente ENTRE palavras;
   - uma palavra nunca quebra internamente;
   - palavra excepcionalmente larga é reduzida pelo Núcleo Universal JS;
   - nenhum texto ELiS pode definir a largura da página.
   ======================================================================== */
body.dels-css-rei-active :is(
  .dels-elis-u-readonly,.dels-elis,.dels-elis-text,.dels-elis-mini,.dels-elis-preview,
  .dels-front-elis-preview,.dels-ml-elis-string,.dels-ml-elis-interface,.dels-lista-card-elis,
  .dels-palavra-dia-elis,.dels-relacionadas-item-elis,.dels-front-tabela-elis,.dels-busca-card-elis,
  .dels-bp-elis,.dels-user-elis-output,.dels-user-elis-header-name,[data-dels-elis-semantic]
){
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  word-wrap:normal!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
}

body.dels-css-rei-active .dels-elis-u-word{
  display:inline-block!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
  vertical-align:baseline!important;
}
body.dels-css-rei-active .dels-elis-u-space{display:inline-block!important;min-width:.34em!important;white-space:pre!important;}
body.dels-css-rei-active .dels-elis-u-break{display:block!important;}

/* Editor/Busca ELiS: a caixa pertence ao pai; teclado é overlay e não altera grid. */
body.dels-css-rei-active .dels-elis-u-editor,
body.dels-css-rei-active .dels-elis-u-surface{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
body.dels-css-rei-active .dels-elis-u-surface{overflow-x:hidden!important;}
body.dels-css-rei-active #dels-elis-universal-keyboard{max-width:calc(100vw - 12px)!important;}

/* Cards preservam os diacríticos verticalmente; a largura é resolvida por min-width
   + fit por palavra, não por overflow:visible que expande a página. */
body.dels-css-rei-active :is(
  .dels-bp-search-card,.dels-bp-card,.dels-card,.dels-lista-card,.dels-card-publico,
  .dels-verbete-hero-card,.dels-escrita-conteudo,.dels-perfil-card,.dels-palavra-dia-card
){overflow-x:hidden!important;overflow-x:clip!important;}

/* O menu da conta é exceção deliberada: overlay acima do site, sem participar da
   largura do documento. */
body.dels-css-rei-active .dels-login-header,
body.dels-css-rei-active .dels-menu-usuario{position:relative!important;z-index:2147483500!important;overflow:visible!important;}
body.dels-css-rei-active .dels-menu-usuario-dropdown[data-dels-elis-owned-menu="1"]{
  position:fixed!important;
  z-index:2147483646!important;
  max-width:calc(100vw - 16px)!important;
  overflow:auto!important;
}

/* O cabeçalho/rodapé não podem ser alargados por rótulos traduzidos em ELiS. */
body.dels-css-rei-active :is(header,nav,footer,.dels-footer) :is(a,button,span,div,li){min-width:0;}
body.dels-css-rei-active :is(header,nav,footer,.dels-footer) .dels-elis-u-readonly{max-width:100%!important;}

/* Mobile: componentes que ainda tragam largura mínima histórica viram uma coluna. */
@media(max-width:760px){
  body.dels-css-rei-active :is(.dels-principal-grid,.dels-verbete-escritas-card,.dels-perfil-grid,.dels-perfil-stats){grid-template-columns:minmax(0,1fr)!important;}
  body.dels-css-rei-active :is(.dels-bp,.dels-verbete-publico-wrap,.dels-palavra-dia){width:100%!important;max-width:100%!important;}
}
