/* SóGuia — Visual Aprimorado v1.0.0
   Camada opcional. Não substitui o CSS original e pode ser desativada no administrador. */

:root{
  --sgv-radius-sm:10px;
  --sgv-radius-md:14px;
  --sgv-radius-lg:18px;
  --sgv-radius-xl:22px;
  --sgv-shadow-soft:0 8px 24px rgba(16,33,61,.075);
  --sgv-shadow-hover:0 14px 34px rgba(16,33,61,.12);
  --sgv-border:rgba(16,33,61,.09);
  --sgv-transition:160ms ease;
}

/* Superfícies públicas: consistência sem trocar identidade visual */
body.sg-visual-enhanced :is(.card,.company-card,.original-company-card,.category-company-card,.item-card,.campaign-public-card,.advertiser-home-card,.contact-card,.page-card,.company-section,.legal-card,.cp-card){
  border-radius:var(--sgv-radius-lg);
  border-color:var(--sgv-border);
  box-shadow:var(--sgv-shadow-soft);
}

body.sg-visual-enhanced :is(.company-card,.original-company-card,.category-company-card,.item-card,.campaign-public-card,.advertiser-home-card){
  transition:transform var(--sgv-transition),box-shadow var(--sgv-transition),border-color var(--sgv-transition);
}
@media (hover:hover){
  body.sg-visual-enhanced :is(.company-card,.original-company-card,.category-company-card,.item-card,.campaign-public-card,.advertiser-home-card):hover{
    transform:translateY(-2px);
    box-shadow:var(--sgv-shadow-hover);
    border-color:rgba(17,85,204,.16);
  }
}

/* Hierarquia tipográfica dos cartões */
body.sg-visual-enhanced :is(.card-title,.company-name,.original-company-info h3,.category-company-card h3){
  letter-spacing:-.012em;
  line-height:1.22;
}
body.sg-visual-enhanced :is(.card-category,.company-category,.original-category,.card-location,.company-location,.card-meta){
  line-height:1.45;
}

/* Imagens e capas: recorte limpo e cantos coerentes */
body.sg-visual-enhanced :is(.card-logo,.company-logo,.original-company-logo,.category-company-card img){
  border-radius:var(--sgv-radius-md);
}
body.sg-visual-enhanced :is(.company-cover,.company-hero-cover,.original-company-visual){
  overflow:hidden;
}

/* Botões: mesma sensação de clique e melhor leitura */
body.sg-visual-enhanced :is(.btn,.btn-view,.company-actions a,.card-actions a,.category-location-actions a){
  border-radius:var(--sgv-radius-sm);
  transition:transform 120ms ease,box-shadow 120ms ease,filter 120ms ease,background-color 120ms ease;
}
@media (hover:hover){
  body.sg-visual-enhanced :is(.btn,.btn-view,.company-actions a,.card-actions a,.category-location-actions a):hover{
    transform:translateY(-1px);
    filter:saturate(1.04);
  }
}
body.sg-visual-enhanced :is(.btn,.btn-view,.company-actions a,.card-actions a,.category-location-actions a):active{
  transform:translateY(0) scale(.985);
}

/* Busca e filtros: padronização da interface */
body.sg-visual-enhanced :is(.original-search,.category-search-shell,.category-search-box,.category-filters){
  border-radius:var(--sgv-radius-lg);
  box-shadow:var(--sgv-shadow-soft);
}
body.sg-visual-enhanced :is(input[type="search"],.category-search-input,.original-search input,.category-filter-grid input,.category-filter-grid select){
  border-radius:var(--sgv-radius-sm);
  transition:border-color var(--sgv-transition),box-shadow var(--sgv-transition),background-color var(--sgv-transition);
}
body.sg-visual-enhanced :is(input[type="search"],.category-search-input,.original-search input,.category-filter-grid input,.category-filter-grid select):focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(17,85,204,.10);
}

/* Cabeçalho: apenas acabamento, sem mudar estrutura */
body.sg-visual-enhanced :is(.original-header,.sg2-header){
  backdrop-filter:saturate(1.08) blur(12px);
  -webkit-backdrop-filter:saturate(1.08) blur(12px);
}

/* Grades e espaçamento entre módulos */
body.sg-visual-enhanced :is(.company-grid,.original-company-grid,.category-company-grid,.item-grid,.campaign-public-grid,.advertiser-home-grid){
  gap:clamp(14px,2vw,20px);
}
body.sg-visual-enhanced :is(.cards,.grid){
  gap:clamp(14px,2vw,20px);
}

/* Selos, categoria e distância: leitura mais organizada */
body.sg-visual-enhanced :is(.company-status,.card-category,.company-category){
  border-radius:999px;
}

/* Acessibilidade: foco visível em navegação por teclado */
body.sg-visual-enhanced :is(a,button,input,select,textarea):focus-visible{
  outline:3px solid rgba(17,85,204,.28);
  outline-offset:2px;
}

/* Mobile: reduz aperto sem aumentar excessivamente os cartões */
@media (max-width:640px){
  body.sg-visual-enhanced :is(.company-grid,.original-company-grid,.category-company-grid,.item-grid,.campaign-public-grid,.advertiser-home-grid){gap:12px}
  body.sg-visual-enhanced :is(.card,.company-card,.original-company-card,.category-company-card,.item-card,.campaign-public-card,.advertiser-home-card,.contact-card,.page-card,.company-section){
    border-radius:14px;
  }
  body.sg-visual-enhanced :is(.card-actions,.company-actions,.category-location-actions){gap:8px}
  body.sg-visual-enhanced :is(.card-actions a,.company-actions a,.category-location-actions a,.btn){min-height:40px}
  body.sg-visual-enhanced :is(.original-search,.category-search-shell,.category-search-box){border-radius:15px}
}

/* Respeita usuários que preferem menos movimento */
@media (prefers-reduced-motion:reduce){
  body.sg-visual-enhanced *,body.sg-visual-enhanced *::before,body.sg-visual-enhanced *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

/* v1.0.2 — Categorias populares no padrão visual dos cards */
body.sg-visual-enhanced .original-category.liquid-card,
body.sg-visual-enhanced a.original-category{
  border-radius:12px !important;
}
