/*
 * IHR Widgets — estilos dos widgets.
 * Valores medidos na produção (REESTRUTURACAO.md, secção 4). Cores do kit do Elementor sempre que existem.
 * Ordem: base, componentes, responsivo no fim (manual 10.2 e 10.9).
 * Duas classes em cada regra de texto para ganhar ao kit (manual 10.5).
 */

/* ---------- base ---------- */

.elementor-widget-ihr_items,
.elementor-widget-ihr_buttons,
.elementor-widget-ihr_exam_calendar {
	width: 100%;
	align-self: stretch;
}

.ihr-items {
	--ihr-cols: 3;
	--ihr-gap: 20px;
	--ihr-title: #000;
	--ihr-text: #000;
	display: flex;
	flex-wrap: wrap;
	gap: var(--ihr-gap);
	margin: 0;
	padding: 0;
	font-family: var(--e-global-typography-text-font-family, "Aptos"), sans-serif;
}

.ihr-items > .ihr-item {
	flex: 0 0 calc((100% - (var(--ihr-cols) - 1) * var(--ihr-gap)) / var(--ihr-cols));
	min-width: 0;
	box-sizing: border-box;
}

.ihr-items .ihr-item__title {
	margin: 0;
	margin-block: 0;
	font-family: inherit;
	font-weight: 600;
	color: var(--ihr-title);
}

.ihr-items .ihr-item__text {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--ihr-text);
}

.ihr-items .ihr-item__text p {
	margin: 0;
	margin-block: 0;
}

.ihr-items .ihr-item__text p + p {
	margin-block-start: 0.75em;
}

.ihr-items .ihr-item__icon {
	display: block;
	width: 40px;
	height: 40px;
	object-fit: contain;
	border-radius: 0;
}

.ihr-items .ihr-item__actions {
	margin-top: auto;
}

.ihr-editor-notice {
	padding: 12px 16px;
	border: 1px dashed #3b44b5;
	border-radius: 8px;
	background: #f4f5fb;
	color: #3b44b5;
	font-size: 13px;
}

/* ---------- botões ---------- */

.ihr-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 20px;
}

.ihr-btn,
.ihr-items .ihr-btn,
.ihr-buttons .ihr-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	padding: 12px 24px;
	border: 1px solid transparent;
	border-radius: 12px;
	font-family: var(--e-global-typography-text-font-family, "Aptos"), sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	transition: filter 0.15s ease, background-color 0.15s ease;
}

.ihr-btn.ihr-btn--primary,
.ihr-btn.ihr-btn--primary:hover,
.ihr-btn.ihr-btn--primary:focus,
.ihr-btn.ihr-btn--primary:focus-visible,
.ihr-btn.ihr-btn--primary:active {
	background: var(--e-global-color-primary, #3b44b5);
	border-color: #fff;
	color: #fff;
}

.ihr-btn.ihr-btn--secondary,
.ihr-btn.ihr-btn--secondary:hover,
.ihr-btn.ihr-btn--secondary:focus,
.ihr-btn.ihr-btn--secondary:focus-visible,
.ihr-btn.ihr-btn--secondary:active {
	background: #fff;
	border-color: #090b06;
	color: #000;
}

.ihr-btn.ihr-btn--outline,
.ihr-btn.ihr-btn--outline:hover,
.ihr-btn.ihr-btn--outline:focus,
.ihr-btn.ihr-btn--outline:focus-visible,
.ihr-btn.ihr-btn--outline:active {
	background: transparent;
	border-color: var(--e-global-color-primary, #3b44b5);
	border-radius: 21px;
	color: var(--e-global-color-primary, #3b44b5);
}

.ihr-btn.ihr-btn--light,
.ihr-btn.ihr-btn--light:hover,
.ihr-btn.ihr-btn--light:focus,
.ihr-btn.ihr-btn--light:focus-visible,
.ihr-btn.ihr-btn--light:active {
	background: #fff;
	border-color: #fff;
	color: #000;
}

.ihr-btn.ihr-btn--link,
.ihr-btn.ihr-btn--link:hover,
.ihr-btn.ihr-btn--link:focus,
.ihr-btn.ihr-btn--link:focus-visible,
.ihr-btn.ihr-btn--link:active {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--e-global-color-primary, #3b44b5);
	font-size: 14px;
}

.ihr-btn .ihr-btn__icon {
	flex: 0 0 auto;
	width: 1em;
	height: 1em;
}

.ihr-btn:hover {
	filter: brightness(1.08);
}

.ihr-btn:focus-visible {
	outline: 2px solid var(--e-global-color-primary, #3b44b5);
	outline-offset: 3px;
}

/* ---------- scheda colorata ---------- */

.ihr-items--colorful > .ihr-item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	padding: 36px 30px;
	border-radius: 30px;
	background: var(--ihr-c1, #b7db6e);
	--ihr-title: var(--ihr-t1, #000);
	--ihr-text: var(--ihr-t1, #000);
}

.ihr-items--colorful > .ihr-item:nth-child(4n+2) {
	background: var(--ihr-c2, var(--ihr-c1, #b7db6e));
	--ihr-title: var(--ihr-t2, #000);
	--ihr-text: var(--ihr-t2, #000);
}

.ihr-items--colorful > .ihr-item:nth-child(4n+3) {
	background: var(--ihr-c3, var(--ihr-c1, #b7db6e));
	--ihr-title: var(--ihr-t3, #000);
	--ihr-text: var(--ihr-t3, #000);
}

.ihr-items--colorful > .ihr-item:nth-child(4n+4) {
	background: var(--ihr-c4, var(--ihr-c1, #b7db6e));
	--ihr-title: var(--ihr-t4, #000);
	--ihr-text: var(--ihr-t4, #000);
}

.ihr-items--colorful .ihr-item__title {
	font-size: 32px;
	line-height: 0.95;
}

/* ---------- scheda numerata ---------- */

.ihr-items--numbered {
	--ihr-cols: 2;
	--ihr-gap: 27px;
}

.ihr-items--numbered > .ihr-item {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 0 10px;
}

.ihr-items--numbered .ihr-item__number {
	font-size: 14px;
	font-weight: 600;
	line-height: 0.95;
	color: var(--ihr-c1, var(--e-global-color-primary, #3b44b5));
}

.ihr-items--numbered > .ihr-item:nth-child(4n+2) .ihr-item__number { color: var(--ihr-c2, var(--ihr-c1, #3b44b5)); }
.ihr-items--numbered > .ihr-item:nth-child(4n+3) .ihr-item__number { color: var(--ihr-c3, var(--ihr-c1, #3b44b5)); }
.ihr-items--numbered > .ihr-item:nth-child(4n+4) .ihr-item__number { color: var(--ihr-c4, var(--ihr-c1, #3b44b5)); }

.ihr-items--numbered .ihr-item__title {
	font-size: 22px;
	line-height: 0.95;
}

/* ---------- scheda grigia con icona ---------- */

.ihr-items--card > .ihr-item {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 32px;
	border-radius: 30px;
	background: var(--ihr-card-bg, #f8f8f8);
}

.ihr-items--card .ihr-item__title {
	font-size: 24px;
	line-height: 0.95;
}

/* ---------- scheda con immagine ---------- */

.ihr-items--imagebox {
	--ihr-cols: 1;
}

.ihr-items--imagebox > .ihr-item {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 30px;
	padding: 28px;
	border-radius: 30px;
	background: var(--ihr-card-bg, #fff);
}

.ihr-items--imagebox .ihr-item__media {
	flex: 0 0 27%;
}

.ihr-items--imagebox .ihr-item__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 285 / 200;
	object-fit: cover;
	border-radius: 15px;
}

.ihr-items--imagebox .ihr-item__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	padding-right: 50px;
}

.ihr-items--imagebox .ihr-item__title {
	font-size: 24px;
	line-height: 0.95;
}

.ihr-items--imagebox .ihr-item__text {
	color: var(--ihr-text, #4c4c4c);
}

/* ---------- scheda del programma ---------- */

.ihr-items--program {
	--ihr-cols: 4;
	--ihr-gap: 15px;
	justify-content: center;
}

.ihr-items--program > .ihr-item {
	flex: 0 1 298px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 32px;
	border-radius: 24px;
	background: var(--ihr-card-bg, #fff);
}

.ihr-items--program .ihr-item__title {
	font-size: 24px;
	line-height: 0.95;
}

.ihr-items--program .ihr-item__text {
	font-size: 14px;
	color: var(--ihr-text, #4c4c4c);
}

/* ---------- blocco testo + immagine (alternato) ---------- */

.ihr-items--feature {
	--ihr-cols: 1;
	--ihr-gap: 100px;
}

/* como no site: o primeiro bloco tem o texto à esquerda, depois alterna; a imagem acompanha a altura do texto */
.ihr-items--feature > .ihr-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: stretch;
	gap: 64px;
}

.ihr-items--feature > .ihr-item:nth-child(odd) .ihr-item__media {
	order: 2;
}

.ihr-items--feature .ihr-item__media {
	min-width: 0;
	min-height: 360px;
}

.ihr-items--feature .ihr-item__image {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 30px;
}

.ihr-items--feature .ihr-item__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 24px;
	padding: 40px 0;
}

.ihr-items--feature .ihr-item__icon {
	width: 40px;
	height: 40px;
}

.ihr-items--feature .ihr-item__title {
	font-size: 42px;
	line-height: 1.07;
	color: var(--ihr-title, #090b06);
}

.ihr-items--feature .ihr-item__text {
	color: var(--ihr-text, #4c4c4c);
}

.ihr-items--feature .ihr-item__actions {
	margin-top: 8px;
}

/* ---------- scheda bianca con forma decorativa ---------- */

.ihr-items--formula {
	justify-content: center;
}

.ihr-items--formula > .ihr-item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-height: 340px;
	padding: 36px 26px 26px;
	overflow: hidden;
	border-radius: 30px;
	background: var(--ihr-card-bg, #fff);
}

.ihr-items--formula .ihr-item__title {
	position: relative;
	z-index: 1;
	font-size: 32px;
	line-height: 1.05;
}

.ihr-items--formula .ihr-item__text {
	position: relative;
	z-index: 1;
	max-width: 70%;
	color: var(--ihr-text, #4c4c4c);
}

.ihr-items--formula .ihr-item__deco {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 32%;
	height: auto;
	max-height: 70%;
	object-fit: contain;
	object-position: right bottom;
	border-radius: 0;
}

/* ---------- lista di link ---------- */

.ihr-items--list {
	list-style: none;
	column-gap: 40px;
	row-gap: 16px;
}

.ihr-items--list > .ihr-item {
	flex: 0 0 auto;
}

.ihr-items--list .ihr-item__title {
	font-size: 16px;
	line-height: 1.2;
}

.ihr-items--list .ihr-item__title a,
.ihr-items--list .ihr-item__title a:hover,
.ihr-items--list .ihr-item__title a:focus {
	color: inherit;
	text-decoration: none;
}

.ihr-items--list .ihr-item__title a:hover {
	text-decoration: underline;
}

/* ---------- domande frequenti ---------- */

.ihr-items--faq {
	display: block;
}

.ihr-faq .ihr-faq__item {
	border-bottom: 1px solid rgba(76, 77, 78, 0.1);
}

.ihr-faq .ihr-faq__q {
	margin: 0;
	margin-block: 0;
	font-size: inherit;
}

.ihr-faq .ihr-faq__button,
.ihr-faq .ihr-faq__button:hover,
.ihr-faq .ihr-faq__button:focus,
.ihr-faq .ihr-faq__button:focus-visible,
.ihr-faq .ihr-faq__button:active {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	padding: 16px 10px;
	border: 0;
	background: transparent;
	color: #1f2124;
	font-family: inherit;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.07;
	text-align: left;
	white-space: normal;
	cursor: pointer;
}

/* + fechado, − aberto, como na produção */
.ihr-faq .ihr-faq__icon {
	position: relative;
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	color: var(--e-global-color-4afde83, #f06c6a);
}

.ihr-faq .ihr-faq__icon::before,
.ihr-faq .ihr-faq__icon > span {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 14px;
	height: 2px;
	margin-top: -1px;
	background: currentColor;
}

.ihr-faq .ihr-faq__icon > span {
	transform: rotate(90deg);
	transition: transform 0.2s ease;
}

.ihr-faq .ihr-faq__button[aria-expanded="true"] .ihr-faq__icon > span {
	transform: rotate(0deg);
}

.ihr-faq .ihr-faq__a {
	padding: 0 10px 16px;
	font-size: 16px;
	line-height: 1.5;
	color: #000;
}

.ihr-faq .ihr-faq__a[hidden] {
	display: none;
}

.ihr-faq .ihr-faq__a p {
	margin: 0;
	margin-block: 0;
}

/* ---------- calendario esami ---------- */

.ihr-calendar {
	width: 100%;
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.ihr-calendar iframe {
	display: block;
	width: 100%;
	height: 490px;
	border: 0;
}

/* ---------- responsivo (sempre no fim) ---------- */

@media (max-width: 1024px) {
	.ihr-calendar iframe { height: 1000px; }
	.ihr-items--feature > .ihr-item { gap: 40px; }
	.ihr-items--feature .ihr-item__title { font-size: 34px; }
}

@media (max-width: 767px) {
	.ihr-items { --ihr-cols: 1; }
	.ihr-items--colorful .ihr-item__title { font-size: 22px; }
	.ihr-items--card .ihr-item__title,
	.ihr-items--imagebox .ihr-item__title,
	.ihr-items--program .ihr-item__title { font-size: 22px; line-height: 1.2; }
	.ihr-items--imagebox > .ihr-item { flex-direction: column; align-items: flex-start; }
	.ihr-items--imagebox .ihr-item__media { flex-basis: auto; width: 100%; }
	.ihr-items--imagebox .ihr-item__body { padding-right: 10px; }
	.ihr-items--program .ihr-btn.ihr-btn--link { font-size: 16px; }
	.ihr-items--feature { --ihr-gap: 60px; }
	.ihr-items--feature > .ihr-item { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.ihr-items--feature > .ihr-item:nth-child(odd) .ihr-item__media { order: 0; }
	.ihr-items--feature .ihr-item__media { min-height: 0; }
	.ihr-items--feature .ihr-item__image { height: auto; aspect-ratio: 4 / 3; }
	.ihr-items--feature .ihr-item__body { padding: 0; }
	.ihr-items--feature .ihr-item__title { font-size: 25px; }
	.ihr-items--formula .ihr-item__title { font-size: 25px; }
	.ihr-items--formula > .ihr-item { min-height: 340px; }
	.ihr-faq .ihr-faq__button { font-size: 22px; }
	.ihr-calendar iframe { height: 865px; }
}

@media (prefers-reduced-motion: reduce) {
	.ihr-btn,
	.ihr-faq .ihr-faq__icon > span { transition: none; }
}
