/* Responsividade global — celular e tablet */

html {
	overflow-x: clip;
	-webkit-text-size-adjust: 100%;
}

body {
	overflow-x: clip;
}

img,
video,
iframe,
table {
	max-width: 100%;
}

/* Containers e page-box */
.page-box .container,
.page-box .container-fluid {
	width: 100%;
	max-width: 100%;
}

@media (max-width: 575.98px) {
	.page-box .container.info-layout-wrap,
	.page-box .container:not(.info-layout-wrap) {
		padding-left: 0.85rem;
		padding-right: 0.85rem;
	}

	.page-box .info-layout-wrap {
		padding-top: 1.25rem !important;
		padding-bottom: 2rem !important;
		margin-bottom: 2rem !important;
	}

	.info-layout-wrap::before {
		inset: -0.75rem -0.35rem 1rem;
	}
}

/* Breadcrumb */
@media (max-width: 575.98px) {
	.breadcrumb h1 {
		font-size: clamp(1.35rem, 6vw, 1.85rem);
		padding-left: 0.25rem;
		padding-right: 0.25rem;
	}
}

/* —— Menu superior (Informações / Downloads) —— */

@media (max-width: 767.98px) {
	.info-layout-wrap .info-top-nav {
		margin-bottom: 1.15rem;
		padding: 1rem 0.85rem 0.85rem;
	}

	.info-layout-wrap .info-top-nav__head {
		margin-bottom: 0.75rem;
		padding-bottom: 0.65rem;
	}

	.info-layout-wrap .info-top-nav__subtitle {
		font-size: 0.8125rem;
		line-height: 1.4;
	}

	.info-top-nav__tabs-scroll {
		position: relative;
		margin: 0 -0.15rem;
	}

	.info-top-nav__tabs-scroll::before,
	.info-top-nav__tabs-scroll::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0.35rem;
		width: 1.25rem;
		pointer-events: none;
		z-index: 2;
	}

	.info-top-nav__tabs-scroll::before {
		left: 0;
		background: linear-gradient(90deg, rgba(248, 251, 255, 0.98) 0%, transparent 100%);
	}

	.info-top-nav__tabs-scroll::after {
		right: 0;
		background: linear-gradient(270deg, rgba(248, 251, 255, 0.98) 0%, transparent 100%);
	}

	.info-top-nav__tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
		scrollbar-color: rgba(78, 172, 255, 0.45) transparent;
		gap: 0.45rem;
		padding: 0.15rem 0.35rem 0.45rem;
	}

	.info-top-nav__tabs::-webkit-scrollbar {
		height: 4px;
	}

	.info-top-nav__tabs::-webkit-scrollbar-thumb {
		background: rgba(78, 172, 255, 0.45);
		border-radius: 999px;
	}

	.info-top-nav__tab {
		flex: 0 0 auto;
		scroll-snap-align: start;
		padding: 0.55rem 0.85rem;
		font-size: 0.74rem;
	}
}

@media (max-width: 575.98px) {
	.info-layout-wrap .info-top-nav__subtitle {
		display: none;
	}

	.info-layout-wrap .info-top-nav__title {
		font-size: 1rem;
	}

	.info-top-nav__tab {
		padding: 0.5rem 0.75rem;
	}
}

/* Painéis de conteúdo */
@media (max-width: 767.98px) {
	.info-panel__head {
		padding: 1.15rem 1rem 0;
	}

	.info-panel__body,
	.info-panel--wide .info-panel__body {
		padding: 1.15rem 1rem 1.35rem;
	}

	.info-panel__head h2,
	.info-panel__title {
		font-size: clamp(1.15rem, 5vw, 1.45rem);
		word-break: break-word;
	}

	.info-panel__lead {
		font-size: 0.9375rem;
		margin-top: 0.75rem;
	}
}

/* Tabelas */
.page-box .table-responsive,
.page-box .info-table-wrap {
	-webkit-overflow-scrolling: touch;
}

@media (max-width: 767.98px) {
	.page-box .info-cmd-table .table {
		font-size: 0.8125rem;
	}

	.page-box .info-cmd-table code {
		font-size: 0.75rem;
		word-break: break-all;
	}

	.servidor-info-page .info-table-wrap th[scope="row"] {
		width: auto;
		min-width: 6.5rem;
		font-size: 0.8125rem;
	}

	.servidor-info-page .info-table-wrap .table {
		font-size: 0.8125rem;
	}

	.info-legal-page .horizontal-table {
		font-size: 0.8125rem;
	}

	.info-legal-page .horizontal-table th,
	.info-legal-page .horizontal-table td {
		padding: 0.55rem 0.65rem;
	}
}

/* Wiki / sistemas */
@media (max-width: 575.98px) {
	.info-system-card {
		padding: 0.95rem 1rem;
	}

	.info-system-card--featured {
		flex-direction: column;
		align-items: flex-start;
	}

	.wiki-booster .info-system-card__head h3 {
		font-size: 0.98rem;
	}
}

/* CTAs e avisos */
@media (max-width: 575.98px) {
	.info-cta-banner,
	.info-cta-footer,
	.info-notice {
		padding: 1rem;
	}

	.info-cta-footer__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.info-cta-footer__actions .btn {
		width: 100%;
	}
}

/* Nav principal — botões de conta */
@media (max-width: 1024px) {
	.nav__main-links .d-flex {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.35rem;
	}

	.nav__main-links .btn-menu {
		font-size: 0.78rem;
		padding: 0.45rem 0.65rem !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.info-top-nav__tabs {
		scroll-behavior: auto;
	}
}
