/*
 * Tema Colégio Pouso Alegre
 *
 * Os valores reproduzem o visual atual do site. As cores vêm de variáveis definidas
 * pelas opções do tema (ver inc/options.php); os fallbacks abaixo são os valores atuais.
 */

:root {
	--cpa-primary: #ff8500;
	--cpa-secondary: rgba(252, 130, 0, 0.81);
	--cpa-heading: #222752;
	--cpa-text: #505050;
	--cpa-link: #07294d;
	--cpa-navy: #07294d;
	--cpa-accent-legacy: #ffc600;
	--cpa-topbar-bg: #ff8500;
	--cpa-topbar-text: #edf0f2;
	--cpa-menu: #222752;
	--cpa-btn: #ff8500;
	--cpa-btn-hover: #ff3e4b;
	--cpa-btn-text: #ffffff;
	--cpa-footer-bg: #13181c;
	--cpa-copyright-bg: #0f1317;
	--cpa-footer-text: #ffffff;
	--cpa-overlay: rgba(2, 0, 0, 0.45);
	--cpa-preloader-alt: #606060;
	--cpa-logo-w: 264px;
	--cpa-logo-mobile-w: 150px;
	--cpa-marquee-w: 217px;
	--cpa-font: "Roboto", sans-serif;
	--cpa-font-form: "Montserrat", sans-serif;
	--cpa-ease: all 0.5s ease;
	--cpa-adminbar: 0px;
}

.admin-bar { --cpa-adminbar: 32px; }
@media (max-width: 782px) {
	.admin-bar { --cpa-adminbar: 46px; }
}

/* ==========================================================================
   Base
   ========================================================================== */

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body {
	font-family: var(--cpa-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
	font-style: normal;
	color: var(--cpa-text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1 { margin-top: 0.67em; }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--cpa-font);
	font-weight: 700;
	color: var(--cpa-heading);
	margin-bottom: 15px;
}
h1 { font-size: 48px; }
h2 { font-size: 36px; }
h3 { font-size: 28px; }
h4 { font-size: 22px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

p {
	margin: 0 0 1.5em;
	padding: 0;
}

dfn, cite, em, i { font-style: italic; }

blockquote {
	quotes: "" "";
	margin: 0;
	padding: 0 0 0 1em;
	overflow: hidden;
	border-left: 4px solid #000;
	color: #666;
	font-size: 1.125rem;
	font-style: italic;
	line-height: 1.7;
}

address { margin: 0 0 1.5em; }

code, kbd, tt, var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
}
code {
	padding: 2px;
	border-radius: 2px;
	color: #23282d;
	background: #f3f4f5;
	font-family: Menlo, Consolas, monaco, monospace;
	font-size: 14px;
}

abbr, acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}
mark, ins { text-decoration: none; }
big { font-size: 125%; }
q { quotes: "\201C" "\201D" "\2018" "\2019"; }

/* O tema anterior removia o contorno de foco de tudo; aqui ele só aparece para quem navega pelo teclado. */
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--cpa-primary); outline-offset: 2px; }

/* Links */
body a {
	color: var(--cpa-link);
	text-decoration: none;
	transition: var(--cpa-ease);
}
body a:hover,
body a:active {
	color: var(--cpa-primary);
	text-decoration: none;
}

/* Listas */
ul, ol {
	margin: 0 0 1.5em;
	padding: 0;
}
ul { list-style: disc; }
ul ul { list-style: circle; }
ul ul ul { list-style: square; }
ol { list-style: decimal; }
ol ol { list-style: lower-alpha; }
ol ol ol { list-style: lower-roman; }
li > ul, li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
dt { font-weight: 700; }
dd { margin: 0 1.5em 1.5em; }
.entry-content ul {
	list-style: inherit;
	padding-left: 2em;
}
.entry-content ol { padding-left: 20px; }
.entry-content ul.wp-block-gallery { padding-left: 0; }
/* Galeria de imagens: mesmo espaçamento entre fotos das versões anteriores do WordPress (16px). */
.wp-block-gallery.has-nested-images { --wp--style--gallery-gap-default: 16px; padding-bottom: 16px; }

/* Tabelas */
table {
	border-collapse: collapse;
	margin: 0 0 1.5em;
	width: 100%;
}
thead th {
	border-bottom: 1px solid #e0e0e0;
	padding-bottom: 0.5em;
}
th {
	padding: 0.4em;
	text-align: left;
	border: 1px solid #e0e0e0;
}
tr { border-bottom: 1px solid #e0e0e0; }
td {
	padding: 0.4em;
	border: 1px solid #e0e0e0;
}
th:last-child, td:last-child { padding-right: 0; }

/* Formulários */
label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.5em;
}
body label {
	display: block;
	margin-bottom: 0;
}
fieldset {
	border: 1px solid #e0e0e0;
	margin: 0 2px 1em 2px;
	padding: 0.35em 0.625em 0.75em;
}
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; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[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; }
input, textarea { transition: all 0.3s ease-in-out; }
input, select, textarea {
	color: var(--cpa-text);
	font-family: var(--cpa-font-form);
	font-size: 16px;
	font-weight: 600;
	line-height: 25px;
	font-style: normal;
	padding: 7px 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
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;
	background: #fff;
	border: 1px solid #e0e0e0;
	display: block;
	width: 100%;
	padding: 10px 12px;
}
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: #333;
	border-color: var(--cpa-primary);
	transition: var(--cpa-ease);
}
select {
	border: 1px solid #e0e0e0;
	height: 3em;
	max-width: 100%;
	color: #6f6f6f;
}
input[type="radio"], input[type="checkbox"] { margin-right: 0.5em; }
input[type="radio"] + label, input[type="checkbox"] + label { font-weight: 400; }
::placeholder { color: #ccc; font-family: var(--cpa-font-form); opacity: 1; }

button, input[type="button"], input[type="submit"] {
	background: var(--cpa-btn);
	border: 0;
	border-color: var(--cpa-btn);
	border-radius: 3px;
	box-shadow: none;
	color: var(--cpa-btn-text);
	cursor: pointer;
	display: inline-block;
	font-family: var(--cpa-font);
	font-size: 15px;
	line-height: 17px;
	font-weight: 400;
	text-transform: capitalize;
	padding: 1em 2em;
	text-shadow: none;
	transition: var(--cpa-ease);
}
button:hover, button:focus, input[type="button"]:hover, input[type="button"]:focus,
input[type="submit"]:hover, input[type="submit"]:focus {
	background-color: var(--cpa-btn-hover);
	color: var(--cpa-btn-text);
}

/* Mídia e classes padrão do WordPress */
img, video {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
img { border-style: none; }
embed, iframe, object {
	max-width: 100%;
	margin-bottom: 1.5em;
}
.alignleft { float: left; margin-right: 1.5em; }
.alignright { float: right; margin-left: 1.5em; }
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; }
.wp-caption { margin-bottom: 1.5em; max-width: 100%; }
.wp-caption-text { text-align: center; font-size: 14px; }
.sticky, .bypostauthor { display: block; }

.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: #fff;
	clip: auto !important;
	clip-path: none;
	color: var(--cpa-navy);
	display: block;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	left: 5px;
	padding: 15px 23px 14px;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* ==========================================================================
   Estrutura
   ========================================================================== */

/* Clearfix do tema anterior: além de conter floats, impede que margens "vazem" entre blocos. */
.entry-content::before, .entry-content::after,
.cpa-content::before, .cpa-content::after,
.site-footer::before, .site-footer::after,
.widget-area::before, .widget-area::after,
.widget::before, .widget::after,
.nav-links::before, .nav-links::after,
.pagination::before, .pagination::after,
.comment-author::before, .comment-author::after,
.comment-meta::before, .comment-meta::after {
	content: "";
	display: table;
	table-layout: fixed;
}
.entry-content::after, .cpa-content::after, .site-footer::after, .widget-area::after,
.widget::after, .nav-links::after, .pagination::after {
	clear: both;
}

.cpa-site {
	position: relative;
	word-wrap: break-word;
}

.cpa-container {
	width: 1170px;
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
	padding-right: 15px;
	padding-left: 15px;
}

.cpa-content {
	padding: 100px 0;
	clear: both;
}
/* O tema anterior só tirava o espaçamento em páginas do Elementor com a faixa de título desligada. */
.elementor-page.cpa-page-header-off .cpa-content { padding: 0; }

/* Espaço do cabeçalho fixo: 130px com a barra laranja, 84px sem ela. */
.cpa-content,
.page-header { margin-top: 84px; }
.cpa-has-topbar .cpa-content,
.cpa-has-topbar .page-header { margin-top: 130px; }
.page-header + .cpa-content,
.cpa-has-topbar .page-header + .cpa-content { margin-top: 0; }

/* ==========================================================================
   Pré-carregamento
   ========================================================================== */

.cpa-preloader {
	position: fixed;
	inset: 0;
	background-color: #fff;
	z-index: 9999;
	transition: opacity 0.5s ease;
}
.cpa-preloader.is-done { opacity: 0; pointer-events: none; }
.cpa-preloader__cube {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 48px;
	height: 48px;
	border: 1px solid transparent;
	transform: translate(-50%, -50%);
}
.cpa-preloader__layer {
	position: absolute;
	width: 14px;
	height: 14px;
	border: 1px solid transparent;
	background-color: var(--cpa-preloader-alt);
}
.cpa-preloader__layer--1 { left: 0; top: 0; animation: cpa-cube4 2s infinite linear; }
.cpa-preloader__layer--2 { left: 16px; top: 0; animation: cpa-cube3 2s infinite linear; }
.cpa-preloader__layer--3 { left: 32px; top: 0; background-color: var(--cpa-primary); }
.cpa-preloader__layer--4 { left: 0; top: 16px; animation: cpa-cube5 2s infinite linear; }
.cpa-preloader__layer--5 { left: 16px; top: 16px; animation: cpa-cube2 2s infinite linear; }
.cpa-preloader__layer--6 { left: 32px; top: 16px; animation: cpa-cube1 2s infinite linear; }
.cpa-preloader__layer--7 { left: 0; top: 32px; animation: cpa-cube6 2s infinite linear; }
.cpa-preloader__layer--8 { left: 16px; top: 32px; animation: cpa-cube7 2s infinite linear; }

@keyframes cpa-cube1 { 20% { top: 16px; left: 32px; } 30%, 90% { top: 32px; left: 32px; } 100% { top: 32px; left: 16px; } }
@keyframes cpa-cube2 { 30% { left: 16px; } 40%, 100% { left: 32px; } }
@keyframes cpa-cube3 { 30%, 40% { top: 0; } 50%, 100% { top: 16px; } }
@keyframes cpa-cube4 { 50% { left: 0; } 60%, 100% { left: 16px; } }
@keyframes cpa-cube5 { 60% { top: 16px; } 70%, 100% { top: 0; } }
@keyframes cpa-cube6 { 70% { top: 32px; } 80%, 100% { top: 16px; } }
@keyframes cpa-cube7 { 80% { left: 16px; } 90%, 100% { left: 0; } }

@media (prefers-reduced-motion: reduce) {
	.cpa-preloader { display: none; }
}

/* ==========================================================================
   Cabeçalho
   ========================================================================== */

.cpa-header {
	position: relative;
	background-color: #fff;
	width: 100%;
	z-index: 99;
}
.cpa-header--sticky {
	position: fixed;
	top: var(--cpa-adminbar);
	left: 0;
}
.cpa-header--sticky.is-stuck {
	box-shadow: 0 3px 6px rgba(128, 128, 128, 0.1);
	animation: cpa-slide-down 0.5s ease;
}
.cpa-header--sticky.is-stuck .cpa-topbar { display: none; }
@keyframes cpa-slide-down {
	from { transform: translate3d(0, -100%, 0); }
	to { transform: translate3d(0, 0, 0); }
}
@media (max-width: 600px) {
	/* Igual ao WordPress: no celular a barra de admin rola junto. */
	.admin-bar .cpa-header--sticky.is-stuck { top: 0; }
}

/* Barra superior */
.cpa-topbar {
	background-color: var(--cpa-topbar-bg);
	padding: 10px 0;
	min-height: 46px;
	color: var(--cpa-topbar-text);
	font-size: 14px;
	line-height: 26px;
}
.cpa-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.cpa-topbar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.cpa-topbar__contact {
	display: block;
	min-width: 0;
	white-space: nowrap;
}
.cpa-topbar__contact > li {
	display: inline-block;
	margin-right: 20px;
	vertical-align: top;
}
.cpa-topbar__contact > li:last-child { margin-right: 0; }
.cpa-topbar__contact i {
	display: inline-block;
	width: 19px;
	font-size: 14px;
	padding-right: 5px;
	text-align: center;
	font-style: normal;
}
.cpa-topbar__marquee { line-height: 100%; }
.cpa-topbar a { color: var(--cpa-topbar-text); }
.cpa-topbar a:hover { color: #fff; }

.cpa-marquee {
	display: inline-block;
	width: var(--cpa-marquee-w);
	position: relative;
	top: 5px;
	overflow: hidden;
	line-height: 14px;
	vertical-align: baseline;
}
.cpa-marquee__text {
	display: inline-block;
	white-space: nowrap;
	padding-left: 100%;
	animation: cpa-marquee var(--cpa-marquee-dur, 6s) linear infinite;
}
@keyframes cpa-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-100%); }
}
@media (prefers-reduced-motion: reduce) {
	.cpa-marquee__text { animation: none; padding-left: 0; }
}

.cpa-topbar__right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	white-space: nowrap;
}
.cpa-topbar__social-wrap {
	display: flex;
	align-items: center;
	margin-right: 10px;
}
.cpa-topbar__follow { color: var(--cpa-topbar-text); }
.cpa-topbar__social {
	display: inline-block;
	margin-left: 2px !important;
	vertical-align: top;
}
.cpa-topbar__social li {
	display: inline-block;
	padding: 0 7px;
}
.cpa-topbar__social i {
	display: inline-block;
	width: 14px;
	font-size: 14px;
	text-align: center;
	font-style: normal;
}
.cpa-topbar__students {
	display: none;
	align-items: center;
	gap: 6px;
	font-weight: 500;
	white-space: nowrap;
}
.cpa-topbar__students i { font-size: 16px; font-style: normal; display: inline-flex; }
.cpa-topbar__profile {
	padding-left: 15px;
	line-height: 22px;
}

/* Linha principal: logo, menu, busca */
.cpa-header__inner {
	display: flex;
	align-items: flex-start;
	height: 90px;
}

.cpa-brand {
	position: relative;
	z-index: 3;
	flex: 0 0 auto;
	padding: 16px 0;
}
.cpa-brand a { text-decoration: none; }
.cpa-brand .custom-logo-link {
	display: inline-block;
	padding-right: 1em;
	vertical-align: middle;
}
.cpa-brand .custom-logo-link img,
.cpa-brand img.custom-logo {
	display: inline-block;
	max-width: var(--cpa-logo-w);
	height: auto;
	vertical-align: middle;
}
.cpa-brand__mobile { display: none; }
.cpa-brand__mobile img { margin-left: 0; margin-right: 0; }
.cpa-brand__text {
	font-size: 21px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--cpa-primary);
}

.cpa-nav {
	margin-left: auto;
	padding-top: 6px;
}
.cpa-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.cpa-menu li {
	position: relative;
	list-style: none;
}
.cpa-nav .cpa-menu > li { display: inline-block; }
.cpa-nav .cpa-menu > li > a {
	display: block;
	font-size: 15px;
	font-weight: 600;
	line-height: 26px;
	padding: 29px 10px;
	color: var(--cpa-menu);
	text-transform: uppercase;
	text-decoration: none;
}
.cpa-nav .cpa-menu > li:last-child > a { padding-right: 0; }
.cpa-nav .cpa-menu > li > a:hover { color: var(--cpa-primary); }

/* Estados do item atual, como no tema anterior */
.cpa-nav .cpa-menu li.current-menu-item > a { color: var(--cpa-accent-legacy); }
.cpa-nav .cpa-menu li.current-menu-ancestor > a { color: var(--cpa-primary); }
.cpa-nav .cpa-menu .current-menu-item.menu-item-home > a { color: var(--cpa-navy); }

/* Submenu */
.cpa-nav .sub-menu {
	list-style: none;
	margin: 0;
	padding: 10px 0;
	background: var(--cpa-navy);
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99;
}
.cpa-nav .sub-menu .sub-menu { top: 10px; }
.cpa-nav li:hover > .sub-menu,
.cpa-nav li:focus-within > .sub-menu {
	left: 0.5em;
	right: auto;
	animation: cpa-fade-up 0.3s ease-in;
}
.cpa-nav .sub-menu li:hover > .sub-menu,
.cpa-nav .sub-menu li:focus-within > .sub-menu {
	left: 100%;
	right: auto;
}
.cpa-nav .sub-menu a {
	position: relative;
	display: block;
	width: 225px;
	padding: 7px 20px;
	font-size: 16px;
	font-weight: 500;
	line-height: 26px;
	color: #fff;
	text-transform: none;
	transition: var(--cpa-ease);
}
.cpa-nav .sub-menu a::before {
	content: "";
	position: absolute;
	left: 5px;
	top: 50%;
	transform: translateY(-50%);
	height: 2px;
	width: 10px;
	background: var(--cpa-primary);
	opacity: 0;
	transition: var(--cpa-ease);
}
.cpa-nav .sub-menu a:hover {
	color: var(--cpa-primary);
	padding-left: 35px;
}
.cpa-nav .sub-menu a:hover::before {
	opacity: 1;
	left: 18px;
}
.cpa-nav .sub-menu .current-menu-item > a { color: var(--cpa-accent-legacy); }
.cpa-nav .sub-menu .current-menu-item > a:hover { color: #fff; }
@keyframes cpa-fade-up {
	from { opacity: 0; transform: translate3d(0, 5%, 0); }
	to { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* Botões do cabeçalho */
.cpa-header .cpa-search-toggle,
.cpa-header .cpa-menu-toggle {
	background: none;
	border: 0;
	border-radius: 0;
	padding: 0;
	line-height: 1;
	cursor: pointer;
	color: var(--cpa-primary);
}
.cpa-header .cpa-search-toggle:hover, .cpa-header .cpa-search-toggle:focus,
.cpa-header .cpa-menu-toggle:hover, .cpa-header .cpa-menu-toggle:focus {
	background: none;
	color: var(--cpa-primary);
}
.cpa-header .cpa-search-toggle {
	margin-left: 30px;
	padding: 6px 7px 0 0;
	height: 90px;
	font-size: 16px;
}
.cpa-header .cpa-menu-toggle {
	display: none;
	font-size: 30px;
	height: 80px;
	margin-left: 20px;
}

/* Menu do celular */
.cpa-header__main { position: relative; }
.cpa-mobile-menu {
	position: absolute;
	top: 80px;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 99;
	background: #fff;
	padding: 25px;
	border-bottom: 1px solid #e0e0e0;
	max-height: 430px;
	overflow-y: auto;
}
.cpa-mobile-menu[hidden] { display: none; }
.cpa-mobile-menu .cpa-menu { display: block; }
.cpa-mobile-menu .cpa-menu li {
	line-height: 50px;
	border-top: 1px solid #d1d1d1;
}
.cpa-mobile-menu .cpa-menu a {
	display: block;
	color: var(--cpa-menu);
	padding-right: 40px;
}
.cpa-mobile-menu .cpa-menu a:hover { color: var(--cpa-primary); }
.cpa-mobile-menu .sub-menu {
	list-style: none;
	margin: 0 0 0 1.5em;
	padding: 0;
}
.cpa-mobile-menu .sub-menu[hidden] { display: none; }
.cpa-header .cpa-submenu-toggle {
	position: absolute;
	right: 0;
	top: 14px;
	padding: 4px 0;
	background: none;
	border: 0;
	color: var(--cpa-primary);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}
.cpa-header .cpa-submenu-toggle:hover, .cpa-header .cpa-submenu-toggle:focus { background: none; color: var(--cpa-primary); }

/* Busca em tela cheia */
.cpa-search {
	position: fixed;
	inset: 0;
	background-color: rgba(255, 133, 0, 0.44);
	z-index: 999;
	animation: cpa-fade 0.6s ease;
}
.cpa-search[hidden] { display: none; }
@keyframes cpa-fade { from { opacity: 0; } to { opacity: 1; } }
.cpa-header .cpa-search__close {
	position: absolute;
	top: 50px;
	right: 50px;
	width: 30px;
	height: 25px;
	padding: 0;
	background: none;
	border-radius: 0;
}
.cpa-header .cpa-search__close:hover, .cpa-header .cpa-search__close:focus { background: none; }
.cpa-header .cpa-search__close span {
	display: block;
	position: relative;
	width: 30px;
	height: 2px;
	background-color: #fff;
}
.cpa-header .cpa-search__close span:nth-of-type(1) { transform: rotate(45deg); top: 11px; }
.cpa-header .cpa-search__close span:nth-of-type(2) { transform: rotate(-45deg); top: 9px; }
.cpa-search__form input[type="search"] {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50%;
	height: 50px;
	padding-left: 20px;
	background-color: #fff;
	border: 2px solid var(--cpa-primary);
	border-radius: 50px;
	color: var(--cpa-primary);
}
.cpa-header .cpa-search__form button {
	position: absolute;
	top: 50%;
	left: 72%;
	transform: translate(-50%, -50%);
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--cpa-primary);
	font-size: 16px;
}
.cpa-header .cpa-search__form button:hover, .cpa-header .cpa-search__form button:focus { background: transparent; color: var(--cpa-primary); }

/* ==========================================================================
   Faixa de título das páginas internas
   ========================================================================== */

.page-header {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 290px;
	padding: 25px 0;
	background-size: cover;
	background-position: center;
	text-align: center;
}
.page-header::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--cpa-overlay);
	opacity: 0.9;
}
.page-header .cpa-container { position: relative; }
.page-header .page-title {
	position: relative;
	margin-top: 0;
	margin-bottom: 0;
	color: #fff;
	font-size: 46px;
	font-weight: 700;
	line-height: 1.2;
}
.page-header .header-breadcrumb {
	position: relative;
	margin-top: 15px;
}
.breadcrumbs .trail-items {
	display: inline-block;
	list-style: none;
	margin: 0;
	padding: 0;
}
.breadcrumbs .trail-items li {
	display: inline-block;
	margin: 0;
	padding: 0;
}
.breadcrumbs .trail-items li::after {
	content: "\002F";
	padding: 0 0.5em;
	color: var(--cpa-topbar-text);
}
.breadcrumbs .trail-items li:last-of-type::after { display: none; }
.header-breadcrumb a,
.header-breadcrumb span,
.header-breadcrumb .trail-end { color: #fff; }
.header-breadcrumb a:hover { color: #f5f5f5; }

/* ==========================================================================
   Conteúdo (páginas sem Elementor, posts, 404)
   ========================================================================== */

/* Regras do tema anterior que afetam o conteúdo das páginas (inclusive as feitas no Elementor). */
.type-page .entry-content { border-top: 0; }
.type-page .entry-content h2 {
	margin: 0;
	padding-bottom: 20px;
}
.entry-content .more-link::before {
	content: "";
	display: block;
	margin-top: 1.5em;
}
.entry-content blockquote.alignleft,
.entry-content blockquote.alignright {
	color: #666;
	font-size: 13px;
	width: 48%;
}
.page-links {
	clear: both;
	margin: 0;
	padding-top: 25px;
}
.page-links a,
.nav-links a {
	display: inline-block;
	width: 40px;
	height: 40px;
	margin: 0 3px;
	line-height: 33px;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	color: #fff;
	background: var(--cpa-secondary);
	border: 2px solid var(--cpa-secondary);
	border-radius: 3px;
	transition: all 0.4s linear;
}
.page-links a { line-height: 37px; }
.page-links a:hover,
.nav-links a:hover {
	color: var(--cpa-navy);
	background: var(--cpa-accent-legacy);
	border-color: var(--cpa-primary);
}
.edubin-accordion .elementor-accordion .elementor-accordion-item { margin-bottom: 20px; }

.page .post-thumbnail { margin: 0; padding-bottom: 45px; }

/* Conteúdo centralizado fora da página inicial (como no tema anterior). */
body:not(.edubin-front-page) .entry-header,
body:not(.edubin-front-page) .entry-content,
body:not(.edubin-front-page) #comments {
	margin-left: auto;
	margin-right: auto;
}

/* Contêiner do Bootstrap usado pelos widgets do Elementor que vieram com o tema anterior. */
body .container {
	max-width: 100%;
	width: 1170px;
}

/* ==========================================================================
   Rodapé
   ========================================================================== */

.site-footer .footer-top { background-color: var(--cpa-footer-bg); }
.site-footer .footer-bottom { background-color: var(--cpa-copyright-bg); }

.cpa-footer__grid {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
	padding: 70px 0 60px;
}
.cpa-footer__col {
	position: relative;
	width: 100%;
	min-height: 1px;
	padding: 0 15px;
}

.site-footer .widget { margin-bottom: 30px; }
.site-footer .widget:last-child { margin-bottom: 0; }
.site-footer .widget .widget-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 28px;
	color: var(--cpa-footer-text);
	margin-bottom: 25px;
}
.site-footer .widget p {
	font-size: 16px;
	line-height: 24px;
	color: var(--cpa-footer-text);
}
.site-footer .widget a { color: var(--cpa-footer-text); }
.site-footer .widget a:hover { color: var(--cpa-primary); }
.site-footer .widget.widget_media_image img { margin: 0; }
.site-footer .widget img.footer-logo { width: 180px; }

.site-footer .widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-footer .widget ul li {
	position: relative;
	padding: 4px 0 4px 15px;
	border-top: none;
	color: var(--cpa-topbar-text);
}
.site-footer .widget ul.menu li { padding: 4px 0 4px 12px; }
.site-footer .widget ul li::before {
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: var(--cpa-primary);
	position: absolute;
	left: 0;
	top: 4px;
}
.site-footer .widget ul li a {
	font-size: 16px;
	color: var(--cpa-footer-text);
	transition: var(--cpa-ease);
}
.site-footer .widget.widget_nav_menu ul li a:hover {
	margin-left: 5px;
	color: var(--cpa-primary);
}
.site-footer .two-column-menu.widget ul.menu li {
	display: inline-block;
	vertical-align: top;
	width: 48%;
}

/* Ícones sociais [edubin-social] */
.edubin-social { margin-top: -30px; }
.edubin-social a.edubin-social-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin-right: 10px;
	border: 2px solid var(--cpa-primary);
	border-radius: 50px;
	background: var(--cpa-primary);
	color: var(--cpa-topbar-text);
	font-size: 15px;
}
.site-footer .widget .edubin-social a.edubin-social-icon:hover {
	color: var(--cpa-primary);
	background: transparent;
	border-color: var(--cpa-primary);
}
.edubin-social a.edubin-social-icon i { font-style: normal; }

/* Contatos [quick-info] */
.edubin-quickinfo { color: var(--cpa-footer-text); }
.edubin-quickinfo .qicon i {
	width: 16px;
	margin-right: 10px;
	text-align: center;
	font-style: normal;
}

/* Linha de copyright */
.cpa-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
	padding-top: 25px;
	padding-bottom: 25px;
}
.cpa-footer__copy,
.cpa-footer__links {
	width: 100%;
	padding: 0 15px;
}
.site-info {
	font-size: 15px;
	margin: 0;
	color: var(--cpa-footer-text);
}
.site-footer .site-info p {
	display: inline-block;
	margin: 0;
	color: var(--cpa-footer-text);
}
.site-footer .site-info a { color: var(--cpa-footer-text); }
.site-footer .site-info a:hover { color: var(--cpa-primary); }

.social-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.social-navigation li {
	display: inline;
	position: relative;
	margin-left: 5px;
	font-size: 15px;
}
.social-navigation li::before {
	content: "";
	position: absolute;
	right: 3px;
	top: 5px;
	width: 1px;
	height: 11px;
	background: var(--cpa-topbar-text);
}
.social-navigation li:last-child::before { display: none; }
.social-navigation a {
	display: inline-block;
	margin: 0 1em 0.5em 0;
	color: var(--cpa-topbar-text);
	text-align: center;
}
.social-navigation a:hover { color: var(--cpa-primary); }

/* Voltar ao topo */
.back-to-top {
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 10;
	width: 45px;
	height: 45px;
	line-height: 45px;
	border-radius: 50%;
	text-align: center;
	background: var(--cpa-primary);
	opacity: 0.95;
	cursor: pointer;
}
body .back-to-top,
body .back-to-top:hover { color: #fff; }
.back-to-top:hover { opacity: 1; }
.back-to-top i { font-style: normal; }

/* ==========================================================================
   Responsivo (mesmos pontos de quebra do tema anterior)
   ========================================================================== */

@media (min-width: 768px) {
	.cpa-footer__col { flex: 0 0 50%; max-width: 50%; }
	.cpa-footer__copy, .cpa-footer__links { flex: 0 0 50%; max-width: 50%; }
	.cpa-footer__links { text-align: right; }
}

@media (min-width: 992px) {
	.cpa-footer__col--footer-1 { flex: 0 0 33.333333%; max-width: 33.333333%; }
	.cpa-footer__col--footer-2 { flex: 0 0 25%; max-width: 25%; }
	.cpa-footer__col--footer-3 { flex: 0 0 16.666667%; max-width: 16.666667%; }
	.cpa-footer__col--footer-4 { flex: 0 0 25%; max-width: 25%; }
}

@media (max-width: 1024px) {
	.cpa-nav { display: none; }
	.cpa-header__inner { height: auto; }
	.cpa-brand { width: 50%; }
	.cpa-header__inner { align-items: center; }
	/* Busca e menu (☰) lado a lado à direita, centralizados na altura do logo. */
	.cpa-header .cpa-search-toggle,
	.cpa-header .cpa-menu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		line-height: 1;
	}
	.cpa-header .cpa-search-toggle {
		order: 2;
		margin-left: auto;
		font-size: 22px;
	}
	.cpa-header .cpa-menu-toggle {
		order: 3;
		margin-left: 8px;
		margin-right: -8px;
		font-size: 30px;
	}
	/* Sem contorno ao tocar; o contorno continua para quem navega pelo teclado. */
	.cpa-header .cpa-search-toggle:focus:not(:focus-visible),
	.cpa-header .cpa-menu-toggle:focus:not(:focus-visible) { outline: none; }
}

@media (max-width: 991.98px) {
	.cpa-topbar__marquee { display: none !important; }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.cpa-marquee { width: 250px; }
}

@media (max-width: 767.98px) {
	.cpa-topbar__contact { display: none; }
	/* Celular: "Área de alunos" à esquerda; "Siga-nos:" e redes sociais à direita. */
	.cpa-topbar__inner { justify-content: space-between; }
	.cpa-topbar__students { display: inline-flex; }
	.cpa-topbar__right { margin-right: 0; }
	.cpa-topbar__social-wrap { margin-right: 0; }
	.cpa-topbar__follow { margin-right: 4px; }
	.cpa-topbar__social li { padding: 0 0 0 12px; }
	.cpa-topbar__social i { width: 20px; font-size: 20px; }
	.site-footer .cpa-footer__col { margin-bottom: 30px; }
	.site-footer .cpa-footer__col:last-child { margin-bottom: 0; }
}

@media (max-width: 576px) {
	.page-header { min-height: 210px; padding: 30px 0; }
	.page-header .page-title { font-size: 40px; }
	.page-header .header-breadcrumb { margin-top: 5px; }
	.site-info { text-align: center; }
	.cpa-footer__links { margin-top: 12px; text-align: center; }
}

@media (max-width: 480px) {
	/* No original o link do logo grande fica vazio mas ainda ocupa uma linha de 26px. */
	.cpa-brand .custom-logo-link { display: none; }
	/* Altura do cabeçalho fixo no celular: 63px de logo + 46px da barra laranja. */
	.cpa-content,
	.page-header { margin-top: 63px; }
	.cpa-has-topbar .cpa-content,
	.cpa-has-topbar .page-header { margin-top: 109px; }
	.page-header + .cpa-content,
	.cpa-has-topbar .page-header + .cpa-content { margin-top: 0; }
	.cpa-brand__mobile { display: block; }
	.cpa-brand__mobile img { max-width: var(--cpa-logo-mobile-w); }
}

@media (max-width: 320px) {
	.cpa-brand img.custom-logo { max-width: 155px; }
	.cpa-header .cpa-search-toggle { margin-left: 10px; }
}

/* Página protegida por senha */
.post-password-form input { margin-top: 10px; }
.post-password-form input[type="submit"] {
	font-family: var(--cpa-font-form);
	font-weight: 600;
	line-height: 25px;
}

/* Utilitário herdado do tema anterior (Bootstrap): usado nos blocos do Acesso Rápido. */
.text-center { text-align: center !important; }

@media (max-width: 767px) {
	/* Home: botão "Entrar em contato" centralizado na tela, alinhado ao título acima. */
	.elementor-element-0daf91c { width: 100% !important; }
	.elementor-element-0daf91c .elementor-widget-wrap { justify-content: center; }
	/* Formulários: botão de enviar centralizado no celular. */
	div.wpforms-container-full .wpforms-submit-container { text-align: center; }
}

/* Âncora "Área de alunos": o título não fica escondido atrás do cabeçalho fixo. */
#acesso-rapido { scroll-margin-top: 90px; }
