/* ==========================================================================
   Novo layout — institucional (ver css/novo.css para o design system)
   Carregado ANTES de novo-premium.css: as regras daqui usam seletores um
   pouco mais específicos que os da camada premium e do custom.css antigo.
   Mobile-first (375px); degraus em 761px e 1051px (= quebras 760/1050 do
   novo-premium.css).
   ========================================================================== */

/* ==========================================================================
   Página de clientes (clientes.php)
   main.lb-inst > .lb-phero + .lb-cli-strip + .lb-section (.lb-cli-top,
   ul.lb-cli-grid > li.lb-cli, p.lb-cli-empty) + .lb-cta
   ========================================================================== */

/* Invólucro: zera o espaço do header fixo antigo (custom.css: main.interna
   ganha margin-top:310px no celular) e o min-height de "main" */
body.lb main.lb-inst{margin-top:0!important;min-height:0;background:#fff;overflow-x:clip}

/* ---------- Hero escuro (mesma linguagem do .lb-page-hero) ---------- */
.lb-phero{position:relative;background:var(--lb-graphite-900);color:#fff;overflow:hidden;isolation:isolate}
.lb-phero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--lb-grid);background-size:44px 44px;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.5) 60%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.5) 60%,transparent 100%);pointer-events:none}
.lb-phero:after{content:"";position:absolute;z-index:-1;width:640px;height:640px;right:-260px;top:-360px;border-radius:50%;background:radial-gradient(circle,rgba(242,139,34,.2),transparent 65%);pointer-events:none}
.lb-phero .lb-wrap{position:relative;padding-top:44px;padding-bottom:44px}
.lb-phero .lb-crumbs{margin-bottom:22px}
.lb-phero .lb-crumbs span[aria-hidden]{opacity:.5}
.lb-phero .lb-crumbs [aria-current]{color:#fff}
.lb-phero .lb-eyebrow{color:#ffb469!important}
body.lb .lb-phero h1{margin:0 0 16px;max-width:900px;font:700 clamp(31px,4.2vw,56px)/1.06 var(--lb-display)!important;letter-spacing:-.035em;color:#fff!important;text-transform:none}
body.lb .lb-phero h1 em{font-family:var(--lb-serif)!important;font-style:italic;font-weight:400;letter-spacing:-.01em;color:#ffb469}
.lb-phero .lb-wrap>p{margin:0;max-width:680px;font-size:16px;line-height:1.6;color:var(--lb-on-dark)}

/* Números (padrão .lb-stats da home: vidro escuro, Inter Tight + mono laranja-claro) */
.lb-phero-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:36px;border:1px solid rgba(255,255,255,.1);border-radius:var(--lb-r-lg);background:rgba(255,255,255,.035);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden}
.lb-phero-stats div{display:flex;flex-direction:column;gap:10px;min-width:0;padding:20px}
.lb-phero-stats div:nth-child(2){border-left:1px solid rgba(255,255,255,.08)}
.lb-phero-stats div:nth-child(3){grid-column:1/-1;border-top:1px solid rgba(255,255,255,.08)}
.lb-phero-stats strong{display:block;font:600 28px/1 var(--lb-display);letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.lb-phero-stats span{display:block;font:500 10.5px/1.5 var(--lb-mono);letter-spacing:.12em;text-transform:uppercase;color:#ffb469}

/* ---------- Faixa "Entre eles" (nomes de destaque) ---------- */
.lb-cli-strip{position:relative;background:var(--lb-paper);border-bottom:1px solid var(--lb-line)}
.lb-cli-strip:before{content:"";position:absolute;inset:0;background-image:var(--lb-grid-light);background-size:22px 22px;mask-image:linear-gradient(90deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 70%);pointer-events:none}
.lb-cli-strip .lb-wrap{position:relative;display:flex;flex-direction:column;gap:12px;padding-top:22px;padding-bottom:22px}
.lb-cli-strip span{flex:none;display:inline-flex;align-items:center;gap:10px;font:500 11px/1 var(--lb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lb-orange-dark)}
.lb-cli-strip span:before{content:"";width:22px;height:1px;background:currentColor;opacity:.8}
.lb-cli-strip ul{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;margin:0;padding:0;list-style:none}
.lb-cli-strip li{display:inline-flex;align-items:center;margin:0;padding:0;font:600 15px/1.3 var(--lb-display);letter-spacing:-.015em;color:var(--lb-ink);background:none}
.lb-cli-strip li+li:before{content:"";width:5px;height:5px;margin:0 12px;border-radius:1px;background:var(--lb-orange);transform:rotate(45deg);opacity:.85}

/* ---------- Título da grade + busca ---------- */
.lb-cli-top{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}
body.lb .lb-cli-top h2{margin:0 0 10px;font:700 clamp(26px,3vw,40px)/1.08 var(--lb-display)!important;letter-spacing:-.03em;color:var(--lb-ink)!important;text-transform:none}
.lb-cli-top p{display:inline-flex;align-items:center;gap:8px;margin:0;font:500 11.5px/1 var(--lb-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lb-muted-2)}
.lb-cli-top p:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lb-orange);box-shadow:0 0 0 4px var(--lb-orange-soft)}

/* Campo de busca (mesma pele do .lb-search do header) */
.lb-cli-search{position:relative;width:100%;margin:0}
.lb-cli-search svg{position:absolute;left:16px;top:50%;width:17px;height:17px;transform:translateY(-50%);color:var(--lb-ink);opacity:.45;pointer-events:none;transition:opacity .2s}
.lb-cli-search input{display:block;width:100%;height:auto;margin:0;padding:14px 16px 14px 44px;border:1px solid var(--lb-line);border-radius:14px;background:#f4f5f7;font:400 16px/1.3 var(--lb-font);color:var(--lb-ink);box-shadow:none;-webkit-appearance:none;appearance:none;transition:border-color .2s,background .2s,box-shadow .2s}
.lb-cli-search input::placeholder{color:var(--lb-muted-2);opacity:1}
.lb-cli-search input::-webkit-search-decoration{-webkit-appearance:none}
.lb-cli-search input::-webkit-search-cancel-button{cursor:pointer}
.lb-cli-search input:focus{outline:none;border-color:var(--lb-ink);background:#fff;box-shadow:0 0 0 4px rgba(12,21,34,.06)!important}
.lb-cli-search:focus-within svg{opacity:.8}

/* ---------- Grade de logos (pele do .lb-client da home) ---------- */
.lb-cli-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.lb-cli{position:relative;display:block;margin:0;padding:0;height:96px;background:#fff;border:1px solid var(--lb-line);border-radius:var(--lb-r-md);overflow:hidden;transition:transform .35s var(--lb-ease),border-color .35s,box-shadow .35s}
.lb-cli[hidden]{display:none!important}
.lb-cli:before{content:"";position:absolute;inset:0;background-image:var(--lb-grid-light);background-size:18px 18px;opacity:0;transition:opacity .4s;mask-image:radial-gradient(ellipse at center,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 75%);pointer-events:none}
.lb-cli>a,.lb-cli>span{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:16px 18px;text-decoration:none!important}
.lb-cli img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.62;mix-blend-mode:multiply;transition:filter .3s,opacity .3s}
.lb-cli:hover{transform:translateY(-3px);border-color:rgba(12,21,34,.16);box-shadow:var(--lb-shadow-md)}
.lb-cli:hover:before{opacity:1}
.lb-cli:hover img,.lb-cli>a:focus-visible img{filter:none;opacity:1}
.lb-cli>a:focus-visible{outline:2px solid var(--lb-orange);outline-offset:-2px;border-radius:var(--lb-r-md)}
/* Toque (sem hover): logos menos apagados */
@media (hover:none){.lb-cli img{filter:grayscale(.4);opacity:.85}}

/* Nada encontrado na busca */
.lb-cli-empty{margin:8px 0 0;padding:32px 22px;border:1px dashed #cfd3d6;border-radius:var(--lb-r-lg);background:var(--lb-bg-alt);font-size:15px;line-height:1.65;color:var(--lb-muted);text-align:center}
.lb-cli-empty[hidden]{display:none!important}
.lb-cli-empty a{color:var(--lb-orange-dark)!important;font-weight:600;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px}
.lb-cli-empty a:hover{color:var(--lb-ink)!important}

@media(min-width:561px){
  .lb-cli-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:761px){
  .lb-phero .lb-wrap{padding-top:64px;padding-bottom:64px}
  .lb-phero .lb-crumbs{margin-bottom:26px}
  .lb-phero .lb-wrap>p{font-size:17.5px}
  .lb-phero-stats{grid-template-columns:repeat(3,minmax(0,1fr));max-width:920px;margin-top:48px}
  .lb-phero-stats div{padding:24px 26px}
  .lb-phero-stats div+div{border-left:1px solid rgba(255,255,255,.12)}
  .lb-phero-stats div:nth-child(3){grid-column:auto;border-top:0}
  .lb-phero-stats strong{font-size:34px}
  .lb-cli-strip .lb-wrap{flex-direction:row;align-items:center;gap:28px}
  .lb-cli-strip li{font-size:16px}
  .lb-cli-top{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}
  .lb-cli-search{flex:0 1 380px}
  .lb-cli-search input{font-size:14.5px}
  .lb-cli-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .lb-cli{height:112px}
  .lb-cli>a,.lb-cli>span{padding:18px 22px}
  .lb-cli-empty{padding:40px}
}
@media(min-width:1051px){
  .lb-phero .lb-wrap{padding-top:72px;padding-bottom:72px}
  .lb-phero:after{right:-180px;top:-320px}
  .lb-cli-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
  .lb-cli{height:120px}
}

/* ==========================================================================
   Catálogo (categorias.php, subcategorias.php — markup em
   include.lb-catalogo.php). Complementa css/novo-catalogo.css.
   ========================================================================== */

/* Coluna de texto do hero: evita estouro no grid e põe o título na tipografia premium.
   O eyebrow precisa do laranja-claro: o .lb-eyebrow premium (laranja escuro, !important)
   não prevê o .lb-cat-hero e some no fundo escuro. */
.lb-cat-hero-copy{min-width:0}
.lb-cat-hero-copy .lb-eyebrow{color:#ffb469!important;margin-bottom:14px}
body.lb .lb-cat-hero-copy h1{font:700 clamp(27px,3.6vw,46px)/1.08 var(--lb-display)!important;letter-spacing:-.03em;color:#fff!important}
body.lb .lb-cat-hero-copy h1 em{font-family:var(--lb-serif)!important;font-style:italic;font-weight:400;letter-spacing:-.01em;color:#ffb469}

/* Filtro rápido da lista (input#lb-cat-filtro): mesma pele do campo de busca */
.lb-cat-filter #lb-cat-filtro{height:auto;margin:0;padding:12px 16px 12px 42px;border:1px solid var(--lb-line);border-radius:14px;background:#f4f5f7;font:400 16px/1.3 var(--lb-font);color:var(--lb-ink);box-shadow:none;-webkit-appearance:none;appearance:none;transition:border-color .2s,background .2s,box-shadow .2s}
.lb-cat-filter #lb-cat-filtro::placeholder{color:var(--lb-muted-2);opacity:1}
.lb-cat-filter #lb-cat-filtro:focus{outline:none;border-color:var(--lb-ink);background:#fff;box-shadow:0 0 0 4px rgba(12,21,34,.06)!important}
@media(min-width:761px){.lb-cat-filter #lb-cat-filtro{font-size:14px}}

/* Aviso "nenhum produto corresponde ao filtro" (div#lb-cat-nofilter, alternado pelo JS) */
.lb-cat-empty[hidden]{display:none!important}
.lb-cat-main #lb-cat-nofilter{margin:0 0 20px;border-radius:var(--lb-r-md)}
.lb-cat-main #lb-cat-nofilter a{text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px}

/* Âncora "busca do catálogo" (#lb-q = campo de busca do header): destaca o campo ao chegar */
#lb-q{scroll-margin-top:96px}
#lb-q:target{border-color:var(--lb-orange);background:#fff;box-shadow:0 0 0 4px var(--lb-orange-glow)!important}

/* Título do texto SEO (h2#lb-cat-seo-t) */
body.lb .lb-cat-seo #lb-cat-seo-t{margin:0 0 16px;font:700 clamp(22px,2.2vw,28px)/1.2 var(--lb-display)!important;letter-spacing:-.025em;color:var(--lb-ink)!important;text-transform:none}

/* CTA final do catálogo (.lb-cta.lb-cat-cta) */
.lb-cta.lb-cat-cta .lb-wrap{padding-top:56px;padding-bottom:56px}
.lb-cat-cta p{max-width:600px}
.lb-cat-cta .lb-cta-actions .lb-ico{width:18px;height:18px}
@media(min-width:761px){
  .lb-cta.lb-cat-cta .lb-wrap{padding-top:80px;padding-bottom:80px}
}
