/* ==========================================================================
   Di Luce - tema da loja (storefront)
   Base do e-commerce (Onda 0). Separado do custom.css (Gentelella/admin).
   Tokens conforme Arquitetura-Visual.md v2.
   ========================================================================== */

:root {
    --cor-tinta: #1C1C1C;
    --cor-tinta-70: #4A4A4A;
    --cor-cinza: #6B6B6B;
    --cor-linha: #E5E5E5;
    --cor-fundo: #FFFFFF;
    --cor-fundo-alt: #F5F5F5;
    --cor-acento: #C24E3A;         /* terracota - CTAs, preco, badges */
    --cor-acento-escuro: #9E3D2C;  /* hover dos CTAs */
    --cor-luz: #B8860B;            /* ambar - selos/detalhes (nao em texto de CTA) */
    --cor-sucesso: #2E7D32;
    --cor-alerta: #B26A00;

    --fonte-titulo: 'Montserrat', Arial, sans-serif;
    --fonte-corpo: 'Inter', Arial, sans-serif;

    --raio: 4px;
    --sombra: 0 1px 3px rgba(0, 0, 0, .08);
    --largura-max: 1200px;
}

/* ----- reset leve ----- */
* { box-sizing: border-box; }

body.diluce {
    margin: 0;
    font-family: var(--fonte-corpo);
    font-size: 16px;
    line-height: 1.5;
    color: var(--cor-tinta);
    background: var(--cor-fundo);
}

.diluce a { color: inherit; text-decoration: none; }
.diluce a:hover { color: var(--cor-acento); }

.diluce h1, .diluce h2, .diluce h3, .diluce h4 {
    font-family: var(--fonte-titulo);
    font-weight: 700;
    color: var(--cor-tinta);
    margin: 0 0 .5em;
}

.dl-container {
    width: 100%;
    max-width: var(--largura-max);
    margin: 0 auto;
    padding: 0 16px;
}

/* ----- botoes ----- */
.dl-btn {
    display: inline-block;
    padding: 12px 22px;
    border: 0;
    border-radius: var(--raio);
    font-family: var(--fonte-titulo);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: .3px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease;
}
.dl-btn-primario { background: var(--cor-acento); color: #fff; }
.dl-btn-primario:hover { background: var(--cor-acento-escuro); color: #fff; }
.dl-btn-secundario { background: transparent; color: var(--cor-tinta); border: 1px solid var(--cor-tinta); }
.dl-btn-secundario:hover { background: var(--cor-tinta); color: #fff; }

/* ----- topbar ----- */
.dl-topbar {
    background: var(--cor-tinta);
    color: #fff;
    font-size: 13px;
}
.dl-topbar .dl-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 36px;
}
.dl-topbar a { color: #fff; opacity: .85; }
.dl-topbar a:hover { opacity: 1; color: #fff; }

/* ----- header ----- */
.dl-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: #fff;
    border-bottom: 1px solid var(--cor-linha);
}
.dl-header .dl-container {
    display: flex;
    align-items: center;
    gap: 24px;
    height: 76px;
}
.dl-logo img { height: 40px; width: auto; display: block; }
.dl-busca { flex: 1 1 auto; }
.dl-busca form { display: flex; }
.dl-busca input {
    flex: 1 1 auto;
    height: 42px;
    padding: 0 14px;
    border: 1px solid var(--cor-linha);
    border-right: 0;
    border-radius: var(--raio) 0 0 var(--raio);
    font-family: var(--fonte-corpo);
    font-size: 14px;
}
.dl-busca button {
    width: 48px;
    border: 0;
    background: var(--cor-acento);
    color: #fff;
    border-radius: 0 var(--raio) var(--raio) 0;
    cursor: pointer;
}
.dl-acoes { display: flex; align-items: center; gap: 18px; }
.dl-acoes .dl-icone { position: relative; font-size: 20px; color: var(--cor-tinta); }
.dl-acoes .dl-badge {
    position: absolute;
    top: -8px; right: -10px;
    min-width: 18px; height: 18px;
    padding: 0 5px;
    background: var(--cor-acento);
    color: #fff;
    border-radius: 9px;
    font-family: var(--fonte-corpo);
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}

/* ----- nav ----- */
.dl-nav {
    background: #fff;
    border-bottom: 1px solid var(--cor-linha);
}
.dl-nav .dl-container {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 48px;
}
.dl-nav a, .dl-nav .dl-menu-titulo {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 48px;
    padding: 0 14px;
    font-family: var(--fonte-titulo);
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .4px;
    text-transform: uppercase;
    cursor: pointer;
}
.dl-nav a:hover, .dl-nav .dl-menu-titulo:hover { color: var(--cor-acento); }
.dl-nav .dl-ofertas { color: var(--cor-acento); }

/* aviso "cores sob consulta" (produto + home) */
.dl-aviso {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--cor-tinta-70);
    background: var(--cor-fundo-alt);
    border: 1px solid var(--cor-linha);
    border-radius: var(--raio);
    padding: 10px 12px;
    margin: 14px 0;
}
.dl-aviso i { color: var(--cor-acento); }
.dl-aviso-home { margin: 16px 0 0; }

/* dropdown de categorias */
.dl-dropdown { position: relative; }
.dl-dropdown-menu {
    display: none;
    position: absolute;
    top: 48px; left: 0;
    min-width: 240px;
    background: #fff;
    border: 1px solid var(--cor-linha);
    box-shadow: var(--sombra);
    padding: 8px 0;
    z-index: 1040;
}
.dl-dropdown.aberto .dl-dropdown-menu { display: block; }
.dl-dropdown-menu a {
    display: block;
    height: auto;
    padding: 8px 16px;
    text-transform: none;
    letter-spacing: 0;
    font-family: var(--fonte-corpo);
    font-weight: 400;
    font-size: 14px;
}

/* ----- faixa de destaque (home) ----- */
.dl-destaque {
    background: var(--cor-fundo-alt);
    padding: 56px 0;
    text-align: center;
}
.dl-destaque h1 { font-size: 34px; letter-spacing: .5px; }
.dl-destaque p { color: var(--cor-cinza); margin-bottom: 24px; }

/* ----- categorias em destaque ----- */
.dl-cats-destaque { display: flex; flex-wrap: wrap; gap: 12px; padding: 28px 0; }
.dl-cats-destaque a {
    flex: 1 1 160px;
    padding: 20px;
    text-align: center;
    background: #fff;
    border: 1px solid var(--cor-linha);
    border-radius: var(--raio);
    font-family: var(--fonte-titulo);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
}
.dl-cats-destaque a:hover { border-color: var(--cor-acento); color: var(--cor-acento); }

/* ----- secao / titulo de secao ----- */
.dl-secao { padding: 36px 0; }
.dl-secao-titulo {
    display: flex; align-items: center; gap: 10px;
    font-size: 20px; margin-bottom: 20px;
}

/* ----- grade de produtos (base; card completo vem na Onda 1) ----- */
.dl-grade {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 24px;
}
@media (min-width: 768px) { .dl-grade { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .dl-grade { grid-template-columns: repeat(4, 1fr); } }

/* ----- faixa de confianca ----- */
.dl-confianca { background: var(--cor-fundo-alt); border-top: 1px solid var(--cor-linha); }
.dl-confianca .dl-container {
    display: flex; flex-wrap: wrap; gap: 24px;
    justify-content: center; align-items: center;
    padding: 20px 16px;
    color: var(--cor-tinta-70); font-size: 14px;
}
.dl-confianca .dl-item { display: inline-flex; align-items: center; gap: 8px; }
.dl-confianca i { color: var(--cor-acento); }

/* ----- footer ----- */
.dl-footer { background: var(--cor-tinta); color: #cfcfcf; margin-top: 48px; }
.dl-footer .dl-container { padding: 40px 16px 24px; }
.dl-footer-cols { display: grid; grid-template-columns: 1fr; gap: 28px; }
@media (min-width: 768px) { .dl-footer-cols { grid-template-columns: repeat(4, 1fr); } }
.dl-footer h4 { color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: .4px; }
.dl-footer a { color: #cfcfcf; display: block; padding: 4px 0; font-size: 14px; }
.dl-footer a:hover { color: #fff; }
.dl-footer-pag { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.dl-footer-pag span {
    padding: 4px 10px; border: 1px solid #444; border-radius: var(--raio);
    font-size: 12px; color: #cfcfcf;
}
.dl-footer-base {
    border-top: 1px solid #333; margin-top: 28px; padding-top: 16px;
    font-size: 13px; color: #9a9a9a; text-align: center;
}

/* ----- responsivo: menu mobile ----- */
.dl-hamburguer { display: none; background: none; border: 0; color: var(--cor-tinta); font-size: 22px; cursor: pointer; }
@media (max-width: 767px) {
    .dl-header .dl-container { gap: 12px; height: 64px; }
    .dl-busca { display: none; }
    .dl-hamburguer { display: inline-block; }
    .dl-nav .dl-container { overflow-x: auto; }
}

/* ----- card de produto (Onda 1) ----- */
.dl-card { position: relative; display: flex; flex-direction: column; background:#fff; border:0; border-radius: var(--raio); overflow:hidden; transition: box-shadow .18s ease, transform .18s ease; }
.dl-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.dl-card-link { display:flex; flex-direction:column; flex:1 1 auto; }
.dl-card-img { position: relative; aspect-ratio: 1 / 1; background: var(--cor-fundo-alt); }
.dl-card-img img { width:100%; height:100%; object-fit: cover; display:block; }
.dl-selo { position:absolute; top:8px; left:8px; z-index:2; background: var(--cor-acento); color:#fff; font-family: var(--fonte-titulo); font-weight:700; font-size:12px; padding:3px 8px; border-radius: var(--raio); }
.dl-card-info { padding: 12px 12px 8px; display:flex; flex-direction:column; gap:4px; }
.dl-card-nome { font-family: var(--fonte-corpo); font-weight:600; font-size:14px; color: var(--cor-tinta); margin:0; line-height:1.3; min-height: 2.6em; overflow:hidden; }
.dl-card-precos { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.dl-preco-de { color: var(--cor-cinza); text-decoration: line-through; font-size:13px; }
.dl-preco { color: var(--cor-acento); font-weight:700; font-size:18px; }
.dl-card-btn { margin: 0 12px 12px; font-size:12px; padding:9px 12px; opacity:0; transition: opacity .15s ease; }
.dl-card:hover .dl-card-btn, .dl-card:focus-within .dl-card-btn { opacity:1; }
@media (hover: none) { .dl-card-btn { opacity:1; } }
/* ----- listagem + filtros (Onda 1) ----- */
.dl-listagem { padding: 20px 16px 8px; }
.dl-breadcrumb { color: var(--cor-cinza); font-size: 13px; margin-bottom: 14px; }
.dl-breadcrumb a:hover { color: var(--cor-acento); }
.dl-listagem-topo { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:18px; }
.dl-listagem-titulo { font-size: 26px; margin:0; }
.dl-listagem-sub { color: var(--cor-cinza); margin:4px 0 0; }
.dl-listagem-contagem { color: var(--cor-cinza); font-size: 14px; white-space: nowrap; }
.dl-listagem-corpo { display:flex; gap: 24px; align-items:flex-start; }
.dl-filtros { flex: 0 0 220px; width:220px; border:1px solid var(--cor-linha); border-radius: var(--raio); padding: 8px 16px 16px; }
.dl-filtros-cabeca { display:none; align-items:center; justify-content:space-between; }
.dl-filtros-fechar { background:none; border:0; font-size:26px; line-height:1; cursor:pointer; color: var(--cor-tinta); }
.dl-filtro-grupo { padding: 14px 0; border-bottom:1px solid var(--cor-linha); }
.dl-filtro-grupo:last-of-type { border-bottom:0; }
.dl-filtro-grupo h4 { font-size:13px; text-transform:uppercase; letter-spacing:.4px; margin:0 0 10px; }
.dl-filtro-cats { list-style:none; margin:0; padding:0; }
.dl-filtro-cats li a { display:block; padding:5px 0; font-size:14px; }
.dl-filtro-cats li a:hover { color: var(--cor-acento); }
.dl-filtro-check { display:flex; align-items:center; gap:8px; padding:5px 0; font-size:14px; cursor:pointer; }
.dl-filtro-limpar { width:100%; margin-top:12px; font-size:12px; padding:9px; }
.dl-listagem-grade { flex:1 1 auto; min-width:0; }
.dl-sem-resultado { color: var(--cor-cinza); padding: 24px 0; }
.dl-filtros-toggle { display:none; margin-bottom:14px; }
@media (max-width: 767px) {
    .dl-listagem-corpo { display:block; }
    .dl-filtros-toggle { display:inline-block; }
    .dl-filtros-cabeca { display:flex; margin-bottom:8px; }
    .dl-filtros { position:fixed; top:0; left:0; bottom:0; z-index:1050; width:82%; max-width:320px;
                  background:#fff; border:0; border-right:1px solid var(--cor-linha); overflow-y:auto;
                  transform: translateX(-100%); transition: transform .2s ease; }
    .dl-filtros.dl-aberto { transform: translateX(0); }
}
/* ----- pagina de produto (Onda 1) ----- */
.dl-produto { padding: 20px 16px 8px; }
.dl-produto-corpo { display:flex; gap:32px; align-items:flex-start; margin-top:8px; }
.dl-galeria { flex: 1 1 55%; max-width: 55%; display:flex; flex-direction:column; gap:12px; }
.dl-galeria-foto { border-radius: var(--raio); overflow:hidden; background: var(--cor-fundo-alt); }
.dl-galeria-foto img { width:100%; height:auto; display:block; }
.dl-produto-info { flex: 1 1 40%; position: sticky; top: 92px; }
.dl-produto-nome { font-size: 26px; margin:0 0 14px; }
.dl-produto-precos { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.dl-preco-grande { font-size: 30px; }
.dl-selo-inline { position:static; }
.dl-variacoes { margin: 8px 0 18px; }
.dl-variacoes-titulo { display:block; font-weight:600; font-size:14px; margin-bottom:8px; }
.dl-variacoes-lista { display:flex; gap:8px; flex-wrap:wrap; }
.dl-variacao { padding:8px 14px; border:1px solid var(--cor-linha); border-radius: var(--raio); background:#fff; cursor:pointer; font-size:14px; font-family: var(--fonte-corpo); }
.dl-variacao:hover { border-color: var(--cor-tinta); }
.dl-variacao.dl-ativo { border-color: var(--cor-acento); color: var(--cor-acento); font-weight:600; }
.dl-produto-compra { display:flex; gap:12px; align-items:flex-end; margin: 8px 0 12px; }
.dl-produto-qtd { display:flex; flex-direction:column; gap:4px; }
.dl-produto-qtd label { font-size:13px; color: var(--cor-cinza); }
.dl-produto-qtd input { width:72px; height:44px; padding:0 10px; border:1px solid var(--cor-linha); border-radius: var(--raio); font-size:15px; }
.dl-produto-add { height:44px; }
.dl-produto-cod { color: var(--cor-cinza); font-size:13px; margin-top:10px; }
.dl-produto-desc { margin-top:40px; border-top:1px solid var(--cor-linha); padding-top:24px; }
.dl-desc-conteudo { color: var(--cor-tinta-70); max-width: 760px; }
@media (max-width: 767px) {
    .dl-produto-corpo { display:block; }
    .dl-galeria { max-width:100%; }
    .dl-produto-info { margin-top:20px; position:static; }
}
.dl-carrinho { padding: 20px 16px 8px; }
.dl-carrinho-corpo { display:flex; gap:24px; align-items:flex-start; margin-top:16px; }
.dl-carrinho-itens { flex:1 1 auto; min-width:0; }
.dl-carrinho-item { display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--cor-linha); }
.dl-carrinho-img { flex:0 0 80px; width:80px; height:80px; border:1px solid var(--cor-linha); border-radius:var(--raio); overflow:hidden; background:var(--cor-fundo-alt); }
.dl-carrinho-img img { width:100%; height:100%; object-fit:cover; }
.dl-carrinho-desc { flex:1 1 auto; display:flex; flex-direction:column; gap:3px; min-width:0; }
.dl-carrinho-nome { font-weight:600; font-size:15px; }
.dl-carrinho-var { color:var(--cor-cinza); font-size:13px; }
.dl-carrinho-remover { align-self:flex-start; background:none; border:0; color:var(--cor-cinza); cursor:pointer; font-size:13px; padding:2px 0; }
.dl-carrinho-remover:hover { color:var(--cor-acento); }
.dl-cart-qtd { width:64px; height:40px; padding:0 8px; border:1px solid var(--cor-linha); border-radius:var(--raio); text-align:center; }
.dl-carrinho-subtotal { flex:0 0 110px; text-align:right; font-weight:700; }
.dl-carrinho-resumo { flex:0 0 300px; width:300px; border:1px solid var(--cor-linha); border-radius:var(--raio); padding:18px; }
.dl-carrinho-resumo h3 { font-size:16px; margin:0 0 14px; }
.dl-resumo-linha { display:flex; justify-content:space-between; padding:7px 0; font-size:14px; color:var(--cor-tinta-70); }
.dl-resumo-total { border-top:1px solid var(--cor-linha); margin-top:6px; padding-top:12px; font-size:18px; font-weight:700; color:var(--cor-tinta); }
.dl-resumo-cta { display:block; text-align:center; width:100%; margin:14px 0 10px; }
.dl-carrinho-continuar { display:block; text-align:center; font-size:14px; color:var(--cor-cinza); }
@media (max-width:767px){ .dl-carrinho-corpo{ display:block; } .dl-carrinho-resumo{ width:100%; margin-top:18px; } }
.dl-overlay { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.4); opacity:0; visibility:hidden; transition:opacity .2s ease; z-index:1055; }
.dl-overlay.dl-aberto { opacity:1; visibility:visible; }
.dl-minicarrinho { position:fixed; top:0; right:0; bottom:0; width:360px; max-width:90%; background:#fff; z-index:1060; transform:translateX(100%); transition:transform .22s ease; display:flex; flex-direction:column; box-shadow:-4px 0 24px rgba(0,0,0,.12); }
.dl-minicarrinho.dl-aberto { transform:translateX(0); }
.dl-mini-cabeca { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid var(--cor-linha); }
.dl-mini-cabeca h3 { margin:0; font-size:16px; }
.dl-mini-fechar { background:none; border:0; font-size:26px; line-height:1; cursor:pointer; color:var(--cor-tinta); }
#dl-minicarrinho-conteudo { flex:1 1 auto; display:flex; flex-direction:column; overflow:hidden; }
.dl-mini-itens { flex:1 1 auto; overflow-y:auto; padding:8px 18px; }
.dl-mini-vazio { padding:28px 18px; color:var(--cor-cinza); }
.dl-mini-item { display:flex; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid var(--cor-linha); }
.dl-mini-item img { width:52px; height:52px; object-fit:cover; border:1px solid var(--cor-linha); border-radius:var(--raio); }
.dl-mini-desc { flex:1 1 auto; display:flex; flex-direction:column; gap:2px; min-width:0; }
.dl-mini-nome { font-size:13px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dl-mini-var { font-size:12px; color:var(--cor-cinza); }
.dl-mini-qtd { font-size:12px; color:var(--cor-cinza); }
.dl-mini-sub { font-size:13px; font-weight:700; white-space:nowrap; }
.dl-mini-rodape { border-top:1px solid var(--cor-linha); padding:14px 18px; }
.dl-mini-cta { display:block; text-align:center; width:100%; margin-top:8px; }
.dl-auth { padding: 40px 16px; display:flex; justify-content:center; }
.dl-auth-box { width:100%; max-width:420px; border:1px solid var(--cor-linha); border-radius:var(--raio); padding:28px; }
.dl-auth-box h1 { font-size:24px; margin:0 0 18px; }
.dl-campo { display:flex; flex-direction:column; gap:5px; margin-bottom:14px; }
.dl-campo label { font-size:13px; color:var(--cor-tinta-70); }
.dl-input { height:44px; padding:0 12px; border:1px solid var(--cor-linha); border-radius:var(--raio); font-size:15px; font-family:var(--fonte-corpo); width:100%; }
.dl-check { display:flex; align-items:center; gap:8px; font-size:14px; margin-bottom:16px; }
.dl-auth-btn { width:100%; }
.dl-auth-alt { text-align:center; margin-top:16px; font-size:14px; color:var(--cor-cinza); }
.dl-auth-alt a { color:var(--cor-acento); }
.dl-erro { color:#c0392b; font-size:13px; }
.dl-conta { padding:24px 16px; }
.dl-conta-corpo { display:flex; gap:24px; align-items:flex-start; }
.dl-conta-menu { flex:0 0 200px; width:200px; border:1px solid var(--cor-linha); border-radius:var(--raio); padding:8px 0; }
.dl-conta-menu a { display:block; padding:10px 18px; font-size:14px; }
.dl-conta-menu a:hover { background:var(--cor-fundo-alt); color:var(--cor-acento); }
.dl-conta-conteudo { flex:1 1 auto; min-width:0; }
.dl-conta-conteudo h1 { font-size:24px; margin:0 0 8px; }
.dl-conta-cards { display:flex; flex-wrap:wrap; gap:14px; margin-top:18px; }
.dl-conta-card { display:inline-flex; align-items:center; gap:10px; padding:16px 20px; border:1px solid var(--cor-linha); border-radius:var(--raio); font-weight:600; }
.dl-conta-card:hover { border-color:var(--cor-acento); color:var(--cor-acento); }
.dl-tabela { width:100%; border-collapse:collapse; margin-top:12px; }
.dl-tabela th, .dl-tabela td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--cor-linha); font-size:14px; }
.dl-tabela th { font-family:var(--fonte-titulo); font-size:12px; text-transform:uppercase; letter-spacing:.4px; color:var(--cor-tinta-70); }
@media (max-width:767px){ .dl-conta-corpo{ display:block; } .dl-conta-menu{ width:100%; margin-bottom:16px; } }
.dl-conta-topo { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px; }
.dl-conta-topo h1 { margin:0; font-size:24px; }
.dl-enderecos { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin-top:14px; }
.dl-endereco-card { position:relative; border:1px solid var(--cor-linha); border-radius:var(--raio); padding:16px; font-size:14px; color:var(--cor-tinta-70); }
.dl-endereco-card p { margin:2px 0; }
.dl-badge-principal { display:inline-block; background:var(--cor-acento); color:#fff; font-size:11px; font-weight:700; padding:2px 8px; border-radius:var(--raio); margin-bottom:8px; }
.dl-endereco-acoes { display:flex; gap:14px; margin-top:12px; }
.dl-endereco-acoes a { color:var(--cor-acento); font-size:13px; }
.dl-link-perigo { background:none; border:0; color:#c0392b; cursor:pointer; font-size:13px; padding:0; }
.dl-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.dl-campo-largo { grid-column:1 / -1; }
.dl-form-acoes { display:flex; gap:12px; margin-top:18px; }
.dl-auth-msg { background:var(--cor-fundo-alt); border:1px solid var(--cor-linha); border-radius:var(--raio); padding:12px; font-size:14px; margin-bottom:14px; }
@media (max-width:600px){ .dl-form-grid{ grid-template-columns:1fr; } }
.dl-fretebox { margin:16px 0; }
.dl-fretebox-titulo { display:block; font-weight:600; font-size:14px; margin-bottom:8px; }
.dl-fretebox-form { display:flex; gap:8px; }
.dl-frete-cep { max-width:150px; }
.dl-frete-resultado { margin-top:10px; }
.dl-frete-lista { list-style:none; margin:0; padding:0; }
.dl-frete-lista li { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--cor-linha); font-size:14px; }
.dl-frete-nome { flex:1 1 auto; }
.dl-frete-prazo { color:var(--cor-cinza); font-size:13px; white-space:nowrap; }
.dl-frete-preco { font-weight:700; white-space:nowrap; }
.dl-frete-erro, .dl-frete-carregando, .dl-frete-aviso { font-size:13px; color:var(--cor-cinza); padding:6px 0; margin:0; }
.dl-frete-aviso { color:var(--cor-alerta); }
.dl-checkout { padding:20px 16px; }
.dl-steps { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.dl-step { padding:8px 14px; border:1px solid var(--cor-linha); border-radius:var(--raio); font-size:13px; color:var(--cor-cinza); }
.dl-step-ativo { border-color:var(--cor-acento); color:var(--cor-acento); font-weight:600; }
.dl-checkout-erro { margin-bottom:14px; }
.dl-checkout-corpo { display:flex; gap:24px; align-items:flex-start; }
.dl-checkout-main { flex:1 1 auto; min-width:0; }
.dl-checkout-sec { border:1px solid var(--cor-linha); border-radius:var(--raio); padding:18px; margin-bottom:16px; }
.dl-checkout-sec h2 { font-size:17px; margin:0 0 12px; }
.dl-radio-box { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid var(--cor-linha); border-radius:var(--raio); margin-bottom:8px; cursor:pointer; font-size:14px; }
.dl-radio-box:hover { border-color:var(--cor-tinta); }
.dl-checkout-link { display:inline-block; margin-top:6px; color:var(--cor-acento); font-size:14px; }
.dl-checkout-dica { color:var(--cor-cinza); font-size:13px; margin:8px 0 0; }
.dl-pagamento .dl-radio-box strong { font-weight:600; }
.dl-frete-op { cursor:pointer; }
.dl-frete-sel { background:var(--cor-fundo-alt); }
.dl-checkout-resumo { flex:0 0 320px; width:320px; border:1px solid var(--cor-linha); border-radius:var(--raio); padding:18px; }
.dl-checkout-resumo h3 { font-size:16px; margin:0 0 12px; }
.dl-checkout-item { display:flex; justify-content:space-between; gap:10px; font-size:13px; color:var(--cor-tinta-70); padding:5px 0; }
.dl-checkout-nota { color:var(--cor-cinza); font-size:12px; margin-top:10px; }
.dl-sucesso { padding:60px 16px; display:flex; justify-content:center; }
.dl-sucesso-box { text-align:center; max-width:480px; }
.dl-sucesso-box .fa-check-circle { color:var(--cor-sucesso); font-size:56px; }
.dl-sucesso-box h1 { font-size:26px; margin:16px 0 8px; }
.dl-sucesso-box p { color:var(--cor-tinta-70); }
.dl-sucesso-acoes { display:flex; gap:12px; justify-content:center; margin-top:22px; flex-wrap:wrap; }
@media (max-width:767px){ .dl-checkout-corpo{ display:block; } .dl-checkout-resumo{ width:100%; margin-top:16px; } }
.dl-sucesso-pag { border:1px solid var(--cor-linha); border-radius:var(--raio); padding:16px; margin:18px 0; text-align:left; }
.dl-sucesso-pag h3 { margin:0 0 8px; font-size:16px; }
.dl-pix-codigo { display:block; word-break:break-all; background:var(--cor-fundo-alt); border:1px solid var(--cor-linha); border-radius:var(--raio); padding:10px; font-size:12px; }
.dl-institucional { padding:30px 16px; max-width:820px; }
.dl-institucional h1 { font-size:26px; margin:0 0 16px; }
.dl-institucional-conteudo { color:var(--cor-tinta-70); line-height:1.7; }
.dl-institucional-conteudo p { margin:0 0 12px; }