html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

html {
    height: 100%;
}

body {
    font-family: 'Inter', sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Garante que o conteúdo principal ocupe o espaço disponível */
main,
body > div:not(.login-container):not(.cookie-banner),
body > .container {
    flex: 1;
}

/* Para páginas com estrutura específica */
.login-container {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

:root {
  --branco: #FFFFFF;
  --branco-creme: #F8F9FA;
  --cinza-claro: #E9ECEF;
  --cinza-medio: #6C757D;
  --cinza-escuro: #343A40;
  --cinza-azulado: #5D6D7E;
  --preto: #000000;
  --sombra: rgba(0, 0, 0, 0.08);
  --sombra-media: rgba(0, 0, 0, 0.12);
  --sombra-forte: rgba(0, 0, 0, 0.2);

  --secundaria: #ce7da6;
  --color2: #da96bc;
  --color3: #e7afd3;
  --color4: #f3c7e9;
  --principal: #ffe0ff;

  /* Transições e tipografia */
  --transicao: all 0.3s ease;
  --transicao-lenta: all 0.5s ease;
  
  /* Botões */
  --btn-padding: 0.5rem 1rem;
  --btn-border-radius: 6px;
}

/* Estilos para os botões de limpar filtros */
.btn-filter-clear {
  padding: var(--btn-padding);
  background-color: var(--cinza-claro);
  color: var(--cinza-escuro);
  border: 1px solid var(--cinza-medio);
  border-radius: var(--btn-border-radius);
  cursor: pointer;
  text-decoration: none;
  font-size: 0.875rem;
  transition: var(--transicao);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.btn-filter-clear:hover {
  background-color: var(--cinza-medio);
  color: var(--branco);
}

/* Melhorias de responsividade para os filtros */
.filter-container {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.filter-select {
  padding: 0.5rem;
  border: 1px solid var(--cinza-claro);
  border-radius: var(--btn-border-radius);
  font-size: 0.875rem;
  transition: var(--transicao);
}

.filter-select:focus {
  outline: none;
  border-color: var(--principal);
  box-shadow: 0 0 0 2px rgba(255, 224, 255, 0.5);
}

/* Ajustes para telas menores */
@media (max-width: 768px) {
  .filter-container {
    flex-direction: column;
  }
  
  .filter-select, .btn-filter-clear {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}