/*!
Theme Name: Escs-Theme
Theme URI: https://escs.edu.br/
Author: Gustavo Carreiro
Author URI: https://github.com/gustjose
Description: Tema institucional desenvolvido sob medida para a Escola Superior de Ciências da Saúde (ESCS/DF). Focado em performance, acessibilidade, metodologias ativas e identidade visual moderna. Baseado no starter theme Underscores.
Version: 1.6.1
Tested up to: 6.9
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: escs-theme
Tags: education, institutional, custom-logo, custom-menu, featured-images, accessibility-ready, grid-layout, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Escs-Theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

body {
	margin: 0;
}

main {
	display: block;
}

/* RESET DE MARGENS PARA DESENVOLVIMENTO
   Removidos os margins bottoms para você definir manualmente onde precisar.
*/
h1 {
	font-size: var(--text-4xl);
	font-weight: var(--peso-negrito);
	margin: 0;
}
h2 {
	font-size: var(--text-3xl);
	font-weight: var(--peso-negrito);
	margin: 0;
}
h3 {
	font-size: var(--text-2xl);
	font-weight: var(--peso-medio);
	margin: 0;
}
p {
	font-size: var(--text-base);
	line-height: 1.6;
	margin: 0;
}

/* Grouping content
	 ========================================================================== */

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

a {
	background-color: transparent;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
	appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

details {
	display: block;
}

summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

template {
	display: none;
}

[hidden] {
	display: none;
}

/*--------------------------------------------------------------
# Fonts
--------------------------------------------------------------*/
/* poppins-regular - latin */
@font-face {
	font-display: swap;
	font-family: "Poppins";
	font-style: normal;
	font-weight: 400;
	size-adjust: 90%;
	src: url("assets/fonts/Poppins/poppins-v24-latin-regular.woff2")
		format("woff2");
}

/* poppins-italic - latin */
@font-face {
	font-display: swap;
	font-family: "Poppins";
	font-style: italic;
	font-weight: 400;
	size-adjust: 90%;
	src: url("assets/fonts/Poppins/poppins-v24-latin-italic.woff2")
		format("woff2");
}

/* poppins-500 - latin */
@font-face {
	font-display: swap;
	font-family: "Poppins";
	font-style: normal;
	font-weight: 500;
	size-adjust: 90%;
	src: url("assets/fonts/Poppins/poppins-v24-latin-500.woff2") format("woff2");
}

/* poppins-700 - latin */
@font-face {
	font-display: swap;
	font-family: "Poppins";
	font-style: normal;
	font-weight: 700;
	size-adjust: 90%;
	src: url("assets/fonts/Poppins/poppins-v24-latin-700.woff2") format("woff2");
}

:root {
	/* --cor-primaria: #F25C05; */
	--cor-primaria: #e37d42;
	--cor-primaria-media: #f2935c;
	--cor-primaria-clara: #f2ad85;

	--cor-fundo-claro: #f2f2f2;
	--cor-texto-claro: #0d0d0d;

	/* === MODO ESCURO === */
	--cor-fundo-escuro: #0d0d0d;
	--cor-texto-escuro: #f2f2f2;

	--fonte-principal: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI",
		Roboto, sans-serif;
	--peso-regular: 400;
	--peso-medio: 500;
	--peso-negrito: 700;

	--container-max-width: 1280px;
	--container-padding: 1.5rem; /* Mantido na variável caso queira usar, mas removido da classe .container abaixo */

	--space-1: 0.25rem; /* 4px */
	--space-2: 0.5rem; /* 8px */
	--space-3: 0.75rem; /* 12px */
	--space-4: 1rem; /* 16px - Padrão */
	--space-6: 1.5rem; /* 24px */
	--space-8: 2rem; /* 32px */
	--space-12: 3rem; /* 48px */
	--space-16: 4rem;

	--text-xs: 0.75rem; /* 12px */
	--text-sm: 0.875rem; /* 14px */
	--text-base: 1rem; /* 16px */
	--text-lg: 1.125rem; /* 18px */
	--text-xl: 1.25rem; /* 20px */
	--text-2xl: 1.5rem; /* 24px */
	--text-3xl: 1.875rem; /* 30px */
	--text-4xl: 2.25rem; /* 36px */

	--btn-radius: 15px;
	--btn-transition: all 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

/* Box sizing e Reset Global de Espaçamento
--------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: inherit;
	margin: 0;
	padding: 0;
}

html {
	box-sizing: border-box;
}

html,
body {
	max-width: 100% !important;
	overflow-x: hidden !important;
	position: relative;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: var(--fonte-principal);
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	margin: 0;
}

p {
	margin-bottom: 0;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0;
}

address {
	margin: 0;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 0;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em; /* Mantido padding interno do code block para legibilidade */
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 0;
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none; /* Opcional: remove bolinhas por padrão para facilitar layout */
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 0;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0;
}

embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 0;
}

table {
	margin: 0;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

/* a:visited {
	color: #800080;
} */

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em; /* Mantido padding INTERNO para o botão não colapsar */
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px; /* Mantido mínimo visual */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
.container {
	width: 100%;
	max-width: var(--container-max-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
	height: 100%;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 0;
}

.page-links {
	clear: both;
	margin: 0;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 0;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 0;
	display: grid;
	grid-gap: 0;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
   NOTA: Removidos os margins das classes de alinhamento para não bugar layouts flex/grid
--------------------------------------------- */
.alignleft {
	/*rtl:ignore*/
	float: left;
	/*rtl:ignore*/
	margin-right: 0;
	margin-bottom: 0;
}

.alignright {
	/*rtl:ignore*/
	float: right;
	/*rtl:ignore*/
	margin-left: 0;
	margin-bottom: 0;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0;
}

/* =========================================
   Reverte o Reset Global dentro dos Posts
   ========================================= */

.entry-content ul {
	list-style-type: disc;
	padding-left: 2em;
	margin-bottom: 1.5rem;
}

.entry-content ol {
	list-style-type: decimal;
	padding-left: 2em;
	margin-bottom: 1.5rem;
}

.entry-content li {
	margin-bottom: 0.5rem;
}

.entry-content p {
	line-height: 1.8;
}

.entry-content ul ul {
	list-style-type: circle;
}

.entry-content .wp-block-list {
	padding-left: 2em;
}
