/* NP Digital · Briefing Premium (escopo .npdb) */
.npdb{--azul: #2648E6; --azul-bg: #EEF2FE; --tinta: #0F1729; --cinza: #5E6880; --borda: #E2E6EF; --papel: #F5F7FB; --ipe: #FFC83D; --ipe-bg: #FFF6DC; --verde: #138A55; --verde-bg: #E7F6EE; --verm: #C8372D; --r: 16px;}
.npdb *{box-sizing: border-box;}
.npdb{-webkit-text-size-adjust: 100%;}
.npdb{margin: 0; font: 16px/1.55 'Plus Jakarta Sans', system-ui, sans-serif; color: var(--tinta); background: var(--papel);}
.npdb a{color: var(--azul);}
.npdb .topo{background: linear-gradient(135deg, #0F1729, #1E2C5A 55%, var(--azul)); color: #fff; padding: 34px 20px 70px; position: relative; overflow: hidden;}
.npdb .topo::after{content: ''; position: absolute; right: -70px; top: -70px; width: 240px; height: 240px; border-radius: 50%; border: 36px solid rgba(255,200,61,.22);}
.npdb .topo__in{max-width: 760px; margin: 0 auto; position: relative; z-index: 1;}
.npdb .marca{display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 18px;}
.npdb .marca i{width: 34px; height: 34px; border-radius: 10px; background: var(--ipe); display: grid; place-items: center; color: var(--tinta); font-style: normal; font-size: 15px;}
.npdb .topo h1{font-size: clamp(28px, 6vw, 40px); line-height: 1.08; letter-spacing: -.03em; margin: 22px 0 10px;}
.npdb .topo p{margin: 0; max-width: 56ch; opacity: .88;}
.npdb .topo__chips{display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px;}
.npdb .topo__chips span{font-size: 13px; font-weight: 600; padding: 6px 12px; border-radius: 99px; background: rgba(255,255,255,.12);}
.npdb main{max-width: 760px; margin: -44px auto 0; padding: 0 14px 120px; position: relative; z-index: 2;}
.npdb .passos{display: flex; gap: 6px; background: #fff; border-radius: var(--r); padding: 12px; box-shadow: 0 10px 30px rgba(15,23,41,.08); position: sticky; top: 8px; z-index: 5; overflow-x: auto; scrollbar-width: none;}
.npdb .passos::-webkit-scrollbar{display: none;}
.npdb .passos button{flex: 1 0 auto; border: 0; background: none; font: 700 12px 'Plus Jakarta Sans', sans-serif; color: var(--cinza); padding: 8px 10px 6px; border-top: 3px solid var(--borda); cursor: pointer; white-space: nowrap;}
.npdb .passos button.feito{color: var(--verde); border-color: var(--verde);}
.npdb .passos button.atual{color: var(--azul); border-color: var(--azul);}
.npdb .card{background: #fff; border-radius: 22px; padding: clamp(20px, 4vw, 32px); margin-top: 14px; box-shadow: 0 1px 0 var(--borda);}
.npdb .card h2{font-size: 24px; letter-spacing: -.02em; margin: 0 0 4px;}
.npdb .card > p.sub{margin: 0 0 22px; color: var(--cinza);}
.npdb .etapa{display: none;}
.npdb .etapa.on{display: block; animation: entra .25s ease-out;}
@keyframes entra{ from { opacity: 0; transform: translateY(6px); }
 }
.npdb .grupo{border: 0; margin: 0 0 22px; padding: 0;}
.npdb .grupo > legend, .npdb .tit{font-weight: 800; font-size: 16px; margin-bottom: 10px; padding: 0;}
.npdb .campo{display: grid; gap: 6px; margin-bottom: 16px;}
.npdb .campo label, .npdb .campo .rot{font-weight: 600; font-size: 14px;}
.npdb .campo label small, .npdb .campo .rot small{font-weight: 500; color: var(--cinza);}
.npdb .obg::after{content: ' *'; color: var(--verm);}
.npdb input[type=text], .npdb input[type=tel], .npdb input[type=email], .npdb input[type=url], .npdb input[type=number], .npdb select, .npdb textarea{width: 100%; font: 16px 'Plus Jakarta Sans', sans-serif; color: var(--tinta); background: #fff; border: 1.5px solid var(--borda); border-radius: 12px; padding: 12px 14px; min-height: 48px;}
.npdb textarea{min-height: 96px; resize: vertical;}
.npdb input:focus, .npdb select:focus, .npdb textarea:focus{outline: none; border-color: var(--azul); box-shadow: 0 0 0 4px var(--azul-bg);}
.npdb .erro input, .npdb .erro textarea, .npdb .erro select{border-color: var(--verm);}
.npdb .dica{font-size: 13px; color: var(--cinza); margin: -2px 0 0;}
.npdb .g2{display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px;}
.npdb .g3{display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 14px;}
@media (max-width: 620px){.npdb .g2, .npdb .g3{grid-template-columns: 1fr;}
}
.npdb .opcoes{display: flex; flex-wrap: wrap; gap: 8px;}
.npdb .opcoes label{display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1.5px solid var(--borda); border-radius: 12px; cursor: pointer; font-weight: 600; font-size: 14px; background: #fff;}
.npdb .opcoes label:has(input:checked){border-color: var(--azul); background: var(--azul-bg); color: var(--azul);}
.npdb .opcoes input{accent-color: var(--azul); width: 17px; height: 17px; margin: 0;}
.npdb .bloco{background: var(--papel); border-radius: 14px; padding: 16px; margin-bottom: 16px;}
.npdb .bloco--ipe{background: var(--ipe-bg);}
.npdb .bloco p{margin: 0; font-size: 14px;}
.npdb .horario{display: grid; gap: 8px;}
.npdb .horario .dia{display: grid; grid-template-columns: 92px auto 1fr 1fr; gap: 8px; align-items: center;}
.npdb .horario .dia span{font-weight: 700; font-size: 14px;}
.npdb .horario .dia input[type=time]{width: 100%; font: 15px 'Plus Jakarta Sans', sans-serif; border: 1.5px solid var(--borda); border-radius: 10px; padding: 9px 8px; min-height: 44px; background: #fff;}
.npdb .horario .dia input:disabled{opacity: .35;}
.npdb .horario .dia label{display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--cinza);}
@media (max-width: 460px){.npdb .horario .dia{grid-template-columns: 70px 1fr 1fr;}
.npdb .horario .dia label{grid-column: 2 / 4; grid-row: 2;}
}
.npdb .lista{display: grid; gap: 8px; margin-bottom: 8px;}
.npdb .linha{display: grid; gap: 8px; grid-template-columns: 1.4fr .8fr 1.2fr 40px; align-items: start;}
.npdb .linha.l2{grid-template-columns: 1fr 1.6fr 40px;}
.npdb .linha.lfaq{grid-template-columns: 1fr 40px;}
.npdb .linha.lfaq > div{display: grid; gap: 6px;}
@media (max-width: 620px){.npdb .linha, .npdb .linha.l2{grid-template-columns: 1fr 40px;}
.npdb .linha > :not(.x):not(:first-child){grid-column: 1;}
.npdb .linha .x{grid-row: 1; grid-column: 2;}
}
.npdb .x{width: 40px; height: 48px; border: 0; border-radius: 10px; background: var(--papel); color: var(--cinza); font-size: 20px; cursor: pointer;}
.npdb .add{border: 1.5px dashed var(--borda); background: #fff; color: var(--azul); font: 700 14px 'Plus Jakarta Sans', sans-serif; border-radius: 12px; padding: 10px 14px; cursor: pointer;}
.npdb .secao-off{opacity: .45; pointer-events: none;}
.npdb .nav{display: flex; justify-content: space-between; gap: 10px; margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--borda);}
.npdb .btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 22px; border-radius: 14px; border: 0; font: 700 16px 'Plus Jakarta Sans', sans-serif; cursor: pointer; text-decoration: none;}
.npdb .btn--pri{background: var(--azul); color: #fff;}
.npdb .btn--sec{background: var(--papel); color: var(--tinta);}
.npdb .btn--zap{background: #1FA855; color: #fff; width: 100%; font-size: 17px; min-height: 58px;}
.npdb .btn[hidden]{display: none;}
.npdb .resumo{background: var(--papel); border-radius: 14px; padding: 16px; font: 13px/1.6 ui-monospace, 'Cascadia Mono', monospace; white-space: pre-wrap; max-height: 360px; overflow: auto; margin: 0 0 14px;}
.npdb .ok{display: flex; gap: 12px; align-items: flex-start; background: var(--verde-bg); color: #0d5c39; border-radius: 14px; padding: 14px 16px; font-size: 14px; margin-bottom: 14px;}
.npdb .ok b{display: block;}
.npdb .salvo{position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); background: var(--tinta); color: #fff; font-size: 13px; font-weight: 600; padding: 8px 14px; border-radius: 99px; opacity: 0; transition: opacity .3s; pointer-events: none; z-index: 20;}
.npdb .salvo.on{opacity: .92;}
.npdb .rodape{text-align: center; color: var(--cinza); font-size: 13px; margin-top: 28px;}
.npdb .alerta{color: var(--verm); font-size: 14px; font-weight: 600; margin: 10px 0 0;}
 .npdb{position:relative;isolation:isolate;text-align:left}
 .npdb .topo{border-radius:0 0 28px 28px}
 .npdb h1,.npdb h2{font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:inherit}
 .npdb .topo h1{color:#fff}
 .npdb input,.npdb select,.npdb textarea{box-shadow:none}
 .npdb .salvo{position:fixed}
.npdb .btn--envio { width: 100%; min-height: 58px; font-size: 17px; }
.npdb .btn:disabled { opacity: .6; cursor: wait; }
.npdb [hidden] { display: none !important; }
.npdb .npdb-ok { text-align: center; padding: 36px 28px; }
.npdb .npdb-ok__ico { width: 68px; height: 68px; margin: 0 auto 14px; border-radius: 50%; display: grid; place-items: center; background: var(--verde); color: #fff; font-size: 32px; font-weight: 800; box-shadow: 0 0 0 8px var(--verde-bg); }
.npdb .npdb-ok h2 { font-size: 28px; margin: 0 0 8px; }
.npdb .npdb-ok > p { color: var(--cinza); margin: 0 0 18px; }
.npdb .npdb-ok > p b { color: var(--tinta); font-family: ui-monospace, monospace; }
