/* CAp Miguel Pereira - complementos ao Elementor (listas, acordeão de avisos, banner do modelo de notícia e acabamentos) */
:root {
	--capmp-bordo: #6D1D20;
	--capmp-bordo-escuro: #561417;
	--capmp-ouro: #FFD9A8;
	--capmp-creme: #FFF9F2;
	--capmp-cinza: #F6F4F4;
	--capmp-texto: #1D1D1B;
}
html, body { overflow-x: clip; }
.capmp-icone { flex: none; }
.capmp-vazio { color: #5E5A58; }

/* Banner do modelo de notícia/evento ([capmp_banner]) */
.capmp-banner {
	position: relative; display: flex; align-items: center;
	min-height: clamp(260px, 31vw, 600px); background: var(--capmp-bordo) center right / cover no-repeat;
}
.capmp-banner::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(18, 10, 10, .78) 0%, rgba(18, 10, 10, .55) 32%, rgba(18, 10, 10, .08) 62%, rgba(0, 0, 0, 0) 100%);
}
.capmp-banner__conteudo { position: relative; width: 100%; max-width: 1600px; margin: 0 auto; padding: 48px clamp(16px, 4vw, 56px); box-sizing: border-box; }
.capmp-banner__titulo { color: #fff !important; margin: 0; max-width: 11em; font-size: clamp(2.2rem, 4.6vw, 4.25rem); line-height: 1.12; font-weight: 800; }
.capmp-banner__trilha { color: #fff; font-size: clamp(1.1rem, 2vw, 2rem); font-weight: 300; margin: 0 0 1rem; }
.capmp-banner__trilha a { color: #fff; }

/* Listas de avisos e eventos (home) */
.capmp-lista { list-style: none; margin: 0; padding: 0; }
.capmp-lista li + li { margin-top: 1.4rem; }
.capmp-lista a { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 0 1rem; color: var(--capmp-bordo); padding: 4px 0; text-decoration: none; }
.capmp-lista a:hover .capmp-item__titulo, .capmp-lista a:hover .capmp-evento__nome { text-decoration: underline; }
.capmp-item__data { grid-column: 1; font-size: 1.05rem; color: var(--capmp-texto); }
.capmp-item__titulo { grid-column: 1; font-weight: 600; font-size: clamp(1.15rem, 1.4vw, 1.45rem); }
.capmp-lista--avisos .capmp-icone { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.capmp-lista--eventos a { grid-template-columns: auto 1fr; align-items: center; padding: 12px 0; }
.capmp-evento__data { font-size: clamp(1.3rem, 1.8vw, 1.75rem); color: var(--capmp-texto); }
.capmp-evento__nome { justify-self: end; text-align: right; font-weight: 700; font-size: clamp(1.3rem, 1.8vw, 1.75rem); color: var(--capmp-texto); display: inline-flex; align-items: center; gap: .4rem; }

/* Página de eventos (/eventos/) */
.capmp-eventos-pagina { display: grid; gap: clamp(28px, 3vw, 48px); }
.capmp-evento-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; }
.capmp-evento-item__titulo { margin: 0; font-size: clamp(1.5rem, 1.8vw, 2.1rem); font-weight: 800; line-height: 1.2; }
.capmp-evento-item__titulo a { color: var(--capmp-bordo); text-decoration: none; }
.capmp-evento-item__titulo a:hover { text-decoration: underline; }
.capmp-evento-item__info p { margin: .15rem 0 0; font-size: clamp(1.3rem, 1.6vw, 1.95rem); line-height: 1.25; color: var(--capmp-texto); }
.capmp-evento-item__mais { color: var(--capmp-texto); font-size: clamp(1.05rem, 1.15vw, 1.3rem); text-decoration: none; display: inline-flex; align-items: center; gap: .3rem; }
.capmp-evento-item__mais:hover { color: var(--capmp-bordo); }

/* Data na página individual de notícia/evento e galerias do conteúdo */
.capmp-data-individual { margin: 0; font-size: 1.05rem; color: var(--capmp-texto); }
.elementor-widget-theme-post-content .wp-block-gallery { display: grid !important; grid-template-columns: repeat(3, minmax(0, 415px)); gap: 24px clamp(16px, 6vw, 120px) !important; margin-top: 2.5rem; }
.elementor-widget-theme-post-content .wp-block-gallery > figure.wp-block-image { width: 100% !important; margin: 0 !important; }
.elementor-widget-theme-post-content .wp-block-gallery img { width: 100%; aspect-ratio: 415 / 318; object-fit: cover; }
@media (max-width: 700px) { .elementor-widget-theme-post-content .wp-block-gallery { grid-template-columns: 1fr 1fr; } }
.elementor-widget-theme-post-content h2 { color: var(--capmp-bordo); font-weight: 800; font-size: clamp(1.6rem, 1.9vw, 2.1rem); margin: 2.5rem 0 1rem; }

/* Avisos em acordeão (/avisos/) */
.capmp-avisos { display: grid; gap: 28px; }
.capmp-aviso { background: var(--capmp-creme); }
.capmp-aviso summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr auto; gap: .1rem 1rem; padding: 22px clamp(16px, 2vw, 24px); color: var(--capmp-bordo); }
.capmp-aviso summary::-webkit-details-marker { display: none; }
.capmp-aviso__data { grid-column: 1; color: var(--capmp-texto); font-size: 1rem; }
.capmp-aviso__titulo { grid-column: 1; font-size: clamp(1.4rem, 2vw, 2rem); font-weight: 600; }
.capmp-aviso summary .capmp-icone { grid-column: 2; grid-row: 1 / span 2; align-self: center; transition: transform .2s; }
.capmp-aviso[open] summary .capmp-icone { transform: rotate(180deg); }
.capmp-aviso summary:focus-visible { outline: 3px solid var(--capmp-bordo); outline-offset: 2px; }
.capmp-aviso__texto { background: #fff; margin: 0 clamp(12px, 1.5vw, 24px) 24px; padding: 20px clamp(16px, 2vw, 28px); font-size: 1.15rem; }
.capmp-aviso__texto > :first-child { margin-top: 0; }

/* Banners: mantêm a proporção das imagens (1920x650) em qualquer largura, sem ampliar nem cortar a foto */
.capmp-banner-el { min-height: clamp(240px, 33.85vw, 650px) !important; }
.capmp-banner-el--baixo, .capmp-banner--modelo { min-height: clamp(200px, 20vw, 385px) !important; background-position: center 38% !important; }
.elementor-icon-box-description, .elementor-icon-box-title { line-height: 1.3 !important; }
.capmp-banner--modelo .capmp-banner__titulo { max-width: 9em; font-size: clamp(2rem, 3.5vw, 4.25rem); }
.capmp-hero-el { min-height: clamp(300px, 33.4vw, 640px) !important; }
.capmp-banner-el .elementor-heading-title { font-size: clamp(2rem, 3.5vw, 4.25rem) !important; }
.capmp-hero-el .elementor-heading-title { font-size: clamp(2.1rem, 3.9vw, 4.75rem) !important; }

/* Ícones do Figma (PNG) nas caixas de imagem: tamanho fixo por uso */
.capmp-ib .elementor-image-box-img { width: auto !important; flex: none; }
.capmp-ib .elementor-image-box-img img { display: block; height: auto; }
.capmp-ib .elementor-image-box-title { margin: 0; }
.capmp-ib a { text-decoration: none; }
.capmp-ib-topo img { width: auto; height: 22px !important; }
.capmp-ib-acesso img { width: auto; height: 40px !important; }
.capmp-ib-cartao .elementor-image-box-img { margin-inline: auto; }
.capmp-ib-cartao img { width: clamp(100px, 9.5vw, 185px) !important; }
.elementor-image-box-description, .elementor-image-box-title { line-height: 1.3 !important; }
.capmp-ib-edital-grande img { width: auto; height: clamp(44px, 4vw, 75px) !important; }
.capmp-ib-edital-pequeno img { width: auto; height: 28px !important; }
.capmp-ib-edital-grande .elementor-image-box-title a, .capmp-ib-edital-pequeno .elementor-image-box-title a { color: var(--capmp-bordo); }
.capmp-ib-topo .elementor-image-box-title a { color: var(--capmp-bordo); }
.capmp-ib-topo .elementor-image-box-wrapper, .capmp-ib-acesso .elementor-image-box-wrapper,
.capmp-ib-edital-grande .elementor-image-box-wrapper, .capmp-ib-edital-pequeno .elementor-image-box-wrapper { display: flex !important; align-items: center; text-align: left; }

/* Acabamentos dos widgets do Elementor (classes aplicadas nas páginas) */
.elementor-location-header .elementor-search-form__container { border: 1.5px solid var(--capmp-bordo) !important; border-radius: 4px; overflow: hidden; }
.capmp-acesso-el { box-shadow: 0 10px 30px rgba(0, 0, 0, .08); }
.capmp-acesso-el .elementor-icon-box-wrapper { align-items: center; }
.capmp-acesso-el .elementor-icon-box-title { margin: 0 !important; }
.capmp-acesso-el .elementor-icon-box-description { color: #5E5A58; }
.capmp-acesso-item + .capmp-acesso-item { border-left: 2px solid var(--capmp-bordo); }
.capmp-acesso-item { display: flex !important; align-items: center; justify-content: center; flex: 1 1 0 !important; position: relative; cursor: pointer; }
/* Bloco inteiro clicável: o link do título se estende sobre todo o item (um único link para teclado e leitor de tela) */
.capmp-acesso-item .elementor-image-box-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.capmp-acesso-item .elementor-image-box-img a { position: static; }
.capmp-acesso-item:has(a:focus-visible) { outline: 3px solid var(--capmp-bordo); outline-offset: -3px; }
.capmp-acesso-item .elementor-image-box-title a:focus-visible { outline: none; }
.capmp-acesso-el > .e-con:first-child { flex: 0 0 250px !important; max-width: 250px; }
.capmp-acesso-item > .elementor-widget-container, .capmp-acesso-item .elementor-icon-box-wrapper { width: auto; }
.capmp-equipe-el img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; background: var(--capmp-bordo); }
.capmp-foto-3x2 img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.capmp-cartao-foto { width: 100%; max-width: 440px; }
.capmp-cartao-foto img { width: 100%; aspect-ratio: 440 / 300; object-fit: cover; }
.capmp-cartao-foto .elementor-image-box-img { width: 100% !important; }
.capmp-cartao-foto .elementor-image-box-title { max-width: 11em; margin-inline: auto; line-height: 1.25; }
.capmp-foto-16x9 img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.capmp-sem-margem p:last-child { margin-bottom: 0; }
.capmp-rodape-el a { color: #fff; }
.capmp-noticias-el .elementor-post__title { margin-bottom: .4rem; }
.capmp-noticias-el .elementor-post__read-more { color: #5E5A58 !important; }
.capmp-noticias-el .elementor-post__thumbnail img { object-fit: cover; }
.capmp-mapa-el iframe { filter: grayscale(1); }
.capmp-carrossel-el .elementor-image-carousel-caption { font-size: 1.35rem; margin-top: 1.25rem; }

/* =====================================================================
   REFINAMENTO 1.2 (04/11): cantos arredondados, tipografia, acabamento e movimento.
   Identidade mantida: bordô, dourado, creme, Plus Jakarta Sans, layout do Figma.
   ===================================================================== */
:root {
	--capmp-raio: 18px;
	--capmp-raio-p: 12px;
	--capmp-ease: cubic-bezier(0.23, 1, 0.32, 1);
}

/* Imagens de conteúdo com cantos arredondados (banners de largura total continuam retos) */
.capmp-foto-16x9 img, .capmp-foto-3x2 img, .capmp-cartao-foto img,
.capmp-noticias-el .elementor-post__thumbnail, .capmp-noticias-el .elementor-post__thumbnail img,
.capmp-carrossel-el .swiper-slide-image, .capmp-carrossel-el .swiper,
.elementor-widget-theme-post-content .wp-block-gallery img, .elementor-widget-theme-post-content .wp-block-image img,
.capmp-mapa-el iframe, .capmp-mapa-el .elementor-custom-embed {
	border-radius: var(--capmp-raio);
}
.capmp-noticias-el .elementor-post__thumbnail__link, .capmp-cartao-foto .elementor-image-box-img,
.capmp-foto-16x9 .elementor-widget-container, .capmp-foto-3x2 .elementor-widget-container { border-radius: var(--capmp-raio); overflow: hidden; }
/* O Elementor zera o raio com ".elementor img { border-radius: 0 }" (mesma especificidade, carregado depois): reforço com mais especificidade */
.elementor .capmp-foto-16x9 img, .elementor .capmp-foto-3x2 img, .elementor .capmp-cartao-foto img,
.elementor .capmp-carrossel-el .swiper-slide-image, .elementor-widget-theme-post-content .wp-block-gallery img,
.elementor-widget-theme-post-content .wp-block-image img { border-radius: var(--capmp-raio); }
.elementor .capmp-foto-16x9 img { object-position: center 8%; } /* foto do campus: mostra o prédio, não a grama */

/* Cartões e blocos: mesmo raio */
.e-con:has(> .elementor-widget-image-box.capmp-ib-cartao) { border-radius: var(--capmp-raio) !important; transition: background-color 200ms ease, transform 200ms var(--capmp-ease); }
.capmp-aviso { border-radius: var(--capmp-raio-p); overflow: hidden; }
.capmp-aviso__texto { border-radius: var(--capmp-raio-p); }
.capmp-acesso-el { box-shadow: none !important; }

/* Tipografia: corpo legível e menos tamanhos */
.capmp-noticias-el .elementor-post__title { font-size: 1.3rem !important; line-height: 1.3 !important; margin-bottom: .5rem !important; }
.capmp-noticias-el .elementor-post__excerpt p { font-size: 1rem !important; line-height: 1.5 !important; }
.capmp-noticias-el .elementor-post__read-more { font-size: .95rem !important; font-weight: 600; }
.capmp-noticias-el .elementor-post__text { padding-top: 18px; }
.capmp-item__data, .capmp-aviso__data { font-size: 1rem; }
.capmp-item__titulo { font-size: clamp(1.15rem, 1.35vw, 1.4rem); }
.capmp-ib-acesso .elementor-image-box-title { font-size: 1.1rem !important; }
.capmp-ib-acesso .elementor-image-box-description { font-size: 1rem !important; }

/* Acabamento das interações (resposta ao toque e ao mouse) */
.elementor-button, .capmp-botao { transition: transform 160ms var(--capmp-ease), background-color 200ms ease; }
.elementor-button:active, .capmp-botao:active, .capmp-ib a:active, .capmp-lista a:active, .capmp-evento-item__mais:active { transform: scale(0.97); }
.capmp-lista a .capmp-icone, .capmp-evento-item__mais .capmp-icone { transition: transform 200ms var(--capmp-ease); }
@media (hover: hover) and (pointer: fine) {
	.capmp-lista a:hover .capmp-icone, .capmp-evento-item__mais:hover .capmp-icone { transform: translateX(4px); }
	.e-con:has(> .elementor-widget-image-box.capmp-ib-cartao):hover { background-color: #EFEAEA !important; }
	.capmp-acesso-item:hover { background-color: #EFEAEA; }
}
:focus-visible { outline: 3px solid var(--capmp-bordo); outline-offset: 3px; border-radius: 4px; }

/* Entrada das seções (só com JS; sem JS tudo aparece normalmente) */
.capmp-js .capmp-revela { opacity: 0; transform: translateY(22px); }
.capmp-js .capmp-revela.capmp-visivel { opacity: 1; transform: none; transition: opacity 650ms var(--capmp-ease), transform 650ms var(--capmp-ease); transition-delay: var(--capmp-atraso, 0ms); }
@media (prefers-reduced-motion: reduce) {
	.capmp-js .capmp-revela { transform: none; }
	.capmp-js .capmp-revela.capmp-visivel { transition: opacity 300ms ease; }
	.elementor-button:active, .capmp-botao:active { transform: none; }
}

/* Tablet e celular: o banner da home volta a dominar a primeira tela */
@media (max-width: 1024px) {
	.capmp-hero-el { min-height: 62vh !important; background-position: 70% center !important; }
	.capmp-hero-el .elementor-widget-heading { width: 100% !important; max-width: 640px; }
	.capmp-hero-el .elementor-heading-title { font-size: clamp(2.4rem, 7.2vw, 3.6rem) !important; line-height: 1.05 !important; letter-spacing: -0.02em; }
}

/* Celular: cabeçalho, acesso rápido, eventos e rodapé */
@media (max-width: 767px) {
	.elementor-location-header .capmp-ib-topo { display: none !important; } /* os portais estão no Acesso rápido, logo abaixo */
	.capmp-ib-acesso .elementor-image-box-title { font-size: .95rem !important; }
	.capmp-ib-acesso .elementor-image-box-description { font-size: .85rem !important; }
	.capmp-ib-acesso .elementor-image-box-wrapper { gap: 10px; }
	.capmp-acesso-el { display: grid !important; grid-template-columns: 1fr 1fr; }
	.capmp-acesso-el > .e-con:first-child { grid-column: 1 / -1; }
	.capmp-acesso-el .capmp-acesso-item { padding: 16px 14px !important; }
	.capmp-ib-acesso img { height: 26px !important; }
	.capmp-lista--eventos a { grid-template-columns: 1fr auto; gap: .1rem .75rem; }
	.capmp-evento__data { grid-column: 1; font-size: 1rem; }
	.capmp-evento__nome { grid-column: 1; justify-self: start; text-align: left; font-size: 1.2rem; }
	.capmp-lista--eventos a .capmp-icone { grid-column: 2; grid-row: 1 / span 2; }
	.capmp-rodape-el .elementor-widget-text-editor p { text-align: left !important; font-size: .9rem; }
	:root { --capmp-raio: 14px; }
}

@media (max-width: 1024px) {
	.capmp-acesso-item + .capmp-acesso-item { border-left: 0; }
	.capmp-acesso-el > .e-con:first-child { flex-basis: 100% !important; max-width: none; }
	.capmp-acesso-item { flex: 1 1 45% !important; justify-content: flex-start; }
	.capmp-divisoria-ouro { border-left: 0 !important; border-top: 3px solid var(--capmp-ouro) !important; }
}
@media (prefers-reduced-motion: reduce) {
	.capmp-aviso summary .capmp-icone { transition: none; }
}
