/* DUO — CSS complementar ao sistema de design da Sooma (classes s-*). */

/* ligações do menu só em telemóvel/tablet (o menu passa a offcanvas abaixo de 1024px) */
.duo-nav-mobile{display:none}
@media (max-width:1023px){.duo-nav-mobile{display:block}.brx-nav-nested-items .duo-nav-mobile a{font-weight:700;color:var(--brand)}}

/* logótipos de clientes: linha estática, sem animação */
.duo-logos{display:flex;flex-wrap:wrap;align-items:center;gap:24px 40px}
.duo-logos .s-logo,.duo-logos img{height:48px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:opacity .15s,filter .15s}
.duo-logos img:hover{filter:none;opacity:1}
.duo-logos-c{justify-content:center}
.s-strip-row .duo-logos{justify-content:space-between}
@media (max-width:767px){.duo-logos{gap:16px 24px;justify-content:center}.duo-logos img{height:36px;max-width:110px}}

/* ligações que saem do site */
a.sooma-ext::after{content:"";display:inline-block;width:.7em;height:.7em;margin-left:.3em;vertical-align:baseline;opacity:.7;background:currentColor;-webkit-mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E")}

/* rodapé: linha das marcas e © */
.s-fbottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:var(--small)}
.s-fbottom p{margin:0}

/* tabela de comparação */
.duo-yes{color:var(--ok);font-weight:600}
.duo-yes::before{content:"✓ ";}
.duo-no{color:var(--muted)}
.s-table td{text-align:center}
.s-table thead th:not(:first-child){text-align:center}

/* simulador de preços: estilo copiado do simulador do duo.pt anterior, só com a fonte do site */
.duo-sim{--duo-ink-2:#3A3A3E;--duo-bg-alt:#FAFAFA;--duo-thumb:#5E5E66;--duo-r:14px;font-family:var(--font-body);color:var(--ink);line-height:1.6;background:#fff;border:1px solid var(--line);border-radius:var(--duo-r);padding:34px 34px 30px;box-shadow:0 24px 50px -36px rgba(0,0,0,.35);max-width:1140px;margin:0 auto;display:block}
.duo-sim h3,.duo-sim p,.duo-sim ul{margin:0}
.duo-sim-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:0;padding:0;border:0;background:none}
.duo-sim-vol{flex:1 1 320px;min-width:0}
.duo-sim-vol label{display:block;font-size:15px;font-weight:700;line-height:1.3;margin:0}
.duo-sim-input{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:6px 0 0}
.duo-sim-input input{width:7ch;min-width:5ch;max-width:100%;transition:border-color .15s;font:800 34px/1 var(--font-body);letter-spacing:-.02em;color:var(--brand);border:0;border-bottom:2px solid transparent;padding:0;background:transparent;border-radius:0}
.duo-sim-input input:hover{border-bottom-color:var(--line)}
.duo-sim-input input:focus{outline:0;border-bottom-color:var(--brand)}
.duo-sim-input span{font-size:12.5px;color:var(--muted);font-weight:500}
.duo-sim-range input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;margin:14px 0 0;padding:0;border:0;border-radius:999px;outline:none;cursor:pointer;background:linear-gradient(to right,var(--brand) 0,var(--brand) var(--p,0%),#DADADD var(--p,0%),#DADADD 100%)}
.duo-sim-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--duo-thumb);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.duo-sim-range input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--duo-thumb);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.duo-sim-range input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--brand);outline-offset:2px}
.duo-sim-range{margin-top:10px}
.duo-ticks{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:12px}
.duo-ticks span:last-child{white-space:nowrap}
.duo-ticks span{cursor:pointer}
.duo-sim-cycle{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:0}
.duo-sim-cycle .duo-pills{display:inline-flex;background:var(--duo-bg-alt);border:1px solid var(--line);border-radius:999px;padding:4px;gap:4px}
.duo-sim-cycle button{border:0;background:transparent;padding:8px 16px;border-radius:999px;font:700 13.5px/1.2 var(--font-body);cursor:pointer;color:var(--muted);box-shadow:none;height:auto}
.duo-sim-cycle button:hover,.duo-sim-cycle button:focus{background:transparent;color:var(--ink)}
.duo-sim-cycle button.is-on,.duo-sim-cycle button.is-on:hover,.duo-sim-cycle button.is-on:focus{background:var(--brand);color:#fff}
.duo-sim .duo-sim-cycle p{font-size:12.5px;color:var(--brand);font-weight:700;white-space:nowrap}
.duo-sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
.duo-plan{border:1px solid var(--line);border-radius:var(--duo-r);padding:26px;position:relative;display:flex;flex-direction:column;background:#fff;gap:0}
.duo-plan-rec{border-color:var(--brand);box-shadow:0 18px 40px -28px rgba(212,38,44,.5)}
.duo-plan .duo-tag{position:absolute;top:-12px;left:24px;background:var(--brand);color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;border-radius:999px;line-height:1.3}
.duo-plan h3{font-family:var(--font-body);font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
.duo-sim .duo-plan-for{font-size:13.5px;color:var(--muted);margin:6px 0 18px;min-height:43px}
.duo-price{font:800 38px/1.2 var(--font-body);letter-spacing:-.03em;color:var(--ink)}
.duo-price em{font-style:normal;font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0;display:inline-block;line-height:1.3;margin-left:2px}
.duo-sim .duo-unit{font-size:13px;color:var(--muted);margin-top:6px}
.duo-plan ul.duo-list{list-style:none;padding:0;margin:20px 0;flex:1}
.duo-plan ul.duo-list li{font-size:14px;color:var(--duo-ink-2);padding:7px 0 7px 23px;margin:0;position:relative;border-bottom:1px dashed var(--line);list-style:none}
.duo-plan ul.duo-list li:last-child{border-bottom:0}
.duo-plan ul.duo-list li::before{content:"\2713";position:absolute;left:0;color:var(--brand);font-weight:800}
.duo-plan .duo-rem{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 12px}
.duo-rem-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.duo-rem-l{display:flex;flex-direction:column;line-height:1.3}
.duo-rem-l strong{font-size:13px;color:var(--ink)}
.duo-rem-l small{font-size:12.5px;color:var(--muted)}
.duo-step{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--duo-bg-alt);padding:3px}
.duo-sim .duo-step button{width:32px;height:32px;min-width:32px;padding:0;margin:0;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:0;line-height:0;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.duo-sim .duo-step button::before{content:'';flex:none;display:block;width:12px;height:12px;background:currentColor;-webkit-mask:no-repeat center/contain var(--ico);mask:no-repeat center/contain var(--ico)}
.duo-sim .duo-step button[data-sim=remMinus]{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='1' y='5.1' width='10' height='1.8' rx='.9'/%3E%3C/svg%3E")}
.duo-sim .duo-step button[data-sim=remPlus]{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='1' y='5.1' width='10' height='1.8' rx='.9'/%3E%3Crect x='5.1' y='1' width='1.8' height='10' rx='.9'/%3E%3C/svg%3E")}
.duo-sim .duo-step button:hover:not(:disabled){background:var(--brand);color:#fff}
.duo-sim .duo-step button:disabled{opacity:.35;cursor:default;box-shadow:none}
.duo-step output{width:calc(2ch + 32px);min-width:0;padding:0;box-sizing:border-box;font-variant-numeric:tabular-nums;text-align:center;font:800 16px/1 var(--font-body);color:var(--ink)}
.duo-sim .duo-rem-more{font-size:12.5px;color:var(--muted);margin:8px 0 0}
.duo-plan .duo-addon{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 12px;display:flex;flex-direction:column;gap:6px}
.duo-plan .duo-addon legend{font-weight:700;font-size:13px;padding:0 6px}
.duo-plan .duo-addon label{display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--duo-ink-2);cursor:pointer}
.duo-plan .duo-addon input{accent-color:var(--brand)}
.duo-plan .duo-total{margin:0 0 16px;padding:10px 14px;background:var(--duo-bg-alt);border:1px solid var(--line);border-radius:10px;font-size:13.5px;color:var(--duo-ink-2)}
.duo-plan .duo-total strong{font-size:17px;color:var(--ink)}
.duo-plan .duo-btn{display:block;width:100%;text-align:center;padding:13px 24px;border-radius:10px;font-weight:700;font-size:15px;text-decoration:none;border:1px solid transparent;transition:opacity .15s,background .15s;line-height:1.4;margin-top:auto}
.duo-plan .duo-btn-outline,.duo-plan .duo-btn-outline:visited{border-color:var(--line);color:var(--ink);background:#fff}
.duo-plan .duo-btn-outline:hover{background:var(--duo-bg-alt);color:var(--ink)}
.duo-plan .duo-btn-red,.duo-plan .duo-btn-red:visited{background:var(--brand);color:#fff}
.duo-plan .duo-btn-red:hover{opacity:.9;color:#fff}
.duo-sim .duo-sim-note{font-size:13px;color:var(--muted);margin:28px 0 0}
@media (max-width:880px){.duo-sim-grid{grid-template-columns:1fr;gap:28px}.duo-sim .duo-plan-for{min-height:0}}
@media (max-width:600px){.duo-sim{padding:24px 18px 22px}.duo-sim-top{flex-direction:column;align-items:flex-start;gap:16px}.duo-sim-input input{font-size:30px}.duo-ticks{font-size:10.5px}.duo-ticks span:nth-child(even){visibility:hidden}.duo-plan{padding:24px 20px 20px}.duo-price{font-size:32px}}

/* calculadora de poupança (sobre fundo escuro) */
.duo-calc{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);background:rgba(255,255,255,.06)}
.duo-calc label{font-weight:600;color:#fff}
.duo-calc-row{display:flex;gap:16px;align-items:center}
.duo-calc-row input{flex:1;accent-color:var(--brand-on-dark)}
.duo-calc-row output{min-width:4ch;text-align:right;font:500 28px/1 var(--font-display);color:#fff}
.duo-calc p{margin:0}
.duo-calc-out strong,.duo-calc-save strong{color:#fff}
.duo-calc-save{font-size:var(--lead);color:#fff}
.duo-calc-save strong{color:var(--brand-on-dark)}
.duo-calc-note{font-size:var(--xs);opacity:.8}

/* marcação de demo */
.duo-book iframe{width:100%;min-height:680px;border:0;border-radius:var(--radius-sm);background:#fff}
.duo-book-fallback{margin:16px 0 0;text-align:center;font-size:var(--small);color:var(--muted)}
.duo-book-fallback .s-btn{margin-top:8px}

/* contactos */
.duo-contacts.s-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px}
.duo-contacts strong{display:block;margin-bottom:2px}
@media (max-width:479px){.duo-contacts{grid-template-columns:1fr}}

/* cartão de plano com badge */
.s-plan .s-badge{left:24px}

/* formulário: campo honeypot escondido */
.s-form .form-group:has(input[name="website"]){position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* textos legais */
.s-legal table{width:100%;border-collapse:collapse;font-size:var(--small);margin:16px 0}
.s-legal th,.s-legal td{text-align:left;padding:10px 12px;border:1px solid var(--line);vertical-align:top}
.s-legal th{background:var(--surface)}
.s-legal h2{margin-top:1.6em}
.s-legal h3{margin-top:1.2em}

/* hero de marca DUO: gradiente com o mockup a sair pela base (como no duo.pt original) */
.duo-hero{overflow:visible}
.duo-hero .s-split{align-items:center}
.duo-hero .brxe-image{width:100%;height:auto;filter:drop-shadow(0 24px 48px rgba(0,0,0,.35))}
.duo-hero .s-btn-light{color:var(--brand)}
/* heros: menos espaço vertical. Texto só: 56-96px; com mockup: 56-104px em cima e o mockup a sair pela base (a secção seguinte abre espaço). As regras levam .s-hero-grad para ganharem às classes globais do Bricks. */
.brxe-section.s-hero-grad:not(.duo-hero){padding-top:clamp(56px,2rem + 3vw,96px);padding-bottom:clamp(56px,2rem + 3vw,96px)}
.brxe-section.s-hero-grad.duo-hero{padding-top:clamp(56px,2rem + 4vw,104px);padding-bottom:clamp(56px,2rem + 4vw,104px)}
@media (min-width:1024px){.brxe-section.s-hero-grad.duo-hero-overlap{padding-bottom:clamp(32px,1rem + 2vw,56px)}.s-hero-grad.duo-hero-overlap .brxe-image{margin-bottom:calc(-64px - clamp(32px,1rem + 2vw,56px));align-self:end}.s-hero-grad.duo-hero-overlap + section.brxe-section{padding-top:calc(clamp(56px,2rem + 4vw,96px) + 64px)}.s-hero-grad.duo-hero-overlap + section.s-strip.brxe-section{padding-top:120px}}
@media (max-width:1023px){.duo-hero .brxe-image{max-width:560px;margin:0 auto}}
.s-dark .s-glass.s-card{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.06)}
.s-dark .s-glass.s-card:hover{border-color:#fff;color:var(--on-dark-muted)}
.s-dark .s-glass .s-more{color:#fff}
.s-dark .s-glass .s-ico{filter:brightness(0) invert(1)}
.duo-hero .brxe-image img{border-radius:var(--radius-lg)}

/* barra rolante de logótipos (home): legenda em duas linhas à esquerda, barra à direita */
.duo-strip{align-items:center;column-gap:56px;grid-template-columns:auto minmax(0,1fr)}
.duo-strip-label.s-stack{row-gap:2px;min-width:220px}
.duo-strip-label .duo-strip-title{font:500 20px/1.25 var(--font-display);color:var(--ink);margin:0}
.duo-strip-label p{margin:0}
.duo-marquee{--speed:60s;width:100%;min-width:0}
.duo-marquee:hover > *,.duo-marquee:focus-within > *{animation-play-state:paused}
.duo-logos-track{gap:40px;padding-right:40px;align-items:center}
.duo-marquee .duo-logos-track .s-logo.brxe-image{height:56px;width:160px;object-fit:contain;object-position:center;filter:grayscale(1);opacity:1}
@media (max-width:767px){.duo-strip{grid-template-columns:1fr;row-gap:16px}.duo-strip-label{min-width:0;text-align:center;align-items:center}.duo-marquee{--speed:45s}.duo-logos-track{gap:40px;padding-right:40px}.duo-marquee .duo-logos-track .s-logo.brxe-image{height:44px;width:120px}}
.duo-marquee .duo-logos-track .s-logo.brxe-image{transition:filter .2s,opacity .2s}
.duo-marquee .duo-logos-track .s-logo.brxe-image:hover{filter:none;opacity:1}
.duo-hero .s-checks li{white-space:nowrap}
@media (max-width:479px){.duo-hero .s-checks li{white-space:normal}}
.duo-after-hero.s-strip{border-bottom:0}

/* página Para quem: rótulos e sintomas */
.duo-k{font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin:8px 0 -6px}
.duo-dores li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E")}
.duo-dores.s-checks li{font-weight:400;color:var(--muted)}

/* tabelas de texto (carta registada vs DUO Registado; preços para advogados): células alinhadas à esquerda */
.s-table .duo-carta td,.s-table .duo-carta thead th:not(:first-child){text-align:left}
.s-table .duo-carta th[scope=row]{white-space:nowrap;width:1%}
.s-table .duo-carta td:last-child{font-weight:600;color:var(--ink)}
.s-table .duo-adv td{white-space:nowrap}
@media (max-width:767px){
.s-table .duo-carta:not(.duo-adv){display:block;min-width:0;width:100%}
.s-table .duo-carta:not(.duo-adv) tbody{display:block}
.s-table .duo-carta:not(.duo-adv) thead{display:none}
.s-table .duo-carta:not(.duo-adv) tr,.s-table .duo-carta:not(.duo-adv) th,.s-table .duo-carta:not(.duo-adv) td{display:block;width:auto;white-space:normal;border:0;padding:0}
.s-table .duo-carta:not(.duo-adv) tr{padding:14px 0;border-bottom:1px solid var(--line)}
.s-table .duo-carta:not(.duo-adv) th[scope=row]{font-size:var(--lead);margin-bottom:4px}
.s-table .duo-carta:not(.duo-adv) td{margin-top:8px}
.s-table .duo-carta:not(.duo-adv) td::before{content:attr(data-label);display:block;font-size:var(--xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:2px}
.s-table .duo-carta:not(.duo-adv) td:last-child::before{color:var(--brand)}
}

/* home: lista de desafios com barra vermelha e números "na prática" (sem cartões) */
.duo-desafios{display:flex;flex-direction:column;gap:28px}
.duo-desafio.s-stack{row-gap:6px}
.duo-desafio h3{margin:0;font-size:20px}
.duo-desafio p{margin:0}
.duo-desafio a{font-weight:600;color:var(--brand);text-decoration:none}
.duo-desafio a:hover{text-decoration:underline}
.duo-num.s-stack{row-gap:6px;padding-top:16px;border-top:2px solid var(--brand)}
.duo-num h3{margin:0;font-size:17px}
.duo-num .s-num{margin:0;font-size:40px}
@media (max-width:767px){.duo-num .s-num{font-size:32px}}
.s-head-c .s-checks{justify-content:center}
.duo-tq.s-tq{font-size:24px;line-height:1.4;font-weight:500}
@media (max-width:767px){.duo-tq.s-tq{font-size:20px}}
.duo-who.s-who{display:block}.duo-who span{display:block;color:var(--muted);font-weight:400;font-size:var(--small)}

/* títulos equilibrados em duas linhas e sem palavra órfã nos leads */
h1,h2,h3{text-wrap:balance}
.s-lead,.s-head-c p{text-wrap:pretty}

/* imagens das secções em duas colunas: alinhadas ao topo e fixas enquanto a coluna de texto passa (só em desktop) */
@media (min-width:1024px){.s-split > .s-img-r{position:sticky;top:96px;align-self:start}}

/* preços: os dois argumentos por baixo do simulador, no formato dos números da home (sem cartões), alinhados com o painel */
.duo-args{display:grid;grid-template-columns:1fr 1fr;gap:20px 56px;max-width:1140px;margin:16px auto 0;width:100%;padding:0 34px}
@media (max-width:767px){.duo-args{grid-template-columns:1fr;padding:0;gap:32px}}
.duo-args .duo-num.s-stack{border-top:0;padding-top:0}

/* texto secundário mais escuro em todo o site: #6B6B6B (5,3:1) -> #4F4F4F (8,2:1 sobre branco) */
:root{--muted:#4F4F4F}

/* cartões de pacote (DUO Registado e DUO Livre): nome a tinta, preço como protagonista, preço unitário logo abaixo */
.brxe-section .s-card.s-pack{gap:0}
.brxe-section .s-pack .s-eyebrow{color:var(--ink,#212121);margin:0 0 12px}
.brxe-section .s-pack .s-stat{font-family:var(--font-body);font-weight:800;font-size:clamp(36px,26px + 1.4vw,46px);line-height:1;letter-spacing:-.03em;margin:0}
.brxe-section .s-pack .s-pack-unit{color:var(--muted);font-size:17px;line-height:1.4;margin:6px 0 0}
.brxe-section .s-pack .s-muted,.brxe-section .s-pack > p:not([class*="s-"]){color:var(--ink,#212121);margin:20px 0 0}
.brxe-section .s-pack .s-actions,.brxe-section .s-pack > .brxe-div:last-child{margin-top:auto;padding-top:24px}

/* pedido de adesão: coluna de texto alinhada ao topo e fixa; formulário em grelha coerente */
.s-split-12.brxe-div:has(.duo-order){align-items:start}
@media (min-width:1024px){.s-split-12.brxe-div:has(.duo-order) > .s-stack{position:sticky;top:120px}}
.s-split-12 .s-muted a[target="_blank"]{white-space:nowrap}
.duo-order .s-form.s-form{row-gap:20px}
.duo-order .s-form .form-group{grid-column:auto}
.duo-order .s-form .form-group:has([name="empresa"]),.duo-order .s-form .form-group:has([name="nome"]),.duo-order .s-form .form-group:has([name="mensagem"]),.duo-order .s-form .form-group.duo-full,.duo-order .s-form .submit-button-wrapper{grid-column:1 / -1}
.duo-order .s-form .form-group:is(:has([name="nif"]),:has([name="dominio"])){margin-top:12px}
.duo-order .s-form .form-group.duo-hide{display:none}
@media (max-width:600px){.duo-order .s-form .form-group{grid-column:1 / -1}}

/* cartões dos níveis: nome, preço logo abaixo (alinhado nos três), descrição, link no fundo */
.brxe-section .s-card.duo-lvl{gap:0}
.brxe-section .duo-lvl h3{margin:0}
.brxe-section .duo-lvl .s-stat{font-family:var(--font-body);font-weight:800;font-size:30px;line-height:1.1;letter-spacing:-.02em;margin:10px 0 18px}
.brxe-section .duo-lvl .duo-from{font-size:16px;font-weight:400;letter-spacing:0;color:var(--muted);margin-right:2px}
.brxe-section .duo-lvl .duo-per{font-size:18px;font-weight:600;letter-spacing:0}
.brxe-section .duo-lvl .s-more{margin-top:auto;padding-top:24px}
.brxe-section .duo-lvl .s-pack-unit{color:var(--muted);font-size:16px;line-height:1.4;margin:-12px 0 18px}

/* grelhas de cartões com a mesma estrutura (classe gerada no d_grid): título, preço, texto e link alinhados entre cartões */
.duo-sub > .s-card{display:grid;grid-template-rows:subgrid;align-content:start;justify-items:start}
.duo-sub > .s-card > *{max-width:100%}
.duo-sub > .s-card > :is(p,ul,.s-checks,.s-muted){justify-self:stretch}
.duo-rows-2 > .s-card{grid-row:span 2}.duo-rows-3 > .s-card{grid-row:span 3}.duo-rows-4 > .s-card{grid-row:span 4}.duo-rows-5 > .s-card{grid-row:span 5}.duo-rows-6 > .s-card{grid-row:span 6}
.duo-sub > .s-card > .s-more,.duo-sub > .s-card > .s-actions{align-self:end}
.brxe-section .duo-lvl .s-checks + .s-muted{margin-top:20px}

/* testemunhos por setor: separadores em pílula + 3 cartões (formato do duo.pt) */
.duo-tm{display:flex;flex-direction:column;align-items:center;gap:32px;margin-top:8px}
.duo-tm-tabs{display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:var(--soft,#F5F5F3);border:1px solid var(--line);max-width:100%;overflow-x:auto;scrollbar-width:none}
.duo-tm-tabs::-webkit-scrollbar{display:none}
.duo-tm-tabs button{flex:0 0 auto;border:0;background:transparent;color:var(--ink);font:600 13px/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;padding:12px 18px;border-radius:999px;cursor:pointer;transition:background-color .15s,color .15s}
.duo-tm-tabs button:hover{background:rgba(0,0,0,.05)}
.duo-tm-tabs button[aria-selected="true"]{background:var(--brand);color:#fff}
.duo-tm-tabs button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.duo-tm-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%}
.duo-tm-panel[hidden]{display:none}
.duo-tm-card{position:relative;margin:0;display:flex;flex-direction:column;gap:16px;padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff}
.duo-tm-card::after{content:"";position:absolute;top:28px;right:28px;width:24px;height:20px;background:var(--brand);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M0 20V12C0 5.4 3.6 1.4 9.6 0l1.2 2.6C7.4 3.8 5.8 6 5.6 9H10v11H0zm13.4 0V12c0-6.6 3.6-10.6 9.6-12l1 2.6C20.6 3.8 19 6 18.8 9H24v11H13.4z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M0 20V12C0 5.4 3.6 1.4 9.6 0l1.2 2.6C7.4 3.8 5.8 6 5.6 9H10v11H0zm13.4 0V12c0-6.6 3.6-10.6 9.6-12l1 2.6C20.6 3.8 19 6 18.8 9H24v11H13.4z'/%3E%3C/svg%3E") center/contain no-repeat}
.duo-tm-card figcaption{display:flex;flex-direction:column;gap:2px;padding-right:40px}
.duo-tm-card figcaption strong{font-size:17px;font-weight:700;color:var(--ink)}
.duo-tm-card figcaption span{font-size:14px;line-height:1.4;color:var(--muted)}
.duo-tm-card blockquote{margin:0;padding:0;border:0}
.duo-tm-card blockquote p{margin:0;font-size:16px;line-height:1.65;color:var(--ink);font-style:normal}
@media (max-width:1023px){.duo-tm-panel{grid-template-columns:1fr;max-width:640px}.duo-tm-tabs{align-self:stretch;justify-content:flex-start}}
.duo-tm,.duo-tm-card{text-align:left}
.duo-tm-card{display:grid;grid-template-rows:subgrid;grid-row:span 2;align-content:start}
.duo-tm-card figcaption{align-items:flex-start;align-self:start}
.duo-tm-card blockquote,.duo-tm-card blockquote p{font-family:var(--font-body);quotes:none}
.duo-tm-card blockquote::before,.duo-tm-card blockquote::after{content:none;display:none}
.duo-tm-card figcaption,.duo-tm-card figcaption *{text-align:left}
@media (max-width:1023px){.duo-tm-card{display:flex;grid-row:auto}}
.duo-tm-card figcaption{margin:0}

/* listas de verificação em coluna: itens curtos mais juntos; itens com título a negrito mantêm mais ar */
.brxe-section .s-checks-col{row-gap:10px}
.brxe-section .s-checks-col.brxe-text-basic{line-height:1.5}
.brxe-section .s-checks-col:has(li strong){row-gap:16px}
/* Firefox: lista em coluna como grelha (sem flex-wrap em coluna), linhas sempre encostadas ao topo */
.brxe-section .s-checks-col{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start;justify-content:stretch;flex-wrap:nowrap}

/* lista de características com ícone em quadrado suave (segurança na home) */
.duo-feats{display:grid;gap:28px}
.duo-feat{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:20px;align-items:start}
.duo-feat > .s-ico{width:56px;height:56px;padding:14px;border-radius:12px;background:rgba(233,26,36,.09);box-sizing:border-box}
.duo-feat .s-stack{gap:4px}
.duo-feat h3{font-size:clamp(19px,17px + .3vw,22px);margin:0}
.duo-feat .s-muted{margin:0}
.duo-feats + .s-actions{margin-top:8px}
.brxe-section.s-strip.duo-strip-solo{padding-top:56px;padding-bottom:56px}

/* rodapé: a classe global s-fcols vem do sooma.com (1 + 6 colunas); o DUO tem 1 + 4 */
@media (min-width:1040px){#brx-footer .s-fcols.brxe-div{grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));column-gap:40px}}

/* pedido de adesão: pagamento em duas opções sempre visíveis, a toda a largura */
.duo-order .s-form .form-group:has(input[name^="ciclo"]){grid-column:1 / -1}
.duo-order .s-form .form-group:has(input[name^="ciclo"]) > :is(label,.label){position:static;width:auto;height:auto;overflow:visible;clip:auto}
.duo-order .s-form .form-group:has(input[name^="ciclo"]) .options-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.duo-order .s-form .form-group:has(input[name^="ciclo"]) .options-wrapper li{position:relative;margin:0;display:block}
.duo-order .s-form .form-group:has(input[name^="ciclo"]) .options-wrapper input{position:absolute;left:16px;top:50%;margin:-9px 0 0;width:18px;height:18px}
.duo-order .s-form .form-group:has(input[name^="ciclo"]) .options-wrapper label{display:flex;align-items:center;min-height:48px;padding:10px 14px 10px 44px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;font-size:16px;color:var(--ink);cursor:pointer}
.duo-order .s-form .form-group:has(input[name^="ciclo"]) .options-wrapper li:has(input:checked) label{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
@media (max-width:600px){.duo-order .s-form .form-group:has(input[name^="ciclo"]) .options-wrapper{grid-template-columns:1fr}}
.duo-order .s-form .form-group:has(input[name^="ciclo"]) .options-wrapper input[type="radio"]{min-height:0;height:18px;padding:0;border:0;accent-color:var(--brand)}
