/* Estilos das paginas internas (institucional/academico). Enfileirado junto com
   theme.css, que define as custom properties. Mantido a mao — NAO e gerado pelo
   build_carmojf.py (que so cuida da home). */

/* Página de agradecimento (obrigado) */
.obrigado{background:linear-gradient(170deg,var(--cream-soft) 0%,var(--ivory) 70%);padding:clamp(56px,8vw,110px) 0;text-align:center;min-height:60vh;display:flex;align-items:center}
.obrigado .wrap{max-width:46rem}
.ob-check{display:inline-flex;align-items:center;justify-content:center;width:74px;height:74px;border-radius:50%;background:var(--brown);color:var(--cream);margin-bottom:22px;box-shadow:0 16px 34px -16px rgba(94,58,38,.6)}
.obrigado .eyebrow{justify-content:center}
.obrigado h1{font-size:clamp(2rem,4.5vw,3.2rem);margin:14px 0 16px}
.ob-lead{color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.7;max-width:40em;margin:0 auto 26px}
.ob-note{display:block;max-width:38em;margin:0 auto 30px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:12px;padding:18px 22px;text-align:left}
.ob-note strong{display:block;color:var(--brown-deep);font-size:1.02rem;margin-bottom:4px}
.ob-note span{color:var(--muted);font-size:.96rem;line-height:1.6}
.ob-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.ob-contato{color:var(--muted);font-size:.98rem}
.ob-contato a{color:var(--gold-text);text-decoration:none}
.ob-contato a:hover{text-decoration:underline}

/* Agendamento de visita: passos numerados + contato lateral */
.ag-passos{list-style:none;counter-reset:p;margin:8px 0 26px;padding:0;display:grid;gap:18px}
.ag-passos li{position:relative;counter-increment:p;padding-left:50px}
.ag-passos li::before{content:counter(p);position:absolute;left:0;top:-2px;width:34px;height:34px;border-radius:50%;background:var(--brown);color:var(--cream);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:1.15rem}
.ag-passos li::marker{content:none}
.ag-passos strong{display:block;color:var(--brown-deep);font-size:1.04rem;margin-bottom:2px}
.ag-passos span{color:var(--muted);font-size:.95rem;line-height:1.55}
.ag-contato{background:var(--cream-soft);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:12px;padding:18px 20px;display:grid;gap:4px}
.ag-contato strong{color:var(--brown-deep)}
.ag-contato a{color:var(--gold-text);text-decoration:none;font-size:1.2rem;font-weight:700}
.ag-contato a:hover{text-decoration:underline}
.ag-contato span{color:var(--muted);font-size:.9rem}
.ag-wa,.ci-wa{display:inline-flex!important;align-items:center;gap:7px;color:#1eb257!important;font-weight:700}
.ag-wa{font-size:1.05rem!important}
.ag-wa:hover,.ci-wa:hover{color:#128C7E!important;text-decoration:underline}
.ag-wa svg,.ci-wa svg{flex:0 0 auto}

/* Hero compacto (ex.: página Edital, onde o formulário é o foco) */
.int-hero-sm{padding:clamp(28px,3.2vw,44px) 0 clamp(18px,2.2vw,28px)}
.int-hero-sm h1{font-size:clamp(1.9rem,4vw,2.9rem);margin:10px 0 8px}
.int-hero-sm p{max-width:52em}
/* título mais longo (Processo de Admissão...): fonte menor e tudo em uma linha só
   no desktop (no mobile pode quebrar naturalmente) */
.hero-adm .wrap{max-width:70rem}
.hero-adm h1{font-size:clamp(1.15rem,2.2vw,1.75rem);text-wrap:balance}
/* desktop: tudo em uma linha só; mobile: 2 linhas equilibradas (balance) */
@media(min-width:760px){.hero-adm h1{white-space:nowrap;text-wrap:nowrap}}

/* Hero de pagina interna */
.int-hero{background:linear-gradient(170deg,var(--cream-soft) 0%,var(--ivory) 70%);padding:clamp(48px,6vw,84px) 0 clamp(40px,5vw,64px);border-bottom:1px solid var(--line)}
.int-hero .wrap{max-width:56rem}
.int-hero h1{font-size:clamp(2.2rem,5vw,3.6rem);margin:16px 0 14px}
.int-hero p{color:var(--muted);font-size:clamp(1.02rem,1.5vw,1.16rem);max-width:44em}

/* Corpo de texto */
.prose{padding:clamp(48px,6vw,88px) 0}
.prose .wrap{max-width:52rem}
.prose h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:36px 0 14px;color:var(--brown-deep)}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.35rem;margin:28px 0 10px;color:var(--brown-deep)}
.prose p{color:var(--ink);margin-bottom:16px;font-size:1.04rem;line-height:1.75}
.prose p.lead{font-size:1.16rem;color:var(--muted)}
.prose ul{list-style:none;margin:8px 0 20px;display:grid;gap:12px}
.prose ul li{position:relative;padding-left:26px;color:var(--ink);line-height:1.65}
.prose ul li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.prose blockquote{margin:24px 0;padding:20px 26px;background:var(--cream-soft);border-left:3px solid var(--gold);border-radius:0 12px 12px 0}
.prose blockquote p{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--brown-deep);margin:0}
.prose blockquote cite{display:block;margin-top:10px;font-family:var(--sans);font-style:normal;font-size:.85rem;font-weight:700;color:var(--muted)}

/* Linha do tempo (Historico) */
.timeline{list-style:none;margin:8px 0 0;display:grid;gap:0}
.timeline li{position:relative;padding:0 0 26px 34px;border-left:2px solid var(--line)}
.timeline li:last-child{border-left-color:transparent;padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:-8px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--gold);border:3px solid var(--ivory)}
.timeline .ano{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--gold-text);line-height:1;margin-bottom:4px}
.timeline p{color:var(--muted);margin:0;font-size:1rem}

/* Missao/Visao/Valores */
.mv{display:grid;gap:22px;margin-top:8px}
.mv-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px 32px;box-shadow:var(--shadow-sm)}
.mv-card .eyebrow{margin-bottom:12px}
.mv-card p{font-family:var(--serif);font-size:1.4rem;font-style:italic;color:var(--brown-deep);line-height:1.35;margin:0}
.mv-card.plain p{font-family:var(--sans);font-style:normal;font-size:1.06rem;color:var(--ink);line-height:1.7}
.valores{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding:0}
.valores li{border:1px solid var(--line);background:var(--cream-soft);color:var(--brown);border-radius:50px;padding:9px 18px;font-size:.9rem;font-weight:600}
.valores li::before{display:none}

/* Segmentos detalhados (pagina Cursos): foto + texto, um por linha */
.seg-det{display:grid;gap:34px;margin-top:8px}
.seg-det .item{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm)}
.seg-det .item>picture{display:block;height:100%}
.seg-det .item img{width:300px;height:100%;min-height:260px;object-fit:cover;object-position:center 30%}
.seg-det .tx{padding:28px 34px 30px}
.seg-det h2{font-size:1.5rem;margin:0 0 2px}
.seg-det .faixa{color:var(--gold-text);font-weight:700;font-size:.9rem;margin:2px 0 4px}
.seg-det .turno{display:inline-block;background:var(--cream);color:var(--brown);font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:50px;margin:8px 0 12px}
.seg-det .tx p{color:var(--muted);font-size:.98rem;line-height:1.7;margin-bottom:10px}
.seg-det .comp{font-size:.9rem;color:var(--ink);margin-top:12px}
.seg-det .comp strong{color:var(--brown-deep)}
@media(max-width:760px){.seg-det .item{grid-template-columns:1fr}.seg-det .item img{width:100%;height:220px;min-height:0}}

/* Caixa de documentos (Calendario, Guia) */
.docs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px}
.doc{display:flex;flex-direction:column;gap:8px;background:var(--cream-soft);border:1px solid var(--line);border-radius:var(--r);padding:26px 28px}
.doc h3{font-size:1.24rem;margin:0}
.doc p{color:var(--muted);font-size:.94rem;margin:0 0 6px}
.doc .btn{align-self:flex-start;margin-top:4px}
@media(max-width:640px){.docs{grid-template-columns:1fr}}

/* CTA no fim das internas */
.int-cta{background:var(--espresso);color:var(--cream);text-align:center;padding:clamp(44px,6vw,72px) 0}
.int-cta h2{color:var(--cream);font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:12px}
.int-cta p{color:rgba(246,235,210,.82);max-width:40em;margin:0 auto 24px}
.int-cta .btn{background:var(--gold);color:var(--espresso)}
.int-cta .btn:hover{background:var(--gold-soft)}
.int-cta :focus-visible{outline-color:var(--gold-soft)}
@media print{.int-cta{background:none;color:var(--ink)}.int-cta h2{color:var(--brown-deep)}.int-cta p{color:var(--muted)}}

/* ===== Notícias — listagem ===== */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:8px}
.news-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}
.news-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(60,36,20,.4)}
.news-thumb{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--cream-soft)}
.news-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.news-card:hover .news-thumb img{transform:scale(1.04)}
.news-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:var(--serif);font-size:1.6rem;color:var(--gold-text);background:var(--cream-soft)}
.news-tx{display:flex;flex-direction:column;gap:8px;padding:20px 22px 24px;flex:1}
.news-tx time{font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-text)}
.news-tx h2{font-size:1.18rem;line-height:1.3;margin:0}
.news-tx h2 a{color:var(--brown-deep);text-decoration:none}
.news-tx h2 a:hover{color:var(--gold-text)}
.news-tx p{color:var(--muted);font-size:.95rem;line-height:1.65;margin:0}
.news-more{margin-top:auto;padding-top:6px;font-size:.86rem;font-weight:700;color:var(--gold-text);text-decoration:none}
.news-more:hover{text-decoration:underline}
@media(max-width:900px){.news-grid{grid-template-columns:repeat(2,1fr);gap:22px}}
@media(max-width:560px){.news-grid{grid-template-columns:1fr}}

/* Paginação */
.pager{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:44px;flex-wrap:wrap}
.pager a{font-weight:700;color:var(--brown-deep);text-decoration:none;border:1px solid var(--line);background:var(--card);border-radius:50px;padding:10px 20px;font-size:.92rem}
.pager a:hover{border-color:var(--gold);color:var(--gold-text)}
.pg-info{color:var(--muted);font-size:.9rem}

/* ===== Post individual ===== */
.post-hero{border-bottom:0;padding-bottom:clamp(24px,3vw,34px)}
.post-back{display:inline-block;font-size:.82rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--gold-text);text-decoration:none;margin-bottom:16px}
.post-back:hover{text-decoration:underline}
.post-date{display:block;font-size:.82rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.post-cover{padding:0 0 clamp(24px,4vw,40px)}
.post-cover img{width:100%;height:auto;border-radius:var(--r);box-shadow:var(--shadow-sm)}
.post-body{padding-top:0}
.post-body img{max-width:100%;height:auto;border-radius:10px;margin:8px 0}
.post-body a{color:var(--gold-text);text-decoration:underline}
.post-body h2,.post-body h3{margin-top:32px}
/* Galeria dentro do post (WordPress [gallery] clássico e blocos) -> grid */
.post-body .gallery{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:26px 0;width:auto!important}
.post-body .gallery br{display:none}
.post-body .gallery-item{margin:0!important;width:auto!important;float:none!important;padding:0!important}
.post-body .gallery-icon{margin:0!important}
.post-body .gallery-icon a{display:block;overflow:hidden;border-radius:10px;border:1px solid var(--line);background:var(--cream-soft);cursor:zoom-in}
.post-body .gallery-icon img{width:100%!important;height:150px!important;object-fit:cover;display:block!important;margin:0!important;border:0!important;max-width:none!important;transition:transform .4s ease}
.post-body .gallery-icon a:hover img{transform:scale(1.06)}
.post-body .gallery-caption{font-size:.8rem;color:var(--muted);padding:4px 2px 0}
.post-body .wp-block-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:26px 0;list-style:none;padding:0}
.post-body .wp-block-gallery figure{margin:0}
.post-body .wp-block-gallery img{width:100%;height:150px;object-fit:cover;border-radius:10px;border:1px solid var(--line);cursor:zoom-in;display:block}
.post-nav{padding:0 0 clamp(48px,6vw,80px)}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--brown-deep)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-text);background:var(--cream-soft)}

/* ===== Informativo — grade de edições ===== */
.ed-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:8px}
.ed-card{display:flex;flex-direction:column;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}
.ed-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(60,36,20,.4)}
.ed-cover{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--cream-soft)}
.ed-cover img{width:100%;height:100%;object-fit:cover}
.ed-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:var(--serif);font-weight:700;font-size:1.4rem;color:var(--gold-text)}
.ed-tx{display:flex;flex-direction:column;gap:4px;padding:16px 18px 18px;text-align:center}
.ed-tx strong{font-family:var(--serif);font-size:1.24rem;color:var(--brown-deep)}
.ed-open{font-size:.82rem;font-weight:700;color:var(--gold-text)}
@media(max-width:900px){.ed-grid{grid-template-columns:repeat(3,1fr);gap:20px}}
@media(max-width:600px){.ed-grid{grid-template-columns:repeat(2,1fr);gap:16px}}

/* ===== Fotos — grid próprio sobre a saída do NextGEN (o CSS do plugin não é
   carregado no preview; estas regras controlam o layout sozinhas) ===== */
.fotos-ngg .ngg-galleryoverview{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:0!important;padding:0!important;width:auto!important;overflow:visible!important}
.fotos-ngg .ngg-gallery-thumbnail-box{display:block!important;float:none!important;margin:0!important;padding:0!important;border:0!important;width:auto!important;height:auto!important}
.fotos-ngg .ngg-gallery-thumbnail{display:block!important;margin:0!important;padding:0!important;border:0!important;width:auto!important}
.fotos-ngg .ngg-gallery-thumbnail a{display:block!important;overflow:hidden;border-radius:10px;border:1px solid var(--line);background:var(--cream-soft)}
.fotos-ngg .ngg-gallery-thumbnail img{width:100%!important;height:150px!important;object-fit:cover;display:block!important;margin:0!important;padding:0!important;border:0!important;max-width:none!important;transition:transform .4s ease}
.fotos-ngg .ngg-gallery-thumbnail a:hover img{transform:scale(1.06)}
.fotos-ngg h2,.fotos-ngg h3{font-family:var(--serif);color:var(--brown-deep);font-size:1.4rem;margin:6px 0 14px}
.fotos-ngg .ngg-clear,.fotos-ngg br{display:none!important}
.foto-block{margin:0 0 44px}
.foto-block>h2{font-family:var(--serif);color:var(--brown-deep);font-size:clamp(1.4rem,2.4vw,1.9rem);margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.fotos-ngg .ngg-navigation,.fotos-ngg .ngg-clear-both{clear:both;text-align:center;margin-top:14px}
.fotos-ngg .ngg-navigation a,.fotos-ngg .ngg-navigation .current{display:inline-block;padding:6px 12px;margin:0 2px;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--brown-deep)}

/* ===== Blog (listagem + single) ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.blog-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(28px,3.5vw,48px);align-items:start}
.blog-main{min-width:0}
.news-grid-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:1000px){.blog-grid{grid-template-columns:1fr}}
@media(max-width:560px){.news-grid-2{grid-template-columns:1fr}}

/* meta + categoria nos cards */
.news-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:2px}
.news-cat{display:inline-block;background:var(--cream);color:var(--brown);font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:50px;text-decoration:none}
a.news-cat:hover{background:var(--gold-soft);color:var(--espresso)}
.news-meta time{font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}

/* sidebar */
.blog-side{display:grid;gap:22px;position:sticky;top:88px}
@media(max-width:1000px){.blog-side{position:static}}
.side-box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 24px;box-shadow:var(--shadow-sm)}
.side-box h3{font-family:var(--serif);font-size:1.22rem;color:var(--brown-deep);margin:0 0 14px}
.side-search{display:flex;gap:8px}
.side-search input{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:.94rem;background:var(--ivory);color:var(--ink)}
.side-search input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,137,59,.16)}
.side-search button{border:0;background:var(--brown);color:var(--on-brown);border-radius:10px;padding:0 16px;cursor:pointer;font-size:1.15rem;line-height:1}
.side-search button:hover{background:var(--brown-deep)}
.side-cats{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.blog-side .side-cats li,.blog-side .side-recent li{margin:0;padding-left:0}
.side-cats li::before,.side-recent li::before{display:none}
.side-cats .cat-name{line-height:1.3}
.side-cats a{display:flex;justify-content:space-between;align-items:center;gap:10px;text-decoration:none;color:var(--ink);padding:9px 12px;border-radius:9px;font-weight:600;font-size:.94rem;transition:background .18s,color .18s}
.side-cats a:hover{background:var(--cream-soft);color:var(--gold-text)}
.side-cats .post-count,.side-cats a .count{color:var(--muted);font-weight:700;font-size:.8rem}
.side-recent{list-style:none;margin:0;padding:0;display:grid;gap:15px}
.side-recent li{display:grid;gap:3px}
.side-recent li::before{display:none}
.side-recent a{color:var(--brown-deep);text-decoration:none;font-weight:600;font-size:.95rem;line-height:1.35}
.side-recent a:hover{color:var(--gold-text)}
.side-recent time{font-size:.74rem;color:var(--muted);letter-spacing:.03em}

.blog-empty{text-align:center;padding:30px 0}
.blog-empty p{color:var(--muted);margin-bottom:16px}

/* paginação nativa (the_posts_pagination) */
.navigation.pagination{margin-top:40px}
.navigation.pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.navigation.pagination .page-numbers{display:inline-flex;align-items:center;min-width:42px;height:42px;justify-content:center;padding:0 12px;border:1px solid var(--line);background:var(--card);border-radius:10px;color:var(--brown-deep);text-decoration:none;font-weight:700;font-size:.92rem}
.navigation.pagination a.page-numbers:hover{border-color:var(--gold);color:var(--gold-text)}
.navigation.pagination .page-numbers.current{background:var(--brown);color:var(--on-brown);border-color:var(--brown)}
.navigation.pagination .page-numbers.dots{border:0;background:none}

/* single (post) meta */
.post-meta-top{margin-bottom:14px}
.post-meta-top .news-cat{font-size:.72rem}
.post-body .btn-ghost{margin-top:8px}
