/* Extracted from single-empresa.php style block 3 in v4 cleanup. */
/* =========================================================
   SINGLE EMPRESA — CLEAN PREMIUM 10/10 FINAL POLISH
   Objetivo: manter recursos, remover peso visual, melhorar ritmo,
   percepção premium, legibilidade, mobile e acabamento.
   ========================================================= */
:root{
    --gg-bg:#fbfaf7;
    --gg-surface:#ffffff;
    --gg-ink:#111827;
    --gg-text:#374151;
    --gg-muted:#6b7280;
    --gg-subtle:#9ca3af;
    --gg-line:rgba(17,24,39,.09);
    --gg-line-soft:rgba(17,24,39,.055);
    --gg-soft:#f7f8fa;
    --gg-soft-2:#f1f5f9;
    --gg-ocean:#0b6f8e;
    --gg-ocean-dark:#07566f;
    --gg-whatsapp:#075e54;
    --gg-radius:28px;
    --gg-radius-sm:18px;
    --gg-shadow:0 24px 70px rgba(15,23,42,.08);
    --gg-shadow-soft:0 12px 34px rgba(15,23,42,.055);
}
html{scroll-behavior:smooth}
body{
    background:radial-gradient(circle at 20% -10%,rgba(14,165,183,.07),transparent 32%),linear-gradient(180deg,#fff 0%,var(--gg-bg) 100%)!important;
    color:var(--gg-text)!important;
    -webkit-font-smoothing:antialiased!important;
    text-rendering:optimizeLegibility!important;
}
.empresa-single{
    width:min(1180px,calc(100% - 32px))!important;
    max-width:1180px!important;
    margin:0 auto!important;
    background:transparent!important;
    padding:0!important;
}
.header-bar{
    border:0!important;
    background:transparent!important;
    padding:20px 0 12px!important;
}
.btn-voltar,.acao{
    width:42px!important;height:42px!important;
    border:1px solid var(--gg-line)!important;
    background:rgba(255,255,255,.78)!important;
    color:var(--gg-ink)!important;
    box-shadow:0 10px 26px rgba(15,23,42,.06)!important;
    backdrop-filter:blur(14px)!important;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease!important;
}
.btn-voltar:hover,.acao:hover{transform:translateY(-2px)!important;box-shadow:0 16px 36px rgba(15,23,42,.10)!important;background:#fff!important}
.breadcrumb-wrapper{
    background:transparent!important;
    border:0!important;
    padding:0 0 18px!important;
}
.breadcrumb-container{gap:10px!important;align-items:center!important}
.breadcrumb{
    gap:7px!important;
    color:var(--gg-muted)!important;
    font-size:.78rem!important;
    letter-spacing:.01em!important;
}
.breadcrumb-link{color:var(--gg-muted)!important;font-weight:700!important;text-decoration:none!important}
.breadcrumb-link:hover{color:var(--gg-ocean)!important;text-decoration:none!important}
.breadcrumb-current{color:var(--gg-ink)!important;font-weight:800!important}
.breadcrumb-separator{color:#c7cdd6!important}
.categoria-badge-mobile,.categoria-link,.categoria-link-badge{
    background:rgba(14,165,183,.08)!important;
    border:1px solid rgba(14,165,183,.14)!important;
    color:var(--gg-ocean-dark)!important;
    border-radius:999px!important;
    font-weight:800!important;
    box-shadow:none!important;
}
.empresa-main{
    display:grid!important;
    grid-template-columns:minmax(0,1.16fr) minmax(340px,.84fr)!important;
    gap:clamp(24px,3.5vw,42px)!important;
    align-items:start!important;
}
.empresa-media{border-radius:var(--gg-radius)!important;overflow:visible!important;position:relative!important}
.cover-container{
    border-radius:var(--gg-radius)!important;
    background:#e5e7eb!important;
    box-shadow:var(--gg-shadow)!important;
    overflow:hidden!important;
    aspect-ratio:16/10!important;
    isolation:isolate!important;
}
.cover-container:after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(6,17,31,0) 58%,rgba(6,17,31,.18) 100%);
    z-index:2;
}
.cover-img,.bronze-fallback{
    width:100%!important;height:100%!important;
    object-fit:cover!important;
    aspect-ratio:auto!important;
    filter:saturate(1.02) contrast(1.02)!important;
    transition:transform .5s ease, opacity .28s ease!important;
}
.cover-container:hover .cover-img{transform:scale(1.012)!important}
.nav-arrow{
    z-index:5!important;
    width:42px!important;height:42px!important;
    background:rgba(255,255,255,.84)!important;
    color:var(--gg-ink)!important;
    border:1px solid rgba(255,255,255,.55)!important;
    box-shadow:0 14px 34px rgba(15,23,42,.16)!important;
    backdrop-filter:blur(16px)!important;
    font-size:25px!important;
    opacity:.92!important;
}
.nav-arrow:hover{background:#fff!important;transform:translateY(-50%) scale(1.04)!important}
.nav-arrow.prev{left:18px!important}.nav-arrow.next{right:18px!important}
.foto-counter{
    top:auto!important;right:18px!important;bottom:18px!important;
    background:rgba(17,24,39,.58)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.22)!important;
    backdrop-filter:blur(14px)!important;
    font-family:inherit!important;
    border-radius:999px!important;
    padding:7px 12px!important;
    font-size:.78rem!important;
    font-weight:800!important;
    z-index:6!important;
}
.galeria-thumbnails{margin-top:16px!important}
.thumbnails-scroll{gap:12px!important;padding:4px 2px 10px!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}
.thumbnails-scroll::-webkit-scrollbar{display:none!important}
.thumbnail-item{
    width:112px!important;
    border-radius:16px!important;
    border:1px solid transparent!important;
    opacity:.72!important;
    box-shadow:none!important;
    scroll-snap-align:start!important;
    background:#fff!important;
}
.thumbnail-item.active{
    opacity:1!important;
    border-color:rgba(11,111,142,.55)!important;
    box-shadow:0 0 0 3px rgba(14,165,183,.10)!important;
}
.thumbnail-item:hover{opacity:1!important;transform:translateY(-2px)!important}
.thumbnail-img{border-radius:15px!important}
.empresa-info-col{min-width:0!important}
.empresa-card{
    margin-top:0!important;
    padding:clamp(24px,3vw,34px)!important;
    border-radius:var(--gg-radius)!important;
    background:rgba(255,255,255,.92)!important;
    border:1px solid var(--gg-line)!important;
    box-shadow:var(--gg-shadow-soft)!important;
    backdrop-filter:blur(18px)!important;
    overflow:hidden!important;
}
.card-header{
    align-items:flex-start!important;
    gap:16px!important;
    margin-bottom:18px!important;
}
.avatar{
    width:72px!important;height:72px!important;
    margin-top:0!important;
    border:1px solid var(--gg-line)!important;
    box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
    background:#fff!important;
}
.avatar-placeholder{color:var(--gg-muted)!important;background:var(--gg-soft)!important}
.nome{
    color:var(--gg-ink)!important;
    font-size:clamp(1.55rem,2.25vw,2.25rem)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
    font-weight:850!important;
    margin:0 0 10px!important;
    text-wrap:balance!important;
}
.categoria-wrapper{margin-top:0!important}
.categoria-link-badge{
    padding:7px 11px!important;
    font-size:.78rem!important;
    line-height:1!important;
}
.categorias-adicionais{margin-top:12px!important;gap:7px!important}
.categorias-adicionais-label{width:100%!important;color:var(--gg-muted)!important;font-size:.76rem!important;font-weight:700!important}
.categorias-adicionais-tag{
    background:#fff!important;
    border:1px solid var(--gg-line)!important;
    color:var(--gg-text)!important;
    font-weight:750!important;
    padding:6px 10px!important;
    border-radius:999px!important;
}
.avaliacao{
    background:var(--gg-soft)!important;
    border:1px solid var(--gg-line-soft)!important;
    border-radius:999px!important;
    padding:9px 12px!important;
    display:inline-flex!important;
    margin-bottom:14px!important;
}
.stars,.estrelas-avaliacao{letter-spacing:.03em!important;color:#d79b16!important}
.nota{color:var(--gg-ink)!important;font-weight:850!important}.total-avaliacoes{color:var(--gg-muted)!important}
.endereco{
    font-size:.92rem!important;
    line-height:1.55!important;
    color:var(--gg-text)!important;
    background:transparent!important;
    margin-bottom:18px!important;
}
.botoes-acao{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin:0 0 18px!important;
}
.btn-acao,.sticky-btn{
    min-height:48px!important;
    border-radius:999px!important;
    font-weight:850!important;
    letter-spacing:-.01em!important;
    box-shadow:none!important;
    border:1px solid transparent!important;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease!important;
}
.btn-acao:hover,.sticky-btn:hover{transform:translateY(-2px)!important;box-shadow:0 14px 30px rgba(15,23,42,.10)!important}
.btn-acao.whatsapp,.sticky-btn.whatsapp{background:linear-gradient(135deg,#075e54,#0f766e)!important;color:#fff!important}
.btn-acao.phone,.btn-acao.bronze{
    background:#fff!important;color:var(--gg-ink)!important;border-color:var(--gg-line)!important;
}
.horarios-info,.links-empresa{margin-bottom:16px!important}
.horas{
    padding:14px!important;
    border:1px solid var(--gg-line)!important;
    border-radius:20px!important;
    background:#fff!important;
    gap:10px!important;
}
.status{font-size:.95rem!important;font-weight:850!important}.status.aberto{color:#12805c!important}.status.fechado{color:#b42318!important}
.toggle{display:block!important;margin-top:2px!important;color:var(--gg-ocean)!important;font-weight:750!important}
.dropdown-horarios{
    border:1px solid var(--gg-line)!important;
    border-radius:20px!important;
    background:#fff!important;
    padding:12px!important;
    box-shadow:0 14px 36px rgba(15,23,42,.06)!important;
}
.linha-horario{font-size:.9rem!important;padding:8px 10px!important}.linha-horario.hoje{background:#eef9fb!important;border-radius:12px!important;margin:0!important}
.links-empresa{gap:8px!important}.link-badge{
    border:1px solid var(--gg-line)!important;
    background:#fff!important;
    border-radius:999px!important;
    color:var(--gg-text)!important;
    padding:10px 13px!important;
    font-weight:750!important;
}
.conteudo-extra{
    padding:clamp(26px,4vw,48px) 0 34px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(320px,.72fr)!important;
    gap:clamp(20px,3vw,34px)!important;
}
.sobre,.avaliacoes,.mapa{
    background:rgba(255,255,255,.92)!important;
    border:1px solid var(--gg-line)!important;
    border-radius:var(--gg-radius)!important;
    padding:clamp(22px,3vw,32px)!important;
    box-shadow:0 12px 34px rgba(15,23,42,.045)!important;
    margin:0!important;
}
.sobre{grid-column:1 / -1!important}
.titulo{
    color:var(--gg-ink)!important;
    font-size:clamp(1.25rem,2.1vw,1.75rem)!important;
    line-height:1.08!important;
    letter-spacing:-.04em!important;
    font-weight:850!important;
    margin:0 0 14px!important;
}
.descricao,.texto{font-size:.96rem!important;line-height:1.72!important;color:var(--gg-text)!important}.ver-mais{color:var(--gg-ocean)!important;font-weight:850!important}
.card-avaliacao{
    background:#fff!important;
    border:1px solid var(--gg-line-soft)!important;
    border-radius:20px!important;
    padding:16px!important;
    box-shadow:none!important;
}
.autor{color:var(--gg-ink)!important}.data{color:var(--gg-muted)!important}
.mapa-container{height:240px!important;border-radius:22px!important;background:var(--gg-soft)!important;border:1px solid var(--gg-line)!important}
.mapa-placeholder{background-color:#f8fafc!important;background-image:radial-gradient(rgba(11,111,142,.14) 1px, transparent 1px)!important;background-size:22px 22px!important}
.btn-carregar-mapa{background:var(--gg-ink)!important;border-radius:999px!important;font-weight:850!important;box-shadow:0 14px 34px rgba(15,23,42,.15)!important}
.guia-brand{
    background:transparent!important;
    color:var(--gg-muted)!important;
    border:0!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
}
.sticky-bar{
    background:rgba(255,255,255,.84)!important;
    border-top:1px solid var(--gg-line)!important;
    backdrop-filter:blur(18px)!important;
    box-shadow:0 -14px 38px rgba(15,23,42,.09)!important;
}
.sticky-btn.rotas{background:var(--gg-ocean)!important}.sticky-btn.ligar{background:#334155!important}
.guia-lightbox{background:rgba(6,17,31,.92)!important;backdrop-filter:blur(10px)!important}
.guia-lightbox-viewport{border-radius:24px!important;background:#050b13!important}.guia-lightbox-img{border-radius:24px!important}
.toast{
    position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:999999;
    background:rgba(17,24,39,.92);color:#fff;padding:11px 16px;border-radius:999px;
    font-size:.9rem;font-weight:800;box-shadow:0 18px 44px rgba(0,0,0,.18);backdrop-filter:blur(12px)
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media(max-width:900px){
    .empresa-single{width:100%!important;max-width:100%!important;padding:0!important;background:#fff!important}
    .header-bar{padding:12px 16px!important;position:absolute!important;left:0;right:0;top:0;z-index:20!important}
    .btn-voltar,.acao{background:rgba(255,255,255,.88)!important}
    .breadcrumb-wrapper{display:none!important}
    .empresa-main{display:block!important}
    .empresa-media{border-radius:0!important}
    .cover-container{border-radius:0 0 30px 30px!important;aspect-ratio:4/3!important;box-shadow:none!important}
    .cover-container:after{background:linear-gradient(180deg,rgba(6,17,31,.05) 45%,rgba(6,17,31,.18) 100%)!important}
    .nav-arrow{width:38px!important;height:38px!important;font-size:23px!important;top:54%!important}
    .foto-counter{bottom:14px!important;right:14px!important}
    .galeria-thumbnails{padding:0 16px!important;margin-top:14px!important}.thumbnail-item{width:86px!important}
    .empresa-info-col{padding:0 16px!important}
    .empresa-card{
        margin-top:16px!important;
        border-radius:26px!important;
        padding:22px!important;
        box-shadow:0 16px 42px rgba(15,23,42,.07)!important;
    }
    .avatar{width:64px!important;height:64px!important}.card-header{gap:14px!important}.nome{font-size:1.55rem!important}
    .botoes-acao{grid-template-columns:1fr!important}.btn-acao{font-size:.92rem!important;padding:12px 14px!important}
    .conteudo-extra{display:grid!important;grid-template-columns:1fr!important;padding:18px 16px 100px!important;gap:16px!important}
    .sobre,.avaliacoes,.mapa{border-radius:24px!important;padding:22px!important}
    .sticky-container{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;max-width:100%!important}
    .sticky-btn{font-size:.78rem!important;padding:10px 8px!important;min-height:44px!important}
}
@media(max-width:430px){
    .cover-container{aspect-ratio:1.12/1!important}
    .empresa-card{padding:20px!important}.card-header{align-items:center!important}
    .avatar{width:58px!important;height:58px!important}.nome{font-size:1.38rem!important;letter-spacing:-.035em!important}
    .categoria-badge-mobile{display:none!important}.avaliacao{width:100%!important;justify-content:center!important}
    .thumbnail-item{width:76px!important;border-radius:14px!important}
    .sticky-container{grid-template-columns:1fr 1fr!important}.sticky-btn.ligar{grid-column:1 / -1!important}
}
