/* =====================================================================
   CANTOS ARREDONDADOS — camada `ajustes` (ver lumikit.css)

   Uma regra por TIPO de coisa, não por classe. Qualquer controle novo,
   criado por quem for, já nasce arredondado — sem precisar entrar em
   lista nenhuma. Para experimentar outro raio, muda-se UM valor abaixo;
   para voltar ao reto, --lk-raio: 0 em todos.

   Como este arquivo vive na camada `ajustes`, ele vence o CSS antigo
   mesmo com seletores simples e SEM !important. As únicas coisas que
   ainda passam por cima dele são regras com !important no legado — as
   três que zeravam cantos (style.css) foram removidas em 30/07/2026.

   Utilitários com !important que CONTINUAM valendo de propósito, por
   serem opt-in no markup: .circle (100%) e .rounded-1 (2px), do
   style.css antigo.

   HISTÓRICO: a 1ª versão enumerava ~180 classes à mão e perdia tudo que
   era novo; a 2ª criou a "rede larga" por pedaço de nome. Esta 3ª versão
   aposenta a enumeração (a rede cobre todos os casos dela — conferido
   classe a classe; só faltavam -linha e -icone, adicionados à rede) e
   cobre também os componentes do Bootstrap/tema que ficavam de fora
   (.btn era usado 78x no markup e não arredondava).
   ===================================================================== */

:root {
	--lk-raio:         8px;    /* caixas, cartões, blocos           */
	--lk-raio-pequeno: 6px;    /* botões, campos, etiquetas         */
	--lk-raio-grande:  10px;   /* blocos grandes, painéis, modais   */
}

/* =====================================================================
   1. SUPERFÍCIES — qualquer classe que descreva uma caixa
   ===================================================================== */
[class*="-card"],  [class*="-bloco"], [class*="-item"],  [class*="-itens"],
[class*="-caixa"], [class*="-aviso"], [class*="-lista"], [class*="-resumo"],
[class*="-grupo"], [class*="-passo"], [class*="-tota"],   /* -total e -totais */ [class*="-form"],
[class*="-doc"],   [class*="-painel"],[class*="-pagar"], [class*="-frete"],
[class*="-secao"], [class*="-tabela"],[class*="-preco"], [class*="-envio"],
[class*="-mapa"],  [class*="-ramo"],  [class*="-nota"],  [class*="-prazo"],
[class*="-ajuda"], [class*="-erro"],  [class*="-destaque"], [class*="-conteudo"],
[class*="-linha"] {
	border-radius: var(--lk-raio);
}

/* componentes do Bootstrap/tema com nome curto que a rede não pega */
.panel, .well, .alert, .thumbnail, .list-group, .dropdown-menu,
.shopping-item, .sitem-table,
.pp-sku, .pp-desenho-wrap, .pm-card, .pm-filter-wrap, .cd-resumo,
.swiper-slide, .mySwiper .swiper-slide, .swiper-button-next, .swiper-button-prev {
	border-radius: var(--lk-raio);
}

/* blocos grandes */
.modal-content {
	border-radius: var(--lk-raio-grande);
}

/* LISTAS QUE VIRAM CAIXA.
   A rede acima pega por NOME DE CLASSE, e alguns contêineres do site
   desenham a caixa num <ul> sem classe nenhuma — foi o caso do índice
   "Nesta página" do condicoes-compra.php (.pcc-indice ul), que ficava
   quadrado ao lado de um card arredondado.
   Se aparecer outro índice/sumário assim, ou ele usa um destes nomes,
   ou entra aqui. */
[class*="-indice"] > ul, [class*="-indice"] > ol,
[class*="-sumario"] > ul, [class*="-sumario"] > ol {
	border-radius: var(--lk-raio);
	overflow: hidden;   /* recorta a borda das linhas nos cantos */
}

/* =====================================================================
   2. CONTROLES E CAMPOS — mesmo sem classe nenhuma
   ===================================================================== */
button, .btn, input, select, textarea, .form-control,
[class*="-btn"], [class*="-op"], [class*="-sug"], [class*="-spinner"],
[class*="-input"], [class*="-select"], [class*="-campo"], [class*="-qtd"],
[class*="-filtro"], [class*="-tipo"] {
	border-radius: var(--lk-raio-pequeno);
}

/* caixinhas de marcar mantêm a forma que a plataforma espera */
input[type="checkbox"] { border-radius: 3px; }
input[type="radio"]    { border-radius: 50%; }
input[type="range"]    { border-radius: 0; }

/* abas: só os cantos de cima — o de baixo encosta no conteúdo */
.nav-tabs > li > a {
	border-radius: var(--lk-raio-pequeno) var(--lk-raio-pequeno) 0 0;
}

/* grupos colados (input + botão): redondo só nas pontas do CONJUNTO,
   senão aparece um vão entre o campo e o botão.

   O `:not(:only-child)` em todas as regras é essencial: no
   template_preco_estoque.php o botão "Adicionar ao carrinho" é filho
   ÚNICO de um .input-group, e aí ele é first-child E last-child ao
   mesmo tempo — sem esta guarda as duas regras se somavam e zeravam os
   quatro cantos, deixando o botão quadrado. */
.input-group > :not(:first-child):not(:last-child),
.input-group > :not(:first-child):not(:last-child) > .btn {
	border-radius: 0;
}
.input-group > :first-child:not(:only-child),
.input-group > :first-child:not(:only-child) > .btn {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
.input-group > :last-child:not(:only-child),
.input-group > :last-child:not(:only-child) > .btn {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

/* =====================================================================
   3. ETIQUETAS E SELOS
   ===================================================================== */
[class*="-badge"], [class*="-tag"], [class*="-numero"], [class*="-conta"],
[class*="-situacao"], [class*="-label"], [class*="-icone"],
.tb-social .brand-bg a i, .totop a i {
	border-radius: var(--lk-raio-pequeno);
}

/* =====================================================================
   4. IMAGENS DE PRODUTO — acompanham a caixa que as contém
   ===================================================================== */
.cc-item img, .pp-card img, .lp-card img, .bc-item img, .fe-fotos img,
.cf-resumo img, [class*="-thumb"] img, [class*="-foto"] img, [class*="-capa"] img {
	border-radius: var(--lk-raio-pequeno);
}

/* =====================================================================
   5. TABELAS — atenção, aqui há uma armadilha.

   Com `border-collapse: collapse` o navegador desenha a borda externa
   metade para fora do elemento, e um `overflow: hidden` a recorta —
   foi assim que a tabela de especificações PERDEU a borda numa versão
   anterior. A solução é `separate` com `border-spacing: 0`: visual
   idêntico, e o raio passa a valer.
   ===================================================================== */
table, .oc-tabela, .lst-lista, .table-responsive,
[class*="-tabela"], [class*="-specs"], [class*="-table"] {
	border-radius: var(--lk-raio);
	border-collapse: separate;
	border-spacing: 0;
}

/* contêineres que não são tabela podem recortar normalmente */
.table-responsive, [class*="-tabela-wrap"], [class*="-rolagem"] {
	overflow: hidden;
}

/* =====================================================================
   6. EXCEÇÕES — sempre por último, para vencerem as regras acima
   ===================================================================== */

/* botões de contorno (manual, download): raio de controle, não de caixa */
.pp-btn-dl, .pp-btn-green, .pp-btn-fw, .pp-btn-outline, .ps-btn-manual {
	border-radius: var(--lk-raio-pequeno);
}

/* faixas de largura total e filetes continuam retos: arredondar uma
   linha de 3px ou uma barra de ponta a ponta da tela fica estranho */
[class$="-header"], [class*="-header "], [class*="-topo"],
.header-2, footer, .top-bar, body, html,
[class*="-label"]::after, [class*="-divider"], hr {
	border-radius: 0;
}

/* o que já era círculo continua círculo */
.ok-check, .cp-passo-num, [class*="-circulo"], [class*="-redondo"],
.pm-steps > li::before, .cp-step::before {
	border-radius: 50%;
}

/* rótulo de seção é só um texto com uma linha ao lado: não é caixa */
[class$="-label"], [class$="-section-label"] { border-radius: 0; }

/* =====================================================================
   7. UTILITÁRIOS — para forçar um caso pontual direto no markup,
   sem criar regra nova nem usar !important
   ===================================================================== */
.raio          { border-radius: var(--lk-raio); }
.raio-pequeno  { border-radius: var(--lk-raio-pequeno); }
.raio-grande   { border-radius: var(--lk-raio-grande); }
.raio-zero     { border-radius: 0; }
