/* Vitrine progressiva e escolhas de estudo, sem rolagem horizontal de cartões. */
.home-hero .actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.experiencia-resumo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.experiencia-resumo.home-secao,.home-destaque.descoberta-lista { margin-top:24px; }
.experiencia-resumo > a + a { margin-top:0; }
.interesses-atalho { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; margin-top:20px; scroll-margin-top:100px; }
.interesses-modal { width:min(560px,calc(100% - 32px)); max-height:80dvh; padding:0; border:1px solid var(--line); border-radius:18px; background:var(--surface); color:var(--ink); overflow:hidden; box-shadow:0 18px 65px rgb(12 24 45 / 18%); }
.interesses-modal[open] { display:flex; flex-direction:column; }
.interesses-modal::backdrop { background:rgb(12 24 45 / 32%); }
.interesses-modal-topo { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:16px; padding:20px 22px 16px; border-bottom:1px solid var(--line); background:var(--surface); }
.interesses-modal-topo .btn { width:40px; height:40px; padding:0; font-size:24px; flex:0 0 40px; }
.interesses-modal h2 { margin:4px 0 0; font-size:clamp(1.2rem,3.8vw,1.5rem); line-height:1.25; }
.interesses-modal form { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; overflow:hidden; }
.interesses-modal-conteudo { padding:16px 22px 8px; overflow-y:auto; overscroll-behavior:contain; min-height:0; }
.interesses-modal-conteudo > p:first-child { font-size:.95rem; line-height:1.5; margin:0 0 14px; }
.interesses-modal .interesses-opcoes { gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.interesses-modal .interesses-opcoes label { padding:9px 10px; font-size:.94rem; line-height:1.35; min-height:46px; }
.interesses-modal .interesses-opcoes label:has(:checked) { padding:8px 9px; }
.interesses-modal fieldset { border:0; margin:0; padding:0; min-width:0; }
.interesses-modal-acoes { display:flex; flex:0 0 auto; justify-content:flex-end; gap:10px; padding:14px 22px; border-top:1px solid var(--line); background:var(--surface); }
.interesses-modal-conteudo > [data-interesses-aviso] { margin:12px 0 4px; }
body:has(.interesses-modal[open]) .roberto, body:has(.interesses-modal[open]) [vw] { visibility:hidden; }
@media(max-width:600px) {
  .interesses-modal { width:100%; max-width:100%; max-height:78dvh; margin:auto 0 0; border-radius:20px 20px 0 0; border-bottom:0; }
  .interesses-modal-topo { padding:16px 16px 12px; }
  .interesses-modal-conteudo { padding:14px 16px 8px; }
  .interesses-modal .interesses-opcoes label { font-size:.9rem; padding:9px 8px; gap:7px; }
  .interesses-modal .interesses-opcoes label:has(:checked) { padding:8px 7px; }
  .interesses-modal-acoes { padding:12px 16px max(12px,env(safe-area-inset-bottom)); }
  .interesses-modal-acoes .btn { flex:1; }
}
.interesses-perfil { display:flex; gap:10px; align-items:center; margin-top:18px; }
.interesses-perfil input { width:18px; height:18px; }
.aula-diagrama { margin:24px 0; padding:20px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); }
.aula-diagrama figcaption { font-weight:700; text-align:center; margin-bottom:18px; }
.aula-diagrama.tipo-hierarquia figcaption { width:fit-content; margin-inline:auto; padding:10px 18px; border-radius:10px; background:var(--primary); color:var(--primary-ink,#fff); }
.diagrama-itens { display:flex; align-items:stretch; gap:10px; }
.diagrama-no { flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; border:1px solid var(--line); border-top:3px solid var(--primary); border-radius:10px; padding:12px; background:var(--surface); font-size:.92em; text-align:left; overflow-wrap:anywhere; }
.diagrama-seta { width:20px; flex:0 0 20px; align-self:center; color:var(--primary); }
.diagrama-ligacoes { display:block; width:100%; height:24px; color:var(--primary); }
.diagrama-retorno { text-align:center!important; margin-bottom:0!important; }
.aula-pratica { margin:24px 0; padding:20px; border:1px solid var(--line); border-left:4px solid var(--primary); border-radius:12px; }
.aula-pratica h3 { font-size:1.08em; margin:8px 0 12px; }
.pratica-selo { font-size:.78em; font-weight:700; color:var(--primary); }
.pratica-opcoes { display:grid; gap:8px; }
.pratica-opcoes .btn { white-space:normal; justify-content:flex-start; text-align:left; }
.pratica-opcoes [aria-pressed=true] { outline:2px solid var(--primary); outline-offset:2px; }
.pratica-feedback { margin-top:16px; padding-top:12px; border-top:1px solid var(--line); }
.pratica-feedback p,.aula-pratica details p { text-align:left!important; }
.aula-pratica summary { cursor:pointer; font-weight:700; }
.experiencia-resumo > a { display:flex; gap:18px; align-items:center; color:var(--ink); text-decoration:none; padding:18px; }
.experiencia-resumo img { width:36%; max-width:190px; height:auto; border-radius:10px; }
.experiencia-resumo h2 { font-size:1.18rem; margin:0 0 7px; }
.experiencia-resumo p { font-size:.95rem; margin:0 0 7px; }
.interesses-opcoes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.interesses-opcoes label { display:flex; align-items:center; gap:10px; padding:13px 15px; border:1px solid var(--line); border-radius:12px; cursor:pointer; margin:0; }
.interesses-opcoes label:has(:checked) { background:var(--surface-2); border:2px solid var(--primary); padding:12px 14px; }
.interesses-opcoes input { flex:0 0 20px; width:20px; height:20px; }
.interesses-opcoes span { overflow-wrap:anywhere; }
.vitrine-paginas { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:16px; padding:28px 0; }
.curso-condicoes { border-top:1px solid var(--line); padding-top:12px; display:grid; gap:5px; margin-top:auto; }
.curso-corpo { min-width:0; }
.cursos-grid > .curso-card { margin-top:0; }
.curso-corpo .chip { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.descoberta-filtros { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:12px; }
.descoberta-filtros .search { grid-column:1/-1; min-width:0; }
.descoberta-filtros select,.descoberta-filtros input,.descoberta-filtros label { width:100%; min-width:0; max-width:100%; }
.descoberta-filtros label { display:grid; gap:5px; }
.home-destaque.descoberta-lista .cursos-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; gap:20px; }
.home-destaque.descoberta-lista .curso-card { width:auto; min-width:0; max-width:100%; flex:initial; scroll-snap-align:initial; }
.pesquisa-convite { margin-top:24px; border-left:4px solid var(--primary); }
.pesquisa-form { max-width:780px; margin-inline:auto; }
.pesquisa-form fieldset { border:0; padding:0; margin:24px 0; }
.pesquisa-form legend { font-weight:700; margin-bottom:12px; }
.pesquisa-form label { display:flex; align-items:center; gap:10px; margin:12px 0; }
.pesquisa-form input[type=checkbox],.pesquisa-form input[type=radio] { width:20px; height:20px; flex:0 0 20px; }
.minhas-notas { margin-top:20px; }
.demo-aula { max-width:860px; margin-inline:auto; padding:clamp(20px,4vw,56px); }
.demo-aula p { line-height:1.8; }
.demo-mapa { margin:24px 0; }
.demo-mapa svg { width:100%; height:auto; }
.demo-questao { border-top:1px solid var(--line); padding:20px 0; }
.demo-questao .btn { display:flex; width:100%; text-align:left; white-space:normal; margin-top:10px; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #b86b00; outline-offset:4px; }
@media(max-width:1000px) { .home-destaque.descoberta-lista .cursos-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .diagrama-itens { flex-direction:column; }
  .diagrama-ligacoes { display:none; }
  .diagrama-seta { transform:rotate(90deg); }
  .aula-diagrama,.aula-pratica { padding:14px; }
  .experiencia-resumo { grid-template-columns:minmax(0,1fr); }
  .experiencia-resumo > a { padding:14px; gap:12px; }
  .experiencia-resumo img { width:30%; }
  body:has(.aviso-cookies:not([hidden])) .roberto { visibility:hidden; pointer-events:none; }
  .interesses-opcoes,.home-destaque.descoberta-lista .cursos-grid,.descoberta-filtros { grid-template-columns:minmax(0,1fr); }
  .home-destaque.descoberta-lista .cursos-grid { margin-inline:0; padding:0; }
  .home-destaque.descoberta-lista .curso-card { flex-basis:auto; }
  .vitrine-paginas { gap:12px; }
  .vitrine-paginas span { order:-1; width:100%; text-align:center; }
}

.home-hero-com-imagem { background-size:cover; background-repeat:no-repeat; }
.home-hero-com-imagem::after { display:none; }
.home-hero .actions { position:relative; z-index:1; }

/* O celular mantém o banner original; o modal de interesses fica desativado. */
@media(max-width:767px) {
 .interesses-modal { display:none!important; }
}

@media(max-width:767px) {
 .home-hero[style*="--hero-mobile:"] {
  background-image:none!important;
  background-color:#073322;
 }
 .home-hero[style*="--hero-mobile:"]::after {
  display:block; content:""; position:absolute; top:0; right:0;
  width:150px; height:188px; border-radius:0; pointer-events:none;
  background:var(--hero-mobile) top right / 100% auto no-repeat;
  mask-image:linear-gradient(to right,transparent,#000 35%),linear-gradient(to bottom,#000 40%,transparent);
  mask-composite:intersect;
  opacity:calc(100% - var(--hero-mobile-sombra,20%));
 }
}
