/* Painel digital (tablet): navegação direta, sem capa. Reaproveita tokens e a tipografia de estilo.css. */
body.painel { background: var(--papel); color: var(--corpo); font-size: 17px; line-height: 1.5; -webkit-text-size-adjust: 100%; }
.so-leitor { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.p-topo { position: sticky; top: 0; z-index: 5; display: flex; gap: 20px; align-items: center; padding: 12px 28px; background: rgba(251, 247, 241, .94); backdrop-filter: blur(10px); border-bottom: 1px solid var(--borda); }
.p-marca img { display: block; height: 34px; }
.p-abas { display: flex; gap: 4px; margin-left: 8px; }
.p-abas a { padding: 10px 18px; border-radius: 99px; font-weight: 900; color: var(--tinta); font-size: 16px; }
.p-abas a.on { background: var(--navy); color: #fff; }
.p-inicio { margin-left: auto; }
.p-busca input { width: min(320px, 38vw); height: 46px; padding: 0 18px; border: 1.5px solid var(--borda); border-radius: 99px; background: #fff; font: inherit; color: var(--tinta); }
.p-busca input:focus { outline: 2px solid var(--royal); border-color: transparent; }
.p-tela { max-width: 1100px; margin: 0 auto; padding: 34px 28px 80px; }
.p-h { font-size: clamp(30px, 4.4vw, 46px); line-height: 1.05; margin-bottom: 14px; }
.p-h em.it { color: var(--royal); }
.p-lead { max-width: 62ch; margin-bottom: 22px; font-family: var(--serif); font-style: italic; font-size: 20px; color: var(--tinta); }
.p-voltar { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; margin-bottom: 20px; padding: 0 22px 0 18px; border-radius: 99px; background: var(--royal); color: #fff; font-weight: 900; font-size: 17px; box-shadow: 0 8px 18px -10px rgba(4, 50, 162, .8); }
.p-voltar:active, .p-voltar:hover { background: var(--navy); }
.p-voltar span { font-size: 20px; line-height: 1; }
.p-tela h4 { margin: 22px 0 6px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--royal); }
.p-tela p { max-width: 68ch; }

/* trilhas */
.p-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; margin-top: 22px; }
.p-cartao { position: relative; display: flex; flex-direction: column; gap: 0; min-height: 190px; padding: 0; overflow: hidden; border-radius: 20px; background: #fff; border: 1px solid var(--borda); transition: transform .15s, box-shadow .15s; }
.p-cartao:active, .p-cartao:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -18px rgba(4, 33, 77, .5); }
.p-cartao-t { display: flex; flex-direction: column; gap: 8px; padding: 18px 22px 22px; } .p-cartao h2 { font-size: 21px; }
.p-img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--areia); }
.p-cartao > .p-num { color: #fff; opacity: .95; text-shadow: 0 2px 10px rgba(4, 33, 77, .55); }
.p-cartao p { margin: 0; font-size: 14.5px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.p-num { position: absolute; top: 14px; right: 18px; font-family: var(--serif); font-style: italic; font-size: 30px; color: var(--laranja-texto); opacity: .6; }
.p-2col { display: grid; grid-template-columns: 1.3fr 1fr; gap: 32px; margin: 12px 0 18px; }
@media (max-width: 760px) { .p-inicio { margin-left: auto; } .p-2col { grid-template-columns: 1fr; gap: 0; } .p-topo { flex-wrap: wrap; padding: 10px 16px; } .p-busca { margin-left: 0; width: 100%; order: 3; } .p-busca input { width: 100%; } .p-tela { padding: 24px 16px 60px; } }

/* listas de cursos */
.p-nivel { margin: 26px 0 4px; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--laranja-texto); }
.p-linha { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 64px; padding: 12px 6px; border-bottom: 1px solid var(--borda); }
.p-linha:active, .p-linha:hover { background: var(--areia); }
.p-t { font-weight: 700; color: var(--tinta); line-height: 1.3; }
.p-t small { display: block; margin-top: 2px; font-weight: 400; font-size: 13px; color: var(--suave); }
.p-linha .carga b { font-size: 26px; } .p-linha .carga small { font-size: 11px; }
.p-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 14px; }
.p-chip { padding: 9px 16px; border-radius: 99px; border: 1.5px solid var(--borda); font-weight: 900; font-size: 14px; color: var(--tinta); background: #fff; }
.p-chip.on { background: var(--royal); border-color: var(--royal); color: #fff; }
.p-cont { margin-left: auto; font-size: 13px; color: var(--suave); }
.p-vazio { padding: 30px 0; color: var(--suave); }

/* ficha */
.p-ficha { max-width: 760px; }
.p-ficha-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding-bottom: 14px; border-bottom: 2px solid var(--tinta); }
.p-tag { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; color: var(--laranja-texto); }
.p-ficha .carga.lg b { font-size: 54px; } .p-ficha .carga.lg small { font-size: 13px; }
.p-ficha p a, .p-ficha a { color: var(--royal); font-weight: 700; text-decoration: underline; }

/* preços */
.p-tab { margin: 26px 0; } .p-tab h3 { margin-bottom: 8px; font-size: 20px; }
.p-rolar { overflow-x: auto; }
.p-tela table.preco { min-width: 640px; font-size: 15px; } .p-tela table.preco th { font-size: 11px; padding: 12px 14px; } .p-tela table.preco td { padding: 14px; }

/* disciplinas da ficha */
.p-disc { margin: 0; padding: 0; list-style: none; counter-reset: d; max-width: 68ch; }
.p-disc li { counter-increment: d; display: grid; grid-template-columns: 34px 1fr; gap: 6px; padding: 10px 0; border-bottom: 1px solid var(--borda); color: var(--tinta); font-weight: 700; }
.p-disc li::before { content: counter(d, decimal-leading-zero); font-family: var(--serif); font-style: italic; font-weight: 500; color: var(--laranja-texto); }

.p-inicio { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; border: 1.5px solid var(--borda); background: #fff; color: var(--tinta); }
.p-inicio:hover, .p-inicio:active { background: var(--navy); border-color: var(--navy); color: #fff; }
.p-inicio:focus-visible, .p-voltar:focus-visible, .p-abas a:focus-visible { outline: 2px solid var(--royal); outline-offset: 3px; }

/* filtros rápidos de carga horária, na mesma linha dos níveis */
.p-sep { width: 1.5px; height: 26px; margin: 0 6px; background: var(--borda); }
.p-chip-h { font-family: var(--serif); font-weight: 700; color: var(--royal); }
.p-chip-h.on { background: var(--laranja); border-color: var(--laranja); color: var(--navy-fundo); }

.p-hero { display: block; width: 100%; max-height: 300px; aspect-ratio: 1024 / 360; object-fit: cover; margin: 6px 0 22px; border-radius: 24px; background: var(--areia); }
/* a descrição base com mais peso: o primeiro parágrafo é a chamada, em negrito */
.p-desc p { color: var(--tinta); font-size: 18px; line-height: 1.55; }
.p-desc p:first-child { font-weight: 700; font-size: 20px; }

.p-sair { flex: none; background: none; border: 0; padding: 8px 4px; color: var(--suave-texto); font: 700 14px Lato, sans-serif; text-decoration: underline; cursor: pointer; }
@media (max-width: 760px) { .p-sair { order: 2; margin-left: auto; } .p-inicio { margin-left: 0; } }

/* ---------- aba Pacotes ---------- */
.p-sub { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; padding-bottom: 16px; border-bottom: 1px solid var(--borda); }
.p-h2 { margin: 36px 0 12px; font-size: 24px; }
.p-passos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin: 22px 0; }
.p-passo { padding: 22px; border-radius: 20px; background: #fff; border: 1px solid var(--borda); }
.p-passo-n { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--laranja); color: var(--navy-fundo); font: 900 16px Lato, sans-serif; }
.p-passo h3 { margin: 14px 0 6px; font-size: 19px; } .p-passo p { margin: 0; font-size: 15px; }
.p-prods { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; margin-bottom: 8px; }
.p-prod { display: grid; gap: 2px; padding: 14px 16px; border-radius: 14px; background: var(--tint-azul); }
.p-prod b { color: var(--tinta); } .p-prod span { font: 700 22px var(--serif); color: var(--royal); } .p-prod small { font-size: 12.5px; color: var(--suave-texto); }
.p-pks { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin: 14px 0; }
.p-pk { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 20px; background: #fff; border: 1px solid var(--borda); transition: transform .15s, box-shadow .15s; }
.p-pk:hover, .p-pk:active { transform: translateY(-2px); box-shadow: 0 14px 28px -18px rgba(4, 33, 77, .5); }
.p-pk h3 { font-size: 22px; } .p-pk h3 small { font-weight: 400; color: var(--suave-texto); font-size: 14px; }
.p-pk-f { margin: 0; font-size: 14.5px; min-height: 2.9em; }
.p-pk dl { margin: 6px 0 0; display: grid; grid-template-columns: auto 1fr; gap: 3px 12px; font-size: 14px; }
.p-pk dt { color: var(--suave-texto); } .p-pk dd { margin: 0; text-align: right; font-weight: 900; color: var(--tinta); }
.p-pk-ir { margin-top: auto; padding-top: 10px; font-size: 13px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: var(--royal); }
.p-pk-livre { background: var(--tint-laranja); border-color: transparent; }
.p-pk-off { opacity: .55; }
.p-aviso { margin: 30px 0 0; padding: 14px 18px; border-left: 3px solid var(--laranja); background: var(--tint-laranja); font-size: 14px; color: var(--tinta); max-width: none; }
.p-base { margin-top: 18px; font-size: 13px; color: var(--suave-texto); }
.p-nota { font-size: 14px; color: var(--suave-texto); }
.p-lista { margin: 14px 0; padding-left: 20px; max-width: 70ch; } .p-lista li { margin-bottom: 6px; }
.p-num { margin: 10px 0 14px; padding-left: 22px; max-width: 70ch; } .p-num li { margin-bottom: 6px; }
.p-link { color: var(--royal); font-weight: 900; text-decoration: underline; }
.p-destaque { display: flex; flex-direction: column; gap: 4px; margin: 18px 0; padding: 18px 22px; border-radius: 18px; background: var(--navy); color: #fff; max-width: none; }
.p-destaque b { font-family: var(--serif); font-size: 26px; color: var(--pessego); } .p-destaque span { color: #dce6ff; }
.p-fala { margin: 22px 0; padding: 18px 22px; border-radius: 18px; background: var(--tint-azul); } .p-fala h3 { margin-bottom: 6px; font-size: 18px; } .p-fala p { margin: 0 0 6px; font-weight: 700; color: var(--tinta); } .p-fala small { color: var(--suave-texto); }
.p-fala-s { margin-top: 16px; font-size: 15px; }
.p-qtds { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0; }
.p-qtd { display: grid; place-items: center; min-width: 110px; padding: 14px 18px; border-radius: 16px; background: var(--tint-laranja); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--laranja-texto); font-weight: 900; }
.p-qtd b { font: 700 34px var(--serif); color: var(--tinta); letter-spacing: 0; }
/* tabelas */
.p-tb { width: 100%; min-width: 560px; border-collapse: collapse; margin: 10px 0 14px; font-size: 15px; }
.p-tb th { padding: 11px 12px; background: var(--navy); color: #fff; text-align: left; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; }
.p-tb td { padding: 12px; border-bottom: 1px solid var(--borda); vertical-align: top; color: var(--tinta); }
.p-tb td small { display: block; color: var(--suave-texto); font-size: 12.5px; }
.p-ok, .p-nao { display: inline-block; padding: 3px 10px; border-radius: 99px; font-size: 12.5px; font-weight: 900; }
.p-ok { background: #dff5e6; color: #14532d; } .p-nao { background: #fde8e0; color: #8a2d0a; }
td small.p-nao { display: inline-block; margin-left: 6px; }
/* montador */
.p-cont { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin: 8px 0 14px; }
.p-cont-lin { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-radius: 18px; background: #fff; border: 1px solid var(--borda); }
.p-cont-n b { display: block; color: var(--tinta); } .p-cont-n small { color: var(--suave-texto); }
.p-cont-b { display: flex; align-items: center; gap: 12px; }
.p-cont-b output { min-width: 28px; text-align: center; font: 700 28px var(--serif); color: var(--tinta); }
.p-menos, .p-mais { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--royal); color: #fff; font: 900 26px/1 Lato, sans-serif; }
.p-menos { background: var(--areia); color: var(--tinta); } .p-menos.off, .p-mais.off { opacity: .3; pointer-events: none; }
.p-fraseComp { margin: 4px 0 16px; font-size: 17px; color: var(--tinta); }
.p-ress { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
.p-res { padding: 22px; border-radius: 20px; background: #fff; border: 1px solid var(--borda); } .p-res h3 { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--royal); }
.p-grande { margin: 6px 0 10px; font: 700 34px/1.1 var(--serif); color: var(--tinta); } .p-grande small { font: 400 15px Lato, sans-serif; color: var(--suave-texto); }
.p-det summary { cursor: pointer; font-weight: 900; color: var(--royal); padding: 8px 0; }
.p-matriz td, .p-matriz th { text-align: center; } .p-matriz td:first-child, .p-matriz th:first-child { text-align: left; }

/* ---------- redes e cards pequenos ---------- */
.p-redes { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; margin: 12px 0; }
.p-rede { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 14px; background: var(--tint-azul); transition: transform .15s; }
.p-rede:hover, .p-rede:active { transform: translateY(-2px); }
.p-rede b { color: var(--tinta); font-size: 16px; } .p-rede small { font-size: 13px; color: var(--suave-texto); line-height: 1.35; }
.p-pk-mini { padding: 16px; gap: 4px; } .p-pk-mini h3 { font-size: 18px; } .p-pk-mini .p-pk-f { min-height: 0; font-size: 13.5px; }
.p-rcs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.p-rc { display: inline-flex; flex-direction: column; gap: 0; padding: 6px 10px; border-radius: 10px; background: var(--areia); line-height: 1.2; }
.p-rc i { font-style: normal; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--suave-texto); font-weight: 900; }
.p-rc b { font-size: 13.5px; color: var(--tinta); } .p-rc.off b { color: var(--suave-texto); font-weight: 400; }
.p-ress-mini { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.p-res-mini { padding: 16px; } .p-res-mini .p-grande { font-size: 22px; margin: 4px 0 6px; } .p-res-mini.off { opacity: .6; }
.p-res-mini .p-det summary { font-size: 13px; padding: 4px 0; } .p-res-mini .p-nota { margin: 4px 0 0; font-size: 12.5px; }

/* ---------- celular: topo compacto, barra de navegação embaixo, filtros em trilho ---------- */
.p-volta, .p-busca-b, .p-busca-x, .p-total, .p-ico { display: none; }
@media (max-width: 760px) {
  body.painel { font-size: 16px; padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
  .p-topo { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--papel); flex-wrap: nowrap; gap: 6px; padding: 8px 12px; padding-top: calc(8px + env(safe-area-inset-top)); min-height: 56px; }
  .p-marca { margin-right: auto; } .p-marca img { height: 28px; }
  body.interno .p-marca { display: none; }
  body.interno .p-volta { display: grid; place-items: center; flex: none; width: 44px; height: 44px; margin: 0 auto 0 -6px; border: 0; border-radius: 50%; background: var(--royal); color: #fff; cursor: pointer; }
  .p-volta:active { background: var(--navy); }
  .p-volta:focus-visible, .p-busca-b:focus-visible, .p-busca-x:focus-visible, .p-sair:focus-visible, .p-chip:focus-visible, .p-menos:focus-visible, .p-mais:focus-visible { outline: 2px solid var(--royal); outline-offset: 2px; }
  .p-busca-b { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border: 1.5px solid var(--borda); border-radius: 50%; background: #fff; color: var(--tinta); cursor: pointer; }
  .p-inicio { width: 44px; height: 44px; margin: 0; }
  .p-sair { order: 0; margin: 0; min-width: 44px; min-height: 44px; padding: 0 6px; }
  .p-busca, .p-busca-x { display: none; }
  .p-topo.busca-on > :not(.p-busca):not(.p-busca-x):not(.p-abas) { display: none; }
  .p-topo.busca-on .p-busca { display: block; flex: 1; width: auto; order: 0; }
  .p-topo.busca-on .p-busca-x { display: block; flex: none; min-height: 44px; padding: 0 8px; border: 0; background: none; color: var(--royal); font: 900 15px Lato, sans-serif; cursor: pointer; }
  .p-busca input { width: 100%; height: 44px; font-size: 16px; }

  /* abas viram a barra inferior */
  .p-abas { position: fixed; left: 0; right: 0; bottom: 0; z-index: 6; display: flex; gap: 0; margin: 0; padding: 0 6px env(safe-area-inset-bottom); background: rgba(251, 247, 241, .97); backdrop-filter: blur(12px); border-top: 1px solid var(--borda); }
  .p-abas a { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 60px; padding: 6px 4px; border-radius: 14px; font-size: 12.5px; font-weight: 900; color: var(--suave-texto, var(--suave)); }
  .p-abas a.on { background: none; color: var(--royal); }
  .p-abas a.on .p-ico { background: var(--royal); color: #fff; }
  .p-abas .p-ico { display: block; box-sizing: content-box; width: 22px; height: 22px; padding: 3px 14px; border-radius: 99px; }
  .p-abas a:focus-visible { outline-offset: -3px; }

  .p-tela { padding: 18px 16px 28px; }
  .p-h { font-size: 28px; margin-bottom: 10px; }
  .p-lead { font-size: 18px; margin-bottom: 18px; }
  .p-voltar { display: none; }
  .p-tela h4 { margin-top: 18px; }

  /* trilhos de uma linha */
  .p-chips, .p-sub { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 28px;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 28px), transparent); }
  .p-chips::-webkit-scrollbar, .p-sub::-webkit-scrollbar { display: none; }
  .p-chips { margin-top: 4px; margin-bottom: 10px; padding-top: 2px; padding-bottom: 2px; }
  .p-sub { margin-bottom: 18px; padding-bottom: 14px; }
  .p-chip { flex: none; display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; white-space: nowrap; font-size: 14.5px; }
  .p-chips .p-cont { display: none; }
  .p-total { display: block; margin: 0 0 4px; font-size: 13px; color: var(--suave-texto, var(--suave)); }
  .p-sep { flex: none; }

  /* densidade */
  .p-grade { grid-template-columns: 1fr; gap: 12px; margin-top: 14px; }
  .p-cartao { min-height: 0; border-radius: 18px; }
  .p-img { aspect-ratio: 2.1 / 1; }
  .p-cartao-t { gap: 6px; padding: 14px 16px 16px; } .p-cartao h2 { font-size: 20px; }
  .p-cartao p { -webkit-line-clamp: 2; }
  .p-cartao > .p-num { top: 10px; right: 14px; font-size: 26px; }
  ol.p-num { position: static; font: inherit; color: inherit; opacity: 1; text-shadow: none; }
  .p-hero { max-height: 170px; margin-bottom: 16px; border-radius: 18px; }
  .p-desc p { font-size: 16.5px; } .p-desc p:first-child { font-size: 18px; }
  .p-nivel { margin-top: 20px; }
  .p-linha { gap: 12px; min-height: 60px; padding: 10px 2px; }
  .p-t { font-size: 16px; }
  .p-linha .carga { flex: none; } .p-linha .carga b { font-size: 22px; }
  .p-ficha-topo { gap: 14px; }
  .p-ficha .p-h { font-size: 25px; margin-bottom: 0; }
  .p-ficha .carga.lg { flex: none; flex-direction: column; align-items: flex-end; gap: 4px; } .p-ficha .carga.lg b { font-size: 40px; } .p-ficha .carga.lg small { font-size: 11px; }
  .p-disc li { grid-template-columns: 30px 1fr; font-size: 15.5px; }

  .p-h2 { margin: 28px 0 10px; font-size: 21px; }
  .p-passos { grid-template-columns: 1fr; gap: 10px; margin: 16px 0; } .p-passo { padding: 16px 18px; }
  .p-passo h3 { margin: 10px 0 4px; font-size: 18px; }
  .p-prods { grid-template-columns: 1fr 1fr; } .p-prod { padding: 12px 14px; }
  .p-redes { grid-template-columns: 1fr 1fr; gap: 8px; } .p-rede { padding: 12px 14px; }
  .p-pks { grid-template-columns: 1fr; gap: 10px; } .p-pk { padding: 16px; } .p-pk-f { min-height: 0; }
  .p-destaque { padding: 14px 16px; margin: 14px 0; } .p-destaque b { font-size: 22px; }
  .p-fala { padding: 14px 16px; }
  .p-aviso { margin-top: 22px; padding: 12px 14px; }
  .p-qtd { min-width: 0; flex: 1 1 28%; padding: 12px 8px; }
  .p-tb { min-width: 520px; font-size: 14.5px; } .p-tb th { padding: 10px; } .p-tb td { padding: 10px; }
  .p-tela table.preco { min-width: 560px; }
  /* tabelas que rolam: sombra nas bordas onde há mais conteúdo */
  .p-rolar { margin: 0 -16px; padding: 0 16px; scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch;
    background: linear-gradient(90deg, var(--papel) 30%, rgba(251, 247, 241, 0)) 0 0 / 40px 100% no-repeat local, linear-gradient(270deg, var(--papel) 30%, rgba(251, 247, 241, 0)) 100% 0 / 40px 100% no-repeat local,
      radial-gradient(farthest-side at 0 50%, rgba(4, 33, 77, .22), rgba(4, 33, 77, 0)) 0 0 / 12px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, rgba(4, 33, 77, .22), rgba(4, 33, 77, 0)) 100% 0 / 12px 100% no-repeat scroll; }
  /* montador */
  .p-cont { grid-template-columns: 1fr; gap: 8px; }
  .p-cont-lin { padding: 10px 14px; border-radius: 16px; }
  .p-cont-b { gap: 8px; } .p-cont-b output { min-width: 26px; font-size: 26px; }
  .p-menos, .p-mais { width: 48px; height: 48px; }
  .p-ress, .p-ress-mini { grid-template-columns: 1fr; gap: 10px; }
  .p-res { padding: 16px; border-radius: 18px; } .p-res-mini { padding: 14px 16px; }
  .p-grande { font-size: 28px; } .p-res-mini .p-grande { font-size: 21px; }
  .p-det summary { min-height: 44px; display: flex; align-items: center; }
  .p-res-mini .p-det summary { font-size: 14px; }

  /* rodapé legal fora do caminho da barra */
  .painel .rodape-legal { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px 16px 22px; font-size: 10.5px; }
}
@media (max-width: 760px) and (prefers-reduced-motion: no-preference) { .p-cartao, .p-pk, .p-rede { transition: transform .15s, box-shadow .15s; } }
@media (max-width: 760px) and (prefers-reduced-motion: reduce) { .p-cartao:active, .p-pk:active, .p-rede:active { transform: none; } }
@media (max-width: 760px) { .p-rolar::-webkit-scrollbar { display: none; } }
