/* ============================================================
   MHDCommerce — Área de conta (Pedidos, Informações, Endereços)
   Arquivo: wwwroot/css/conta.css
   Carregar DEPOIS de site.css. Usado nas telas de conta,
   dentro do _Layout principal.
   ============================================================ */

/* cores de status — não vêm do site.css, são específicas da área de conta */
:root {
    --blue: #2f6fed;
    --blue-light: #eaf1fe;
    --amber: #c77700;
    --amber-light: #fff4e0;
    --purple: #7a3df5;
    --purple-light: #f1eafe;
    --red: #e53b3b;
    --red-light: #fdecec;
}

.wrap{ max-width:920px; margin:0 auto; padding:28px 32px 70px; }
.voltar{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--brand); text-decoration:none; margin-bottom:14px; background:none; border:none; cursor:pointer; padding:0; }
.voltar:hover{ text-decoration:underline; }
.h1{ font-family:'Sora',sans-serif; font-size:26px; font-weight:700; margin-bottom:4px; }
.sub{ font-size:14px; color:var(--muted); margin-bottom:22px; }
/* ══ FILTRO DE STATUS ══ */
.filtros{ display:flex; gap:8px; margin-bottom:18px; overflow-x:auto; padding-bottom:4px; }
.filtro{ flex-shrink:0; border:1.5px solid var(--border); background:var(--white); border-radius:99px; padding:7px 15px; font-family:'DM Sans',sans-serif; font-size:12.5px; font-weight:600; color:var(--text-2); cursor:pointer; }
.filtro:hover{ border-color:var(--brand); }
.filtro.on{ border-color:var(--brand); background:var(--brand); color:#fff; }
/* ══ CARD DE PEDIDO ══ */
.pedidos{ display:flex; flex-direction:column; gap:12px; }
.ped{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); padding:18px 20px; cursor:pointer; transition:border-color .15s, box-shadow .15s; display:flex; align-items:center; gap:18px; text-align:left; width:100%; font-family:'DM Sans',sans-serif; }
.ped:hover{ border-color:var(--brand); box-shadow:0 4px 16px rgba(31,122,74,.08); }
.ped-main{ flex:1; min-width:0; }
.ped-topo{ display:flex; align-items:center; gap:10px; margin-bottom:5px; flex-wrap:wrap; }
.ped-num{ font-family:'Sora',sans-serif; font-size:15px; font-weight:700; }
.ped-data{ font-size:12.5px; color:var(--muted); }
.ped-resumo{ font-size:13px; color:var(--text-2); }
.ped-resumo .sep{ color:var(--border); margin:0 6px; }
.ped-right{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; flex-shrink:0; }
.ped-total{ font-family:'Sora',sans-serif; font-size:17px; font-weight:700; white-space:nowrap; }
.ped-ver{ font-size:12.5px; font-weight:600; color:var(--brand); display:flex; align-items:center; gap:4px; }

/* o card é um <a>, mas não deve parecer link */
.ped, .ped:hover, .ped:visited, .ped:focus {
    text-decoration: none;
    color: var(--text);
}

    .ped * {
        text-decoration: none;
    }

    .ped .ped-num {
        color: var(--text);
    }

    .ped .ped-total {
        color: var(--text);
    }

    .ped .ped-data, .ped .ped-resumo {
        color: var(--muted);
    }

    .ped .ped-ver {
        color: var(--brand);
    }

    .ped .st {
        text-decoration: none;
    }


/* status pill */
.st{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; padding:3px 10px; border-radius:99px; text-transform:uppercase; letter-spacing:.3px; white-space:nowrap; }
.st .dot{ width:6px; height:6px; border-radius:99px; background:currentColor; }
.st.pendente{ background:var(--amber-light); color:var(--amber); }
.st.separacao{ background:var(--blue-light); color:var(--blue); }
.st.transito{ background:var(--purple-light); color:var(--purple); }
.st.entregue{ background:var(--brand-light); color:var(--brand-dark); }
.st.cancelado{ background:var(--red-light); color:var(--red); }
/* paginação */
.pag{ display:flex; align-items:center; justify-content:center; gap:6px; margin-top:26px; }
.pag-btn {
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    border: 1.5px solid var(--border);
    background: var(--white);
    border-radius: var(--radius-sm);
    font-family: 'DM Sans',sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-2);
    cursor: pointer;
}
.pag-btn:hover:not(:disabled){ border-color:var(--brand); color:var(--brand); }
.pag-btn.on{ background:var(--brand); border-color:var(--brand); color:#fff; }
.pag-btn:disabled{ opacity:.4; cursor:not-allowed; }
.pag-info{ font-size:12.5px; color:var(--muted); margin:0 8px; }
/* vazio */
.vazio{ text-align:center; padding:70px 20px; }
.vazio-ico{ font-size:56px; margin-bottom:14px; }
.vazio-t{ font-family:'Sora',sans-serif; font-size:20px; font-weight:700; margin-bottom:6px; }
.vazio-s{ font-size:14px; color:var(--muted); margin-bottom:22px; }
.vazio-btn{ display:inline-flex; background:var(--brand); color:#fff; border:none; border-radius:var(--radius-md); padding:13px 26px; font-family:'DM Sans',sans-serif; font-size:15px; font-weight:700; cursor:pointer; text-decoration:none; }
/* ══ DETALHE ══ */
.det-topo{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); padding:22px; margin-bottom:14px; }
.det-topo-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
.det-num{ font-family:'Sora',sans-serif; font-size:22px; font-weight:700; }
.det-quando{ font-size:13px; color:var(--muted); margin-top:2px; }
.det-recomprar{ display:inline-flex; align-items:center; justify-content:center; gap:8px; height:44px; padding:0 22px; background:var(--brand); color:#fff; border:none; border-radius:var(--radius-md); font-family:'DM Sans',sans-serif; font-size:14px; font-weight:700; cursor:pointer; }
.det-recomprar:hover{ background:var(--brand-mid); }
.det-recomprar:disabled{ background:var(--muted); cursor:not-allowed; }
/* timeline horizontal de status */
.tl{ display:flex; align-items:flex-start; gap:0; margin-top:4px; }
.tl-step{ flex:1; text-align:center; position:relative; }
.tl-step::before{ content:''; position:absolute; top:11px; left:-50%; width:100%; height:2px; background:var(--border); z-index:0; }
.tl-step:first-child::before{ display:none; }
.tl-dot{ width:24px; height:24px; border-radius:99px; background:var(--white); border:2px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--muted); margin:0 auto 7px; position:relative; z-index:1; }
.tl-step.done .tl-dot{ background:var(--brand); border-color:var(--brand); color:#fff; }
.tl-step.done::before{ background:var(--brand); }
.tl-step.now .tl-dot{ border-color:var(--brand); color:var(--brand); box-shadow:0 0 0 3px var(--brand-light); }
.tl-lbl{ font-size:11px; font-weight:600; color:var(--muted); line-height:1.3; }
.tl-step.done .tl-lbl, .tl-step.now .tl-lbl{ color:var(--text-2); }
.tl-cancelado{ background:var(--red-light); border-radius:var(--radius-md); padding:14px 16px; display:flex; align-items:center; gap:10px; }
.tl-cancelado .ico{ font-size:18px; }
.tl-cancelado .txt{ font-size:13px; font-weight:600; color:var(--red); }
/* caixa de linha de apoio do status atual */
.apoio{ display:flex; align-items:center; gap:11px; background:var(--brand-xlight); border:1px solid var(--brand-light); border-radius:var(--radius-md); padding:13px 16px; margin-top:16px; }
.apoio-ico{ font-size:19px; flex-shrink:0; }
.apoio-txt{ font-size:13.5px; font-weight:600; color:var(--brand-dark); line-height:1.4; }
/* grid de infos do pedido */
.det-info{ display:grid; grid-template-columns:1fr 1fr; gap:16px; padding-top:18px; margin-top:18px; border-top:1px solid var(--border); }
.di .l{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; color:var(--muted); margin-bottom:3px; }
.di .v{ font-size:13.5px; font-weight:600; line-height:1.4; }
.di .v small{ display:block; font-weight:400; color:var(--muted); font-size:12.5px; margin-top:1px; }
/* aviso de preço */
.aviso-preco{ display:flex; gap:10px; align-items:flex-start; background:var(--accent-light); border:1px solid #f0d9a8; border-radius:var(--radius-md); padding:12px 15px; margin-bottom:14px; }
.aviso-preco .ico{ font-size:16px; flex-shrink:0; }
.aviso-preco .txt{ font-size:12.5px; color:#8a5600; line-height:1.45; }
.aviso-preco .txt b{ color:#6b4400; }
/* card de itens */
.itens-card{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); padding:22px; }
.itens-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.itens-title{ font-family:'Sora',sans-serif; font-size:16px; font-weight:700; }
.itens-qtd{ font-size:12.5px; color:var(--muted); }
.item{ display:flex; gap:14px; align-items:center; padding:13px 0; border-bottom:1px solid var(--border); }
.item:last-child{ border-bottom:none; }
.item-thumb{ width:56px; height:56px; border-radius:var(--radius-sm); background:var(--bg); border:1px solid var(--border); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:26px; overflow:hidden; }
.item-thumb img{ width:100%; height:100%; object-fit:contain; padding:4px; }
.item-info{ flex:1; min-width:0; }
.item-nome{ font-size:13.5px; font-weight:600; line-height:1.3; }
.item-pagou{ font-size:12px; color:var(--muted); margin-top:3px; }
.item-pagou b{ color:var(--text-2); font-weight:700; }
.item-pagou .data{ color:var(--muted); font-weight:400; }
.item-valores{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; flex-shrink:0; white-space:nowrap; }
.item-qtd{ font-size:12px; color:var(--muted); font-weight:600; }
.item-total{ font-family:'Sora',sans-serif; font-size:15px; font-weight:700; color:var(--text); }
.item.indisponivel .item-total{ color:var(--muted); }
.item-recomprar{ width:38px; height:38px; border-radius:var(--radius-sm); border:1.5px solid var(--border); background:var(--white); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; color:var(--brand); }
.item-recomprar:hover{ border-color:var(--brand); background:var(--brand-xlight); }
.item.indisponivel{ opacity:.62; }
.item.indisponivel .item-recomprar{ color:var(--muted); border-color:var(--border); cursor:not-allowed; background:var(--bg); }
.item-indispo-tag{ display:inline-block; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; color:var(--muted); background:var(--bg); border:1px solid var(--border); border-radius:99px; padding:1px 8px; margin-top:4px; }
/* totais do detalhe */
.det-totais{ margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
.dt-row{ display:flex; justify-content:space-between; font-size:13.5px; color:var(--text-2); padding:5px 0; }
.dt-row.economia{ color:var(--brand); font-weight:600; }
.dt-row.total{ font-family:'Sora',sans-serif; font-size:18px; font-weight:700; color:var(--text); padding-top:10px; margin-top:5px; border-top:1px solid var(--border); }
.dt-row.total .v{ color:var(--brand); }
/* ══ TOAST ══ */
.toast{ position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(20px); background:var(--text); color:#fff; border-radius:var(--radius-md); padding:13px 20px; font-size:13.5px; font-weight:600; box-shadow:0 10px 34px rgba(0,0,0,.3); z-index:2000; opacity:0; pointer-events:none; transition:opacity .25s, transform .25s; display:flex; align-items:center; gap:10px; max-width:90vw; }
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
.toast .ver{ color:#7bd6a3; font-weight:700; text-decoration:none; white-space:nowrap; }
/* ══ MODAL RECOMPRA ITEM (reaproveita add-carrinho) ══ */
.mv{ position:fixed; inset:0; background:rgba(20,30,25,.5); z-index:1000; opacity:0; pointer-events:none; transition:opacity .2s; display:flex; align-items:center; justify-content:center; padding:20px; }
.mv.open{ opacity:1; pointer-events:all; }
.mx{ background:var(--white); border-radius:var(--radius-xl); width:100%; max-width:400px; overflow:hidden; transform:translateY(12px) scale(.98); transition:transform .2s; }
.mv.open .mx{ transform:none; }
.mx-head{ padding:18px 22px; border-bottom:1px solid var(--border); display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.mx-title{ font-family:'Sora',sans-serif; font-size:15px; font-weight:700; line-height:1.3; }
.mx-close{ width:30px; height:30px; border:none; background:var(--bg); border-radius:99px; cursor:pointer; font-size:14px; color:var(--text-2); flex-shrink:0; }
.mx-body{ padding:20px 22px; text-align:center; }
.mx-img{ width:120px; height:120px; margin:0 auto 14px; display:flex; align-items:center; justify-content:center; font-size:64px; background:var(--bg); border-radius:var(--radius-md); }
.mx-preco-hoje{ font-family:'Sora',sans-serif; font-size:24px; font-weight:700; color:var(--brand); }
.mx-preco-lbl{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; color:var(--muted); margin-bottom:2px; }
.mx-mudou{ font-size:12px; color:var(--amber); font-weight:600; margin-top:6px; background:var(--amber-light); border-radius:99px; padding:3px 12px; display:inline-block; }
.mx-qtd{ display:flex; align-items:center; justify-content:center; gap:0; margin:18px auto 0; width:fit-content; border:1.5px solid var(--border); border-radius:var(--radius-md); overflow:hidden; }
.mx-qtd-btn{ width:44px; height:44px; border:none; background:var(--white); cursor:pointer; font-size:19px; color:var(--brand); }
.mx-qtd-btn:hover{ background:var(--brand-light); }
.mx-qtd-val{ width:64px; height:44px; border:none; border-left:1.5px solid var(--border); border-right:1.5px solid var(--border); text-align:center; font-family:'Sora',sans-serif; font-size:15px; font-weight:700; }
.mx-foot{ padding:16px 22px; border-top:1px solid var(--border); }
.mx-add{ width:100%; height:48px; background:var(--brand); color:#fff; border:none; border-radius:var(--radius-md); font-family:'DM Sans',sans-serif; font-size:15px; font-weight:700; cursor:pointer; }
.mx-add:hover{ background:var(--brand-mid); }
@media (max-width:640px){
  .wrap{ padding-left:16px; padding-right:16px; }
.h1{ font-size:22px; }
.ped{ flex-direction:column; align-items:stretch; gap:12px; padding:16px; }
.ped-right{ flex-direction:row; align-items:center; justify-content:space-between; }
.det-info{ grid-template-columns:1fr; }
.tl-lbl{ font-size:9.5px; }
.det-topo-head{ flex-direction:column; }
.det-recomprar{ width:100%; }
}
/* ============================================================
   MINHAS INFORMAÇÕES
   ============================================================ */
/* ══ SEÇÃO / CARD ══ */
.sec{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); padding:22px 24px; margin-bottom:16px; }
.sec-head{ display:flex; align-items:center; gap:9px; margin-bottom:18px; }
.sec-ico{ font-size:18px; }
.sec-title{ font-family:'Sora',sans-serif; font-size:16px; font-weight:700; }
.sec-hint{ font-size:12px; color:var(--muted); margin-left:auto; }
/* ══ CAMPOS ══ */
.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.grid2 .full{ grid-column:1 / -1; }
.campo{ display:flex; flex-direction:column; }
.lbl{ font-size:12.5px; font-weight:600; color:var(--text-2); margin-bottom:6px; }
.lbl .req{ color:var(--red); margin-left:1px; }
.lbl .opt{ color:var(--muted); font-weight:400; margin-left:3px; }
.inp{ height:44px; border:1.5px solid var(--border); border-radius:var(--radius-sm); padding:0 13px; font-family:'DM Sans',sans-serif; font-size:14px; color:var(--text); outline:none; background:var(--white); width:100%; }
.inp:focus{ border-color:var(--brand); }
.inp::placeholder{ color:var(--muted); }
.inp:disabled, .inp[readonly]{ background:var(--bg); color:var(--muted); cursor:not-allowed; }
.campo-hint{ font-size:11.5px; color:var(--muted); margin-top:5px; display:flex; align-items:center; gap:5px; }
.campo-hint.err{ color:var(--red); }
.campo-hint.ok{ color:var(--brand); }
.cadeado{ font-size:11px; opacity:.7; }
/* ══ CHECKBOX ══ */
.chk{ display:flex; align-items:flex-start; gap:11px; cursor:pointer; padding:6px 0; }
.chk input{ position:absolute; opacity:0; width:0; height:0; }
.chk-box{ width:19px; height:19px; border:2px solid var(--border); border-radius:5px; flex-shrink:0; margin-top:1px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:11px; transition:.12s; }
.chk input:checked + .chk-box{ background:var(--brand); border-color:var(--brand); }
.chk input:focus-visible + .chk-box{ outline:2px solid var(--brand); outline-offset:2px; }
.chk-txt{ font-size:13.5px; font-weight:500; }
.chk-desc{ font-size:12px; color:var(--muted); margin-top:1px; }
/* clube */
.clube-row{ display:flex; align-items:center; gap:12px; }
.clube-logo{ height:30px; padding:3px 8px; background:var(--clube-light); border-radius:var(--radius-sm); display:flex; align-items:center; gap:5px; font-size:11px; font-weight:700; color:var(--clube); }
.chk input:checked + .chk-box.clube-check{ background:var(--clube); border-color:var(--clube); }
/* ══ ALTERAR SENHA ══ */
.senha-toggle{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.senha-info{ font-size:13px; color:var(--text-2); }
.senha-info b{ font-weight:600; color:var(--text); }
.btn-sec{ height:40px; padding:0 18px; background:var(--white); color:var(--brand); border:1.5px solid var(--border); border-radius:var(--radius-sm); font-family:'DM Sans',sans-serif; font-size:13.5px; font-weight:700; cursor:pointer; white-space:nowrap; }
.btn-sec:hover{ border-color:var(--brand); background:var(--brand-xlight); }
.senha-form{ display:none; margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
.senha-form.open{ display:block; }
.senha-forca{ font-size:11.5px; margin-top:6px; font-weight:600; }
.senha-forca.fraca{ color:var(--red); }
.senha-forca.media{ color:var(--accent); }
.senha-forca.forte{ color:var(--brand); }
.senha-acoes{ display:flex; gap:10px; margin-top:16px; }
.btn-mini{ height:40px; padding:0 18px; border-radius:var(--radius-sm); font-family:'DM Sans',sans-serif; font-size:13.5px; font-weight:700; cursor:pointer; border:none; }
.btn-mini.pri{ background:var(--brand); color:#fff; }
.btn-mini.pri:hover{ background:var(--brand-mid); }
.btn-mini.pri:disabled{ background:var(--muted); cursor:not-allowed; }
.btn-mini.ghost{ background:var(--white); color:var(--text-2); border:1.5px solid var(--border); }
/* ══ BARRA SALVAR ══ */
.salvar-bar{ position:sticky; bottom:0; background:var(--white); border-top:1px solid var(--border); padding:16px 24px; margin:0 -24px -22px; border-radius:0 0 var(--radius-lg) var(--radius-lg); display:flex; align-items:center; gap:14px; }
.salvar-bar .aviso{ font-size:12.5px; color:var(--muted); }
.btn-salvar{ height:46px; padding:0 28px; background:var(--brand); color:#fff; border:none; border-radius:var(--radius-md); font-family:'DM Sans',sans-serif; font-size:15px; font-weight:700; cursor:pointer; margin-left:auto; }
.btn-salvar:hover{ background:var(--brand-mid); }
.btn-salvar:disabled{ background:var(--muted); cursor:not-allowed; }
/* zona de perigo */
.perigo{ margin-top:6px; }
.perigo-link{ display:inline-flex; align-items:center; gap:7px; background:none; border:none; color:var(--red); font-family:'DM Sans',sans-serif; font-size:13px; font-weight:600; cursor:pointer; padding:8px 0; }
.perigo-link:hover{ text-decoration:underline; }
.obrig-nota{ font-size:11.5px; color:var(--muted); margin-top:14px; }
/* ══ MODAL EXCLUSÃO ══ */
.mv{ position:fixed; inset:0; background:rgba(20,30,25,.55); z-index:1000; opacity:0; pointer-events:none; transition:opacity .2s; display:flex; align-items:center; justify-content:center; padding:20px; }
.mx-alerta{ width:38px; height:38px; border-radius:99px; background:var(--red-light); color:var(--red); display:flex; align-items:center; justify-content:center; font-size:19px; flex-shrink:0; }
.mx-body p{ font-size:13.5px; color:var(--text-2); line-height:1.55; margin-bottom:12px; }
.mx-lista{ background:var(--bg); border-radius:var(--radius-md); padding:14px 16px; margin-bottom:14px; }
.mx-lista-t{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; color:var(--muted); margin-bottom:8px; }
.mx-lista ul{ list-style:none; display:flex; flex-direction:column; gap:6px; }
.mx-lista li{ font-size:13px; color:var(--text-2); display:flex; align-items:center; gap:8px; }
.mx-lista li::before{ content:'✕'; color:var(--red); font-size:10px; font-weight:700; }
.mx-irrev{ font-size:13px; font-weight:600; color:var(--red); background:var(--red-light); border-radius:var(--radius-sm); padding:10px 13px; margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.mx-confirmar-lbl{ font-size:13px; color:var(--text-2); margin-bottom:8px; }
.mx-confirmar-lbl b{ color:var(--text); font-family:'Sora',sans-serif; }
.btn-cancelar{ height:44px; padding:0 22px; background:var(--brand); color:#fff; border:none; border-radius:var(--radius-sm); font-family:'DM Sans',sans-serif; font-size:14px; font-weight:700; cursor:pointer; }
.btn-cancelar:hover{ background:var(--brand-mid); }
.btn-excluir{ height:44px; padding:0 22px; background:var(--white); color:var(--red); border:1.5px solid var(--red); border-radius:var(--radius-sm); font-family:'DM Sans',sans-serif; font-size:14px; font-weight:700; cursor:pointer; }
.btn-excluir:hover:not(:disabled){ background:var(--red); color:#fff; }
.btn-excluir:disabled{ opacity:.4; cursor:not-allowed; border-color:var(--border); color:var(--muted); }
/* toast */
.toast{ position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(20px); background:var(--text); color:#fff; border-radius:var(--radius-md); padding:13px 20px; font-size:13.5px; font-weight:600; box-shadow:0 10px 34px rgba(0,0,0,.3); z-index:2000; opacity:0; pointer-events:none; transition:.25s; display:flex; align-items:center; gap:10px; }
.toast.ok{ background:var(--brand-dark); }
/* Minhas Informações — responsivo */
@media (max-width:640px){
  .grid2{ grid-template-columns:1fr; }
.salvar-bar{ margin:0 -18px -18px; padding:14px 18px; flex-wrap:wrap; }
.senha-toggle{ flex-direction:column; align-items:stretch; gap:10px; }
}


/* filtros e voltar também são <a> — tirar o sublinhado do site */
.filtro, .filtro:hover, .filtro:visited, .filtro:focus {
    text-decoration: none;
}

.voltar, .voltar:hover, .voltar:visited {
    text-decoration: none;
}

.pag-btn, .pag-btn:hover, .pag-btn:visited {
    text-decoration: none;
}

.filtro.on {
    color: #fff;
}


/* ============================================================
   MEUS ENDEREÇOS
   ============================================================ */
/* ══ CARDS DE ENDEREÇO ══ */
.ends{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.end{ background:var(--white); border:1.5px solid var(--border); border-radius:var(--radius-lg); padding:18px 20px; display:flex; flex-direction:column; transition:border-color .15s, box-shadow .15s; }
.end.principal{ border-color:var(--brand); }
.end-top{ display:flex; align-items:flex-start; gap:10px; margin-bottom:12px; }
.end-ico{ font-size:20px; line-height:1; margin-top:1px; }
.end-tit-wrap{ flex:1; min-width:0; }
.end-titulo{ font-family:'Sora',sans-serif; font-size:15px; font-weight:700; line-height:1.25; }
.end-selo{ display:inline-flex; align-items:center; gap:4px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; color:var(--brand-dark); background:var(--brand-light); border-radius:99px; padding:2px 9px; margin-top:5px; }
.end-corpo{ font-size:13px; color:var(--text-2); line-height:1.5; flex:1; }
.end-corpo .cep{ color:var(--muted); }
.end-acoes{ display:flex; align-items:center; gap:6px; margin-top:14px; padding-top:14px; border-top:1px solid var(--border); }
.end-principal-btn{ display:inline-flex; align-items:center; gap:6px; background:none; border:none; font-family:'DM Sans',sans-serif; font-size:12.5px; font-weight:600; color:var(--brand); cursor:pointer; padding:6px 8px; border-radius:var(--radius-sm); }
.end-principal-btn:hover{ background:var(--brand-light); }
.end-principal-fixo{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--brand-dark); padding:6px 8px; }
.end-btn-ico{ margin-left:auto; width:34px; height:34px; border:1.5px solid var(--border); background:var(--white); border-radius:var(--radius-sm); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--text-2); }
.end-btn-ico:hover{ border-color:var(--brand); color:var(--brand); background:var(--brand-xlight); }
.end-btn-ico.del:hover{ border-color:var(--red); color:var(--red); background:var(--red-light); }
/* vazio */
.vazio{ grid-column:1/-1; text-align:center; padding:60px 20px; background:var(--white); border:1.5px dashed var(--border); border-radius:var(--radius-lg); }
.vazio-ico{ font-size:52px; margin-bottom:14px; }
.vazio-t{ font-family:'Sora',sans-serif; font-size:19px; font-weight:700; margin-bottom:6px; }
.vazio-s{ font-size:14px; color:var(--muted); margin-bottom:20px; max-width:360px; margin-left:auto; margin-right:auto; }
/* ══ MODAL (reusa checkout) ══ */
.mv{ position:fixed; inset:0; background:rgba(20,30,25,.5); z-index:1000; opacity:0; pointer-events:none; transition:opacity .2s; display:flex; align-items:center; justify-content:center; padding:20px; }
.btn-sec:hover{ border-color:var(--muted); }
.btn-pri{ height:44px; padding:0 24px; background:var(--brand); color:#fff; border:none; border-radius:var(--radius-sm); font-family:'DM Sans',sans-serif; font-size:14px; font-weight:700; cursor:pointer; }
.btn-pri:hover{ background:var(--brand-mid); }
.btn-pri:disabled{ background:var(--muted); cursor:not-allowed; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-grid .full{ grid-column:1 / -1; }
.campo-lbl{ font-size:12px; font-weight:600; color:var(--text-2); margin-bottom:5px; display:block; }
.inp:disabled{ background:var(--bg); color:var(--muted); }
.cep-aviso{ display:none; grid-column:1/-1; background:var(--accent-light); border:1px solid #f0d9a8; border-radius:var(--radius-sm); padding:10px 12px; font-size:12.5px; color:#8a5600; line-height:1.45; }
.cep-aviso.show{ display:block; }
.cep-status{ font-size:12px; color:var(--muted); margin-top:5px; min-height:16px; }
.cep-status.ok{ color:var(--brand); font-weight:600; }
.cep-status.err{ color:var(--red); font-weight:600; }
.chk{ display:flex; align-items:flex-start; gap:11px; cursor:pointer; padding:4px 0; }
.chk-label{ font-size:13.5px; font-weight:600; }
/* modal excluir */
.mx-sm{ max-width:420px; }
.mx-excluir-body{ padding:22px 24px; }
.mx-excluir-body p{ font-size:14px; color:var(--text-2); line-height:1.5; }
.mx-excluir-end{ background:var(--bg); border-radius:var(--radius-md); padding:12px 14px; margin-top:14px; font-size:13px; color:var(--text-2); line-height:1.4; }
.mx-excluir-end b{ color:var(--text); }
.aviso-principal{ display:none; margin-top:12px; background:var(--accent-light); border:1px solid #f0d9a8; border-radius:var(--radius-sm); padding:10px 12px; font-size:12.5px; color:#8a5600; line-height:1.45; }
.aviso-principal.show{ display:block; }
.btn-del{ height:44px; padding:0 20px; background:var(--white); color:var(--red); border:1.5px solid var(--red); border-radius:var(--radius-sm); font-family:'DM Sans',sans-serif; font-size:14px; font-weight:700; cursor:pointer; }
.btn-del:hover{ background:var(--red); color:#fff; }
/* toast */
.toast{ position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(20px); background:var(--text); color:#fff; border-radius:var(--radius-md); padding:13px 20px; font-size:13.5px; font-weight:600; box-shadow:0 10px 34px rgba(0,0,0,.3); z-index:2000; opacity:0; pointer-events:none; transition:.25s; display:flex; align-items:center; gap:10px; }
/* Meus Endereços — responsivo */
@media (max-width:680px){
  .ends{ grid-template-columns:1fr; }
}


/* ============================================================
   OVERRIDES por ID — à prova de cascade entre telas de conta.
   (Dívida de organização a consolidar pós-lançamento.)
   ============================================================ */
#mvEnd .mx{ max-width:520px; max-height:90vh; display:flex; flex-direction:column; }
#mvEnd .mx-body{ overflow-y:auto; }
#mvDel .mx{ max-width:420px; }

/* Meus Endereços — topo e botão adicionar */
.topo{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:22px; flex-wrap:wrap; }
.btn-add{ display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 20px; background:var(--brand); color:#fff; border:none; border-radius:var(--radius-md); font-family:'DM Sans',sans-serif; font-size:14px; font-weight:700; cursor:pointer; white-space:nowrap; }
.btn-add:hover{ background:var(--brand-mid); }


/* ============================================================
   MEUS FAVORITOS
   ============================================================ */
/* ══ GRID DE FAVORITOS ══ */
.favs{ display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }

.fav{ background:var(--white); border:1.5px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; display:flex; flex-direction:column; transition:border-color .15s, box-shadow .15s; cursor:pointer; position:relative; }
.fav:hover{ border-color:var(--brand); box-shadow:0 4px 16px rgba(31,122,74,.08); }
.fav.indisponivel{ opacity:.85; }

.fav-remover{ position:absolute; top:10px; right:10px; width:34px; height:34px; border-radius:99px; background:rgba(255,255,255,.95); border:1px solid var(--border); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:15px; z-index:3; box-shadow:0 2px 8px rgba(0,0,0,.1); }
.fav-remover:hover{ border-color:var(--red); background:var(--red-light); }

.fav-foto{ height:150px; background:var(--white); display:flex; align-items:center; justify-content:center; font-size:48px; position:relative; }
.fav-foto img{ max-width:100%; max-height:100%; object-fit:contain; padding:10px; }
.fav-badge{ position:absolute; top:10px; left:10px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; padding:3px 9px; border-radius:99px; }
.fav-badge.oferta{ background:var(--red); color:#fff; }

.fav-body{ padding:13px 15px 15px; display:flex; flex-direction:column; flex:1; }
.fav-nome{ font-size:13px; font-weight:600; color:var(--text-2); line-height:1.35; margin-bottom:10px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:35px; }

.fav-preco-linha{ display:flex; align-items:baseline; gap:8px; margin-top:auto; }
.fav-preco{ font-family:'Sora',sans-serif; font-size:19px; font-weight:700; color:var(--brand-dark); }
.fav-preco-antigo{ font-size:12.5px; color:var(--muted); text-decoration:line-through; }
.fav-preco-un{ font-size:11px; color:var(--muted); font-weight:600; }

.fav-indispo{ font-size:12px; font-weight:700; color:var(--amber); background:var(--amber-light); border-radius:var(--radius-sm); padding:7px 10px; text-align:center; margin-top:auto; }

.fav-add{ margin-top:12px; width:100%; height:42px; background:var(--brand); color:#fff; border:none; border-radius:var(--radius-sm); font-family:'DM Sans',sans-serif; font-size:13.5px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:7px; }
.fav-add:hover{ background:var(--brand-mid); }
.fav-add:disabled{ background:var(--bg); color:var(--muted); cursor:not-allowed; border:1.5px solid var(--border); }

/* vazio */
.vazio{ text-align:center; padding:70px 20px; background:var(--white); border:1.5px dashed var(--border); border-radius:var(--radius-lg); }
.vazio-ico{ font-size:56px; margin-bottom:16px; }
.vazio-t{ font-family:'Sora',sans-serif; font-size:20px; font-weight:700; margin-bottom:8px; }
.vazio-s{ font-size:14px; color:var(--muted); margin-bottom:22px; max-width:400px; margin-left:auto; margin-right:auto; line-height:1.5; }
.vazio-btn{ display:inline-flex; align-items:center; gap:8px; height:46px; padding:0 24px; background:var(--brand); color:#fff; border:none; border-radius:var(--radius-md); font-family:'DM Sans',sans-serif; font-size:14.5px; font-weight:700; cursor:pointer; text-decoration:none; }

/* Meus Favoritos — responsivo */
@media (max-width:820px){ .favs{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .favs{ grid-template-columns:1fr 1fr; gap:12px; } .fav-foto{ height:120px; } }

/* toast — link desfazer (favoritos) */
.toast .desfazer{ color:#8fe6b5; font-weight:700; cursor:pointer; text-decoration:underline; margin-left:4px; }

/* IE + isento (Minhas Informações PJ) */
.ie-wrap{ display:flex; gap:10px; align-items:stretch; }
.ie-isento{ display:flex; align-items:center; gap:7px; height:44px; padding:0 12px; border:1.5px solid var(--border); border-radius:var(--radius-sm); cursor:pointer; white-space:nowrap; font-size:13px; font-weight:600; color:var(--text-2); background:var(--white); }
.ie-isento input{ width:16px; height:16px; accent-color:var(--brand); cursor:pointer; }

/* ── box de validação de cobertura (área de entrega) ── */
.cobertura-status{ grid-column:1/-1; font-size:12.5px; color:var(--muted); display:none; align-items:center; gap:6px; }
.cobertura-status.show{ display:flex; }
.cobertura-status .spin{ width:13px; height:13px; border:2px solid var(--border); border-top-color:var(--brand); border-radius:50%; animation:cobspin .7s linear infinite; }
@keyframes cobspin{ to{ transform:rotate(360deg); } }
.cobertura-box{ grid-column:1/-1; display:none; align-items:flex-start; gap:11px; border-radius:var(--radius-sm); padding:13px 14px; margin-top:2px; }
.cobertura-box.show{ display:flex; }
.cobertura-box.ok{ background:var(--brand-xlight, #f2fbf6); border:1px solid #bfe6d0; }
.cobertura-box.retira{ background:var(--accent-light, #fff8ec); border:1px solid #f0d9a8; }
.cobertura-box.nao{ background:var(--red-light, #fdecec); border:1px solid #f3c9c9; }
.cob-ico{ font-size:20px; line-height:1; flex-shrink:0; }
.cob-titulo{ font-size:13.5px; font-weight:700; margin-bottom:2px; }
.cobertura-box.ok .cob-titulo{ color:var(--brand-dark, #145232); }
.cobertura-box.retira .cob-titulo{ color:#8a5600; }
.cobertura-box.nao .cob-titulo{ color:#a12; }
.cob-msg{ font-size:12.5px; line-height:1.45; color:var(--text-2); }
