/*
 * Blocos da Escola Paradiso. As cores da marca ficam em variáveis para funcionarem com qualquer tema;
 * o tema "paradiso" define as mesmas cores no theme.json.
 */
:root {
	--paradiso-azul: #0667AD;
	--paradiso-profundo: #102F53;
	--paradiso-resplendor: #FCD539;
	--paradiso-quente: #FFFCF4;
	--paradiso-nevoa: #EAF1F7;
	--paradiso-linha: #C8D7E5;
	--paradiso-medio: #14497A;
	--paradiso-suave: #44597A;
	--paradiso-claro: #C6D8EA;
	--paradiso-titulo: var(--wp--preset--font-family--display, "Cinzel", Georgia, serif);
	--paradiso-largura: var(--wp--style--global--wide-size, 1180px);
	--paradiso-margem: max(20px, env(safe-area-inset-left, 0px));
}

/* ---------- Marca ---------- */
.paradiso-marca { display: inline-flex; align-items: center; gap: 0.7rem; color: var(--paradiso-azul); text-decoration: none; }
.paradiso-marca .paradiso-brasao { width: 38px; height: 46px; flex: none; }
.paradiso-marca .paradiso-nome { width: 132px; height: 34px; }

/* ---------- Abertura ---------- */
.paradiso-abertura {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin-block: 0 !important;
	padding: clamp(3rem, 7vw, 5.5rem) var(--paradiso-margem) clamp(5.5rem, 11vw, 9rem);
	background: var(--paradiso-profundo);
	color: var(--paradiso-quente);
}
.paradiso-abertura::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("trama.png") center / 420px; opacity: 0.22; }
.paradiso-abertura__wrap { max-width: var(--paradiso-largura); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.paradiso-abertura__texto { display: grid; gap: 1.35rem; justify-items: start; }
.paradiso-abertura__texto > * { margin: 0 !important; max-width: none; }
.paradiso-abertura__texto h1 { font-size: clamp(2.1rem, 5.2vw, 3.9rem); line-height: 1.08; }
.paradiso-abertura__texto .is-style-rotulo { color: var(--paradiso-resplendor); }
.paradiso-abertura__texto .paradiso-lide { color: var(--paradiso-claro); max-width: 36em; }
.paradiso-abertura__brasao { position: relative; justify-self: center; width: min(100%, 340px); }
.paradiso-abertura__brasao svg { position: relative; display: block; width: 100%; height: auto; overflow: visible; }
.paradiso-abertura__halo { position: absolute; left: 50%; top: 42%; width: 190%; aspect-ratio: 1; translate: -50% -50%; border-radius: 50%; background: radial-gradient(circle, rgba(252, 213, 57, 0.34), rgba(252, 213, 57, 0) 60%); pointer-events: none; }
.paradiso-crista { position: absolute; left: 0; bottom: -1px; width: 100%; height: clamp(38px, 6.5vw, 86px); display: block; color: var(--paradiso-crista, var(--paradiso-resplendor)); }
@media (max-width: 800px) {
	.paradiso-abertura__wrap { grid-template-columns: minmax(0, 1fr); }
	.paradiso-abertura__brasao { grid-row: 1; width: 168px; justify-self: start; }
}
.paradiso-abertura.is-editing { overflow: visible; }

/* ---------- Aviso das matrículas ---------- */
.paradiso-aviso { margin-block: 0 !important; padding-inline: var(--paradiso-margem); background: var(--paradiso-resplendor); color: var(--paradiso-profundo); }
.paradiso-aviso__wrap { max-width: var(--paradiso-largura); margin-inline: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1.5rem; padding-block: 1rem; }
.paradiso-aviso p { margin: 0; min-width: 0; font-size: 1.05rem; }
.paradiso-aviso a { color: inherit; font-weight: 700; white-space: nowrap; }

/* ---------- Botão das matrículas ---------- */
.paradiso-chamada .wp-block-button__link { display: inline-flex; align-items: center; gap: 0.5rem; }
.paradiso-chamada.is-style-ouro .wp-block-button__link { background: var(--paradiso-resplendor); color: var(--paradiso-profundo); }
.paradiso-chamada.is-style-azul .wp-block-button__link { background: var(--paradiso-azul); color: var(--paradiso-quente); }
.paradiso-chamada.is-style-contorno .wp-block-button__link { background: transparent; color: currentColor; border: 2px solid currentColor; }

/* ---------- Turmas ---------- */
.paradiso-turmas__abas { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }
.paradiso-turmas__aba { padding: 0.65rem 1.1rem; min-height: 46px; border: 2px solid var(--paradiso-azul); border-radius: 4px; background: transparent; color: var(--paradiso-azul); font: inherit; font-weight: 660; cursor: pointer; }
.paradiso-turmas__aba[aria-selected="true"] { background: var(--paradiso-azul); color: var(--paradiso-quente); }
.paradiso-turmas__lista { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--paradiso-profundo); }
.paradiso-turma { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 0.25rem 1.25rem; padding: 1.15rem 0; border-bottom: 1px solid var(--paradiso-linha); }
.paradiso-turma p { margin: 0; }
.paradiso-turma__nome { margin: 0; font-family: var(--paradiso-titulo); font-weight: 650; font-size: 1.35rem; line-height: 1.2; }
.paradiso-turma__idade { display: block; font-family: var(--wp--preset--font-family--body, inherit); font-size: 0.95rem; font-weight: 600; letter-spacing: 0.02em; color: var(--paradiso-azul); }
.paradiso-turma__regente { font-size: 0.95rem; color: var(--paradiso-suave); }
@media (max-width: 480px) { .paradiso-turma { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Equipe ---------- */
.paradiso-equipe__grupo + .paradiso-equipe__grupo { margin-top: clamp(2rem, 4vw, 3rem); }
.paradiso-equipe__titulo { display: flex; align-items: center; gap: 1rem; margin: 0 0 1.25rem; font-family: var(--wp--preset--font-family--body, inherit); font-size: 0.85rem; font-weight: 660; letter-spacing: 0.18em; text-transform: uppercase; color: var(--paradiso-medio); }
.paradiso-equipe__titulo::after { content: ""; flex: 1; height: 1px; background: var(--paradiso-linha); }
.paradiso-equipe__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
@media (max-width: 1000px) { .paradiso-equipe__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .paradiso-equipe__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.paradiso-membro { display: grid; gap: 0.2rem; align-content: start; }
.paradiso-membro__foto { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 5; margin-bottom: 0.7rem; object-fit: cover; border-radius: 4px; background: var(--paradiso-azul) url("trama.png") center / 300px; background-blend-mode: soft-light; }
.paradiso-membro__foto b { font-family: var(--paradiso-titulo); font-weight: 650; font-size: clamp(2.6rem, 6vw, 4rem); line-height: 1; color: var(--paradiso-quente); }
.paradiso-membro__turma { font-size: 0.82rem; font-weight: 660; letter-spacing: 0.14em; text-transform: uppercase; color: var(--paradiso-azul); }
.paradiso-membro__nome { margin: 0; font-family: var(--paradiso-titulo); font-weight: 650; font-size: clamp(1.02rem, 1.6vw, 1.2rem); line-height: 1.2; overflow-wrap: anywhere; }
.paradiso-membro__funcao { font-size: 0.95rem; color: var(--paradiso-suave); }
.paradiso-membro__reel { margin-top: 0.3rem; font-size: 0.92rem; font-weight: 660; color: var(--paradiso-azul); }

/* ---------- Perguntas frequentes ---------- */
.paradiso-perguntas details { border-bottom: 1px solid var(--paradiso-linha); }
.paradiso-perguntas details:first-of-type { border-top: 2px solid var(--paradiso-profundo); }
.paradiso-perguntas summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.1rem 0; font-weight: 660; font-size: 1.12rem; cursor: pointer; list-style: none; }
.paradiso-perguntas summary::-webkit-details-marker { display: none; }
.paradiso-perguntas summary::after { content: ""; flex: none; width: 0.6rem; height: 0.6rem; border-right: 2px solid var(--paradiso-azul); border-bottom: 2px solid var(--paradiso-azul); transform: rotate(45deg); transition: transform 0.2s; }
.paradiso-perguntas details[open] summary::after { transform: rotate(-135deg); }
.paradiso-perguntas__resposta { padding: 0 2rem 1.25rem 0; max-width: 62ch; color: var(--paradiso-suave); }
.paradiso-perguntas__resposta > :first-child { margin-top: 0; }
.paradiso-perguntas__resposta > :last-child { margin-bottom: 0; }

/* ---------- Contatos ---------- */
.paradiso-contato { display: grid; gap: 1rem; margin: 0; padding: 1.6rem 1.5rem; background: rgba(6, 103, 173, 0.28); border: 1px solid rgba(255, 252, 244, 0.25); border-radius: 4px; color: var(--paradiso-quente); }
.paradiso-contato dt { font-size: 0.8rem; font-weight: 660; letter-spacing: 0.16em; text-transform: uppercase; color: var(--paradiso-resplendor); }
.paradiso-contato dd { margin: 0.15rem 0 0; font-size: 1.05rem; overflow-wrap: anywhere; }
.paradiso-contato a { color: inherit; }

/* ---------- Botão flutuante de WhatsApp ---------- */
.paradiso-whatsapp { position: fixed; right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 40; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; background: #1FA855; color: #fff; box-shadow: 0 8px 22px rgba(16, 47, 83, 0.3); }
.paradiso-whatsapp svg { width: 30px; height: 30px; }
