/* Matendes 26/10/2026 — estilos da janela «entrar ao comprar» (antes dentro da página). */
    .mtd-ec-ou { display: flex; align-items: center; gap: 12px; margin: 16px 0 12px; font-size: 12px; color: #8a8a94; }
    .mtd-ec-ou::before, .mtd-ec-ou::after { content: ""; flex: 1; height: 1px; background: #e6e6ec; }
    .mtd-ec-google { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 48px; border: 1px solid #d6d6de; border-radius: 10px;
                     background: #fff; color: #17161c; font-size: 14px; font-weight: 600; text-decoration: none; }
    .mtd-ec-google:hover { border-color: #17161c; color: #17161c; text-decoration: none; }
    .mtd-ec-google svg { width: 18px; height: 18px; }
    .mtd-ec-google i { font-size: 18px; }
    /* 19/10/2026 — as mesmas cores das páginas de entrada (auth/inc/sociais). */
    .mtd-ec-google[data-provider="facebook"] i { color: #1877F2; }
    .mtd-ec-google[data-provider="apple"] i { color: #000; }
    .mtd-ec-sociais { display: flex; gap: 8px; }
    .mtd-ec-sociais .mtd-ec-google { flex: 1 1 0; min-width: 0; }
    /* 14/10/2026 — o código escreve-se numa só caixa (as seis casas pareciam mais campos do que dígitos). */
    .mtd-ec-codigo { display: block; width: 100%; height: 56px; padding: 0 14px; border: 1px solid #d9d9e1; border-radius: 10px; background: #fff;
                     text-align: center; font-size: 24px; font-weight: 600; letter-spacing: .5em; text-indent: .5em; color: var(--ec-tinta);
                     font-variant-numeric: tabular-nums; caret-color: var(--ec-red); }
    .mtd-ec-codigo::placeholder { color: #9a9aa5; letter-spacing: .5em; }
    .mtd-ec-codigo[disabled] { background: #f1f1f4; color: #8a8a94; cursor: not-allowed; }
    .mtd-ec-codigo:focus { outline: 0; border-color: var(--ec-tinta); box-shadow: 0 0 0 3px rgba(23,22,28,.08); }
    .mtd-ec-casas.erro .mtd-ec-codigo { border-color: #c9302c; }
    .mtd-ec-casas.certo .mtd-ec-codigo { border-color: #12a26a; background: #f0faf5; color: #0f6b46; }
    .mtd-ec-dica { margin: 14px 0 0; text-align: center; font-size: 13px; line-height: 1.5; color: #6a6a73; }
    .mtd-ec-conflito { margin-top: 4px; text-align: center; }
    .mtd-ec-conflito p { margin: 0 0 14px; font-size: 14px; line-height: 1.5; color: #17161c; }
    .mtd-ec { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 16px;
              --ec-tinta: #17161c; --ec-cinza: #6a6a73; --ec-linha: #e6e6ec; --ec-fundo: #f7f7f9; --ec-red: var(--primary, #e3262b); }
    .mtd-ec[hidden] { display: none; }
    .mtd-ec-veu { position: absolute; inset: 0; background: rgba(17,16,22,.55); animation: mtd-ec-in .18s ease-out; }
    .mtd-ec-caixa { position: relative; width: 100%; max-width: 420px; background: #fff; border-radius: 16px; padding: 28px 28px 22px;
                    box-shadow: 0 24px 64px rgba(17,16,22,.28); animation: mtd-ec-sobe .22s ease-out; font-family: inherit; }
    .mtd-ec-fechar { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border: 0; border-radius: 50%;
                     background: transparent; color: var(--ec-cinza); font-size: 20px; display: inline-flex; align-items: center;
                     justify-content: center; cursor: pointer; }
    .mtd-ec-fechar:hover { background: var(--ec-fundo); color: var(--ec-tinta); }
    .mtd-ec-icone { width: 48px; height: 48px; margin: 0 auto 14px; border-radius: 14px; background: #fef2f2; color: var(--ec-red);
                    display: flex; align-items: center; justify-content: center; font-size: 24px; }
    .mtd-ec h2 { margin: 0 0 6px; text-align: center; font-size: 21px; font-weight: 700; letter-spacing: -.015em; color: var(--ec-tinta); }
    #mtd-ec-p1 > h2 + form { margin-top: 20px; } /* 24/10/2026: sem frase de apoio, o título respira antes do campo */
    /* 24/10/2026 — pedido do dono: menos comprimido. Mais margem dentro da janela e entre os blocos. */
    .mtd-ec .mtd-ec-caixa { padding: 34px 30px 28px; }
    .mtd-ec .mtd-ec-apoio { margin-bottom: 24px; line-height: 1.6; }
    .mtd-ec .mtd-ec-legal { margin-top: 20px; }
    .mtd-ec .mtd-ec-seguro { margin-top: 16px; font-size: 13px; }
    .mtd-ec .mtd-ec-dica { margin-top: 18px; }
    .mtd-ec .mtd-ec-ou { margin: 22px 0 16px; }
    .mtd-ec #mtd-ec-criar .mtd-ec-botao { margin-top: 4px; }
    @media (max-width: 575.98px) { .mtd-ec .mtd-ec-caixa { padding: 30px 22px 24px; } }
    .mtd-ec-apoio { margin: 0 auto 22px; max-width: 32ch; text-align: center; font-size: 14px; line-height: 1.5; color: var(--ec-cinza); }
    .mtd-ec-apoio strong { color: var(--ec-tinta); font-weight: 600; white-space: nowrap; }
    .mtd-ec-rotulo { display: block; margin: 0 0 7px; font-size: 13px; font-weight: 600; color: var(--ec-tinta); }
    .mtd-ec-tel { display: flex; align-items: stretch; height: 50px; border: 1px solid #d9d9e1; border-radius: 10px; background: #fff;
                  transition: border-color .15s, box-shadow .15s; }
    .mtd-ec-tel:focus-within { border-color: var(--ec-tinta); box-shadow: 0 0 0 3px rgba(23,22,28,.08); }
    .mtd-ec-tel.erro { border-color: #c9302c; }
    .mtd-ec-ind { display: inline-flex; align-items: center; gap: 8px; padding: 0 12px 0 14px; margin: 9px 0; border-right: 1px solid var(--ec-linha);
                  font-size: 15px; color: var(--ec-cinza); }
    .mtd-ec-band { width: 20px; height: 14px; border-radius: 2px; background: linear-gradient(#cc092f 50%, #000 50%); box-shadow: 0 0 0 1px rgba(0,0,0,.06); }
    .mtd-ec-tel input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; padding: 0 14px 0 12px; font-size: 16px;
                        letter-spacing: .02em; color: var(--ec-tinta); }
    /* Indicativo com bandeira: o mesmo componente do CMS (intl-tel-input, como no login da produção). */
    .mtd-ec-tel .iti { display: flex; flex: 1; width: 100%; }
    .mtd-ec-tel .iti input { height: 100%; width: 100%; box-sizing: border-box; }
    .mtd-ec-tel .iti__selected-flag { border-radius: 10px 0 0 10px; }
    .mtd-ec-erro { display: block; min-height: 18px; margin: 7px 0 0; font-size: 13px; color: #c9302c; }
    .mtd-ec-botao { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 50px; margin-top: 8px;
                    border: 0; border-radius: 10px; background: var(--ec-red); color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; }
    .mtd-ec-botao[disabled] { opacity: .75; cursor: progress; }
    .mtd-ec-legal { margin: 16px 0 0; text-align: center; font-size: 12.5px; line-height: 1.55; color: #6a6a73; }
    .mtd-ec-legal a { color: var(--ec-tinta); text-decoration: underline; text-decoration-color: #cfcfd8; text-underline-offset: 2px; }
    .mtd-ec-ligacao { background: none; border: 0; padding: 0; font: inherit; font-size: 13px; font-weight: 600; color: var(--ec-tinta);
                      text-decoration: underline; text-decoration-color: #cfcfd8; text-underline-offset: 3px; cursor: pointer; }
    .mtd-ec-ligacao:hover { color: var(--ec-red); }
    .mtd-ec-casas { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 4px 0 0; }
    .mtd-ec-casa { width: 48px; height: 56px; padding: 0; border: 1px solid #d9d9e1; border-radius: 10px; text-align: center; font-size: 22px;
                   font-weight: 600; color: var(--ec-tinta); background: #fff; font-variant-numeric: tabular-nums; caret-color: var(--ec-red); }
    .mtd-ec-casa:focus { outline: 0; border-color: var(--ec-tinta); box-shadow: 0 0 0 3px rgba(23,22,28,.08); }
    .mtd-ec-casa.cheia { border-color: #b9b9c4; background: #fcfcfd; }
    .mtd-ec-casas.erro .mtd-ec-casa { border-color: #c9302c; }
    .mtd-ec-casas.certo .mtd-ec-casa { border-color: #12a26a; background: #f0faf5; color: #0f6b46; }
    .mtd-ec-traco { width: 10px; height: 2px; background: #d9d9e1; border-radius: 1px; }
    .mtd-ec-rodape { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; margin-top: 10px; font-size: 13px; color: var(--ec-cinza);
                     font-variant-numeric: tabular-nums; min-height: 20px; text-align: center; }
    /* 23/10/2026 — uma coisa por linha, sempre ao centro, em qualquer largura (estava lado a lado e desalinhado) */
    .mtd-ec-rodape > * { max-width: 100%; text-align: center; line-height: 1.45; }
    .mtd-ec-rodape > [hidden], .mtd-ec-rodape > :empty { display: none !important; }
    .mtd-ec-erro.centro { text-align: center; }
    /* 24/10/2026 — a pergunta «criamos a sua conta?» fica sozinha no passo do código */
    #mtd-ec-p2.mtd-ec-a-criar > :not(#mtd-ec-criar) { display: none !important; }
    #mtd-ec-criar { text-align: center; }
    .mtd-ec-seguro { margin: 10px 0 0; text-align: center; font-size: 12.5px; line-height: 1.5; color: #6a6a73; }
    .mtd-ec-seguro i { margin-right: 4px; vertical-align: -2px; font-size: 14px; }
    .mtd-ec-verif { display: block; min-height: 0; text-align: center; font-size: 13px; color: #55555f; }
    .mtd-ec-verif:not(:empty) { margin-top: 6px; }
    /* v10.273 — o percurso todo numa só janela */
    .mtd-ec-topo { margin: 0 34px 18px 0; }
    .mtd-ec-barra { height: 3px; border-radius: 2px; background: #efeff3; overflow: hidden; }
    .mtd-ec-barra span { display: block; height: 100%; width: 0; background: var(--ec-red); border-radius: 2px; transition: width .3s ease; }
    .mtd-ec-conta { margin-top: 7px; font-size: 12px; color: var(--ec-cinza); font-variant-numeric: tabular-nums; }
    .mtd-ec-campo { width: 100%; height: 50px; padding: 0 14px; border: 1px solid #d9d9e1; border-radius: 10px; font-size: 16px; color: var(--ec-tinta); background: #fff; }
    .mtd-ec-campo:focus { outline: 0; border-color: var(--ec-tinta); box-shadow: 0 0 0 3px rgba(23,22,28,.08); }
    .mtd-ec-nota { display: block; margin-top: 7px; font-size: 12.5px; color: var(--ec-cinza); }
    .mtd-ec-accoes { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
    .mtd-ec-accoes .mtd-ec-botao { margin-top: 0; flex: 1; }
    .mtd-ec-voltar { flex: 0 0 auto; height: 50px; padding: 0 14px; border: 1px solid var(--ec-linha); border-radius: 10px; background: #fff;
                     color: var(--ec-tinta); font-size: 14px; font-weight: 600; cursor: pointer; }
    .mtd-ec-voltar:hover { border-color: #c9c9d3; }
    /* Os campos da morada vêm do parcial de sempre: aqui os rótulos ficam por cima. */
    #mtd-ec-morada .row { margin: 0; }
    #mtd-ec-morada .row > .col-md-2, #mtd-ec-morada .row > .col-md-10 { flex: 0 0 100%; max-width: 100%; padding: 0; }
    #mtd-ec-morada label { display: block; margin: 0 0 7px; font-size: 13px; font-weight: 600; color: var(--ec-tinta); }
    #mtd-ec-morada .form-control { height: 50px; border-radius: 10px !important; border-color: #d9d9e1; font-size: 16px; }
    #mtd-ec-morada .form-control:focus { border-color: var(--ec-tinta); box-shadow: 0 0 0 3px rgba(23,22,28,.08); }
    .mtd-ec-carregar { padding: 30px 0; text-align: center; color: var(--ec-cinza); font-size: 14px; }
    .mtd-ec-pronto .mtd-ec-icone { background: #ecfdf5; color: #0f9f68; }
    @keyframes mtd-ec-in { from { opacity: 0; } }
    @keyframes mtd-ec-sobe { from { opacity: 0; transform: translateY(12px); } }
    /* 19/10/2026 — no telemóvel deixa de ser uma folha colada ao fundo, a toda a largura
       (o dono não gostou): é o mesmo cartão do computador, centrado, com margem dos lados.
       Com o teclado aberto o cartão cabe no ecrã visível e rola por dentro. */
    @media (max-width: 575.98px) {
        .mtd-ec { align-items: center; padding: 16px; }
        .mtd-ec-caixa { max-width: 420px; border-radius: 16px; padding: 24px 20px 20px;
                        max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; }
        .mtd-ec h2 { font-size: 19px; padding: 0 28px; }
        .mtd-ec-apoio { margin-bottom: 18px; }
        .mtd-ec-casa { width: 44px; height: 52px; }
    }
    @media (prefers-reduced-motion: reduce) { .mtd-ec-veu, .mtd-ec-caixa { animation: none; } }
