/* File: css/graduacao/matriz.css
 * Theme: portalv4.0
 *
 * Estilo da listagem /matriz/ (archive do CPT matriz) — Frente 23 (2026-05-29).
 * Cópia fiel de css/graduacao/graduacao.css, só com o namespace do body class
 * trocado para .post-type-archive-matriz (mesmo visual editorial da /graduacao/).
 * Linkado no header.php sob is_post_type_archive('matriz') — não toca functions.php.
 *
 * Todas as regras são namespaced em .post-type-archive-matriz (classe
 * que o WP adiciona automaticamente no <body> em archive do CPT). Sem
 * @import de Google Fonts: as font-families usam tokens locais
 * --grad-fdisplay (Georgia) e --grad-fsans (system) — typography.css
 * global cuida das fontes do site.
 */

:root{
  --grad-brand:#111; --grad-brand-d:#000;
  --grad-gold:#9A7209; --grad-goldl:#C49A20;
  --grad-cream:#faf9f6; --grad-ivory:#f5f1e8;
  --grad-border:#d8d4c8; --grad-border-soft:#e8e4d8;
  --grad-tx:#1a1a1a; --grad-tx2:#3a3a36; --grad-tx3:#7a7770;
  --grad-fs:Georgia,'Times New Roman',serif;
  --grad-fsans:-apple-system,'Helvetica Neue',-apple-system,sans-serif;
  --grad-fdisplay:'Georgia',Georgia,serif;
  --grad-fcaps:'Bebas Neue',sans-serif;
}

body.post-type-archive-matriz{
  font-family:var(--grad-fs);
  background:var(--grad-cream);
  color:var(--grad-tx);
  line-height:1.55;
}
body.post-type-archive-matriz,
body.post-type-archive-matriz *,
body.post-type-archive-matriz *::before,
body.post-type-archive-matriz *::after{box-sizing:border-box}
body.post-type-archive-matriz a{color:inherit}

/* compensar header fixo */
.post-type-archive-matriz .page-spacer{display:none}

/* ============ BREADCRUMB ============ */
.post-type-archive-matriz .breadcrumb-bar{background:#f2efe8;border-bottom:1px solid var(--grad-border);margin-top:0}
.post-type-archive-matriz .breadcrumb-inner{max-width:1400px;margin:0 auto;padding:0 2.5rem}
.post-type-archive-matriz .breadcrumb-list{display:flex;align-items:center;gap:6px;list-style:none;padding:12px 0;margin:0;font-family:var(--grad-fsans);font-size:12px;flex-wrap:wrap}
.post-type-archive-matriz .breadcrumb-item a{color:var(--grad-tx2);text-decoration:none;transition:color .15s;display:inline-flex;align-items:center;gap:5px}
.post-type-archive-matriz .breadcrumb-item a svg{fill:var(--grad-tx2);transition:fill .15s}
.post-type-archive-matriz .breadcrumb-item a:hover{color:var(--grad-brand)}
.post-type-archive-matriz .breadcrumb-item a:hover svg{fill:var(--grad-brand)}
.post-type-archive-matriz .breadcrumb-item.active{color:var(--grad-tx);font-weight:500}
.post-type-archive-matriz .breadcrumb-sep{color:var(--grad-tx3);font-size:14px;line-height:1}

/* ============ PAGE TITLE ============ */
.post-type-archive-matriz .page-title{padding:48px 2.5rem 60px;max-width:1400px;margin:0 auto}
.post-type-archive-matriz .page-title-h{font-family:var(--grad-fdisplay);font-weight:400;font-size:clamp(32px,4vw,52px);line-height:1;letter-spacing:-.02em;margin:0}
.post-type-archive-matriz .page-title-h em{font-style:italic;color:var(--grad-gold);font-weight:500}
.post-type-archive-matriz .page-sub{font-family:var(--grad-fdisplay);font-style:italic;font-size:15px;color:var(--grad-tx2);margin:12px 0 0;max-width:540px;line-height:1.4}

/* ============ CURSOS GRID ============ */
.post-type-archive-matriz .cursos-wrap{padding:0 2.5rem 80px;max-width:1400px;margin:0 auto}
.post-type-archive-matriz .cursos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

.post-type-archive-matriz .curso-card{
  display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
  background:var(--grad-cream);
  border:1px solid var(--grad-border);
  transition:background .35s ease;
  position:relative;
  overflow:hidden;
}
.post-type-archive-matriz .curso-img{
  width:100%;
  aspect-ratio:16/10;
  background-color:var(--grad-ivory);
  background-size:cover;
  background-position:center;
  position:relative;
  overflow:hidden;
}
.post-type-archive-matriz .curso-img::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.18) 100%);
}
.post-type-archive-matriz .curso-body{
  display:flex;flex-direction:column;
  padding:24px 24px 20px;
  flex:1;
}
.post-type-archive-matriz .curso-card:hover{background:#fff}
.post-type-archive-matriz .curso-card:hover .curso-arrow{transform:translate(4px,-4px);opacity:1;color:var(--grad-gold);border-color:var(--grad-gold)}
.post-type-archive-matriz .curso-card:hover .curso-name{color:var(--grad-brand)}

.post-type-archive-matriz .curso-link{
  display:flex;flex-direction:column;
  text-decoration:none;color:inherit;
  flex:1;
}

.post-type-archive-matriz .curso-top{display:flex;justify-content:flex-end;align-items:flex-start;margin-bottom:16px}
.post-type-archive-matriz .curso-arrow{width:32px;height:32px;border:1px solid var(--grad-border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--grad-brand);opacity:.5;transition:all .35s ease;font-size:15px;background:#fff}

.post-type-archive-matriz .curso-name{
  font-family:var(--grad-fdisplay);font-weight:500;
  font-size:24px;line-height:1.1;letter-spacing:-.01em;
  margin:0 0 16px;
  transition:color .3s ease;
}

.post-type-archive-matriz .curso-meta{
  margin-top:0;padding-top:16px;
  border-top:1px solid var(--grad-border-soft);
  display:flex;flex-direction:column;gap:3px;
}
.post-type-archive-matriz .curso-label{font-family:var(--grad-fcaps);font-size:10px;letter-spacing:2px;color:#111;text-transform:uppercase}
.post-type-archive-matriz .curso-value{font-family:var(--grad-fs);font-size:14px;color:#111;font-style:italic}

.post-type-archive-matriz .curso-cta{
  margin:0 24px 20px;
  display:flex;align-items:center;justify-content:center;
  gap:12px;
  padding:13px 18px;
  background:var(--grad-goldl);
  color:#111;
  font-family:var(--grad-fcaps);font-size:13px;letter-spacing:2px;
  text-transform:uppercase;
  text-decoration:none;
  transition:background .3s ease,color .3s ease;
}
.post-type-archive-matriz .curso-cta:hover{background:var(--grad-gold);color:#fff}
.post-type-archive-matriz .curso-cta:hover .curso-cta-arrow{transform:translateX(4px)}
.post-type-archive-matriz .curso-cta-arrow{transition:transform .3s ease}

.post-type-archive-matriz .curso-img-arrow{
  position:absolute;
  top:14px;right:14px;
  width:36px;height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  color:var(--grad-brand);
  font-size:15px;
  transition:all .35s ease;
  z-index:2;
}
.post-type-archive-matriz .curso-card:hover .curso-img-arrow{background:var(--grad-goldl);color:#111;transform:translate(4px,-4px)}

/* ============ INGRESSO ============ */
.post-type-archive-matriz .ingresso{padding:70px 2.5rem 80px;max-width:1400px;margin:0 auto;border-top:1px solid var(--grad-border)}
.post-type-archive-matriz .ingresso-head{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:40px;margin-bottom:36px;
  padding-bottom:20px;border-bottom:1px solid var(--grad-border);
}
.post-type-archive-matriz .ingresso-head-left{flex:1}
.post-type-archive-matriz .ingresso-kicker{font-family:var(--grad-fcaps);font-size:11px;letter-spacing:2.5px;color:#111;margin-bottom:14px;display:flex;align-items:center;gap:12px}
.post-type-archive-matriz .ingresso-kicker::before{content:"";width:28px;height:1px;background:#111}
.post-type-archive-matriz .ingresso-title{font-family:var(--grad-fdisplay);font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-.01em;margin:0}
.post-type-archive-matriz .ingresso-title em{font-style:italic;color:var(--grad-gold);font-weight:500}
.post-type-archive-matriz .ingresso-all{
  font-family:var(--grad-fcaps);font-size:11px;letter-spacing:1.8px;
  color:#111;text-decoration:none;
  display:flex;align-items:center;gap:8px;
  padding:10px 16px;border:1px solid #111;
  transition:all .3s ease;white-space:nowrap;
}
.post-type-archive-matriz .ingresso-all:hover{background:#111;color:#fff}
.post-type-archive-matriz .ingresso-all-arrow{transition:transform .3s ease}
.post-type-archive-matriz .ingresso-all:hover .ingresso-all-arrow{transform:translateX(4px)}

.post-type-archive-matriz .ingresso-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.post-type-archive-matriz .ingresso-card{
  display:flex;flex-direction:column;
  padding:24px 22px 20px;
  text-decoration:none;color:inherit;
  background:var(--grad-cream);
  border:1px solid var(--grad-border);
  transition:background .35s ease;
  min-height:200px;
}
.post-type-archive-matriz .ingresso-card:hover{background:#fff}
.post-type-archive-matriz .ingresso-card:hover .ingresso-card-name{color:#111}
.post-type-archive-matriz .ingresso-card:hover .ingresso-card-link{color:var(--grad-gold)}
.post-type-archive-matriz .ingresso-card:hover .ingresso-card-link-arrow{transform:translateX(4px)}
.post-type-archive-matriz .ingresso-card-num{font-family:var(--grad-fdisplay);font-style:italic;font-size:16px;color:var(--grad-gold);margin-bottom:14px;display:block}
.post-type-archive-matriz .ingresso-card-name{
  font-family:var(--grad-fdisplay);font-weight:500;
  font-size:19px;line-height:1.2;letter-spacing:-.005em;
  margin:0 0 8px;transition:color .3s ease;
}
.post-type-archive-matriz .ingresso-card-desc{
  font-family:var(--grad-fs);font-size:13.5px;line-height:1.55;
  color:var(--grad-tx2);margin:0 0 auto;
}
.post-type-archive-matriz .ingresso-card-link{
  margin-top:18px;padding-top:12px;
  border-top:1px solid var(--grad-border-soft);
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--grad-fcaps);font-size:11px;letter-spacing:1.8px;
  color:#111;text-transform:uppercase;
  transition:color .3s ease;
}
.post-type-archive-matriz .ingresso-card-link-arrow{transition:transform .3s ease}

/* ============ RESPONSIVE ============ */
@media (max-width:1200px){
  .post-type-archive-matriz .cursos-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  .post-type-archive-matriz .breadcrumb-bar{margin-top:0}
  .post-type-archive-matriz .breadcrumb-inner{padding:0 1.5rem}
  .post-type-archive-matriz .page-title{padding:32px 1.5rem 28px}
  .post-type-archive-matriz .cursos-wrap{padding:0 1.5rem 60px}
  .post-type-archive-matriz .cursos-grid{grid-template-columns:repeat(2,1fr)}
  .post-type-archive-matriz .ingresso{padding:60px 1.5rem}
  .post-type-archive-matriz .ingresso-head{flex-direction:column;align-items:flex-start;gap:30px}
  .post-type-archive-matriz .ingresso-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .post-type-archive-matriz .cursos-grid{grid-template-columns:1fr}
  .post-type-archive-matriz .page-title-h{font-size:30px}
  .post-type-archive-matriz .page-spacer{height:170px}
  .post-type-archive-matriz .breadcrumb-inner{padding:0 1.25rem}
  .post-type-archive-matriz .breadcrumb-list{padding:10px 0;font-size:11.5px}
}

/* ============ REVEAL ON SCROLL ============ */
.post-type-archive-matriz .reveal{opacity:0;transform:translateY(60px);transition:opacity 1.1s cubic-bezier(.16,.84,.24,1),transform 1.1s cubic-bezier(.16,.84,.24,1);will-change:opacity,transform;filter:blur(6px)}
.post-type-archive-matriz .reveal.r-left{transform:translateX(-90px)}
.post-type-archive-matriz .reveal.r-right{transform:translateX(90px)}
.post-type-archive-matriz .reveal.r-zoom{transform:scale(.85)}
.post-type-archive-matriz .reveal.in{filter:blur(0);opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .post-type-archive-matriz .reveal{opacity:1;transform:none;transition:none;filter:none}
}
