/*
Theme Name: Instituto Pleno Saber Premium
Theme URI: https://institutoplenosaber.com.br/
Description: Camada visual premium, clara e translúcida para o tema Instituto Pleno Saber.
Author: Instituto Pleno Saber
Version: 1.0.2
Template: instituto-pleno-saber-v2
Text Domain: pleno-saber-premium
*/

:root {
  --ips-navy: #082b67;
  --ips-blue: #0d5bb5;
  --ips-sky: #4e9be6;
  --ips-yellow: #ffd21c;
  --ips-cream: #fff9cf;
  --ips-ink: #10284b;
  --ips-muted: #61738b;
  --ips-ice: #f3f9ff;
  --ips-line: rgba(8, 43, 103, .10);
  --ips-glass: rgba(255,255,255,.68);
  --ips-shadow: 0 22px 70px rgba(16, 73, 131, .13);
}

html { scroll-behavior: smooth; }
body {
  color: var(--ips-ink);
  background:
    radial-gradient(circle at 6% 18%, rgba(203,230,255,.72), transparent 26rem),
    radial-gradient(circle at 92% 74%, rgba(255,240,163,.56), transparent 24rem),
    linear-gradient(135deg, #fbfdff 0%, #eef7ff 48%, #fffef5 100%);
}
body:before, body:after { opacity: .52; filter: blur(12px); }

.container { width: min(1180px, calc(100% - 48px)); }
.site-header { padding: 20px 0; }
.nav-wrap {
  padding: 10px 16px;
  border: 1px solid rgba(255,255,255,.84);
  border-radius: 22px;
  background: rgba(255,255,255,.58);
  box-shadow: 0 18px 50px rgba(16,73,131,.11), inset 0 1px 0 #fff;
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}
.main-nav { gap: 30px; }
.main-nav a { color: var(--ips-navy); font-size: 12px; letter-spacing: .01em; }
.nav-cta, .button-primary {
  background: linear-gradient(135deg, var(--ips-blue), var(--ips-navy));
  color: #fff;
  box-shadow: 0 10px 24px rgba(13,91,181,.25);
}
.nav-cta:hover, .button:hover { box-shadow: 0 14px 28px rgba(13,91,181,.30); }

.hero {
  min-height: 760px;
  padding-top: 180px;
  background:
    linear-gradient(120deg, rgba(255,255,255,.90), rgba(224,242,255,.76) 50%, rgba(255,249,198,.68)),
    radial-gradient(circle at 82% 26%, rgba(255,255,255,.9), transparent 28rem);
}
.hero h1 { max-width: 760px; letter-spacing: -3.6px; }
.hero h1 em { color: var(--ips-blue); text-shadow: 6px 6px 0 rgba(255,244,166,.95); }
.hero p { max-width: 560px; color: #536b86; font-size: 17px; line-height: 1.75; }
.eyebrow { color: var(--ips-blue); letter-spacing: 2.4px; }
.button { padding: 14px 22px; }
.button-ghost { border-color: rgba(13,91,181,.24); background: rgba(255,255,255,.46); }

.glass-card, .content-card, .empty-state {
  border-color: rgba(255,255,255,.92);
  box-shadow: var(--ips-shadow), inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.floating-card { background: rgba(255,255,255,.64); }
.note-card { background: rgba(255,255,255,.72); }
.section { padding: 112px 0; }
.section-light { background: rgba(255,255,255,.46); }
.section h2 { letter-spacing: -2px; }
.text-link { color: var(--ips-blue); }
.cards-grid { gap: 24px; }
.content-card { background: rgba(255,255,255,.70); border-radius: 24px; }
.content-card:hover { transform: translateY(-8px); box-shadow: 0 28px 66px rgba(16,73,131,.18); }
.card-image { height: 190px; background: linear-gradient(135deg, #c6e5ff, #fff5ab); }
.card-body { padding: 26px; }
.card-body h3 { margin-top: 10px; }

.section-dark { background: linear-gradient(135deg, #061f52 0%, #0b4f9c 60%, #0f6d9c 100%); }
.section-dark:before {
  content: ""; position: absolute; width: 26rem; height: 26rem; right: -10rem; top: -12rem;
  border: 52px solid rgba(255,210,28,.14); border-radius: 50%;
}
.site-footer { background: #061b47; }
.footer-bottom { border-top-color: rgba(255,255,255,.16); }

/* Catálogo do plugin Pleno Questões */
.pq-courses-page { color: var(--ips-ink); }
.pq-course-hero {
  border: 1px solid rgba(255,255,255,.25);
  background: linear-gradient(135deg, #061f52 0%, #0d5bb5 62%, #168c9b 100%);
  box-shadow: 0 22px 52px rgba(8,47,87,.17);
}
.pq-course-card, .pq-course-detail, .pq-module, .pq-assessment-page, .pq-lesson-page {
  border-color: rgba(255,255,255,.88);
  box-shadow: var(--ips-shadow), inset 0 1px 0 #fff;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.pq-course-card { background: rgba(255,255,255,.75); border-radius: 24px; }
.pq-course-card:hover { border-color: rgba(13,91,181,.28); box-shadow: 0 28px 58px rgba(8,47,87,.16); }
.pq-course-kicker, .pq-course-back, .pq-course-meta b { color: var(--ips-blue); }
.pq-course-detail .pq-button, .pq-course-card .pq-button, .pq-assessment-card .pq-button, .pq-lesson-page .pq-button {
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ips-blue), var(--ips-navy));
  box-shadow: 0 9px 22px rgba(13,91,181,.20);
}
.pq-course-progress i { background: linear-gradient(90deg, var(--ips-blue), var(--ips-yellow)); }

@media (max-width: 760px) {
  .container { width: min(100% - 32px, 560px); }
  .hero { padding-top: 145px; }
  .hero h1 { letter-spacing: -2.5px; }
  .section { padding: 78px 0; }
  .nav-wrap { background: rgba(255,255,255,.72); }
}

/* =========================================================
   IPS PREMIUM 1.0.1 — CORREÇÕES VISUAIS PONTUAIS
   Não altera estrutura, conteúdo ou funcionamento.
   ========================================================= */

/* ---------- Cursos: cartões compactos e capas sem espaço vazio ---------- */
.pq-courses-page .pq-course-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:start !important;
}

.pq-courses-page .pq-course-card{
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  height:auto !important;
  align-self:start !important;
}

.pq-courses-page .pq-course-media{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:16/9 !important;
  background:#edf4f8 !important;
}

.pq-courses-page .pq-course-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

.pq-courses-page .pq-course-body{
  min-height:0 !important;
  height:auto !important;
  padding:18px 19px 19px !important;
}

.pq-courses-page .pq-course-footer{
  min-height:0 !important;
  margin-top:8px !important;
}

.pq-courses-page .pq-course-card .pq-button,
.pq-courses-page .pq-course-detail .pq-button{
  background:linear-gradient(135deg,#0b5e9f,#082f67) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(8,47,103,.18) !important;
}

.pq-courses-page .pq-course-kicker{
  color:#0b5e9f !important;
}

/* ---------- Área do aluno: remove o 3/4 que criava os vazios ---------- */
.pq-products-page .pq-product-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:start !important;
  justify-content:start !important;
}

.pq-products-page .pq-product-card{
  width:100% !important;
  max-width:380px !important;
  height:auto !important;
  min-height:0 !important;
  align-self:start !important;
  overflow:hidden !important;
}

.pq-products-page .pq-product-cover{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
  object-position:center !important;
  background:#edf4f8 !important;
}

.pq-products-page .pq-product-body{
  height:auto !important;
  min-height:0 !important;
  padding:20px !important;
}

.pq-products-page .pq-product-body h2{
  margin:0 !important;
  font-size:20px !important;
  line-height:1.25 !important;
}

.pq-products-page .pq-product-body p{
  margin:0 !important;
  line-height:1.55 !important;
}

.pq-products-page .pq-product-badge{
  background:#eef5fb !important;
  color:#0b5e9f !important;
  border-color:rgba(11,94,159,.14) !important;
}

.pq-products-page .pq-button,
.pq-products-page .pq-button-primary{
  background:linear-gradient(135deg,#0b5e9f,#082f67) !important;
  color:#fff !important;
}

/* ---------- Apostilas públicas: elimina o verde ---------- */
.pq-public-apostilas .pq-apostilas-hero{
  background:linear-gradient(135deg,#082f67 0%,#0b5e9f 62%,#123f73 100%) !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(8,47,103,.14) !important;
}

.pq-public-apostilas .pq-apostilas-hero h1,
.pq-public-apostilas .pq-apostilas-hero p,
.pq-public-apostilas .pq-apostilas-kicker{
  color:#fff !important;
}

.pq-public-apostilas .pq-apostilas-hero:after{
  content:"" !important;
  position:absolute !important;
  width:220px !important;
  height:220px !important;
  right:-70px !important;
  top:-90px !important;
  border:32px solid rgba(255,210,28,.13) !important;
  border-radius:50% !important;
  pointer-events:none !important;
}

.pq-public-apostilas .pq-apostila-card{
  background:rgba(255,255,255,.86) !important;
  border-color:rgba(8,47,103,.10) !important;
  box-shadow:0 16px 36px rgba(8,47,103,.09) !important;
}

.pq-public-apostilas .pq-apostila-badge.is-free{
  color:#0b5e9f !important;
}

.pq-public-apostilas .pq-apostila-button{
  background:linear-gradient(135deg,#0b5e9f,#082f67) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(8,47,103,.18) !important;
}

.pq-public-apostilas .pq-apostila-button:hover{
  color:#fff !important;
}

/* ---------- Área do aluno: paleta azul sem alterar os componentes ---------- */
.pq-dashboard-card-premium{
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(238,246,253,.82)) !important;
  border-color:rgba(11,94,159,.14) !important;
}

.pq-dashboard-card .pq-card-icon{
  color:#0b5e9f !important;
}

.pq-account-panel,
.pq-profile-page,
.pq-products-page,
.pq-account-wrap{
  background:rgba(255,255,255,.82) !important;
}

/* ---------- Responsividade ---------- */
@media (max-width:980px){
  .pq-courses-page .pq-course-grid,
  .pq-products-page .pq-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:700px){
  .pq-courses-page .pq-course-grid,
  .pq-products-page .pq-product-grid{
    grid-template-columns:1fr !important;
  }

  .pq-products-page .pq-product-card{
    max-width:none !important;
  }
}



/* =========================================================
   IPS PREMIUM 1.0.2 — CORREÇÃO FINAL DOS 3 PONTOS PEDIDOS
   1) cards de cursos compactos
   2) apostilas sem verde
   3) título de apostila/PDF sem ficar atrás do header
   Estas regras são específicas do Pleno Questões e ficam no
   rodapé para vencer o CSS do plugin que é carregado depois.
   ========================================================= */

/* CURSOS NO PORTAL / MEUS CURSOS / CURSOS DISPONÍVEIS */
.pq-products-page .pq-product-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,360px)) !important;
  justify-content:start !important;
  align-items:start !important;
  gap:20px !important;
}

.pq-products-page .pq-product-card{
  width:100% !important;
  max-width:360px !important;
  min-height:0 !important;
  height:auto !important;
  align-self:start !important;
  overflow:hidden !important;
}

.pq-products-page .pq-product-cover{
  display:block !important;
  width:100% !important;
  height:190px !important;
  min-height:190px !important;
  max-height:190px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center !important;
  background:#eef5f9 !important;
}

.pq-products-page .pq-product-body{
  display:flex !important;
  flex-direction:column !important;
  height:auto !important;
  min-height:0 !important;
  padding:18px 20px 20px !important;
  gap:9px !important;
}

.pq-products-page .pq-product-body h2{
  margin:0 !important;
  font-size:20px !important;
  line-height:1.25 !important;
}

.pq-products-page .pq-product-body p{
  margin:0 !important;
  line-height:1.5 !important;
}

.pq-products-page .pq-product-body .pq-button{
  margin-top:7px !important;
  align-self:flex-start !important;
}

/* CATÁLOGO PÚBLICO DE CURSOS */
.pq-courses-page .pq-course-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:start !important;
}

.pq-courses-page .pq-course-card{
  min-height:0 !important;
  height:auto !important;
}

.pq-courses-page .pq-course-media{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:16/9 !important;
}

/* APOSTILAS PÚBLICAS — azul institucional, sem verde */
.pq-public-apostilas .pq-apostilas-hero{
  background:linear-gradient(135deg,#082f67 0%,#0b5e9f 58%,#174a7d 100%) !important;
  color:#fff !important;
}

.pq-public-apostilas .pq-apostila-badge.is-free{
  color:#0b5e9f !important;
}

.pq-public-apostilas .pq-apostila-button,
.pq-public-apostilas .pq-apostila-button-large{
  background:linear-gradient(135deg,#0b5e9f,#082f67) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(8,47,103,.18) !important;
}

.pq-public-apostilas .pq-apostila-button:hover,
.pq-public-apostilas .pq-apostila-button-large:hover{
  color:#fff !important;
}

/* Título da apostila/PDF não fica escondido atrás do header */
body.pleno-questoes-page .pleno-questoes-public{
  padding-top:145px !important;
}

body.pleno-questoes-page .pq-public-apostilas{
  padding-top:145px !important;
}

@media(max-width:980px){
  .pq-products-page .pq-product-grid,
  .pq-courses-page .pq-course-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:700px){
  .pq-products-page .pq-product-grid,
  .pq-courses-page .pq-course-grid{
    grid-template-columns:1fr !important;
  }
  .pq-products-page .pq-product-card{
    max-width:none !important;
  }
  .pq-products-page .pq-product-cover{
    height:190px !important;
    min-height:190px !important;
    max-height:190px !important;
  }
}
