/* Portal sign.omni-es.com.br — complementa previa-portal.css (mesmo visual do portal da OMNI) */

/* Logo com o nome do módulo */
.marca-sign{display:flex;align-items:center;gap:12px}
.marca-sign img{width:170px;height:auto}
.marca-sign span{font-size:15px;font-weight:700;color:var(--tx2);padding-left:12px;border-left:1px solid var(--ln);white-space:nowrap}
.pa-valid{font-size:12.5px;color:var(--tx2);white-space:nowrap}
.pa-valid b{color:var(--tx)}

/* Abertura: cartão do certificado */
.cert-vis{position:relative;min-height:440px}
.cert{position:absolute;left:4%;top:40px;width:78%;border-radius:22px;background:#fff;border:1px solid var(--ln);box-shadow:var(--sh);overflow:hidden}
.cert-top{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;color:#fff;background:var(--grade),var(--painel)}
.cert-top strong{font-size:15px}.cert-top small{display:block;font-size:12px;color:#d6f1ff}
.cert-top b{font-size:13px;background:#ffffff2e;border:1px solid #ffffff55;border-radius:8px;padding:4px 10px}
.cert-corpo{padding:20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}
.cert-corpo div small{display:block;font-size:11.5px;color:var(--tx2);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.cert-corpo div span{font-size:15px;font-weight:600;color:var(--tx)}
.cert-corpo .cheio{grid-column:1/-1}
.cert-ok{display:flex;align-items:center;gap:10px;margin:0 22px 20px;padding:10px 14px;border-radius:12px;background:#e9f8ef;color:#0f7a3d;font-size:13.5px;font-weight:600}
.cert-ok i{width:22px;height:22px;border-radius:50%;background:#16a34a;color:#fff;display:grid;place-items:center;font-style:normal;font-size:12px}
.token{position:absolute;right:2%;bottom:36px;width:190px;height:70px;border-radius:16px;background:linear-gradient(135deg,#1d2b44,#0b1324);box-shadow:0 22px 40px #0b1e3a40;display:flex;align-items:center;gap:12px;padding:0 16px;color:#cfe0f5}
.token::before{content:"";position:absolute;left:-30px;top:20px;width:34px;height:30px;border-radius:6px 0 0 6px;background:linear-gradient(#c9d3e1,#8d9aae)}
.token i{width:12px;height:12px;border-radius:50%;background:#22c4ce;box-shadow:0 0 12px #22c4ce}
.token b{font-size:13px;letter-spacing:.04em}.token small{display:block;font-size:11px;color:#8fa3bf}
.cert-vis .f1{left:-6px;bottom:6px}.cert-vis .f2{right:0;top:0}

/* Produtos com preço */
.loja{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.loja .preco>p:not(.franq){min-height:44px}
.loja .preco .btn-pri{margin-top:auto;justify-content:center}
.loja .valor span{font-size:13px}
.preco.dest{border:2px solid #9cc4f5;box-shadow:var(--sh);position:relative}
.preco.dest .novo{position:absolute;top:-11px;left:20px}
.validades{display:flex;gap:6px;margin:0 0 16px}
.validades button{font:inherit;font-size:13px;font-weight:600;border:1px solid var(--ln);background:#fff;color:var(--tx2);border-radius:8px;padding:5px 10px;cursor:pointer}
.validades button[aria-pressed="true"]{border-color:var(--az);color:var(--az);background:#eef5fe}

/* A1 x A3 */
.ab2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.ab2 article{background:#fff;border:1px solid var(--ln);border-radius:20px;padding:30px}
.ab2 .tipo{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;color:#fff;font-weight:800;font-size:18px;background:var(--grad);margin-bottom:14px}
.ab2 .tipo.a3{background:linear-gradient(135deg,#1d2b44,#2c7be5)}
.ab2 h3{font-size:22px;margin-bottom:6px}.ab2 p{margin:0 0 12px;color:var(--tx2)}
.ab2 dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:16px 0 0;font-size:14.5px}
.ab2 dt{color:var(--tx2)}.ab2 dd{margin:0;font-weight:600}

/* Atendimento */
.atend{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.atend article{background:#fff;border:1px solid var(--ln);border-radius:20px;padding:28px}
.atend h3{font-size:19px;margin-bottom:8px}.atend p{margin:0;color:var(--tx2)}
.atend .check{margin-top:16px}
.end{margin-top:18px;padding-top:16px;border-top:1px solid var(--ln);font-size:14.5px}
.end b{display:block;color:var(--tx)}.end span{color:var(--tx2)}

/* Portal da OMNI: três soluções lado a lado */
.prod.prod3{grid-template-columns:repeat(3,1fr)}
.prod3 .prod-card{padding:28px}
.prod-ic.sign{background:linear-gradient(135deg,#1d2b44,#2c7be5)}
@media (max-width:1080px){.prod.prod3{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.prod.prod3{grid-template-columns:1fr}}

/* Portal da OMNI: faixa do certificado abaixo dos dois produtos */
.cert-faixa{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-top:24px;background:#fff;border:1px solid var(--ln);border-radius:20px;padding:22px 28px;transition:transform .2s,box-shadow .2s}
.cert-faixa:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.cert-faixa .prod-ic{font-size:15px}
.cert-faixa strong{display:block;font-size:18px;color:var(--tx)}.cert-faixa span{color:var(--tx2);font-size:14.5px}
.cert-faixa em{font-style:normal;font-weight:600;color:var(--az);white-space:nowrap}
/* Portal da OMNI: seção Certificado digital, sem preços */
.cert-sec{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.cert-sec>*{min-width:0}
.cert-sec .hero-cta{margin-top:28px}
.tipos4{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tipos4 article{background:#fff;border:1px solid var(--ln);border-radius:20px;padding:24px;transition:transform .2s,box-shadow .2s}
.tipos4 article:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.tipos4 .tipo{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;color:#fff;font-weight:800;font-size:15px;background:var(--grad);margin-bottom:14px}
.tipos4 .tipo.a3{background:linear-gradient(135deg,#1d2b44,#2c7be5)}
.tipos4 h3{font-size:18px;margin-bottom:6px}.tipos4 p{margin:0;color:var(--tx2);font-size:14.5px}
.tipos4 .tipos-nota{grid-column:1/-1;font-size:13px}

/* ---------- Opção 1: escolha rápida no topo ---------- */
.hero-loja{padding:48px 0 64px}
.hero-loja .hero-in{grid-template-columns:1fr 1.05fr;align-items:start}
.hero-loja .hero-in>*{min-width:0}
.hero-loja .publico{flex-wrap:wrap;gap:6px 18px}
.hero-loja h1{font-size:clamp(32px,3.8vw,48px)}
.escolha{background:#fff;border:1px solid var(--ln);border-radius:22px;box-shadow:var(--sh);padding:26px;display:grid;gap:18px}
.escolha h2{font-size:19px}
.escolha .rot{font-size:13px;font-weight:700;color:var(--tx2);margin:0 0 8px}
.seg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.seg.tres{grid-template-columns:repeat(3,1fr)}
.seg button{font:inherit;text-align:left;border:1px solid var(--ln);background:#fff;border-radius:12px;padding:12px 14px;cursor:pointer;color:var(--tx)}
.seg button b{display:block;font-size:15px}.seg button small{color:var(--tx2);font-size:12.5px}
.seg button[aria-pressed="true"]{border-color:var(--az);box-shadow:0 0 0 1px var(--az);background:#f3f8ff}
.resultado{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--ln);padding-top:18px}
.resultado small{display:block;color:var(--tx2);font-size:13px}
.resultado strong{font-size:30px;letter-spacing:-.02em;color:var(--tx)}
.inclui-l{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;padding:0;margin:0;font-size:13px;color:var(--tx2)}.inclui-l li::before{content:"✓";color:var(--tq);font-weight:700;margin-right:5px}

.hoje{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:40px}
.hoje article{background:#fff;border:1px solid var(--ln);border-radius:20px;padding:28px}
.hoje h3{font-size:19px;margin-bottom:6px}.hoje p{margin:0;color:var(--tx2)}
.vagas{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}
.vagas span{border:1px solid var(--ln);border-radius:10px;padding:10px;text-align:center;font-weight:700;font-size:14px}
.vagas span small{display:block;font-weight:500;color:var(--tx2);font-size:12px}
.renova{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.renova input{flex:1;min-width:180px;font:inherit;border:1px solid var(--ln);border-radius:10px;padding:11px 14px}
.renova-r{margin-top:14px;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:#fff6e5;color:#8a5300;font-size:14px}
.renova-r b{color:#5f3a00}

@media (max-width:1080px){
 .loja{grid-template-columns:1fr 1fr}
 .cert-vis{min-height:400px;max-width:560px;width:100%;margin:0 auto}
 .hero-loja .hero-in,.hoje,.cert-sec{grid-template-columns:1fr}.cert-sec{gap:32px}
}
@media (max-width:680px){
 .loja,.ab2,.atend{grid-template-columns:1fr}
 .marca-sign img{width:130px}.marca-sign span,.pa-valid{display:none}
 .cert{left:0;width:100%}.token{right:0;bottom:0;width:170px}.cert-corpo{grid-template-columns:1fr}
 .seg.tres{grid-template-columns:1fr}.vagas{grid-template-columns:repeat(2,1fr)}
 .cert-faixa{grid-template-columns:1fr;padding:22px}.tipos4{grid-template-columns:1fr}
}

/* ---------- Sign (S1): ajustes do portal ligado à API ---------- */
[hidden]{display:none!important}
.vagas a{border:1px solid var(--ln);border-radius:10px;padding:10px;text-align:center;font-weight:700;font-size:14px;color:var(--tx)}
.vagas a:hover{border-color:#9cc4f5;background:#f3f8ff}
.vagas a small{display:block;font-weight:500;color:var(--tx2);font-size:12px}
.vagas p{grid-column:1/-1;margin:0;color:var(--tx2);font-size:14px}
.hero-cta.sp{margin-top:18px}
.cta.cta-unica{grid-template-columns:1fr}
.btn-pri.desliga{opacity:.5;pointer-events:none}