/* ═══ PAGE HEADER — cabeçalho do catálogo ═══ */
.page-header{
  padding:120px 24px 48px;
  text-align:center;
  position:relative;
}
.breadcrumb{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.72rem;color:var(--ts);font-family:var(--fm);
  margin-bottom:20px;
}
.breadcrumb a{color:var(--tm);text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb-sep{color:var(--ts);opacity:.5}
.page-header-label{
  display:block;
  font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);margin-bottom:14px;
}
.page-header-title{
  font-size:clamp(2.2rem,5vw,3.6rem);
  font-weight:800;letter-spacing:-0.04em;line-height:1.1;
  margin-bottom:14px;
}
.page-header-title em{
  font-family:var(--fs);font-style:italic;
  background:linear-gradient(135deg,var(--gold3),var(--gold));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.page-header-sub{
  font-size:.85rem;color:var(--tm);font-family:var(--fs);font-style:italic;
}
@media(max-width:600px){.page-header{padding:100px 20px 36px}}

/* ═══ CATÁLOGO — cards de curso ═══ */
.catalog-section{
  padding:60px 20px 100px;
  position:relative;
}
.catalog-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:24px;
  max-width:1200px;
  margin:0 auto;
}
@media(max-width:500px){
  .catalog-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
}

.cat-card{
  border-radius:var(--r2);
  overflow:hidden;
  cursor:pointer;
  position:relative;
  border:1px solid var(--gb);
  background:#0e0e0e;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  display:flex;flex-direction:column;
}
.cat-card:hover{
  transform:translateY(-7px);
  box-shadow:0 24px 56px rgba(0,0,0,.7),0 0 28px var(--gold-glow);
  border-color:var(--gold-border);
}
.cat-card:hover .cat-img{transform:scale(1.05)}
.cat-card.has-both{
  border-color:var(--gold-border);
  box-shadow:0 0 0 1px var(--gold-border);
}
.cat-card.has-both::before{
  content:'';
  position:absolute;top:0;left:0;right:0;height:2.5px;
  background:linear-gradient(90deg,transparent,var(--gold),var(--gold2),transparent);
  z-index:5;
}
.cat-card.has-both:hover{
  box-shadow:0 24px 56px rgba(0,0,0,.7),0 0 36px rgba(201,149,42,0.35);
}
.cat-img-wrap{position:relative;overflow:hidden;}
.cat-img{
  width:100%;aspect-ratio:3/4;
  object-fit:cover;object-position:center top;
  display:block;background:#111;
  transition:transform .45s ease;
}
.cat-versions{
  position:absolute;top:10px;left:10px;
  display:flex;gap:5px;z-index:4;
}
.cat-ver-badge{
  font-size:.52rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  padding:3px 9px;border-radius:100px;
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.15);
}
.cat-ver-badge.ver-basic{background:rgba(20,20,20,0.75);color:var(--tm);}
.cat-ver-badge.ver-special{background:rgba(201,149,42,0.22);border-color:var(--gold-border);color:var(--gold);}
.cat-body{
  padding:13px 14px 15px;
  display:flex;flex-direction:column;gap:8px;
  border-top:1px solid var(--gb);
}
.cat-name{font-size:.9rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cat-desc{
  font-size:.65rem;color:var(--tm);line-height:1.4;
  font-family:var(--fs);font-style:italic;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.cat-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:6px;}
.cat-colors{display:flex;gap:5px;}
.cat-price{font-size:.82rem;font-weight:700;color:var(--gold);font-family:var(--fm);white-space:nowrap;}
.cat-cta-hint{
  display:flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 14px;
  background:linear-gradient(135deg,rgba(201,149,42,0.08) 0%,transparent 100%);
  border-top:1px solid var(--gold-border);
  font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--gold);transition:background .2s;
}
.cat-card:hover .cat-cta-hint{background:rgba(201,149,42,0.14);}
.cat-cta-hint svg{flex-shrink:0;}

/* ESGOTADO */
.cat-sold-out{
  position:absolute;bottom:0;left:0;right:0;
  padding:28px 14px 12px;
  background:linear-gradient(to top,rgba(130,10,10,0.94) 0%,rgba(170,20,20,0.55) 55%,transparent 100%);
  font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:#ff6b6b;text-align:center;z-index:4;pointer-events:none;
}
.cat-cta-hint.esgotado{
  background:linear-gradient(135deg,rgba(160,20,20,0.12) 0%,transparent 100%);
  border-top-color:rgba(220,50,50,0.28);
  color:#ff6b6b;
}
.cat-card:hover .cat-cta-hint.esgotado{background:rgba(160,20,20,0.18);}

/* Color dots (do card) */
.color-dot{
  width:16px;height:16px;border-radius:50%;
  border:2px solid rgba(255,255,255,0.12);
  cursor:pointer;transition:all .2s;flex-shrink:0;
  overflow:hidden;
}
.color-dot:hover{transform:scale(1.15);border-color:rgba(255,255,255,0.4)}
.color-dot.active-color{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-glow)}
.color-dot.branca{background:#f0ece4}
.color-dot.preta{background:#1a1a1a}
.color-dot.creme{background:#d4c5b5}
.color-dot.bege{background:#c8b89a}
.color-dot.azul-preta{background:conic-gradient(#2a5fa5 180deg,#1a1a1a 180deg)}
.color-dot.azul-branca{background:conic-gradient(#2a5fa5 180deg,#f0ece4 180deg)}

/* SENTINEL (card "não encontrou seu curso?") */
.sentinel-inner{
  border-radius:var(--r2);
  border:1.5px dashed var(--gold-border);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;text-align:center;padding:24px 16px;
  background:linear-gradient(135deg,var(--gold-subtle) 0%,rgba(8,7,5,0) 100%);
  transition:all .3s;
}
.sentinel-inner:hover{border-color:rgba(201,149,42,0.5);background:rgba(201,149,42,0.08)}
.sentinel-inner.wide{flex-direction:row;text-align:left;padding:20px 32px;gap:24px}
.s-icon{width:44px;height:44px;border-radius:50%;flex-shrink:0;border:1.5px solid var(--gold-border);display:flex;align-items:center;justify-content:center;background:var(--gold-subtle);}
.s-title{font-size:.85rem;font-weight:700;color:var(--t);line-height:1.3}
.s-sub{font-size:.7rem;color:var(--tm);line-height:1.5;font-family:var(--fs);font-style:italic}
.s-btn{margin-top:4px;padding:9px 20px;border-radius:100px;background:var(--gold);color:#080808;border:none;font-family:var(--ff);font-size:.76rem;font-weight:700;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:7px;text-decoration:none;}
.s-btn:hover{background:var(--gold2);transform:translateY(-1px)}
