@charset "utf-8";
/* Site publico do cliente (index.php + topo/cidade/rodape) - visual responsivo */

:root{
	--bg: #F3F6F9;
	--surface: #FFFFFF;
	--surface-sunken: #EEF2F6;
	--text: #1E2530;
	--text-muted: #5B6472;
	--border: #DFE5EB;
	--shadow: 0 1px 2px rgba(20,30,45,.06), 0 8px 24px -12px rgba(20,30,45,.18);
}

body{
	background:var(--bg);
	color:var(--text);
	font-family:'Public Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
	font-size:17px;
	line-height:1.55;
	-webkit-font-smoothing:antialiased;
}
a{ color:var(--accent, #056090); }

/* Bootstrap trava inputs e botoes em 14px fixo, sem herdar do body - reforca aqui */
.form-control{ font-size:1rem; }
.btn{ font-size:1rem; }

/* ---- Utility bar (data / alto contraste / login) ---- */
header.Topo{
	background:var(--text) !important;
	padding: 9px 0 !important;
}
header.Topo .Date{
	color:#fff !important;
	font-size:.95rem;
	margin-top:0 !important;
	display:flex; align-items:center; gap:14px; flex-wrap:wrap;
	text-transform:none !important;
}
header.Topo .Date a{
	color:#fff !important;
	opacity:.9;
}
header.Topo .Date a:hover{ opacity:1; text-decoration:underline; }
header.Topo .text-right{ margin-top:6px; }
@media (min-width:768px){ header.Topo .text-right{ margin-top:0; } }

.btn-login-top{
	background:var(--accent, #056090) !important;
	border-color:var(--accent, #056090) !important;
	color:#fff !important;
	border-radius:8px !important;
	min-height:38px;
	font-weight:600;
	padding:6px 16px;
}
.btn-login-top:hover, .btn-login-top:active, .btn-login-top:focus{
	filter:brightness(.9);
	background:var(--accent, #056090) !important;
	border-color:var(--accent, #056090) !important;
	color:#fff !important;
}

/* ---- Masthead ---- */
header.HeaderLogo{
	background:var(--surface);
	padding: 22px 0 !important;
}
header.HeaderLogo img{ max-height:64px; width:auto !important; height:auto; }
header.HeaderLogo h3{
	margin-top:0 !important;
	font-family:'Source Serif 4', Georgia, serif;
	font-weight:600;
	font-size: clamp(1.4rem, 1.1rem + 1.4vw, 1.9rem);
	line-height:1.25;
}
header.HeaderLogo h3 a{ color:var(--text); text-decoration:none; }
header.HeaderLogo .text-right{ text-align:left !important; margin-top:12px; }
@media (min-width:768px){ header.HeaderLogo .text-right{ text-align:right !important; margin-top:0; } }

hr{ border-top-color:var(--border) !important; }

/* ---- Search forms ---- */
#FormBusca, #FormBuscaPalavra{
	background:var(--surface);
	border:1px solid var(--border);
	border-radius:14px;
	box-shadow:var(--shadow);
	padding:16px;
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	align-items:flex-end;
	width:100%;
}
#FormBusca label, #FormBuscaPalavra label{
	display:block;
	width:100%;
	font-size:.85rem;
	font-weight:600;
	letter-spacing:.04em;
	text-transform:uppercase;
	color:var(--text-muted);
	margin-bottom:6px;
}
#FormBusca .form-control, #FormBuscaPalavra .form-control{
	border-radius:8px;
	border:1px solid var(--border);
	background:var(--surface-sunken);
	color:var(--text);
	min-height:44px;
	box-shadow:none;
	flex:1;
	min-width:150px;
}
#FormBusca .form-control:focus, #FormBuscaPalavra .form-control:focus{
	border-color:var(--accent, #056090);
	box-shadow:0 0 0 3px rgba(5,96,144,.15);
}
#FormBusca button[type="submit"], #FormBuscaPalavra button[type="submit"]{
	border-radius:8px;
	background:var(--accent, #056090);
	border-color:var(--accent, #056090);
	min-height:44px;
	font-weight:600;
	padding:0 20px;
}
#FormBusca button[type="submit"]:hover, #FormBuscaPalavra button[type="submit"]:hover{ filter:brightness(.93); }
@media (max-width:560px){
	#FormBusca button[type="submit"], #FormBuscaPalavra button[type="submit"]{ width:100%; }
}

/* ---- Edition cards (listagem principal / busca por data) ---- */
a.btn-download{
	display:flex !important;
	flex-direction:column;
	align-items:flex-start;
	gap:4px;
	background:var(--surface) !important;
	color:var(--text) !important;
	border:1px solid var(--border) !important;
	border-radius:12px !important;
	box-shadow:var(--shadow);
	padding:16px !important;
	text-align:left !important;
	min-height:44px;
	white-space:normal;
	transition: transform .12s ease, border-color .12s ease;
}
a.btn-download:hover, a.btn-download:focus{
	background:var(--surface) !important;
	color:var(--text) !important;
	border-color:var(--accent, #056090) !important;
	transform:translateY(-2px);
}
a.btn-download .edicao-icone{
	color:var(--accent, #056090);
	font-weight:700;
	font-size:.9rem;
	letter-spacing:.03em;
	text-transform:uppercase;
}
a.btn-download .edicao-data{
	font-size:1.2rem;
	font-weight:700;
	font-variant-numeric: tabular-nums;
}
a.btn-download .edicao-meta{
	font-size:.95rem;
	color:var(--text-muted);
	font-weight:400;
}

/* ---- Pagination ---- */
.pagination > li > a{
	border-radius:8px !important;
	margin:0 3px;
	border-color:var(--border);
	color:var(--text);
	min-width:40px;
	min-height:40px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.pagination > .active > a{
	background:var(--accent, #056090) !important;
	border-color:var(--accent, #056090) !important;
}

/* ---- Login modal ---- */
.modal-content{
	border-radius:14px;
	border:0;
	box-shadow:var(--shadow);
	background:var(--surface);
	color:var(--text);
}
.modal-header{ border-bottom:1px solid var(--border); }
.modal-title{ font-family:'Source Serif 4', Georgia, serif; font-weight:600; }
.modal-footer{ border-top:1px solid var(--border); }
.modal .form-control{
	border-radius:8px;
	min-height:44px;
	background:var(--surface-sunken);
	border:1px solid var(--border);
	color:var(--text);
	box-shadow:none;
}
.modal .btn-primary{
	background:var(--accent, #056090);
	border-color:var(--accent, #056090);
	border-radius:8px;
}
.modal .btn-primary:hover{ filter:brightness(.93); }

/* ---- Footer ---- */
footer.Rodape{
	background:var(--surface);
	border-top:1px solid var(--border) !important;
	padding-top:22px !important;
	padding-bottom:30px !important;
}
footer.Rodape h4{
	font-family:'Source Serif 4', Georgia, serif;
	font-weight:600;
	font-size:1.15rem;
}
footer.Rodape p small{ color:var(--text-muted); }

/* ---- Alto contraste (proprio, nao depende de site de terceiro) ---- */
body.alto-contraste,
body.alto-contraste .container,
body.alto-contraste header.Topo,
body.alto-contraste header.HeaderLogo,
body.alto-contraste #FormBusca,
body.alto-contraste #FormBuscaPalavra,
body.alto-contraste a.btn-download,
body.alto-contraste footer.Rodape,
body.alto-contraste .modal-content{
	background:#000 !important;
	color:#FFEB3B !important;
	border-color:#FFEB3B !important;
	box-shadow:none !important;
	text-shadow:none !important;
}
body.alto-contraste a,
body.alto-contraste h3, body.alto-contraste h4,
body.alto-contraste .edicao-data, body.alto-contraste .edicao-meta, body.alto-contraste .edicao-icone,
body.alto-contraste label, body.alto-contraste small{
	color:#FFEB3B !important;
}
body.alto-contraste .form-control{
	background:#000 !important;
	color:#FFEB3B !important;
	border:2px solid #FFEB3B !important;
}
body.alto-contraste .btn,
body.alto-contraste .btn-login-top,
body.alto-contraste #FormBusca button,
body.alto-contraste #FormBuscaPalavra button{
	background:#000 !important;
	border:2px solid #FFEB3B !important;
	color:#FFEB3B !important;
}
