/**
 * IOLE Editora — closer to mockup (black + gray / preto + cinza)
 *
 * Paleta (neutra):
 *   Preto base .......... #1A1A1A  (pilares, dropdowns, chips, texto no rodapé)
 *   Preto neutro hero ... #141414
 *   Grafite ............. #2A2A2A  (texto em barras claras, acentos)
 *   Cinza-chumbo accent . #3A3A3A  (botões primários, bordas-acento em fundo claro)
 *   Cinza médio ......... #8A8A8A / #767676  (linhas em fundo escuro, texto secundário)
 *   Prata ............... #C7C7C7  (acento sobre fundo escuro: bullets, social, chips)
 *   Cinza portal ........ #dddcdc  (1ª barra, barra de menus + fundo do rodapé)
 *   Cinza claro ......... #e5e5e5 / #e0e0e0  (divisores)
 *   Off-white / branco .. #F2F2F2 / #ffffff  (contraste, CTA sobre hero)
 */

body.theme_iole {
	font-family: "Noto Sans", Helvetica, Arial, sans-serif;
	background: #fff;
}

/* —— Reset Default absolute/float layout —— */
body.theme_iole .pkp_structure_head,
body.theme_iole .pkp_head_wrapper,
body.theme_iole .pkp_site_name_wrapper,
body.theme_iole .pkp_site_name,
body.theme_iole .pkp_site_nav_menu,
body.theme_iole .pkp_navigation_primary_row,
body.theme_iole .pkp_navigation_primary_wrapper,
body.theme_iole .pkp_navigation_user,
body.theme_iole .pkp_structure_page,
body.theme_iole .pkp_structure_content,
body.theme_iole .pkp_structure_main,
body.theme_iole .iole-header .pkp_site_name_wrapper,
body.theme_iole .iole-header .pkp_navigation_primary_wrapper,
body.theme_iole .iole-header .pkp_navigation_user {
	position: static !important;
	height: auto !important;
	min-height: 0 !important;
	float: none !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	width: auto !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	transform: none !important;
}

/* Evita barra antiga / topo.css se ainda existir no cache */
body.theme_iole #barra-ioles,
body.theme_iole #wrapper-barra-ioles {
	display: none !important;
}

body.theme_iole .pkp_structure_page {
	display: block !important;
}

/* Default theme draws full-height 1px column borders — this was the white vertical line */
body.theme_iole .pkp_structure_main:before,
body.theme_iole .pkp_structure_main:after,
body.theme_iole .pkp_structure_content:before,
body.theme_iole .pkp_structure_content:after {
	content: none !important;
	display: none !important;
	width: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

/* Hide sidebar on homepage so it cannot leave a column edge */
body.theme_iole.pkp_page_index .pkp_structure_sidebar,
body.theme_iole.pkp_op_index .pkp_structure_sidebar,
body.theme_iole .pkp_structure_sidebar {
	display: none !important;
}

/* Homepage: no sidebar, full width (só home — não pegar catalog op=index) */
body.theme_iole.pkp_page_index .pkp_structure_sidebar {
	display: none !important;
}

body.theme_iole.pkp_page_index .pkp_structure_content {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.theme_iole.pkp_page_index .pkp_structure_main {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Botão Menu próprio (NÃO usar .pkp_site_nav_toggle — conflita com Default) */
body.theme_iole .iole-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 48px;
	min-height: 44px;
	height: 44px;
	margin: 0;
	padding: 0 14px;
	border: 0 !important;
	border-radius: 4px;
	background: #3A3A3A !important;
	color: #fff !important;
	cursor: pointer;
	flex: 0 0 auto;
	position: static !important;
	float: none !important;
	left: auto !important;
	top: auto !important;
	box-shadow: none !important;
	z-index: 70;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1;
}

body.theme_iole .iole-nav-toggle__label {
	display: inline;
}

body.theme_iole .iole-nav-toggle__icon {
	display: block;
	flex: 0 0 auto;
}

body.theme_iole .iole-nav-toggle__icon--close {
	display: none;
}

body.theme_iole.iole-nav-open .iole-nav-toggle__icon--open {
	display: none;
}

body.theme_iole.iole-nav-open .iole-nav-toggle__icon--close {
	display: block;
}

/* Esconde o toggle antigo do Default, se existir */
body.theme_iole .pkp_site_nav_toggle {
	display: none !important;
}

body.theme_iole .iole-area2__tools,
body.theme_iole .iole-area2__utils {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	flex: 0 0 auto;
	min-width: 0;
}

/* Shared content width — same column for areas 1/2/3 */
body.theme_iole .iole-container {
	width: 100%;
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	body.theme_iole .iole-header .pkp_site_name_wrapper,
	body.theme_iole .iole-header .pkp_navigation_user {
		width: auto !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.theme_iole .iole-header .pkp_navigation_primary_wrapper,
	body.theme_iole .iole-header .pkp_site_nav_menu {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

body.theme_iole .pkp_structure_head,
body.theme_iole .iole-header {
	background: transparent !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ========== 1ª ÁREA: Barra Portal IOLEs ========== */
body.theme_iole .iole-area1 {
	display: block !important;
	background: #dddcdc; /* 1ª área: cinza */
	border-bottom: 1px solid #cfcfcf;
	width: 100%;
	overflow: hidden;
}

body.theme_iole .iole-area1__inner {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 40px;
	padding-top: 4px;
	padding-bottom: 4px;
	box-sizing: border-box;
}

body.theme_iole .iole-portal-brand {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center;
	flex: 0 0 auto;
	text-decoration: none !important;
	padding: 0 12px 0 0 !important;
	/* sem border-right: evitava a linha vertical atravessando o menu ("Novos") */
	border: 0 !important;
	min-height: 28px;
	background: none !important;
	width: auto !important;
	height: auto !important;
	writing-mode: horizontal-tb !important;
	box-shadow: none !important;
	outline: 0 !important;
}

body.theme_iole .iole-portal-brand__img {
	display: block;
	height: 30px;
	width: auto;
	max-width: 160px;
	flex: 0 0 auto;
	object-fit: contain;
}

/* Logo editora (área 2): vem do upload em Aparência — sem override de imagem */

body.theme_iole .iole-portal-brand__text {
	display: none !important;
}

body.theme_iole .iole-area1__sites {
	flex: 1 1 auto;
	display: flex;
	justify-content: flex-end;
}

body.theme_iole .iole-area1__list {
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

body.theme_iole .iole-area1__list li {
	margin: 0;
	float: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.theme_iole .iole-area1__list a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4px 14px;
	text-decoration: none;
}

body.theme_iole .iole-area1__list img {
	display: block;
	height: 27px;
	width: auto;
	max-width: 72px;
	object-fit: contain;
}

/* ========== 2ª ÁREA: Logo + Login (branca) ========== */
body.theme_iole .iole-area2 {
	background: #fff;
	border-bottom: 1px solid #e5e5e5;
	width: 100%;
	overflow: visible; /* precisa deixar o dropdown do usuário aparecer */
	position: relative;
	z-index: 40;
}

body.theme_iole .iole-area2__inner {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas:
		"brand utils"
		"brand find";
	align-items: center;
	column-gap: 28px;
	row-gap: 6px;
	padding-top: 4px;
	padding-bottom: 12px;
	box-sizing: border-box;
	width: 100%;
}

body.theme_iole .iole-area2__utils {
	grid-area: utils;
	justify-self: end;
	align-self: center;
}

body.theme_iole .iole-area2__brand {
	grid-area: brand;
	align-self: stretch;
	min-height: 0;
}

body.theme_iole .iole-area2__find {
	grid-area: find;
	display: flex;
	align-items: stretch;
	min-width: 0;
	width: 100%;
}

body.theme_iole .iole-area2__brand,
body.theme_iole .pkp_site_name_wrapper {
	display: flex !important;
	align-items: center;
	flex: 0 1 auto;
	margin: 0 !important;
	padding: 2px 0 !important;
	float: none !important;
	position: static !important;
	left: auto !important;
	width: auto !important;
}

body.theme_iole .pkp_site_name {
	overflow: visible !important;
	white-space: normal !important;
	padding: 0 !important;
	margin: 0 !important;
	position: static !important;
	left: auto !important;
	right: auto !important;
	display: flex !important;
	align-items: center;
	height: 100%;
}

body.theme_iole .pkp_site_name a.is_img {
	display: flex !important;
	align-items: center;
	height: 100%;
}

body.theme_iole .pkp_site_name img {
	max-height: 100% !important;
	max-width: 380px;
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
}

@media (min-width: 901px) {
	body.theme_iole .iole-area2 .pkp_site_name img {
		max-height: 78px !important;
	}
}

body.theme_iole .pkp_site_name .is_text,
body.theme_iole .pkp_site_name a {
	color: #1A1A1A !important;
	font-size: 24px !important;
	line-height: 1.15 !important;
	font-weight: 700;
	text-decoration: none;
}

body.theme_iole .iole-area2__user {
	flex: 0 0 auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	float: none !important;
	position: relative !important;
	right: auto !important;
	align-self: center !important;
	overflow: visible !important;
	z-index: 50;
}

/* User login dropdown */
body.theme_iole .iole-user-nav {
	position: relative;
	z-index: 50;
	overflow: visible !important;
}

body.theme_iole .iole-user-menu,
body.theme_iole #navigationUser,
body.theme_iole .iole-area2 .pkp_navigation_user {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	width: auto !important;
	max-width: none !important;
	float: none !important;
	position: relative !important;
	overflow: visible !important;
}

body.theme_iole .iole-user-menu > li,
body.theme_iole #navigationUser > li {
	position: relative;
	float: none !important;
	margin: 0 !important;
	overflow: visible !important;
}

body.theme_iole .iole-user-menu > li > a,
body.theme_iole #navigationUser > li > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #1A1A1A !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	padding: 4px 0 !important;
	background: transparent !important;
	white-space: nowrap;
}

body.theme_iole .iole-user-menu > li > a:hover,
body.theme_iole #navigationUser > li > a:hover {
	color: #5A5A5A !important;
}

body.theme_iole .iole-user-menu > li > ul,
body.theme_iole #navigationUser > li > ul,
body.theme_iole .iole-user-menu .dropdown-menu,
body.theme_iole #navigationUser .dropdown-menu {
	display: none;
	position: absolute !important;
	top: 100%;
	right: 0;
	left: auto !important;
	min-width: 240px;
	/* sem gap: o margin quebrava o :hover e cortava opções */
	margin: 0 !important;
	padding: 8px 0 !important;
	list-style: none;
	background: #1A1A1A !important;
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
	z-index: 200;
	overflow: visible !important;
	height: auto !important;
	max-height: none !important;
}

/* ponte invisível para o mouse não “cair” entre o link e o menu */
body.theme_iole .iole-user-menu > li > ul::before,
body.theme_iole #navigationUser > li > ul::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -10px;
	height: 10px;
}

body.theme_iole .iole-user-menu > li:hover > ul,
body.theme_iole .iole-user-menu > li:focus-within > ul,
body.theme_iole .iole-user-menu > li.open > ul,
body.theme_iole .iole-user-menu > li.show > ul,
body.theme_iole #navigationUser > li:hover > ul,
body.theme_iole #navigationUser > li:focus-within > ul,
body.theme_iole #navigationUser > li.open > ul,
body.theme_iole #navigationUser > li.show > ul {
	display: block !important;
}

body.theme_iole .iole-user-menu > li > ul > li,
body.theme_iole #navigationUser > li > ul > li {
	display: block !important;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

body.theme_iole .iole-user-menu > li > ul a,
body.theme_iole #navigationUser > li > ul a {
	display: block !important;
	padding: 10px 16px !important;
	color: #fff !important;
	font-size: 14px;
	text-decoration: none;
	background: transparent !important;
	white-space: nowrap;
}

body.theme_iole .iole-user-menu > li > ul a:hover,
body.theme_iole #navigationUser > li > ul a:hover {
	background: rgba(255, 255, 255, 0.08) !important;
	color: #fff !important;
}

/* ========== 3ª ÁREA: Menu + Busca (mesmo cinza do portal) ========== */
body.theme_iole .iole-area3 {
	background: #dddcdc;
	width: 100%;
	border-bottom: 1px solid #cfcfcf;
	overflow: visible;
}

/* ========== 4ª ÁREA: faixa preta (início do conteúdo / hero) ========== */
body.theme_iole .iole-area4,
body.theme_iole .iole-hero {
	background-color: #000000;
}

body.theme_iole .iole-area3__inner {
	display: flex !important;
	align-items: center !important;
	justify-content: stretch;
	gap: 0;
	min-height: 48px;
	height: 48px;
	padding: 0 !important;
	box-sizing: border-box;
	width: 100%;
}

body.theme_iole .iole-area3__nav,
body.theme_iole .iole-area3 .pkp_site_nav_menu {
	flex: 1 1 auto;
	display: flex !important;
	align-items: center !important;
	align-self: stretch;
	background: transparent !important;
	min-width: 0;
	width: 100% !important;
	height: 100% !important;
	float: none !important;
	position: static !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.theme_iole .iole-area3 .pkp_navigation_primary_row,
body.theme_iole .iole-area3 .pkp_navigation_primary_wrapper {
	background: transparent !important;
	display: flex !important;
	align-items: center !important;
	position: static !important;
	width: 100% !important;
	height: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.theme_iole .iole-area3 .pkp_navigation_primary,
body.theme_iole .iole-area3 .pkp_nav_list,
body.theme_iole .iole-primary-menu {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	justify-content: space-evenly !important;
	align-self: stretch;
	gap: 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: transparent !important;
	width: 100% !important;
	height: 100% !important;
	float: none !important;
}

body.theme_iole .iole-area3 .pkp_navigation_primary > li,
body.theme_iole .iole-area3 .pkp_nav_list > li,
body.theme_iole .iole-primary-menu > li {
	float: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center;
	align-self: stretch;
	flex: 1 1 0;
	min-width: 0;
	margin: 0 !important;
	width: auto !important;
	max-width: none !important;
	height: auto;
	position: relative;
}

body.theme_iole .iole-area3 .pkp_navigation_primary > li > a,
body.theme_iole .iole-area3 .pkp_nav_list > li > a,
body.theme_iole .iole-primary-menu > li > a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center;
	color: #1A1A1A !important;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.2 !important;
	letter-spacing: 0.01em;
	text-transform: none;
	text-align: center;
	background: transparent !important;
	padding: 0 10px !important;
	margin: 0 !important;
	border: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;
	white-space: nowrap;
	height: 100%;
	max-width: 100%;
}

/* Seta do submenu alinhada ao texto */
body.theme_iole .iole-area3 .pkp_navigation_primary > li > a[aria-haspopup]:after,
body.theme_iole .iole-area3 .pkp_nav_list > li > a[aria-haspopup]:after {
	position: static !important;
	align-self: center;
	margin-top: 0 !important;
	margin-left: 0.3em;
	vertical-align: middle;
}

body.theme_iole .iole-area3 .pkp_navigation_primary > li > a:hover,
body.theme_iole .iole-area3 .pkp_navigation_primary > li > a:focus {
	color: #1A1A1A !important;
	opacity: 0.7;
}

@media (max-width: 1100px) and (min-width: 901px) {
	body.theme_iole .iole-area3 .pkp_navigation_primary > li > a,
	body.theme_iole .iole-area3 .pkp_nav_list > li > a,
	body.theme_iole .iole-primary-menu > li > a {
		font-size: 13px;
		padding: 0 6px !important;
		white-space: normal;
	}
}

/* Área 1 pode clipar; 2 e 3 precisam overflow visible p/ dropdowns */
body.theme_iole .iole-area1 {
	overflow: hidden;
}
body.theme_iole .iole-header,
body.theme_iole .iole-area2,
body.theme_iole .iole-area2__inner,
body.theme_iole .iole-area3,
body.theme_iole .iole-area3__inner {
	overflow: visible !important;
}
body.theme_iole .iole-area3 .pkp_navigation_primary > li {
	overflow: visible;
}
body.theme_iole .iole-area3 .pkp_navigation_primary > li > ul {
	border: 0 !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
}

/* Submenus on menu bar */
body.theme_iole .iole-area3 .pkp_navigation_primary > li > ul {
	background: #fff !important;
	border: 1px solid #cfcfcf;
	min-width: 12em;
	padding: 6px 0 !important;
}

body.theme_iole .iole-area3 .pkp_navigation_primary > li > ul a {
	color: #1A1A1A !important;
	border-left: 3px solid transparent !important;
	padding: 10px 16px !important;
	background: transparent !important;
}

body.theme_iole .iole-area3 .pkp_navigation_primary > li > ul a:hover,
body.theme_iole .iole-area3 .pkp_navigation_primary > li > ul a:focus {
	background: rgba(26, 26, 26, 0.06) !important;
	color: #1A1A1A !important;
	border-left-color: #2A2A2A !important;
	outline: 0 !important;
}

body.theme_iole .iole-area3__search,
body.theme_iole .iole-area3__find {
	display: none !important;
}

body.theme_iole .iole-cat-select {
	flex: 0 1 200px;
	min-width: 140px;
	max-width: 220px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid #cfcfcf;
	border-right: 0;
	border-radius: 2px 0 0 2px;
	background: #fff;
	color: #1A1A1A;
	font-size: 14px;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
}

body.theme_iole .iole-search-form,
body.theme_iole form.iole-search {
	display: flex !important;
	align-items: stretch;
	gap: 0;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	float: none !important;
	width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	overflow: visible !important;
	background: transparent !important;
}

body.theme_iole .iole-area2__find .iole-search-form {
	flex: 1 1 auto;
}

body.theme_iole .iole-search-form input[type="search"],
body.theme_iole .iole-search-form input[type="text"] {
	position: static !important;
	display: block !important;
	flex: 1 1 auto;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	height: 44px !important;
	line-height: 44px !important;
	padding: 0 16px !important;
	margin: 0 !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 2px 0 0 2px !important;
	background: #fff !important;
	color: #1A1A1A !important;
	font-size: 15px !important;
	box-shadow: none !important;
	opacity: 1 !important;
	box-sizing: border-box !important;
}

body.theme_iole .iole-area2__find--has-cat .iole-search-form input[type="search"],
body.theme_iole .iole-area2__find--has-cat .iole-search-form input[type="text"] {
	border-left: 0 !important;
	border-radius: 0 !important;
}

body.theme_iole .iole-search-form button[type="submit"] {
	position: static !important;
	left: auto !important;
	top: auto !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 44px !important;
	padding: 0 20px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 2px 2px 0 !important;
	background: #1A1A1A !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	cursor: pointer;
	white-space: nowrap;
	flex: 0 0 auto;
}

body.theme_iole .iole-search-form .search_controls {
	display: none !important;
}

/* Mobile nav + layout — ver bloco @media no final da seção header */

body.theme_iole .cmp_button,
body.theme_iole input[type="submit"],
body.theme_iole a.pkp_button {
	background: #3A3A3A !important;
	border-color: #3A3A3A !important;
	color: #fff !important;
}

/* —— Hero full-bleed (imagem impactante + CTA catálogo) —— */
body.theme_iole .iole-hero {
	display: flex;
	align-items: center;
	clear: both;
	width: 100%;
	min-height: clamp(320px, 42vw, 480px);
	box-sizing: border-box;
	background-color: #141414;
	background-image:
		linear-gradient(105deg, rgba(15, 15, 15, 0.78) 0%, rgba(15, 15, 15, 0.55) 45%, rgba(15, 15, 15, 0.22) 75%, rgba(15, 15, 15, 0.08) 100%),
		url("../images/hero-catalogo.jpg");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	color: #fff;
	padding: 72px 24px;
	margin: 0 0 48px;
	position: relative;
	z-index: 1;
	border-top: 0;
	overflow: hidden;
}

body.theme_iole .iole-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, #B8B8B8 0%, rgba(255, 255, 255, 0.12) 55%, transparent 100%);
	pointer-events: none;
}

body.theme_iole .iole-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
}

body.theme_iole .iole-hero h1 {
	margin: 0 0 14px;
	font-size: clamp(32px, 4.2vw, 48px);
	line-height: 1.1;
	font-weight: 700;
	color: #fff !important;
	position: static !important;
	max-width: 560px;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45);
}

body.theme_iole .iole-hero p {
	max-width: 460px;
	margin: 0 0 28px;
	font-size: 16px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}

body.theme_iole .iole-hero__cta {
	display: inline-block;
	background: #F2F2F2;
	color: #1A1A1A !important;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 14px 26px;
	text-decoration: none !important;
	border-radius: 2px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
	transition: background 0.2s ease, transform 0.2s ease;
}

body.theme_iole .iole-hero__cta:hover,
body.theme_iole .iole-hero__cta:focus {
	background: #ffffff;
	color: #1A1A1A !important;
	transform: translateY(-1px);
}

body.theme_iole .page_homepage > img {
	display: none;
}

/* —— Content —— */
body.theme_iole .page_homepage {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 24px 56px;
	clear: both;
}

body.theme_iole .iole-section-title,
body.theme_iole .page_homepage .cmp_monographs_list > .title {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #1A1A1A !important;
	margin: 0;
}

body.theme_iole .iole-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 28px;
}

body.theme_iole .iole-section-head a {
	color: #3A3A3A;
	font-weight: 600;
	font-size: 13px;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* —— Releases carousel: only N visible, rest off-screen —— */
body.theme_iole .iole-carousel {
	--iole-per-view: 4;
	--iole-total: 4;
	position: relative;
	margin: 0 0 56px;
	padding: 8px 0 12px;
}

body.theme_iole .iole-carousel__head {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 28px;
	min-height: 40px;
}

body.theme_iole .iole-carousel__title {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	color: #767676;
	text-align: center;
	letter-spacing: 0;
	text-transform: none;
}

body.theme_iole .iole-carousel__nav {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	gap: 6px;
	z-index: 2;
}

body.theme_iole .iole-carousel__btn {
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 2px;
	background: #3A3A3A;
	color: #fff;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

body.theme_iole .iole-carousel__btn:hover:not(:disabled) {
	background: #1A1A1A;
}

body.theme_iole .iole-carousel__btn:disabled {
	opacity: 0.35;
	cursor: default;
}

body.theme_iole .iole-carousel__viewport {
	overflow: hidden !important;
	width: 100%;
	max-width: 100%;
}

/* Track wider than viewport: total/perView * 100% of viewport */
body.theme_iole .iole-carousel__track {
	display: flex;
	flex-wrap: nowrap !important;
	width: calc(var(--iole-total) / var(--iole-per-view) * 100%);
	max-width: none !important;
	transition: transform 0.4s ease;
	will-change: transform;
	gap: 0;
	margin: 0;
	padding: 0;
}

/* Each slide = 1/total of track ⇒ 1/perView of viewport */
body.theme_iole .iole-carousel__slide {
	box-sizing: border-box;
	flex: 0 0 calc(100% / var(--iole-total)) !important;
	width: calc(100% / var(--iole-total)) !important;
	max-width: calc(100% / var(--iole-total)) !important;
	min-width: calc(100% / var(--iole-total)) !important;
	padding: 0 12px;
}

body.theme_iole .iole-carousel__slide-inner {
	width: 100%;
}

body.theme_iole .iole-carousel .obj_monograph_summary {
	margin: 0 !important;
	float: none !important;
	text-align: center;
	width: 100% !important;
	max-width: none !important;
}

body.theme_iole .iole-carousel .obj_monograph_summary > *,
body.theme_iole .iole-carousel .obj_monograph_summary .title {
	display: block !important;
	margin-left: 0 !important;
	float: none !important;
}

body.theme_iole .iole-carousel .obj_monograph_summary .cover {
	float: none !important;
	width: 100% !important;
	margin: 0 0 12px !important;
}

body.theme_iole .iole-carousel .obj_monograph_summary .cover img {
	width: 100% !important;
	max-width: none !important;
	max-height: none !important;
	height: auto !important;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}

body.theme_iole .iole-carousel .obj_monograph_summary .title {
	font-size: 13px;
	font-weight: 500;
	color: #8a8a8a;
	text-align: center;
	margin: 0 !important;
	line-height: 1.35;
}

body.theme_iole .iole-carousel .obj_monograph_summary .title a {
	color: inherit;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

body.theme_iole .iole-carousel .obj_monograph_summary .author,
body.theme_iole .iole-carousel .obj_monograph_summary .date,
body.theme_iole .iole-carousel .obj_monograph_summary .seriesPosition {
	display: none !important;
}

/* Cover grid — homepage + catálogo (4 por linha, capa grande) */
body.theme_iole .page_homepage .cmp_monographs_list,
body.theme_iole .iole-cover-grid {
	margin-bottom: 56px;
}

body.theme_iole .page_homepage .cmp_monographs_list .row,
body.theme_iole .iole-cover-grid .row {
	display: flex !important;
	flex-wrap: wrap;
	gap: 28px;
	margin: 0 0 28px !important;
	border: 0 !important;
	clear: both;
}

body.theme_iole .page_homepage .obj_monograph_summary,
body.theme_iole .iole-cover-grid .obj_monograph_summary {
	flex: 1 1 calc(25% - 28px);
	max-width: calc(25% - 21px);
	min-width: 160px;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	width: auto !important;
	border: 0 !important;
	text-align: center;
}

body.theme_iole .page_homepage .obj_monograph_summary > *,
body.theme_iole .page_homepage .obj_monograph_summary .title,
body.theme_iole .iole-cover-grid .obj_monograph_summary > *,
body.theme_iole .iole-cover-grid .obj_monograph_summary .title {
	display: block !important;
	margin-left: 0 !important;
	float: none !important;
}

body.theme_iole .page_homepage .obj_monograph_summary .cover,
body.theme_iole .iole-cover-grid .obj_monograph_summary .cover {
	float: none !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 12px !important;
}

body.theme_iole .page_homepage .obj_monograph_summary .cover img,
body.theme_iole .iole-cover-grid .obj_monograph_summary .cover img {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	max-height: none !important;
	height: auto !important;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	margin: 0 auto !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.theme_iole .iole-cover-grid .obj_monograph_summary .cover:hover img {
	transform: translateY(-3px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.2);
}

body.theme_iole .page_homepage .obj_monograph_summary .title,
body.theme_iole .iole-cover-grid .obj_monograph_summary .title {
	font-size: 13px;
	text-align: center;
	font-weight: 600;
	color: #1A1A1A;
	line-height: 1.35;
	margin: 0 !important;
}

body.theme_iole .iole-cover-grid .obj_monograph_summary .title a {
	color: #1A1A1A !important;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

body.theme_iole .iole-cover-grid .obj_monograph_summary .title a:hover {
	color: #5A5A5A !important;
}

body.theme_iole .page_homepage .obj_monograph_summary .author,
body.theme_iole .page_homepage .obj_monograph_summary .date,
body.theme_iole .page_homepage .obj_monograph_summary .seriesPosition,
body.theme_iole .iole-cover-grid .obj_monograph_summary .author,
body.theme_iole .iole-cover-grid .obj_monograph_summary .date,
body.theme_iole .iole-cover-grid .obj_monograph_summary .seriesPosition {
	display: none !important;
}

@media (max-width: 900px) {
	body.theme_iole .iole-cover-grid .obj_monograph_summary {
		flex: 1 1 calc(50% - 20px);
		max-width: calc(50% - 14px);
	}
}

@media (max-width: 520px) {
	body.theme_iole .iole-cover-grid .obj_monograph_summary {
		flex: 1 1 100%;
		max-width: 220px;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* Stats */
body.theme_iole .iole-stats {
	text-align: center;
	padding: 56px 0 48px;
	margin: 0 0 16px;
	border-top: 1px solid #e5e5e5;
}

body.theme_iole .iole-stats h2,
body.theme_iole .iole-about h2 {
	margin: 0 0 36px;
	font-size: 20px;
	letter-spacing: 0.08em;
	color: #1A1A1A;
	text-transform: uppercase;
	text-align: center;
	font-weight: 700;
}

body.theme_iole .iole-stats__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

body.theme_iole .iole-stats__item strong {
	display: block;
	font-size: 36px;
	color: #1A1A1A;
	line-height: 1.1;
	margin-bottom: 8px;
}

body.theme_iole .iole-stats__item span {
	display: block;
	font-size: 13px;
	color: #666;
	line-height: 1.35;
}

/* —— Pillars: Áreas / Missão / Visão (breaks white sections) —— */
body.theme_iole .iole-pillars {
	background: #1A1A1A;
	color: #fff;
	margin: 8px -24px 0;
	padding: 64px 24px;
	position: relative;
	border-top: 4px solid #8A8A8A;
	border-bottom: 4px solid #8A8A8A;
}

body.theme_iole .iole-pillars::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 10% 20%, rgba(255, 255, 255, 0.06), transparent 45%),
		radial-gradient(ellipse at 90% 80%, rgba(255, 255, 255, 0.04), transparent 40%);
	pointer-events: none;
}

body.theme_iole .iole-pillars__inner {
	position: relative;
	z-index: 1;
	max-width: 1140px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

body.theme_iole .iole-pillar {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.18);
	padding: 28px 24px 32px;
	min-height: 220px;
}

body.theme_iole .iole-pillar__label {
	display: none !important;
}

body.theme_iole .iole-pillar h3 {
	margin: 0 0 16px;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	padding-bottom: 12px;
}

body.theme_iole .iole-pillar p,
body.theme_iole .iole-pillar .value,
body.theme_iole .iole-pillar div {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.9) !important;
}

body.theme_iole .iole-pillar__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.theme_iole .iole-pillar__list li {
	position: relative;
	padding: 0 0 8px 14px;
	font-size: 14px;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.85);
}

body.theme_iole .iole-pillar__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #C7C7C7;
}

/* About */
body.theme_iole .iole-about {
	padding: 56px 0 64px;
}

body.theme_iole .iole-about__grid {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 40px;
	align-items: center;
}

body.theme_iole .iole-about__media img {
	display: block;
	width: 100%;
	height: auto;
}

body.theme_iole .iole-about__text p,
body.theme_iole .iole-about__text {
	color: #666;
	font-size: 15px;
	line-height: 1.7;
}

body.theme_iole .iole-about__text p {
	margin: 0 0 14px;
}

body.theme_iole .iole-about__quote {
	margin: 22px 0 0;
	font-style: italic;
	text-align: center;
	color: #1A1A1A;
	font-size: 17px;
}

/* Home — Fale conosco (faixa discreta; paleta existente) */
body.theme_iole .iole-home-contact {
	margin: 8px 0 0;
	padding: 40px 0 8px;
	border-top: 1px solid #e5e5e5;
	text-align: center;
}

body.theme_iole .iole-home-contact__inner {
	max-width: 640px;
	margin: 0 auto;
}

body.theme_iole .iole-home-contact h2 {
	margin: 0 0 12px;
	font-size: 20px;
	letter-spacing: 0.08em;
	color: #1A1A1A;
	text-transform: uppercase;
	font-weight: 700;
}

body.theme_iole .iole-home-contact__text {
	margin: 0 auto 22px;
	max-width: 520px;
	font-size: 15px;
	line-height: 1.6;
	color: #666;
}

body.theme_iole .iole-home-contact__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px 24px;
}

body.theme_iole .iole-home-contact__cta {
	display: inline-flex;
	align-items: center;
	background: #1A1A1A;
	color: #fff !important;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 12px 22px;
	text-decoration: none !important;
	border-radius: 2px;
	transition: background 0.2s ease;
}

body.theme_iole .iole-home-contact__cta:hover,
body.theme_iole .iole-home-contact__cta:focus {
	background: #3A3A3A;
	color: #fff !important;
	text-decoration: none !important;
}

body.theme_iole .iole-home-contact__wa {
	color: #3A3A3A !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	border-bottom: 1px solid #c7c7c7;
}

body.theme_iole .iole-home-contact__wa:hover,
body.theme_iole .iole-home-contact__wa:focus {
	color: #1A1A1A !important;
	border-bottom-color: #1A1A1A;
}

/* Footer — mesmo cinza da 1ª barra (portal) */
body.theme_iole .iole-footer {
	background: #dddcdc;
	color: #3A3A3A;
	padding: 0;
	margin-top: 0;
	clear: both;
	border-top: 1px solid #cfcfcf;
}

body.theme_iole .iole-footer__wrap {
	max-width: 1140px;
	margin: 0 auto;
	padding: 64px 24px 0;
	box-sizing: border-box;
}

body.theme_iole .iole-footer a {
	color: #2A2A2A;
	text-decoration: none;
}

body.theme_iole .iole-footer a:hover,
body.theme_iole .iole-footer a:focus {
	color: #1A1A1A;
	text-decoration: none;
}

body.theme_iole .iole-footer__inner {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1.2fr 1.25fr;
	grid-template-areas:
		"brand quick submit contact"
		"networks quick submit contact";
	column-gap: 40px;
	row-gap: 28px;
	align-items: start;
	padding-bottom: 48px;
}

body.theme_iole .iole-footer__brand {
	grid-area: brand;
	min-width: 0;
}

body.theme_iole .iole-footer__quick {
	grid-area: quick;
}

body.theme_iole .iole-footer__submit {
	grid-area: submit;
}

body.theme_iole .iole-footer__contact {
	grid-area: contact;
}

body.theme_iole .iole-footer__networks {
	grid-area: networks;
	align-self: end;
}

body.theme_iole .iole-footer__col {
	min-width: 0;
}

body.theme_iole .iole-footer__logo-link {
	display: inline-block;
	max-width: 100%;
}

body.theme_iole .iole-footer__logo {
	display: block;
	max-height: 64px;
	max-width: 240px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: none;
}

body.theme_iole .iole-footer__wordmark {
	display: inline-block;
	color: #1A1A1A;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

body.theme_iole .iole-footer__tagline {
	margin: 14px 0 0;
	max-width: 26em;
	font-size: 14px;
	line-height: 1.55;
	color: #5A5A5A;
}

body.theme_iole .iole-footer h4 {
	margin: 0 0 16px;
	color: #1A1A1A;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

body.theme_iole .iole-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.theme_iole .iole-footer li {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.45;
}

body.theme_iole .iole-footer__submit {
	padding-left: 18px;
	border-left: 1px solid #cfcfcf;
}

body.theme_iole .iole-footer__cta {
	display: inline-flex;
	align-items: center;
	margin-top: 18px;
	padding: 10px 16px;
	border: 1px solid #2A2A2A;
	color: #1A1A1A !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

body.theme_iole .iole-footer__cta:hover,
body.theme_iole .iole-footer__cta:focus {
	border-color: #1A1A1A;
	background: rgba(26, 26, 26, 0.06);
	color: #1A1A1A !important;
}

body.theme_iole .iole-footer__contacts li {
	margin-bottom: 10px;
}

body.theme_iole .iole-footer__address {
	margin: 16px 0 0;
	font-size: 14px;
	font-style: normal;
	line-height: 1.6;
	color: #5A5A5A;
}

body.theme_iole .iole-footer .iole-header-social--footer {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	margin: 0;
}

body.theme_iole .iole-footer .iole-header-icon {
	color: #2A2A2A;
	width: 32px;
	height: 32px;
}

body.theme_iole .iole-footer .iole-header-icon:hover,
body.theme_iole .iole-footer .iole-header-icon:focus {
	color: #1A1A1A;
	opacity: 1;
}

body.theme_iole .iole-footer .iole-header-icon__svg {
	width: 22px;
	height: 22px;
}

body.theme_iole .iole-footer__bottom {
	border-top: 1px solid #cfcfcf;
	padding: 18px 0 28px;
	font-size: 13px;
	color: #5A5A5A;
	text-align: left;
}

body.theme_iole .iole-footer__bottom p {
	margin: 0;
}

body.theme_iole .whatsapp {
	position: fixed;
	bottom: 12px;
	right: 12px;
	z-index: 10000000;
	width: 56px;
	height: auto;
}

/* ========== Mobile / tablet ==========
   Usa media query E classe .iole-is-mobile (JS) para celular real */
@media (max-width: 900px) {
	body.theme_iole .iole-about__grid,
	body.theme_iole .iole-pillars__inner {
		grid-template-columns: 1fr !important;
	}

	/* Rodapé: 2 colunas em tablet */
	body.theme_iole .iole-footer__inner {
		grid-template-columns: 1fr 1fr !important;
		grid-template-areas:
			"brand quick"
			"submit contact"
			"networks networks" !important;
		column-gap: 32px;
		row-gap: 36px;
	}

	body.theme_iole .iole-footer__submit {
		padding-left: 0;
		border-left: 0;
	}
}

/* Modo mobile: botão Menu + painel (media OU classe JS) */
@media (max-width: 900px) {
	body.theme_iole .iole-nav-toggle {
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* Default esconde .pkp_site_nav_menu no mobile — forçar visível no nosso painel */
	body.theme_iole .iole-area3 .pkp_site_nav_menu {
		display: block !important;
		position: static !important;
		width: 100% !important;
		height: auto !important;
		padding: 0 !important;
		background: transparent !important;
	}

	body.theme_iole .iole-area2__inner {
		grid-template-columns: minmax(0, auto) minmax(0, 1fr);
		grid-template-areas:
			"brand utils"
			"find find";
		column-gap: 12px;
		row-gap: 8px;
		padding-top: 8px;
		padding-bottom: 10px;
	}

	body.theme_iole .iole-area2 .pkp_site_name img {
		max-height: 48px !important;
		max-width: 200px;
		width: auto !important;
		height: auto !important;
	}

	body.theme_iole .iole-area3 {
		display: none !important;
	}

	body.theme_iole .iole-header {
		position: relative;
		z-index: 100050;
		overflow: visible !important;
	}

	body.theme_iole.iole-nav-open {
		overflow: hidden;
	}
}

/* Backdrop + painel flutuante (acima do hero/conteúdo) */
body.theme_iole .iole-nav-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 100040;
	background: rgba(0, 0, 0, 0.45);
}

body.theme_iole.iole-nav-open .iole-nav-backdrop {
	display: block;
}

body.theme_iole.iole-nav-open .iole-area3,
body.theme_iole .iole-area3[data-iole-open="1"] {
	display: block !important;
	position: fixed !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 100060 !important;
	background: #dddcdc !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
}

/* Mesmas regras quando JS marca .iole-is-mobile (celular real / touch) */
body.theme_iole.iole-is-mobile .iole-nav-toggle {
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
}

body.theme_iole.iole-is-mobile .iole-area3 .pkp_site_nav_menu {
	display: block !important;
	position: static !important;
	width: 100% !important;
	height: auto !important;
	padding: 0 !important;
	background: transparent !important;
}

body.theme_iole.iole-is-mobile .iole-area2__inner {
	grid-template-columns: minmax(0, auto) minmax(0, 1fr);
	grid-template-areas:
		"brand utils"
		"find find";
	column-gap: 12px;
	row-gap: 8px;
	padding-top: 8px;
	padding-bottom: 10px;
}

body.theme_iole.iole-is-mobile .iole-area2 .pkp_site_name img {
	max-height: 44px !important;
	max-width: 160px;
	width: auto !important;
	height: auto !important;
}

body.theme_iole.iole-is-mobile .iole-area3:not([data-iole-open="1"]) {
	display: none !important;
}

body.theme_iole.iole-is-mobile .iole-header {
	position: relative;
	z-index: 100050;
	overflow: visible !important;
}

body.theme_iole.iole-is-mobile.iole-nav-open {
	overflow: hidden;
}

body.theme_iole.iole-is-mobile .iole-nav-toggle {
	position: relative;
	z-index: 100070 !important;
}

/* Tipografia bem maior em celular real (S24 Ultra etc.) */
html.iole-is-mobile {
	font-size: 20px !important;
}

body.theme_iole.iole-is-mobile {
	font-size: 20px !important;
	line-height: 1.55 !important;
}

/* Topo: ícones e sanduíche um pouco menores */
body.theme_iole.iole-is-mobile .iole-area1__inner {
	min-height: 40px;
	padding-top: 4px;
	padding-bottom: 4px;
}

body.theme_iole.iole-is-mobile .iole-area1__list a {
	padding: 4px 8px !important;
	min-height: 36px;
	min-width: 0;
}

body.theme_iole.iole-is-mobile .iole-area1__list img {
	height: 24px !important;
	max-width: 64px !important;
}

body.theme_iole.iole-is-mobile .iole-portal-brand__img {
	height: 24px !important;
	max-width: 140px !important;
}

body.theme_iole.iole-is-mobile .iole-area2 .pkp_site_name img {
	max-height: 44px !important;
	max-width: 160px;
}

body.theme_iole.iole-is-mobile .iole-nav-toggle {
	min-width: 40px !important;
	min-height: 38px !important;
	height: 38px !important;
	padding: 0 10px !important;
	font-size: 12px !important;
	gap: 6px !important;
}

body.theme_iole.iole-is-mobile .iole-nav-toggle__icon--open {
	width: 18px !important;
	height: 14px !important;
}

body.theme_iole.iole-is-mobile .iole-nav-toggle__icon--close {
	width: 14px !important;
	height: 14px !important;
}

body.theme_iole.iole-is-mobile .iole-user-nav a,
body.theme_iole.iole-is-mobile .iole-area2__user a {
	font-size: 12px !important;
	padding: 4px 2px !important;
}

/* Em telas estreitas: só os 3 tracinhos (sem a palavra MENU cortada) */
@media (max-width: 420px) {
	body.theme_iole.iole-is-mobile .iole-nav-toggle__label {
		display: none !important;
	}

	body.theme_iole.iole-is-mobile .iole-nav-toggle {
		padding: 0 10px !important;
	}
}

body.theme_iole.iole-is-mobile .iole-hero {
	padding: 56px 22px !important;
}

body.theme_iole.iole-is-mobile .iole-hero h1 {
	font-size: 40px !important;
	line-height: 1.12 !important;
}

body.theme_iole.iole-is-mobile .iole-hero p {
	font-size: 20px !important;
	line-height: 1.5 !important;
}

body.theme_iole.iole-is-mobile .iole-hero__cta {
	font-size: 16px !important;
	padding: 16px 26px !important;
}

body.theme_iole.iole-is-mobile .iole-carousel__title,
body.theme_iole.iole-is-mobile .iole-stats h2,
body.theme_iole.iole-is-mobile .iole-about h2,
body.theme_iole.iole-is-mobile .iole-home-contact h2 {
	font-size: 22px !important;
}

body.theme_iole.iole-is-mobile .iole-stats__item strong {
	font-size: 40px !important;
}

body.theme_iole.iole-is-mobile .iole-stats__item span {
	font-size: 18px !important;
	line-height: 1.4 !important;
	color: #1A1A1A !important;
}

/* Títulos das capas — sobrescreve o 13px do desktop */
body.theme_iole.iole-is-mobile .iole-carousel .obj_monograph_summary .title,
body.theme_iole.iole-is-mobile .iole-carousel .obj_monograph_summary h3.title,
body.theme_iole.iole-is-mobile .iole-carousel .obj_monograph_summary .title a,
body.theme_iole.iole-is-mobile .iole-cover-grid .obj_monograph_summary .title,
body.theme_iole.iole-is-mobile .iole-cover-grid .obj_monograph_summary .title a,
html.iole-is-mobile body.theme_iole .iole-carousel .obj_monograph_summary .title,
html.iole-is-mobile body.theme_iole .iole-carousel .obj_monograph_summary .title a {
	font-size: 18px !important;
	line-height: 1.4 !important;
	color: #1A1A1A !important;
	font-weight: 600 !important;
}

body.theme_iole.iole-is-mobile .iole-carousel {
	--iole-per-view: 1 !important;
}

body.theme_iole.iole-is-mobile .iole-pillar h3 {
	font-size: 22px !important;
}

body.theme_iole.iole-is-mobile .iole-pillar p,
body.theme_iole.iole-is-mobile .iole-pillar__list li {
	font-size: 19px !important;
	line-height: 1.55 !important;
	color: rgba(255, 255, 255, 0.94) !important;
}

/* Quem somos: HTML do CMS pode vir com fontes inline — forçar em todos os filhos */
body.theme_iole.iole-is-mobile .iole-about__text,
body.theme_iole.iole-is-mobile .iole-about__text p,
body.theme_iole.iole-is-mobile .iole-about__text div,
body.theme_iole.iole-is-mobile .iole-about__text span,
body.theme_iole.iole-is-mobile .iole-about__text li,
body.theme_iole.iole-is-mobile .iole-about__text td,
body.theme_iole.iole-is-mobile .iole-about__quote,
html.iole-is-mobile body.theme_iole .iole-about__text,
html.iole-is-mobile body.theme_iole .iole-about__text p {
	font-size: 20px !important;
	line-height: 1.65 !important;
}

body.theme_iole.iole-is-mobile .iole-home-contact__text {
	font-size: 18px !important;
	line-height: 1.55 !important;
}

body.theme_iole.iole-is-mobile .iole-home-contact__cta {
	font-size: 16px !important;
	padding: 16px 26px !important;
}

body.theme_iole.iole-is-mobile .page_homepage {
	padding-left: 18px !important;
	padding-right: 18px !important;
}

body.theme_iole.iole-is-mobile .page > h1,
body.theme_iole.iole-is-mobile .page_book .title {
	font-size: 32px !important;
}

body.theme_iole.iole-is-mobile .page p,
body.theme_iole.iole-is-mobile .cmp_breadcrumbs,
body.theme_iole.iole-is-mobile .iole-book__meta-row {
	font-size: 18px !important;
}

body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary > li > a {
	font-size: 20px !important;
	padding: 16px 6px !important;
}

body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary > li > ul a {
	font-size: 18px !important;
	padding: 14px 16px !important;
}

body.theme_iole.iole-is-mobile .iole-footer__inner {
	grid-template-columns: 1fr !important;
	grid-template-areas:
		"brand"
		"quick"
		"submit"
		"contact"
		"networks" !important;
	row-gap: 32px;
}

body.theme_iole.iole-is-mobile .iole-footer__submit {
	padding-left: 0;
	border-left: 0;
}

body.theme_iole.iole-is-mobile .iole-footer li,
body.theme_iole.iole-is-mobile .iole-footer__social a,
body.theme_iole.iole-is-mobile .iole-footer p,
body.theme_iole.iole-is-mobile .iole-footer__bottom {
	font-size: 16px !important;
	color: #3A3A3A;
}

body.theme_iole.iole-is-mobile .iole-footer h4 {
	font-size: 16px !important;
}

body.theme_iole.iole-is-mobile .whatsapp {
	width: 64px !important;
}

@media (max-width: 900px) {

	body.theme_iole .iole-area3__inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 12px 0 16px !important;
		gap: 12px;
	}

	body.theme_iole .iole-area3__nav,
	body.theme_iole .iole-area3 .pkp_site_nav_menu,
	body.theme_iole .iole-area3 .pkp_navigation_primary_row,
	body.theme_iole .iole-area3 .pkp_navigation_primary_wrapper,
	body.theme_iole .iole-area3 .pkp_navigation_primary,
	body.theme_iole .iole-area3 .pkp_navigation_primary > li,
	body.theme_iole .iole-area3 .pkp_navigation_primary > li > a {
		display: block !important;
		width: 100% !important;
		height: auto !important;
		float: none !important;
	}

	body.theme_iole .iole-area3 .pkp_navigation_primary,
	body.theme_iole .iole-area3 .iole-primary-menu {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 0 !important;
	}

	body.theme_iole .iole-area3 .pkp_navigation_primary > li {
		border-bottom: 1px solid #cfcfcf;
	}

	body.theme_iole .iole-area3 .pkp_navigation_primary > li > a {
		padding: 14px 4px !important;
		font-size: 16px !important;
		line-height: 1.3 !important;
		justify-content: flex-start !important;
		white-space: normal;
	}

	/* Submenus: accordion (sem hover preso) */
	body.theme_iole .iole-area3 .pkp_navigation_primary > li > ul,
	body.theme_iole .iole-area3 .pkp_navigation_primary > li:hover > ul,
	body.theme_iole .iole-area3 .pkp_nav_list > li > ul {
		position: static !important;
		left: auto !important;
		top: auto !important;
		display: none !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 0 8px !important;
		padding: 0 !important;
		background: #f2f2f2 !important;
		box-shadow: none !important;
		border: 0 !important;
		border-radius: 0 !important;
	}

	body.theme_iole .iole-area3 .pkp_navigation_primary > li.iole-submenu-open > ul {
		display: block !important;
	}

	body.theme_iole .iole-area3 .pkp_navigation_primary > li > ul a {
		padding: 12px 14px !important;
		font-size: 15px !important;
		border-left: 3px solid transparent !important;
	}

	body.theme_iole .iole-area3__search,
	body.theme_iole .iole-area3__find {
		display: none !important;
	}

	body.theme_iole .iole-area2__find .iole-cat-select {
		flex: 0 0 34%;
		max-width: 38%;
		min-width: 0;
		height: 42px;
		font-size: 15px;
		padding: 0 8px;
	}

	body.theme_iole .iole-area3__nav {
		order: 3;
	}

	body.theme_iole .iole-header-social--panel {
		order: 1;
	}

	body.theme_iole .iole-cat-select {
		flex: 1 1 160px;
		max-width: none;
		height: 42px;
		font-size: 16px;
	}

	body.theme_iole .iole-search-form {
		width: 100%;
	}

	body.theme_iole .iole-search-form input[type="search"],
	body.theme_iole .iole-search-form input[type="text"] {
		flex: 1 1 auto;
		width: auto !important;
		max-width: none !important;
		height: 42px !important;
		line-height: 42px !important;
		font-size: 16px !important; /* evita zoom iOS */
	}

	body.theme_iole .iole-search-form button[type="submit"] {
		height: 42px !important;
		padding: 0 16px !important;
		font-size: 13px !important;
	}

	/* Área 1 compacta */
	body.theme_iole .iole-area1__list a {
		padding: 4px 8px;
	}

	body.theme_iole .iole-area1__list img {
		height: 22px;
		max-width: 56px;
	}

	body.theme_iole .iole-portal-brand__img {
		height: 24px;
	}

	/* Hero — tipografia maior no celular */
	body.theme_iole .iole-hero {
		min-height: 0 !important;
		padding: 48px 20px !important;
		background-position: 70% center;
	}

	body.theme_iole .iole-hero h1 {
		font-size: 32px !important;
		max-width: none;
	}

	body.theme_iole .iole-hero p {
		font-size: 17px !important;
		line-height: 1.5 !important;
		margin-bottom: 20px;
		max-width: none;
	}

	body.theme_iole .iole-hero__cta {
		padding: 14px 22px;
		font-size: 14px;
	}

	/* Stats 2x2 */
	body.theme_iole .iole-stats__grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px 12px;
	}

	body.theme_iole .iole-stats__item strong {
		font-size: 32px !important;
	}

	body.theme_iole .iole-stats__item span {
		font-size: 14px !important;
		line-height: 1.35 !important;
		color: #1A1A1A !important; /* melhor contraste no mobile */
	}

	body.theme_iole .iole-stats h2 {
		font-size: 18px !important;
	}

	/* Carrossel: 1 capa (CSS fallback + JS) */
	body.theme_iole .iole-carousel {
		--iole-per-view: 1;
	}

	body.theme_iole .iole-carousel__slide {
		padding: 0 8px;
	}

	body.theme_iole .iole-carousel .obj_monograph_summary .title,
	body.theme_iole .iole-carousel .obj_monograph_summary .title a {
		font-size: 15px !important;
		line-height: 1.35 !important;
		color: #1A1A1A !important;
		-webkit-line-clamp: 3;
	}

	body.theme_iole .iole-carousel__title {
		font-size: 18px !important;
	}

	body.theme_iole .iole-pillars {
		margin-left: -20px;
		margin-right: -20px;
		padding: 40px 20px;
	}

	body.theme_iole .iole-pillar {
		min-height: 0;
	}

	body.theme_iole .iole-pillar h3 {
		font-size: 18px !important;
	}

	body.theme_iole .iole-pillar p,
	body.theme_iole .iole-pillar__list li {
		font-size: 16px !important;
		line-height: 1.55 !important;
		color: rgba(255, 255, 255, 0.92) !important;
	}

	body.theme_iole .iole-about h2 {
		font-size: 18px !important;
	}

	body.theme_iole .iole-about p,
	body.theme_iole .iole-about__text {
		font-size: 16px !important;
		line-height: 1.65 !important;
	}

	body.theme_iole .page_homepage {
		padding-left: 16px;
		padding-right: 16px;
	}

	body.theme_iole .iole-cover-grid .obj_monograph_summary {
		flex: 1 1 calc(50% - 14px);
		max-width: calc(50% - 10px);
	}

	/* Área 1 — ícones compactos no topo */
	body.theme_iole .iole-area1__list a {
		padding: 4px 8px !important;
		min-height: 36px;
	}

	body.theme_iole .iole-area1__list img {
		height: 24px !important;
		max-width: 64px !important;
	}

	body.theme_iole .iole-portal-brand__img {
		height: 24px !important;
	}

	body.theme_iole .iole-user-nav a,
	body.theme_iole .iole-area2__user a {
		font-size: 12px !important;
		padding: 4px 2px !important;
	}

	body.theme_iole .iole-footer li,
	body.theme_iole .iole-footer__social a,
	body.theme_iole .iole-footer p {
		font-size: 15px !important;
	}
}

/* Painel aberto no modo .iole-is-mobile (mesmo CSS do media) */
body.theme_iole.iole-is-mobile .iole-area3__inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 12px 16px 16px !important;
	gap: 12px;
	box-sizing: border-box;
}

body.theme_iole.iole-is-mobile .iole-area3__nav,
body.theme_iole.iole-is-mobile .iole-area3 .pkp_site_nav_menu,
body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary_row,
body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary_wrapper,
body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary,
body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary > li,
body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary > li > a {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	float: none !important;
}

body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary,
body.theme_iole.iole-is-mobile .iole-area3 .iole-primary-menu {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 0 !important;
}

body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary > li {
	border-bottom: 1px solid #cfcfcf;
}

body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary > li > a {
	padding: 16px 6px !important;
	font-size: 18px !important;
	line-height: 1.3 !important;
	justify-content: flex-start !important;
	white-space: normal;
}

body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary > li > ul,
body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary > li:hover > ul,
body.theme_iole.iole-is-mobile .iole-area3 .pkp_nav_list > li > ul {
	position: static !important;
	left: auto !important;
	top: auto !important;
	display: none !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	background: #f2f2f2 !important;
	box-shadow: none !important;
	border: 0 !important;
}

body.theme_iole.iole-is-mobile .iole-area3 .pkp_navigation_primary > li.iole-submenu-open > ul {
	display: block !important;
}

body.theme_iole.iole-is-mobile .iole-area3__search,
body.theme_iole.iole-is-mobile .iole-area3__find {
	display: none !important;
}

body.theme_iole.iole-is-mobile .iole-area3__nav {
	order: 3;
}

body.theme_iole.iole-is-mobile .iole-header-social--panel {
	order: 1;
}

body.theme_iole.iole-is-mobile .iole-area2__find .iole-cat-select {
	flex: 0 0 34%;
	max-width: 38%;
	min-width: 0;
	height: 42px;
	font-size: 15px;
	padding: 0 8px;
}

body.theme_iole.iole-is-mobile .iole-search-form {
	width: 100%;
}

body.theme_iole.iole-is-mobile .iole-search-form input[type="search"],
body.theme_iole.iole-is-mobile .iole-search-form input[type="text"] {
	flex: 1 1 auto;
	width: auto !important;
	max-width: none !important;
	height: 42px !important;
	font-size: 16px !important;
}

body.theme_iole.iole-is-mobile .iole-carousel {
	--iole-per-view: 1;
}

body.theme_iole.iole-is-mobile .iole-stats__grid {
	grid-template-columns: repeat(2, 1fr) !important;
}

body.theme_iole.iole-is-mobile .iole-pillars__inner,
body.theme_iole.iole-is-mobile .iole-about__grid {
	grid-template-columns: 1fr !important;
}

@media (max-width: 560px) {
	body.theme_iole .iole-carousel {
		--iole-per-view: 1;
	}

	body.theme_iole .iole-footer__inner {
		grid-template-columns: 1fr !important;
		grid-template-areas:
			"brand"
			"quick"
			"submit"
			"contact"
			"networks" !important;
		row-gap: 32px;
		padding-bottom: 36px;
	}

	body.theme_iole .iole-cover-grid .obj_monograph_summary {
		flex: 1 1 100%;
		max-width: 240px;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.theme_iole .iole-area1__list li:nth-child(n+5) {
		display: none;
	}

	body.theme_iole .iole-stats__item strong {
		font-size: 24px;
	}

	body.theme_iole .iole-user-nav {
		font-size: 13px;
	}
}

/* ========== Página do livro — capa em destaque ========== */
body.theme_iole.pkp_page_catalog.pkp_op_book .pkp_structure_content,
body.theme_iole.pkp_page_catalog.pkp_op_book .pkp_structure_main {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.theme_iole .page_book {
	width: 100%;
	max-width: 1140px !important;
	margin: 0 auto !important;
	padding: 36px 24px 64px !important;
	box-sizing: border-box;
}

body.theme_iole .obj_monograph_full.iole-book,
body.theme_iole .iole-book {
	display: block !important;
	width: 100%;
	margin: 0;
	padding: 0;
}

/* Anula floats/colunas estreitas do Default */
body.theme_iole .iole-book .row,
body.theme_iole .iole-book .main_entry,
body.theme_iole .iole-book .entry_details {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.theme_iole .iole-book__hero {
	display: flex;
	align-items: flex-start;
	gap: 40px;
	margin: 0 0 40px;
}

body.theme_iole .iole-book__cover {
	flex: 0 0 320px;
	width: 320px;
	max-width: 36%;
}

body.theme_iole .iole-book__cover-frame {
	background: #f3f3f3;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
	overflow: hidden;
}

body.theme_iole .iole-book__cover-frame img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
}

body.theme_iole .iole-book__downloads {
	margin-top: 16px;
}

body.theme_iole .iole-book__downloads .pub_format_single a,
body.theme_iole .iole-book__downloads .pub_format_remote a,
body.theme_iole .iole-book__downloads .cmp_download_link,
body.theme_iole .iole-book__downloads a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	box-sizing: border-box;
	margin: 0 0 8px !important;
	padding: 12px 14px !important;
	background: #3a3a3a !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 2px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	text-align: center;
	line-height: 1.3 !important;
}

body.theme_iole .iole-book__downloads a:hover,
body.theme_iole .iole-book__downloads a:focus {
	background: #1A1A1A !important;
	color: #fff !important;
}

body.theme_iole .iole-book__intro {
	flex: 1 1 auto;
	min-width: 0;
}

body.theme_iole .iole-book .title {
	margin: 0 0 18px !important;
	padding: 0 0 14px;
	border-bottom: 2px solid #3A3A3A;
	font-family: "Noto Serif", Georgia, "Times New Roman", serif;
	font-size: clamp(26px, 3.2vw, 36px);
	font-weight: 700;
	line-height: 1.2;
	color: #1A1A1A;
}

body.theme_iole .iole-book .authors {
	margin: 0 0 22px;
}

body.theme_iole .iole-book .authors .sub_item {
	margin: 0 0 10px;
}

body.theme_iole .iole-book .authors .label {
	margin: 0 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #1A1A1A !important;
	font-family: inherit !important;
}

body.theme_iole .iole-book .authors .value {
	font-size: 14px;
	color: #555;
	line-height: 1.45;
}

body.theme_iole .iole-book .authors .orcid {
	display: inline-block;
	margin-top: 2px;
	font-size: 12px;
}

body.theme_iole .iole-book .authors .orcid a {
	color: #3A3A3A;
}

body.theme_iole .iole-book .abstract {
	margin: 0 0 24px;
	padding: 0 !important;
}

body.theme_iole .iole-book .abstract > .label {
	margin: 0 0 10px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #1A1A1A !important;
	font-family: inherit !important;
}

body.theme_iole .iole-book .abstract .value {
	font-size: 15px;
	line-height: 1.7;
	color: #333;
}

body.theme_iole .iole-book .abstract .value p {
	margin: 0 0 0.9em;
}

body.theme_iole .iole-book .abstract .value p:last-child {
	margin-bottom: 0;
}

/* Caixa de metadados (estilo Atena) */
body.theme_iole .iole-book__meta {
	background: #f5f5f5;
	border: 1px solid #e6e6e6;
	padding: 18px 20px;
}

body.theme_iole .iole-book__meta-format {
	margin: 12px 0 8px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #1A1A1A;
}

body.theme_iole .iole-book__meta-row {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 10px 16px;
	padding: 8px 0;
	border-bottom: 1px solid #e0e0e0;
	font-size: 14px;
	line-height: 1.45;
}

body.theme_iole .iole-book__meta-row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

body.theme_iole .iole-book__meta-row:first-child {
	padding-top: 0;
}

body.theme_iole .iole-book__meta-row > .label {
	margin: 0 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #555 !important;
	font-family: inherit !important;
}

body.theme_iole .iole-book__meta-row > .value {
	color: #1A1A1A;
	min-width: 0;
	word-break: break-word;
}

body.theme_iole .iole-book__meta-row a {
	color: #3A3A3A;
	text-decoration: none;
}

body.theme_iole .iole-book__meta-row a:hover {
	text-decoration: underline;
}

body.theme_iole .iole-book__body {
	border-top: 1px solid #e6e6e6;
	padding-top: 28px;
}

body.theme_iole .iole-book__section-title {
	margin: 0 0 16px;
	padding-left: 12px;
	border-left: 3px solid #3A3A3A;
	font-size: 20px;
	font-weight: 700;
	color: #1A1A1A;
	line-height: 1.25;
}

body.theme_iole .iole-book .chapters > ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.theme_iole .iole-book .chapters > ul > li {
	padding: 16px 0;
	border-bottom: 1px solid #eee;
}

body.theme_iole .iole-book .chapters .title {
	margin: 0 0 4px !important;
	padding: 0 !important;
	border: 0 !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #1A1A1A;
}

body.theme_iole .iole-book .chapters .subtitle,
body.theme_iole .iole-book .chapters .authors {
	font-size: 14px;
	color: #666;
	font-style: italic;
	margin: 0 0 6px;
}

body.theme_iole .iole-book .chapters .doi {
	font-size: 13px;
	margin-bottom: 8px;
}

body.theme_iole .iole-book .author_bios,
body.theme_iole .iole-book .references {
	margin-top: 28px;
}

@media (max-width: 900px) {
	body.theme_iole .iole-book__hero {
		flex-direction: column;
		gap: 24px;
	}

	body.theme_iole .iole-book__cover {
		flex: 0 0 auto;
		width: min(280px, 70%);
		max-width: 280px;
		margin: 0 auto;
	}

	body.theme_iole .iole-book__meta-row {
		grid-template-columns: 1fr;
		gap: 2px 0;
	}
}

@media (max-width: 600px) {
	body.theme_iole .page_book {
		padding: 24px 16px 48px !important;
	}

	body.theme_iole .iole-book__cover {
		width: min(240px, 78%);
		max-width: 240px;
	}
}

/* ========== Páginas internas (catálogo, sobre, equipe, contato, submissões…) ========== */
body.theme_iole:not(.pkp_page_index) .pkp_structure_content,
body.theme_iole:not(.pkp_op_index) .pkp_structure_content {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.theme_iole:not(.pkp_page_index) .pkp_structure_main {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

body.theme_iole .page:not(.page_homepage):not(.page_book) {
	max-width: 960px;
	margin: 0 auto;
	padding: 36px 24px 72px;
	box-sizing: border-box;
}

body.theme_iole .page_catalog,
body.theme_iole .page_catalog_category,
body.theme_iole .page_catalog_series {
	max-width: 1140px;
}

/* Breadcrumbs */
body.theme_iole .cmp_breadcrumbs {
	margin: 0 0 18px;
	font-size: 13px;
	line-height: 1.4;
}

body.theme_iole .cmp_breadcrumbs ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 0;
	align-items: center;
}

body.theme_iole .cmp_breadcrumbs li {
	display: inline-flex;
	align-items: center;
	color: #888;
}

body.theme_iole .cmp_breadcrumbs a {
	color: #3A3A3A !important;
	text-decoration: none;
}

body.theme_iole .cmp_breadcrumbs a:hover {
	text-decoration: underline;
}

body.theme_iole .cmp_breadcrumbs .separator {
	margin: 0 8px;
	color: #bbb;
}

body.theme_iole .cmp_breadcrumbs .current,
body.theme_iole .cmp_breadcrumbs .current span {
	color: #666;
}

/* Títulos de página */
body.theme_iole .page > h1 {
	margin: 0 0 28px;
	padding: 0 0 14px;
	border-bottom: 2px solid #3A3A3A;
	font-size: clamp(28px, 3.4vw, 36px);
	font-weight: 700;
	line-height: 1.2;
	color: #1A1A1A;
}

body.theme_iole .page > h2,
body.theme_iole .page .submission_checklist > h2,
body.theme_iole .page .author_guidelines > h2,
body.theme_iole .page .section_policy > h2,
body.theme_iole .page .copyright_notice > h2,
body.theme_iole .page .privacy_statement > h2 {
	margin: 36px 0 16px;
	padding-left: 12px;
	border-left: 3px solid #3A3A3A;
	font-size: 20px;
	font-weight: 700;
	color: #1A1A1A;
	line-height: 1.3;
}

body.theme_iole .page p {
	font-size: 15px;
	line-height: 1.75;
	color: #333;
}

body.theme_iole .page a:not(.cmp_button):not(.pkp_button):not(.iole-home-contact__cta):not(.iole-contact-wa__btn) {
	color: #3A3A3A;
}

body.theme_iole .page a:not(.cmp_button):not(.pkp_button):not(.iole-home-contact__cta):not(.iole-contact-wa__btn):hover {
	color: #1A1A1A;
	text-decoration: underline;
}

/* Catálogo — cabeçalho */
body.theme_iole .page_catalog > h1,
body.theme_iole .page_catalog_category > h1,
body.theme_iole .page_catalog_series > h1 {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

body.theme_iole .page_catalog .monograph_count,
body.theme_iole .page_catalog_category .monograph_count,
body.theme_iole .page_catalog_series .monograph_count {
	float: none !important;
	display: inline-block;
	margin: -8px 0 24px;
	padding: 6px 12px;
	background: #1A1A1A;
	color: #EDEDED;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Sobre / Privacidade — tipografia confortável */
body.theme_iole .page_about,
body.theme_iole .page_privacy {
	max-width: 760px;
}

body.theme_iole .page_about p,
body.theme_iole .page_privacy p {
	max-width: 68ch;
}

/* Equipe editorial — conteúdo HTML do CMS */
body.theme_iole .page_editorial_team {
	max-width: 960px;
}

body.theme_iole .page_editorial_team h2,
body.theme_iole .page_editorial_team h3,
body.theme_iole .page_editorial_team h4,
body.theme_iole .page_editorial_team p > strong:first-child,
body.theme_iole .page_editorial_team p > b:first-child {
	display: block;
	margin: 28px 0 10px;
	padding-left: 12px;
	border-left: 3px solid #3A3A3A;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #1A1A1A;
	line-height: 1.35;
}

body.theme_iole .page_editorial_team h2:first-child,
body.theme_iole .page_editorial_team h3:first-child,
body.theme_iole .page_editorial_team > *:first-child {
	margin-top: 0;
}

body.theme_iole .page_editorial_team p {
	margin: 0 0 6px;
	font-size: 15px;
	line-height: 1.55;
	color: #333;
}

body.theme_iole .page_editorial_team ul {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 6px 24px;
}

body.theme_iole .page_editorial_team li {
	font-size: 15px;
	line-height: 1.45;
	color: #333;
	padding: 4px 0;
}

/* Contato */
body.theme_iole .page_contact {
	max-width: 960px;
}

body.theme_iole .page_contact .iole-contact-wa {
	margin: 0 0 28px;
}

body.theme_iole .page_contact .iole-contact-wa__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #1A1A1A;
	color: #fff !important;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: none;
	padding: 11px 18px;
	text-decoration: none !important;
	border-radius: 2px;
	transition: background 0.2s ease;
}

body.theme_iole .page_contact .iole-contact-wa__btn:hover,
body.theme_iole .page_contact .iole-contact-wa__btn:focus {
	background: #3A3A3A;
	color: #fff !important;
	text-decoration: none !important;
}

body.theme_iole .page_contact .iole-contact-wa__icon {
	flex: 0 0 auto;
}

body.theme_iole .page_contact .address {
	margin: 0 0 28px;
	padding: 16px 18px;
	background: #f5f5f5;
	border-left: 3px solid #3A3A3A;
	font-size: 14px;
	line-height: 1.6;
	color: #444;
	grid-column: 1 / -1;
}

body.theme_iole .page_contact .contact_section {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	clear: both;
}

body.theme_iole .page_contact .contact {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 22px 22px 20px !important;
	background: #fff;
	border: 1px solid #e6e6e6;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

body.theme_iole .page_contact .contact h3 {
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid #eee;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #1A1A1A;
}

body.theme_iole .page_contact .contact .name {
	font-size: 17px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 8px;
}

body.theme_iole .page_contact .contact .title,
body.theme_iole .page_contact .contact .affiliation {
	font-size: 14px;
	color: #666;
	margin-bottom: 6px;
}

body.theme_iole .page_contact .contact .phone,
body.theme_iole .page_contact .contact .email {
	margin-top: 10px;
	font-size: 14px;
}

body.theme_iole .page_contact .contact .label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #888;
	margin-bottom: 2px;
}

body.theme_iole .page_contact .contact a {
	color: #3A3A3A !important;
	word-break: break-word;
}

@media (max-width: 700px) {
	body.theme_iole .page_contact .contact_section {
		grid-template-columns: 1fr;
	}
}

/* Submissões */
body.theme_iole .page_submissions .cmp_notification {
	margin: 0 0 28px;
	padding: 16px 20px;
	background: #1A1A1A !important;
	border: 0 !important;
	border-left: 4px solid #C7C7C7 !important;
	color: #fff !important;
	font-size: 15px;
	line-height: 1.5;
}

body.theme_iole .page_submissions .cmp_notification a {
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
}

body.theme_iole .page_submissions .cmp_notification a:hover {
	text-decoration: underline;
}

body.theme_iole .page_submissions .submission_checklist ul {
	margin: 16px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
	border: 1px solid #e6e6e6 !important;
	background: #fff;
}

body.theme_iole .page_submissions .submission_checklist li {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0 !important;
	padding: 16px 18px 16px 18px !important;
	border-bottom: 1px solid #eee !important;
	font-size: 14px !important;
	line-height: 1.55;
	color: #333;
}

body.theme_iole .page_submissions .submission_checklist li:last-child {
	border-bottom: 0 !important;
}

body.theme_iole .page_submissions .submission_checklist li .fa {
	position: static !important;
	transform: none !important;
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	margin-top: 1px;
	border-radius: 50%;
	background: rgba(58, 58, 58, 0.12);
	color: #3A3A3A !important;
	font-size: 12px !important;
	line-height: 22px !important;
	text-align: center;
}

body.theme_iole .page_submissions .author_guidelines,
body.theme_iole .page_submissions .section_policy,
body.theme_iole .page_submissions .copyright_notice,
body.theme_iole .page_submissions .privacy_statement {
	margin-top: 8px;
}

/* Link Editar (admin) menos invasivo */
body.theme_iole .page .cmp_edit_link {
	color: #888 !important;
	font-size: 12px;
}

/* ===== Cabeçalho: ícones, idiomas, login ===== */
body.theme_iole .iole-header-social {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

body.theme_iole .iole-header-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	color: #1A1A1A;
	background: transparent !important;
	border: 0;
	border-radius: 0;
	text-decoration: none;
	opacity: 1;
	transition: opacity 0.15s ease;
}

body.theme_iole .iole-header-icon:hover,
body.theme_iole .iole-header-icon:focus {
	opacity: 0.55;
	color: #1A1A1A;
	background: transparent !important;
}

body.theme_iole .iole-header-icon__svg {
	display: block;
	width: 20px;
	height: 20px;
}

body.theme_iole .iole-header-social--panel {
	display: none;
	width: 100%;
	padding: 4px 0 10px;
	border-bottom: 1px solid #cfcfcf;
	gap: 12px;
}

body.theme_iole .iole-header-social--panel .iole-header-icon {
	color: #1A1A1A;
	width: 32px;
	height: 32px;
}

body.theme_iole .iole-header-social--panel .iole-header-icon:hover,
body.theme_iole .iole-header-social--panel .iole-header-icon:focus {
	color: #1A1A1A;
	opacity: 0.7;
}

body.theme_iole .iole-header-social--panel .iole-header-icon__svg {
	width: 22px;
	height: 22px;
}

body.theme_iole .iole-lang {
	display: inline-flex;
	align-items: center;
	gap: 0;
}

body.theme_iole .iole-lang__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	padding: 3px 7px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #4A4A4A !important;
	text-decoration: none;
	transition: opacity 0.15s ease, background 0.15s ease;
}

body.theme_iole .iole-lang__item + .iole-lang__item {
	margin-left: 2px;
}

body.theme_iole .iole-lang__item:hover,
body.theme_iole .iole-lang__item:focus {
	background: rgba(0, 0, 0, 0.06);
	color: #1A1A1A !important;
}

body.theme_iole .iole-lang__item.is-current {
	background: #3A3A3A;
	color: #fff !important;
}

/* Separadores entre grupos: social | idiomas | login */
body.theme_iole .iole-area2__utils > .iole-header-social--bar + .iole-lang,
body.theme_iole .iole-area2__utils > .iole-header-social--bar + .iole-area2__user,
body.theme_iole .iole-area2__utils > .iole-lang + .iole-area2__user {
	position: relative;
	margin-left: 4px;
	padding-left: 14px;
}

body.theme_iole .iole-area2__utils > .iole-header-social--bar + .iole-lang::before,
body.theme_iole .iole-area2__utils > .iole-header-social--bar + .iole-area2__user::before,
body.theme_iole .iole-area2__utils > .iole-lang + .iole-area2__user::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 18px;
	margin-top: -9px;
	background: #cfcfcf;
	pointer-events: none;
}

@media (max-width: 900px) {
	body.theme_iole .iole-area2__utils > .iole-header-social--bar + .iole-lang,
	body.theme_iole .iole-area2__utils > .iole-header-social--bar + .iole-area2__user,
	body.theme_iole .iole-area2__utils > .iole-lang + .iole-area2__user {
		margin-left: 0;
		padding-left: 0;
	}

	body.theme_iole .iole-area2__utils > .iole-header-social--bar + .iole-lang::before,
	body.theme_iole .iole-area2__utils > .iole-header-social--bar + .iole-area2__user::before,
	body.theme_iole .iole-area2__utils > .iole-lang + .iole-area2__user::before {
		display: none;
	}
}

@media (max-width: 900px) {
	body.theme_iole .iole-header-icon--desktop {
		display: none !important;
	}

	body.theme_iole .iole-header-social--panel {
		display: flex !important;
	}

	body.theme_iole .iole-header-social--bar {
		display: inline-flex !important;
	}
}

body.theme_iole.iole-is-mobile .iole-header-icon--desktop {
	display: none !important;
}

body.theme_iole.iole-is-mobile .iole-header-social--panel {
	display: flex !important;
}

body.theme_iole.iole-is-mobile .iole-header-social--bar {
	display: inline-flex !important;
}

body.theme_iole.iole-is-mobile .iole-area2__brand {
	min-width: 0;
	max-width: 42%;
}

body.theme_iole.iole-is-mobile .iole-area2__utils {
	max-width: 100%;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 6px;
}

body.theme_iole.iole-is-mobile .iole-area2__utils > .iole-header-social--bar + .iole-lang,
body.theme_iole.iole-is-mobile .iole-area2__utils > .iole-header-social--bar + .iole-area2__user,
body.theme_iole.iole-is-mobile .iole-area2__utils > .iole-lang + .iole-area2__user {
	margin-left: 0;
	padding-left: 0;
}

body.theme_iole.iole-is-mobile .iole-area2__utils > .iole-header-social--bar + .iole-lang::before,
body.theme_iole.iole-is-mobile .iole-area2__utils > .iole-header-social--bar + .iole-area2__user::before,
body.theme_iole.iole-is-mobile .iole-area2__utils > .iole-lang + .iole-area2__user::before {
	display: none;
}

body.theme_iole.iole-is-mobile .iole-nav-toggle__label {
	display: none !important;
}

/* ===== 2º carrossel: "Livros com chamadas abertas" ===== */
body.theme_iole .iole-carousel--submission {
	margin-top: 8px;
}

body.theme_iole .iole-carousel__note {
	margin: -10px 0 20px;
	text-align: center;
	font-size: 12px;
	color: #8a8a8a;
	font-style: italic;
}

body.theme_iole .iole-carousel--submission .obj_monograph_summary .cover {
	display: block;
}

body.theme_iole .iole-cover-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 2 / 3;
	padding: 16px;
	box-sizing: border-box;
	text-align: center;
	background: linear-gradient(135deg, #e4e4e4 0%, #cfcfcf 100%);
	color: #6b6b6b;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 4px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}

