/* Extracted from single-empresa.php style block 2 in v4 cleanup. */
:root{
    --gg-ink:#111827;
    --gg-text:#374151;
    --gg-muted:#6b7280;
    --gg-line:#e5e7eb;
    --gg-soft:#f8fafc;
    --gg-card:#ffffff;
    --gg-blue:#0b6f8e;
    --gg-blue-2:#0ea5b7;
    --gg-green:#0f766e;
    --gg-radius:26px;
    --gg-shadow:0 18px 55px rgba(15,23,42,.075);
    --gg-shadow-soft:0 8px 24px rgba(15,23,42,.055);
}
body{
    background:linear-gradient(180deg,#fff 0%,#f8fafc 58%,#fff 100%)!important;
    color:var(--gg-text);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
.empresa-single{
    max-width:1180px!important;
    background:transparent!important;
    padding:0 20px 44px!important;
}
.header-bar{
    max-width:1180px;
    margin:0 auto;
    padding:18px 0 10px!important;
    background:transparent!important;
    border:0!important;
}
.btn-voltar,.acao{
    background:rgba(255,255,255,.9)!important;
    border:1px solid rgba(229,231,235,.9)!important;
    box-shadow:0 8px 22px rgba(15,23,42,.055)!important;
    color:var(--gg-ink)!important;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn-voltar:hover,.acao:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(15,23,42,.075)!important;background:#fff!important}
.breadcrumb-wrapper{
    background:transparent!important;
    border:0!important;
    padding:10px 0 18px!important;
}
.breadcrumb{
    color:var(--gg-muted)!important;
    font-size:.78rem!important;
    gap:.45rem!important;
}
.breadcrumb-link,.categoria-link,.categoria-link-badge{
    color:var(--gg-blue)!important;
    text-decoration:none!important;
}
.breadcrumb-current{color:var(--gg-text)!important}
.empresa-main{
    display:grid!important;
    grid-template-columns:minmax(0,1.16fr) minmax(340px,.84fr)!important;
    gap:28px!important;
    align-items:start!important;
}
.empresa-media{
    border-radius:34px;
    overflow:visible!important;
}
.cover-container{
    border-radius:34px!important;
    overflow:hidden!important;
    background:#e5e7eb!important;
    box-shadow:var(--gg-shadow)!important;
    aspect-ratio:16/9!important;
}
.cover-container:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(17,24,39,0) 58%,rgba(17,24,39,.16) 100%);
}
.cover-img,.bronze-fallback{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
    background:#e5e7eb!important;
    transform:translateZ(0);
}
.nav-arrow{
    width:42px!important;
    height:42px!important;
    background:rgba(255,255,255,.86)!important;
    color:var(--gg-ink)!important;
    border:1px solid rgba(255,255,255,.75)!important;
    box-shadow:0 10px 26px rgba(15,23,42,.12)!important;
    backdrop-filter:blur(14px)!important;
    font-size:26px!important;
    opacity:.96!important;
}
.nav-arrow:hover{background:#fff!important;color:var(--gg-ink)!important;transform:translateY(-50%) scale(1.04)!important}
.foto-counter{
    background:rgba(255,255,255,.88)!important;
    color:var(--gg-ink)!important;
    border:1px solid rgba(229,231,235,.8)!important;
    box-shadow:0 8px 22px rgba(15,23,42,.08)!important;
    backdrop-filter:blur(14px)!important;
}
.galeria-thumbnails{margin-top:14px!important}
.thumbnails-scroll{gap:12px!important;padding:4px 2px 10px!important}
.thumbnail-item{
    border-radius:16px!important;
    border:1px solid rgba(229,231,235,.9)!important;
    opacity:.78!important;
    box-shadow:0 6px 18px rgba(15,23,42,.045)!important;
}
.thumbnail-item.active{
    border-color:var(--gg-blue)!important;
    box-shadow:0 10px 26px rgba(11,111,142,.16)!important;
    opacity:1!important;
}
.empresa-info-col{position:sticky;top:22px;min-width:0}
.empresa-card{
    margin-top:0!important;
    border-radius:34px!important;
    padding:26px!important;
    box-shadow:var(--gg-shadow)!important;
    border:1px solid rgba(229,231,235,.86)!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(16px)!important;
}
.card-header{gap:14px!important;align-items:flex-start!important;margin-bottom:14px!important}
.avatar{
    width:72px!important;
    height:72px!important;
    margin-top:0!important;
    border:1px solid rgba(229,231,235,.95)!important;
    box-shadow:0 10px 24px rgba(15,23,42,.075)!important;
    background:#fff!important;
}
.nome{
    color:var(--gg-ink)!important;
    font-size:clamp(1.55rem,2.2vw,2.18rem)!important;
    line-height:1.03!important;
    letter-spacing:-.045em!important;
    font-weight:850!important;
    margin:2px 0 8px!important;
}
.categoria-link-badge,.categoria-link,.categorias-adicionais-tag,.link-badge{
    border:1px solid rgba(186,230,253,.85)!important;
    background:#ecfeff!important;
    color:#075985!important;
    font-weight:750!important;
    border-radius:999px!important;
}
.categorias-adicionais-label{color:var(--gg-muted)!important}
.avaliacao{margin:14px 0 12px!important}
.stars,.estrelas-avaliacao{color:#d97706!important;letter-spacing:.02em!important}
.nota{color:var(--gg-ink)!important;font-weight:850!important}
.total-avaliacoes,.endereco{color:var(--gg-muted)!important}
.botoes-acao{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin:18px 0!important;
}
.btn-acao{
    min-height:48px!important;
    border-radius:999px!important;
    font-weight:850!important;
    box-shadow:none!important;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn-acao:hover{transform:translateY(-1px);box-shadow:var(--gg-shadow-soft)!important}
.btn-acao.whatsapp{background:linear-gradient(135deg,#0f766e,#10b981)!important;color:#fff!important}
.btn-acao.phone{background:#f8fafc!important;border:1px solid var(--gg-line)!important;color:var(--gg-ink)!important}
.horas,.link-badge{
    border-bottom:0!important;
    border-radius:18px!important;
    background:#f8fafc!important;
    border:1px solid var(--gg-line)!important;
    padding:12px 14px!important;
}
.dropdown-horarios{
    border-radius:18px!important;
    border:1px solid var(--gg-line)!important;
    box-shadow:var(--gg-shadow-soft)!important;
}
.conteudo-extra{
    padding:28px 0 0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:24px!important;
}
.sobre,.avaliacoes,.mapa{
    background:#fff!important;
    border:1px solid rgba(229,231,235,.86)!important;
    border-radius:30px!important;
    padding:26px!important;
    box-shadow:var(--gg-shadow-soft)!important;
    margin-bottom:0!important;
}
.sobre{grid-column:1/-1!important}
.titulo{
    color:var(--gg-ink)!important;
    font-size:clamp(1.35rem,2vw,1.8rem)!important;
    line-height:1.1!important;
    letter-spacing:-.04em!important;
    margin-bottom:14px!important;
}
.descricao,.texto{color:var(--gg-text)!important;line-height:1.72!important;font-size:.96rem!important}
.ver-mais{
    color:var(--gg-blue)!important;
    font-weight:850!important;
    padding:10px 0 0!important;
}
.card-avaliacao{
    background:#fff!important;
    border:1px solid var(--gg-line)!important;
    border-radius:22px!important;
    padding:16px!important;
    box-shadow:0 6px 18px rgba(15,23,42,.035)!important;
}
.mapa-container{height:240px!important;border-radius:24px!important;background:#f1f5f9!important}
.mapa-placeholder{background-color:#f8fafc!important;background-image:radial-gradient(#dbeafe 1px,transparent 1px)!important}
.btn-carregar-mapa{background:linear-gradient(135deg,var(--gg-blue),var(--gg-blue-2))!important;border-radius:999px!important;box-shadow:0 12px 26px rgba(11,111,142,.18)!important}
.sticky-bar{
    background:rgba(255,255,255,.9)!important;
    border-top:1px solid rgba(229,231,235,.86)!important;
    backdrop-filter:blur(16px)!important;
    box-shadow:0 -12px 34px rgba(15,23,42,.10)!important;
}
.sticky-btn{border-radius:999px!important;font-weight:850!important}
.guia-brand{
    background:#fff!important;
    border:1px solid var(--gg-line)!important;
    color:var(--gg-muted)!important;
    box-shadow:var(--gg-shadow-soft)!important;
}
.guia-lightbox-viewport{border-radius:24px!important}
@media(max-width:767px){
    .empresa-single{max-width:100%!important;padding:0 14px 34px!important;background:#fff!important}
    .header-bar{padding:12px 0 8px!important}
    .breadcrumb-wrapper{padding:8px 0 12px!important}
    .empresa-main{display:flex!important;flex-direction:column!important;gap:0!important}
    .cover-container{border-radius:26px!important}
    .empresa-card{margin:-22px 10px 0!important;border-radius:28px!important;padding:20px!important}
    .empresa-info-col{position:relative!important;top:auto!important;z-index:10!important}
    .avatar{width:58px!important;height:58px!important}
    .nome{font-size:1.42rem!important;line-height:1.08!important}
    .card-header{align-items:center!important}
    .botoes-acao{grid-template-columns:1fr!important}
    .conteudo-extra{display:block!important;padding:18px 0 0!important}
    .sobre,.avaliacoes,.mapa{border-radius:26px!important;padding:20px!important;margin-bottom:16px!important}
    .nav-arrow{width:36px!important;height:36px!important;font-size:22px!important}
    .thumbnail-item{width:82px!important;border-radius:14px!important}
    .sticky-container{max-width:100%!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important}
    .sticky-btn{font-size:.76rem!important;padding:10px 8px!important}
}
@media(max-width:420px){
    .empresa-card{margin-left:0!important;margin-right:0!important}
    .nome{font-size:1.28rem!important}
    .categoria-badge-mobile{display:none!important}
    .sticky-container{grid-template-columns:1fr 1fr!important}
}
