/* ==========================================================================
   Laskero · loja.css
   Telas da Etapa 2.2 (loja): home (index.html), listagem (loja.html) e
   modelo de página de texto (pagina.html). Usa os tokens e componentes de
   base.css sem os alterar; aqui só entra o que é novo.
   ========================================================================== */

/* --- Cabeçalho: menu do celular e categoria ativa ----------------------- */
.lk-cabecalho__menu a[aria-current="page"] { background: rgba(255, 255, 255, .1); box-shadow: inset 0 -2px 0 var(--lk-menta); }
.lk-cabecalho__botao[aria-expanded="true"] { background: rgba(255, 255, 255, .12); }
a.lk-cabecalho__botao { text-decoration: none; }
.lk-menu-movel { border-top: 1px solid rgba(255, 255, 255, .14); padding: 6px 0 14px; }
.lk-menu-movel ul { display: grid; }
.lk-menu-movel a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 4px;
  color: var(--lk-branco);
  text-decoration: none;
  font-weight: 500;
  font-size: 1.0625rem;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.lk-menu-movel a .lk-icone { width: 22px; height: 22px; color: var(--lk-menta); }
.lk-menu-movel a[aria-current="page"] { font-weight: 700; }
@media (min-width: 960px) { .lk-menu-movel { display: none !important; } }

/* --- Migalhas (breadcrumb) ---------------------------------------------- */
.lk-migalhas ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: .8125rem; color: var(--lk-tinta-2); }
.lk-migalhas li { display: inline-flex; align-items: center; gap: 4px; }
.lk-migalhas li + li::before { content: "›"; color: var(--lk-tinta-3); }
.lk-migalhas li[hidden] { display: none; }
.lk-migalhas a { color: var(--lk-tinta-2); display: inline-flex; align-items: center; min-height: 32px; }
.lk-migalhas [aria-current] { color: var(--lk-tinta); font-weight: 600; }

/* --- Cabeça de secção (título + link) ----------------------------------- */
.lk-cabeca-secao { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.lk-cabeca-secao .lk-titulo-secao { margin-bottom: 0; }
.lk-link-seta { display: inline-flex; align-items: center; gap: 2px; min-height: var(--lk-alvo); font-weight: 600; white-space: nowrap; }
.lk-link-seta .lk-icone { width: 18px; height: 18px; }
@media (min-width: 768px) { .lk-cabeca-secao { margin-bottom: 28px; } }

/* ==========================================================================
   HOME
   ========================================================================== */

/* --- Destaque do produto principal -------------------------------------- */
.lk-hero { background: var(--lk-roxo); color: var(--lk-branco); padding: 16px 0 32px; }
.lk-hero__grelha { display: grid; gap: 20px; }
.lk-hero__media { position: relative; margin: 0; }
.lk-hero__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.lk-hero__media .lk-etiqueta { position: absolute; top: 12px; left: 12px; box-shadow: var(--lk-sombra); }
.lk-hero__texto { display: grid; gap: 12px; align-content: center; }
.lk-hero__sobre { font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--lk-menta); }
.lk-hero__titulo { font-size: 1.875rem; line-height: 1.12; letter-spacing: -0.02em; }
.lk-hero__sub { color: rgba(255, 255, 255, .85); max-width: 46ch; }
.lk-hero__avaliacao { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: .9375rem; color: rgba(255, 255, 255, .85); }
.lk-hero__avaliacao { text-decoration: none; min-height: var(--lk-alvo); }
.lk-hero__avaliacao strong { color: var(--lk-branco); }
.lk-hero__link { text-decoration: underline; text-underline-offset: 2px; }
.lk-hero__avaliacao:hover .lk-hero__link { color: var(--lk-branco); }
.lk-hero__preco { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.lk-hero__preco-valor { font-size: 1.75rem; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.lk-hero__preco-valor small { font-size: 1rem; font-weight: 500; color: rgba(255, 255, 255, .8); margin-right: 4px; letter-spacing: 0; }
.lk-hero__preco-nota { font-size: .875rem; color: var(--lk-menta); font-weight: 600; }
.lk-hero__acoes { display: grid; gap: 10px; margin-top: 4px; }
.lk-hero .lk-botao--primario { box-shadow: 0 6px 18px rgba(0, 0, 0, .25); }
.lk-botao--contorno-claro { background: transparent; color: var(--lk-branco); border-color: rgba(255, 255, 255, .5); }
.lk-botao--contorno-claro:hover { background: rgba(255, 255, 255, .08); border-color: var(--lk-branco); }
@media (min-width: 768px) {
  .lk-hero { padding: 48px 0 56px; }
  .lk-hero__grelha { grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
  .lk-hero__media { order: 2; }
  .lk-hero__media img { aspect-ratio: 1 / 1; border-radius: 20px; }
  .lk-hero__titulo { font-size: 2.75rem; }
  .lk-hero__sub { font-size: 1.125rem; }
  .lk-hero__acoes { grid-template-columns: auto auto; justify-content: start; }
  .lk-hero__acoes .lk-botao--primario { width: auto; padding-inline: 32px; }
}
@media (min-width: 1100px) { .lk-hero__titulo { font-size: 3.25rem; } }

/* --- Faixa de selos da home (4) ----------------------------------------- */
/* Texto centrado na altura do ícone (duas linhas cabem nos 40 px), por isso todos os selos têm a mesma
   altura, quebrem ou não. No desktop ficam numa linha só, do primeiro ao último encostados às margens. */
.lk-vantagens { background: var(--lk-roxo-tinta); border-bottom: 1px solid var(--lk-roxo-linha); padding: 20px 0; }
.lk-vantagens__lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; align-items: center; }
.lk-vantagem { display: flex; align-items: center; gap: 10px; min-width: 0; }
.lk-vantagem__texto { min-width: 0; text-wrap: balance; }
.lk-vantagem__icone { flex: none; width: 40px; height: 40px; border-radius: 12px; background: var(--lk-branco); color: var(--lk-roxo); display: flex; align-items: center; justify-content: center; }
.lk-vantagem__icone .lk-icone { width: 22px; height: 22px; }
.lk-vantagem__texto strong { display: block; font-size: .9375rem; color: var(--lk-roxo); line-height: 1.25; }
.lk-vantagem__texto span { display: block; font-size: .8125rem; color: var(--lk-tinta-2); line-height: 1.35; margin-top: 2px; }
@media (min-width: 960px) {
  .lk-vantagens { padding: 24px 0; }
  .lk-vantagens__lista { display: flex; justify-content: space-between; gap: 16px 32px; }
  .lk-vantagem { flex: 0 1 auto; gap: 12px; }
  .lk-vantagem__icone { width: 48px; height: 48px; }
  .lk-vantagem__texto strong { font-size: 1rem; }
}

/* --- Atalhos de categoria ----------------------------------------------- */
/* --lk-cats (celular) e --lk-cats-l (tablet e desktop) vêm de lkt_colunas_sem_soltos(): nunca sobra uma
   categoria sozinha numa linha; uma última linha incompleta (ex.: 7 = 4 + 3) fica centrada. */
.lk-categorias { --lk-cats-n: var(--lk-cats, 5); --lk-cats-gap: 6px; display: flex; flex-wrap: wrap; justify-content: center; gap: 14px var(--lk-cats-gap); }
.lk-categorias > li { display: flex; min-width: 0; flex: 0 0 calc((100% - (var(--lk-cats-n) - 1) * var(--lk-cats-gap)) / var(--lk-cats-n)); }
.lk-categorias > li > .lk-categoria { flex: 1; min-width: 0; }
.lk-categoria {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  text-decoration: none;
  color: var(--lk-tinta);
  font-weight: 600;
  font-size: .75rem;
  text-align: center;
  line-height: 1.2;
  border-radius: var(--lk-raio);
}
.lk-categoria__icone { width: 56px; height: 56px; border-radius: 50%; background: var(--lk-roxo-tinta); color: var(--lk-roxo); display: flex; align-items: center; justify-content: center; transition: background-color .15s ease, color .15s ease; }
.lk-categoria__icone .lk-icone { width: 26px; height: 26px; }
.lk-categoria__total { display: none; font-weight: 400; color: var(--lk-tinta-3); font-size: .8125rem; }
.lk-categoria:hover .lk-categoria__icone { background: var(--lk-roxo); color: var(--lk-menta); }
@media (min-width: 400px) { .lk-categoria { font-size: .8125rem; } .lk-categoria__icone { width: 60px; height: 60px; } }
@media (min-width: 768px) {
  .lk-categorias { --lk-cats-n: var(--lk-cats-l, var(--lk-cats, 5)); --lk-cats-gap: 16px; gap: 16px; }
  .lk-categoria { padding: 20px 8px; border: 1px solid var(--lk-cinza-2); font-size: 1rem; gap: 10px; }
  .lk-categoria:hover { border-color: var(--lk-roxo-linha); box-shadow: var(--lk-sombra); }
  .lk-categoria__icone { width: 72px; height: 72px; }
  .lk-categoria__icone .lk-icone { width: 32px; height: 32px; }
  .lk-categoria__total { display: block; margin-top: -6px; }
}

/* --- Grelha e cartão de produto (home e listagem) ----------------------- */
/* Sem cartões soltos: o número de colunas acompanha o número de cartões (contados com :has, por isso
   também vale depois de "Ver mais produtos"). A última linha nunca fica com 1 ou 2 cartões quando há
   mais de uma linha; em 2 colunas, um cartão ímpar no fim ocupa a linha inteira, deitado.
   Celular: 2. Tablet: 3; 4 se o resto em 3 for 1 ou 2 e em 4 não for; senão 2.
   Desktop: 4; se o resto em 4 for 1 ou 2: 3 se o total for múltiplo de 3, senão 5 (6 se em 5 também
   sobrarem 1 ou 2). */
.lk-grelha-produtos { --lk-colunas: 2; display: grid; grid-template-columns: repeat(var(--lk-colunas), minmax(0, 1fr)); gap: 24px 12px; }
@media (min-width: 768px) {
  .lk-grelha-produtos { --lk-colunas: 3; gap: 32px 20px; }
}
@media (min-width: 768px) and (max-width: 959px) {
  .lk-grelha-produtos:has(> :nth-child(3n+4):last-child, > :nth-child(3n+5):last-child) { --lk-colunas: 2; }
  .lk-grelha-produtos:has(> :nth-child(3n+4):last-child, > :nth-child(3n+5):last-child):has(> :nth-child(4n):last-child, > :nth-child(4n+3):last-child) { --lk-colunas: 4; }
}
@media (min-width: 960px) {
  .lk-grelha-produtos { --lk-colunas: 4; gap: 36px 24px; }
  .lk-grelha-produtos:has(> :nth-child(4n+5):last-child, > :nth-child(4n+6):last-child) { --lk-colunas: 5; gap: 32px 20px; }
  .lk-grelha-produtos:has(> :nth-child(4n+5):last-child, > :nth-child(4n+6):last-child):has(> :nth-child(5n+6):last-child, > :nth-child(5n+7):last-child) { --lk-colunas: 6; }
  .lk-grelha-produtos:has(> :nth-child(4n+5):last-child, > :nth-child(4n+6):last-child):has(> :nth-child(3n):last-child) { --lk-colunas: 3; gap: 36px 24px; }
}

/* Cartão ímpar no fim de uma grelha de 2 colunas: ocupa a linha, deitado (foto à esquerda, texto ao
   lado, ao centro). Celular sempre; tablet só quando a grelha caiu para 2 colunas (5, 13… cartões). */
@media (max-width: 767px) {
  .lk-grelha-produtos > .lk-produto-cartao:nth-child(odd):last-child:not(:first-child) { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: 1fr repeat(4, auto) 1fr; gap: 0 14px; }
  .lk-grelha-produtos > .lk-produto-cartao:nth-child(odd):last-child:not(:first-child) > * { grid-column: 2; margin-top: 6px; }
  .lk-grelha-produtos > .lk-produto-cartao:nth-child(odd):last-child:not(:first-child) > .lk-produto-cartao__media { grid-column: 1; grid-row: 1 / -1; margin: 0; }
  .lk-grelha-produtos > .lk-produto-cartao:nth-child(odd):last-child:not(:first-child) > .lk-produto-cartao__nome { grid-row: 2; margin-top: 0; }
  .lk-grelha-produtos > .lk-produto-cartao:nth-child(odd):last-child:not(:first-child) > .lk-produto-cartao__aval { grid-row: 3; }
  .lk-grelha-produtos > .lk-produto-cartao:nth-child(odd):last-child:not(:first-child) > .lk-produto-cartao__preco { grid-row: 4; }
  .lk-grelha-produtos > .lk-produto-cartao:nth-child(odd):last-child:not(:first-child) > .lk-produto-cartao__portes { grid-row: 5; }
}
@media (min-width: 768px) and (max-width: 959px) {
  .lk-grelha-produtos:has(> :nth-child(3n+4):last-child, > :nth-child(3n+5):last-child):not(:has(> :nth-child(4n):last-child, > :nth-child(4n+3):last-child)) > .lk-produto-cartao:nth-child(odd):last-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); grid-template-rows: 1fr repeat(4, auto) 1fr; gap: 0 20px; }
  .lk-grelha-produtos:has(> :nth-child(3n+4):last-child, > :nth-child(3n+5):last-child):not(:has(> :nth-child(4n):last-child, > :nth-child(4n+3):last-child)) > .lk-produto-cartao:nth-child(odd):last-child > * { grid-column: 2; margin-top: 6px; }
  .lk-grelha-produtos:has(> :nth-child(3n+4):last-child, > :nth-child(3n+5):last-child):not(:has(> :nth-child(4n):last-child, > :nth-child(4n+3):last-child)) > .lk-produto-cartao:nth-child(odd):last-child > .lk-produto-cartao__media { grid-column: 1; grid-row: 1 / -1; margin: 0; }
  .lk-grelha-produtos:has(> :nth-child(3n+4):last-child, > :nth-child(3n+5):last-child):not(:has(> :nth-child(4n):last-child, > :nth-child(4n+3):last-child)) > .lk-produto-cartao:nth-child(odd):last-child > .lk-produto-cartao__nome { grid-row: 2; margin-top: 0; }
  .lk-grelha-produtos:has(> :nth-child(3n+4):last-child, > :nth-child(3n+5):last-child):not(:has(> :nth-child(4n):last-child, > :nth-child(4n+3):last-child)) > .lk-produto-cartao:nth-child(odd):last-child > .lk-produto-cartao__aval { grid-row: 3; }
  .lk-grelha-produtos:has(> :nth-child(3n+4):last-child, > :nth-child(3n+5):last-child):not(:has(> :nth-child(4n):last-child, > :nth-child(4n+3):last-child)) > .lk-produto-cartao:nth-child(odd):last-child > .lk-produto-cartao__preco { grid-row: 4; }
  .lk-grelha-produtos:has(> :nth-child(3n+4):last-child, > :nth-child(3n+5):last-child):not(:has(> :nth-child(4n):last-child, > :nth-child(4n+3):last-child)) > .lk-produto-cartao:nth-child(odd):last-child > .lk-produto-cartao__portes { grid-row: 5; }
}

.lk-produto-cartao { position: relative; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.lk-produto-cartao[hidden] { display: none; }
.lk-produto-cartao__media { position: relative; margin: 0 0 4px; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: #D6D4D1; }
.lk-produto-cartao__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.lk-produto-cartao:hover .lk-produto-cartao__media img { transform: scale(1.035); }
.lk-produto-cartao__media .lk-etiqueta { position: absolute; top: 8px; left: 8px; font-size: .6875rem; padding: 2px 8px; }
.lk-produto-cartao__nome { font-size: .9375rem; font-weight: 600; line-height: 1.3; letter-spacing: 0; }
.lk-produto-cartao__nome a { color: var(--lk-tinta); text-decoration: none; }
/* o link do nome cobre o cartão inteiro: foto e nome levam ao produto, com uma só paragem do Tab */
.lk-produto-cartao__nome a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 14px; }
.lk-produto-cartao__nome a:focus-visible { outline: none; }
.lk-produto-cartao:has(a:focus-visible) { outline: 3px solid var(--lk-menta); outline-offset: 4px; border-radius: 14px; }
.lk-produto-cartao:hover .lk-produto-cartao__nome a { color: var(--lk-roxo); text-decoration: underline; }
.lk-produto-cartao__aval { display: flex; align-items: center; gap: 6px; font-size: .8125rem; color: var(--lk-tinta-2); }
.lk-produto-cartao__aval .lk-estrelas .lk-icone { width: 14px; height: 14px; }
.lk-produto-cartao__preco { font-size: 1.0625rem; font-weight: 800; color: var(--lk-roxo); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.lk-produto-cartao__preco small { font-size: .8125rem; font-weight: 500; color: var(--lk-tinta-2); margin-right: 3px; letter-spacing: 0; }
.lk-produto-cartao__portes { display: flex; align-items: flex-start; gap: 4px; font-size: .75rem; font-weight: 600; color: var(--lk-verde); line-height: 1.3; }
.lk-produto-cartao__portes .lk-icone { width: 15px; height: 15px; margin-top: 1px; }
@media (min-width: 768px) {
  .lk-produto-cartao__nome { font-size: 1rem; }
  .lk-produto-cartao__preco { font-size: 1.1875rem; }
  .lk-produto-cartao__portes { font-size: .8125rem; }
}

/* --- Porquê comprar na Laskero ------------------------------------------ */
.lk-porque { display: grid; gap: 14px; }
.lk-porque__item { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; padding: 18px; border-radius: 16px; background: var(--lk-branco); border: 1px solid var(--lk-cinza-2); }
.lk-porque__icone { grid-row: span 2; width: 44px; height: 44px; border-radius: 12px; background: var(--lk-roxo); color: var(--lk-menta); display: flex; align-items: center; justify-content: center; }
.lk-porque__icone .lk-icone { width: 24px; height: 24px; }
.lk-porque__item h3 { font-size: 1.0625rem; color: var(--lk-roxo); align-self: end; }
.lk-porque__item p { color: var(--lk-tinta-2); font-size: .9375rem; }
@media (min-width: 768px) { .lk-porque { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (min-width: 1100px) {
  .lk-porque { grid-template-columns: repeat(4, 1fr); }
  .lk-porque__item { grid-template-columns: 1fr; align-content: start; padding: 22px; }
  .lk-porque__item h3 { align-self: auto; }
  .lk-porque__icone { grid-row: auto; margin-bottom: 10px; }
}

/* avaliações em destaque */
.lk-depoimentos__topo { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 40px 0 16px; }
.lk-depoimentos__topo h3 { font-size: 1.25rem; color: var(--lk-roxo); }
.lk-depoimentos__media { display: inline-flex; align-items: center; gap: 8px; font-size: .9375rem; color: var(--lk-tinta-2); }
.lk-depoimentos__media strong { color: var(--lk-tinta); }
.lk-depoimentos { display: grid; gap: 14px; }
.lk-depoimento { margin: 0; padding: 20px; border-radius: 16px; background: var(--lk-branco); border: 1px solid var(--lk-cinza-2); display: flex; flex-direction: column; gap: 10px; }
.lk-depoimento blockquote { margin: 0; color: var(--lk-tinta); }
.lk-depoimento blockquote p { font-size: 1rem; }
.lk-depoimento figcaption { margin-top: auto; padding-top: 6px; display: flex; align-items: center; gap: 10px; font-size: .875rem; }
.lk-depoimento__inicial { width: 36px; height: 36px; border-radius: 50%; background: var(--lk-roxo-tinta); color: var(--lk-roxo); display: flex; align-items: center; justify-content: center; font-weight: 700; flex: none; }
.lk-depoimento__quem { display: grid; line-height: 1.35; }
.lk-depoimento__quem span { color: var(--lk-tinta-3); font-size: .8125rem; }
.lk-depoimento__quem a { font-size: .8125rem; }
@media (min-width: 768px) {
  .lk-depoimentos__topo { margin-top: 56px; }
  .lk-depoimentos { grid-template-columns: repeat(3, 1fr); gap: 20px; }
}

/* --- FAQ curto ---------------------------------------------------------- */
/* Duas colunas no desktop: .lk-duas-colunas (base.css). Aqui só o celular e o tablet, iguais a antes. */
@media (max-width: 1023px) {
  .lk-faq-home__grelha { display: grid; gap: 8px; }
  .lk-faq-home__grelha .lk-duas-colunas__principal { max-width: none; }
  .lk-duas-colunas__movel { color: var(--lk-tinta-2); margin-top: -8px; }
  .lk-faq-home__grelha .lk-link-seta { margin-top: 4px; }
}

/* ==========================================================================
   LISTAGEM (loja.html)
   ========================================================================== */
.lk-listagem { padding-block: 16px 48px; }
.lk-listagem__topo { margin: 8px 0 16px; }
.lk-listagem__titulo { font-size: 1.75rem; color: var(--lk-roxo); letter-spacing: -0.02em; }
.lk-listagem__descricao { color: var(--lk-tinta-2); margin-top: 6px; max-width: 60ch; }
@media (min-width: 768px) {
  .lk-listagem { padding-block: 24px 72px; }
  .lk-listagem__topo { margin: 12px 0 24px; }
  .lk-listagem__titulo { font-size: 2.5rem; }
  .lk-listagem__descricao { font-size: 1.125rem; }
}

/* chips de categoria: rolam na horizontal no celular, dentro do próprio bloco */
.lk-chips { margin-inline: calc(-1 * var(--lk-gutter)); }
.lk-chips ul { display: flex; gap: 8px; overflow-x: auto; padding: 2px var(--lk-gutter) 8px; scrollbar-width: none; }
.lk-chips ul::-webkit-scrollbar { display: none; }
.lk-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: var(--lk-alvo);
  padding: 0 16px;
  border: 1px solid var(--lk-cinza-3);
  border-radius: 999px;
  background: var(--lk-branco);
  color: var(--lk-tinta);
  font-weight: 600;
  font-size: .9375rem;
  text-decoration: none;
  white-space: nowrap;
}
.lk-chip:hover { border-color: var(--lk-roxo); }
.lk-chip[aria-current="page"] { background: var(--lk-roxo); border-color: var(--lk-roxo); color: var(--lk-branco); }
.lk-chip small { font-size: .8125rem; font-weight: 500; opacity: .75; }
@media (min-width: 768px) { .lk-chips { margin-inline: 0; } .lk-chips ul { flex-wrap: wrap; padding-inline: 0; overflow: visible; } }

.lk-ferramentas { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; margin-bottom: 20px; border-top: 1px solid var(--lk-cinza-2); border-bottom: 1px solid var(--lk-cinza-2); }
.lk-ferramentas__total { font-size: .875rem; color: var(--lk-tinta-2); }
.lk-ordenar { display: flex; align-items: center; gap: 8px; font-size: .875rem; }
.lk-ordenar label { color: var(--lk-tinta-2); white-space: nowrap; }
.lk-ordenar select {
  min-height: var(--lk-alvo);
  padding: 0 36px 0 12px;
  border: 1px solid var(--lk-cinza-3);
  border-radius: var(--lk-raio-p);
  background: var(--lk-branco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2338036D' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 18px;
  font-weight: 600;
  color: var(--lk-tinta);
  -webkit-appearance: none;
  appearance: none;
  max-width: 190px;
}
.lk-ordenar select:focus-visible { outline: 3px solid var(--lk-menta); outline-offset: 2px; }
@media (max-width: 380px) { .lk-ordenar label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }

.lk-vazio { padding: 32px 16px; text-align: center; color: var(--lk-tinta-2); border: 1px dashed var(--lk-cinza-3); border-radius: 16px; }
.lk-mais { display: grid; justify-items: center; gap: 10px; margin-top: 40px; }
.lk-mais[hidden] { display: none; }
.lk-mais__estado { font-size: .875rem; color: var(--lk-tinta-2); }
.lk-mais__trilho { width: 200px; height: 4px; border-radius: 999px; background: var(--lk-cinza-2); overflow: hidden; }
.lk-mais__cheio { display: block; height: 100%; background: var(--lk-roxo); border-radius: 999px; }
.lk-mais .lk-botao { min-width: 240px; }

/* ==========================================================================
   PÁGINA DE TEXTO (pagina.html)
   ========================================================================== */
.lk-pagina { padding: 16px 0 56px; }
.lk-pagina__cabeca { margin: 8px 0 20px; max-width: 760px; }
.lk-pagina__titulo { font-size: 2rem; color: var(--lk-roxo); letter-spacing: -0.02em; }
.lk-pagina__data { margin-top: 6px; font-size: .875rem; color: var(--lk-tinta-3); }
.lk-pagina__grelha { display: grid; gap: 24px; }
@media (min-width: 960px) {
  .lk-pagina { padding: 24px 0 88px; }
  .lk-pagina__titulo { font-size: 2.75rem; }
  .lk-pagina__grelha { grid-template-columns: 240px minmax(0, 1fr); gap: 64px; align-items: start; }
  .lk-pagina__grelha > aside { align-self: stretch; } /* a coluna ocupa a altura do texto, para o índice poder ficar fixo */
}

/* aviso de modelo (protótipo) */
.lk-nota-modelo { display: flex; gap: 12px; padding: 14px 16px; border-radius: var(--lk-raio); background: var(--lk-aviso-fundo); color: var(--lk-aviso-texto); font-size: .9375rem; line-height: 1.5; margin-bottom: 20px; max-width: 760px; }
.lk-nota-modelo .lk-icone { width: 22px; height: 22px; margin-top: 1px; }
.lk-nota-modelo strong { color: #4A3300; }

/* índice: caixa no topo no celular, coluna fixa ao lado no desktop */
.lk-indice { padding: 16px 18px; border-radius: var(--lk-raio); background: var(--lk-cinza-1); }
.lk-indice__titulo { font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lk-tinta-2); margin-bottom: 6px; }
.lk-indice ol { counter-reset: indice; }
.lk-indice a {
  display: flex;
  gap: 10px;
  min-height: 40px;
  align-items: center;
  padding: 4px 10px;
  margin-inline: -10px;
  border-radius: var(--lk-raio-p);
  color: var(--lk-tinta);
  text-decoration: none;
  font-size: .9375rem;
  line-height: 1.3;
}
.lk-indice a::before { counter-increment: indice; content: counter(indice); font-variant-numeric: tabular-nums; color: var(--lk-tinta-3); font-size: .8125rem; min-width: 1.1em; }
.lk-indice a:hover { background: var(--lk-roxo-tinta); color: var(--lk-roxo); }
.lk-indice a[aria-current="true"] { background: var(--lk-roxo-tinta); color: var(--lk-roxo); font-weight: 700; }
.lk-indice a[aria-current="true"]::before { color: var(--lk-roxo); }
@media (min-width: 960px) {
  .lk-indice { position: sticky; top: calc(var(--lk-cabecalho) + 24px); background: transparent; padding: 0; border-radius: 0; }
  .lk-indice__titulo { margin-bottom: 10px; }
  .lk-indice ol { border-left: 2px solid var(--lk-cinza-2); padding-left: 12px; }
  .lk-indice a { font-size: .875rem; min-height: 36px; }
}

/* texto corrido: medida e entrelinha confortáveis */
.lk-prosa { max-width: 68ch; font-size: 1.0625rem; line-height: 1.7; color: var(--lk-tinta); }
.lk-prosa section + section { margin-top: 40px; }
.lk-prosa h2 { font-size: 1.375rem; color: var(--lk-roxo); margin-bottom: 12px; scroll-margin-top: calc(var(--lk-cabecalho) + 20px); }
.lk-prosa h3 { font-size: 1.0625rem; margin: 20px 0 6px; }
.lk-prosa p + p, .lk-prosa p + ul, .lk-prosa p + ol, .lk-prosa ul + p, .lk-prosa ol + p { margin-top: 14px; }
.lk-prosa ul { list-style: disc; padding-left: 22px; }
.lk-prosa ul li + li { margin-top: 6px; }
.lk-prosa ul li::marker { color: var(--lk-roxo); }
.lk-prosa strong { font-weight: 700; }
.lk-prosa a { font-weight: 500; }
.lk-prosa .lk-resumo { font-size: 1.1875rem; color: var(--lk-tinta-2); line-height: 1.6; }
.lk-prosa .lk-resumo + section { margin-top: 32px; }
@media (min-width: 960px) { .lk-prosa h2 { font-size: 1.625rem; } .lk-prosa section + section { margin-top: 48px; } }

/* dados de exemplo entre colchetes */
.lk-dado { background: var(--lk-aviso-fundo); color: var(--lk-aviso-texto); border-radius: 4px; padding: 0 3px; font-weight: 600; -webkit-box-decoration-break: clone; box-decoration-break: clone; }

/* passos numerados */
.lk-passos { counter-reset: passo; display: grid; gap: 14px; margin-top: 16px; }
.lk-passos li { position: relative; padding-left: 46px; min-height: 32px; }
.lk-passos li::before { counter-increment: passo; content: counter(passo); position: absolute; left: 0; top: 0; width: 32px; height: 32px; border-radius: 50%; background: var(--lk-roxo); color: var(--lk-menta); font-weight: 700; font-size: .9375rem; display: flex; align-items: center; justify-content: center; line-height: 1; }

/* destaques no texto */
.lk-caixa-texto { margin-top: 18px; padding: 16px 18px; border-radius: var(--lk-raio); background: var(--lk-roxo-tinta); border-left: 4px solid var(--lk-roxo); font-size: 1rem; line-height: 1.6; }
.lk-caixa-texto p + p { margin-top: 8px; }
.lk-documento { display: flex; align-items: center; gap: 14px; margin-top: 18px; padding: 14px 16px; border: 1px solid var(--lk-cinza-3); border-radius: var(--lk-raio); text-decoration: none; color: var(--lk-tinta); line-height: 1.35; }
.lk-documento:hover { border-color: var(--lk-roxo); background: var(--lk-roxo-tinta); }
.lk-documento__icone { flex: none; width: 44px; height: 44px; border-radius: 10px; background: var(--lk-roxo); color: var(--lk-menta); display: flex; align-items: center; justify-content: center; }
.lk-documento__icone .lk-icone { width: 24px; height: 24px; }
.lk-documento strong { display: block; color: var(--lk-roxo); }
.lk-documento span { font-size: .875rem; color: var(--lk-tinta-2); }
.lk-modelo-form { margin-top: 18px; padding: 18px; border: 1px dashed var(--lk-cinza-3); border-radius: var(--lk-raio); background: var(--lk-cinza-1); font-size: .9375rem; line-height: 1.65; }
.lk-modelo-form h3 { margin-top: 0; font-size: 1rem; }
.lk-modelo-form p + p { margin-top: 6px; }

/* ajuda no fim da página */
.lk-ajuda { margin-top: 48px; padding: 22px; border-radius: 16px; background: var(--lk-roxo); color: var(--lk-branco); display: grid; gap: 14px; max-width: 68ch; }
.lk-prosa .lk-ajuda h2 { font-size: 1.25rem; color: var(--lk-branco); margin-bottom: 0; }
.lk-ajuda p { color: rgba(255, 255, 255, .85); }
.lk-ajuda__acoes { display: flex; flex-wrap: wrap; gap: 10px; }
.lk-ajuda .lk-botao--primario { width: auto; box-shadow: none; }

/* --- WhatsApp (nestas telas fica sempre visível; não há barra fixa) ----- */
.lk-whatsapp {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 45;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #1DA955;
  color: var(--lk-branco);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--lk-sombra);
  transition: transform .15s ease;
}
.lk-whatsapp:hover { transform: scale(1.05); }
.lk-whatsapp .lk-icone { width: 28px; height: 28px; }
/* No celular, só aparece depois do primeiro ecrã (classe posta pelo loja.js), para não tapar os botões do topo. */
@media (max-width: 959px) {
  .lk-js .lk-whatsapp { opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s ease, visibility .2s, transform .2s ease; }
  .lk-js.lk-rolou .lk-whatsapp { opacity: 1; visibility: visible; transform: none; }
}
@media (min-width: 960px) { .lk-whatsapp { right: 24px; bottom: 24px; width: 56px; height: 56px; } }

/* ==========================================================================
   Tema WordPress: ajustes ao conteúdo real
   ========================================================================== */
.lk-depoimentos__topo--inicio { margin-top: 0; }
.lk-depoimentos__topo .lk-titulo-secao { margin-bottom: 0; }
.lk-listagem__descricao p + p { margin-top: 8px; }
.lk-ordenar { margin: 0; }
@media (min-width: 960px) { .lk-pagina__grelha.lk-pagina__grelha--simples { grid-template-columns: minmax(0, 1fr); } }

/* texto escrito no editor (sem as secções do protótipo) */
.lk-prosa > h2:not(:first-child) { margin-top: 40px; }
.lk-prosa > h3:not(:first-child) { margin-top: 24px; }
.lk-prosa ol { list-style: decimal; padding-left: 22px; }
.lk-prosa ol li + li { margin-top: 6px; }
.lk-prosa > * + p, .lk-prosa > * + ul, .lk-prosa > * + ol, .lk-prosa > * + figure, .lk-prosa > * + table { margin-top: 14px; }
.lk-prosa figure { margin-block: 20px; }
.lk-prosa img { border-radius: var(--lk-raio); }
.lk-prosa table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.lk-prosa th, .lk-prosa td { padding: 8px 10px; border-bottom: 1px solid var(--lk-cinza-2); text-align: left; }
.lk-prosa blockquote { margin: 20px 0; padding-left: 16px; border-left: 4px solid var(--lk-roxo-linha); color: var(--lk-tinta-2); }
.lk-artigo + .lk-artigo { margin-top: 32px; }
.lk-artigo h2 a { color: inherit; text-decoration: none; }
.lk-artigo h2 a:hover { text-decoration: underline; }

/* 404 */
.lk-erro404 { display: grid; justify-items: center; gap: 12px; padding: 32px 0 16px; text-align: center; }
.lk-erro404__icone .lk-icone { width: 56px; height: 56px; color: var(--lk-roxo-linha); }
.lk-erro404__acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 8px; }
