/* ============================================================
   KIAZOLUA - DIRETÓRIO PÚBLICO DE EMPRESAS
   D4.1
   ============================================================ */

:root{
    --company-navy:#0B2B4D;
    --company-green:#00A859;
    --company-orange:#FF9F1C;
    --company-bg:#F4F7F9;
    --company-line:#DCE5EA;
    --company-muted:#667085;
    --company-white:#FFFFFF;
}

*{
    box-sizing:border-box;
}

body{
    margin:0;
    color:var(--company-navy);
    background:var(--company-bg);
}

.companies-container{
    width:min(1180px,92%);
    margin:0 auto;
}

.companies-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--company-line);
    backdrop-filter:blur(12px);
}

.companies-header-inner{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.companies-brand{
    display:inline-flex;
    align-items:center;
}

.companies-brand img{
    width:185px;
    height:auto;
    display:block;
}

.companies-public-nav{
    display:flex;
    align-items:center;
    gap:8px;
}

.companies-public-nav a{
    padding:12px 15px;
    border-radius:12px;
    color:var(--company-navy);
    text-decoration:none;
    font-weight:850;
    font-size:.78rem;
}

.companies-public-nav a:hover,
.companies-public-nav a.active{
    color:var(--company-green);
    background:#EDF8F2;
}

.companies-public-nav .companies-login{
    margin-left:5px;
    color:var(--company-navy);
    background:var(--company-orange);
}

.companies-public-nav .companies-login:hover{
    color:var(--company-navy);
    background:#FFB23E;
}

.companies-hero{
    position:relative;
    overflow:hidden;
    padding:72px 0 64px;
    background:
        radial-gradient(circle at 12% 15%,rgba(0,168,89,.12),transparent 28%),
        radial-gradient(circle at 88% 18%,rgba(255,159,28,.15),transparent 31%),
        linear-gradient(120deg,#EDF8F5 0%,#F8FAF9 55%,#FFF8EB 100%);
    border-bottom:1px solid var(--company-line);
}

.companies-hero::after{
    content:"";
    position:absolute;
    right:-90px;
    top:-120px;
    width:330px;
    height:330px;
    border:1px solid rgba(11,43,77,.08);
    border-radius:50%;
}

.companies-eyebrow{
    display:block;
    color:#008E4A;
    font-size:.7rem;
    font-weight:950;
    letter-spacing:.12em;
}

.companies-hero h1{
    max-width:760px;
    margin:10px 0 12px;
    color:var(--company-navy);
    font-size:clamp(2.2rem,5vw,4.15rem);
    line-height:.98;
    letter-spacing:-.045em;
}

.companies-hero p{
    max-width:720px;
    margin:0;
    color:#53647A;
    font-size:1rem;
    line-height:1.75;
}

.companies-search{
    max-width:820px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    margin-top:28px;
}

.companies-search-main{
    display:block;
    padding:9px 15px;
    border:1px solid #CAD9D3;
    border-radius:15px;
    background:#fff;
    box-shadow:0 10px 30px rgba(11,43,77,.06);
}

.companies-search-main span,
.companies-filter-bar label span{
    display:block;
    margin-bottom:3px;
    color:#718096;
    font-size:.58rem;
    font-weight:800;
}

.companies-search-main input{
    width:100%;
    padding:3px 0;
    border:0;
    outline:0;
    color:var(--company-navy);
    background:transparent;
    font:inherit;
    font-size:.88rem;
}

.companies-search-button{
    min-width:135px;
    border:0;
    border-radius:15px;
    background:var(--company-green);
    color:#fff;
    font:inherit;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 12px 25px rgba(0,168,89,.18);
}

.companies-content{
    padding:30px 0 70px;
}

.companies-filter-bar{
    display:grid;
    grid-template-columns:1fr 1fr 1fr auto;
    align-items:end;
    gap:10px;
    padding:14px;
    border:1px solid var(--company-line);
    border-radius:16px;
    background:#fff;
}

.companies-filter-bar label{
    min-width:0;
}

.companies-filter-bar select,
.companies-filter-bar input{
    width:100%;
    min-height:42px;
    padding:8px 10px;
    border:1px solid #D8E1E7;
    border-radius:10px;
    background:#fff;
    color:var(--company-navy);
    font:inherit;
    font-size:.72rem;
}

.companies-clear{
    min-height:42px;
    padding:0 14px;
    border:0;
    border-radius:10px;
    background:#EEF3F6;
    color:var(--company-navy);
    font:inherit;
    font-size:.68rem;
    font-weight:850;
    cursor:pointer;
}

.companies-results-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin:28px 0 15px;
}

.companies-results-head h2{
    margin:4px 0 0;
    color:var(--company-navy);
    font-size:1.7rem;
}

.companies-results-head>strong{
    color:var(--company-muted);
    font-size:.68rem;
}

.companies-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
}

.company-card{
    min-width:0;
    overflow:hidden;
    border:1px solid var(--company-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 28px rgba(11,43,77,.04);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.company-card:hover{
    transform:translateY(-3px);
    border-color:#C9DED4;
    box-shadow:0 16px 35px rgba(11,43,77,.08);
}

.company-card-cover{
    position:relative;
    height:125px;
    overflow:hidden;
    background:
        radial-gradient(circle at 15% 20%,rgba(0,168,89,.13),transparent 32%),
        radial-gradient(circle at 85% 10%,rgba(255,159,28,.16),transparent 34%),
        linear-gradient(120deg,#EAF6F3,#FFF8EC);
}

.company-card-cover img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.company-card-logo{
    position:relative;
    width:76px;
    height:76px;
    margin:-38px 0 0 18px;
    overflow:hidden;
    border:5px solid #fff;
    border-radius:18px;
    background:#fff;
    box-shadow:0 8px 22px rgba(11,43,77,.12);
}

.company-card-logo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
}

.company-card-logo-fallback{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:var(--company-navy);
    background:#EEF4F6;
    font-weight:950;
    font-size:1.15rem;
}

.company-card-body{
    padding:13px 18px 18px;
}

.company-card-badges{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:8px;
}

.company-card-badge{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:0 9px;
    border-radius:999px;
    font-size:.55rem;
    font-weight:900;
}

.company-card-badge.verified{
    color:#087B44;
    background:#EAF8F0;
}

.company-card-badge.premium{
    color:#8A5B08;
    background:#FFF4DC;
}

.company-card-body h3{
    margin:0;
    color:var(--company-navy);
    font-size:1.05rem;
    line-height:1.25;
}

.company-card-meta{
    margin-top:5px;
    color:var(--company-muted);
    font-size:.63rem;
}

.company-card-description{
    display:-webkit-box;
    overflow:hidden;
    margin:11px 0 0;
    color:#5E6C7C;
    font-size:.66rem;
    line-height:1.6;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
}

.company-card-services{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:12px;
}

.company-card-service{
    max-width:100%;
    overflow:hidden;
    padding:6px 8px;
    border-radius:8px;
    background:#F4F7F9;
    color:var(--company-navy);
    font-size:.55rem;
    font-weight:750;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.company-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:15px;
    padding-top:13px;
    border-top:1px solid #EDF1F3;
}

.company-card-footer small{
    color:var(--company-muted);
    font-size:.55rem;
}

.company-card-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 12px;
    border-radius:10px;
    background:var(--company-navy);
    color:#fff;
    text-decoration:none;
    font-size:.63rem;
    font-weight:900;
}

.company-card-link:hover{
    background:var(--company-green);
}

.companies-loading,
.companies-empty{
    grid-column:1/-1;
    padding:50px 20px;
    border:1px dashed #C9D6DE;
    border-radius:16px;
    background:#fff;
    color:var(--company-muted);
    text-align:center;
}

.companies-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px;
    margin-top:24px;
}

.companies-pagination button{
    min-width:40px;
    min-height:40px;
    padding:0 10px;
    border:1px solid #D8E1E7;
    border-radius:10px;
    background:#fff;
    color:var(--company-navy);
    font:inherit;
    font-size:.65rem;
    font-weight:850;
    cursor:pointer;
}

.companies-pagination button.active{
    border-color:var(--company-green);
    background:var(--company-green);
    color:#fff;
}

.companies-pagination button:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.companies-footer{
    border-top:1px solid var(--company-line);
    background:#fff;
}

.companies-footer-inner{
    min-height:130px;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:20px;
    padding:24px 0;
}

.companies-footer img{
    width:145px;
    height:auto;
}

.companies-footer p{
    margin:7px 0 0;
    color:var(--company-muted);
    font-size:.65rem;
}

.companies-footer nav{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:14px;
}

.companies-footer a{
    color:var(--company-navy);
    text-decoration:none;
    font-size:.65rem;
    font-weight:800;
}

.companies-footer-inner>p{
    grid-column:1/-1;
    margin:0;
    padding-top:14px;
    border-top:1px solid #EDF1F3;
}

@media(max-width:920px){
    .companies-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .companies-filter-bar{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:720px){
    .companies-header-inner{
        min-height:70px;
    }

    .companies-brand img{
        width:145px;
    }

    .companies-public-nav a:not(.companies-login):not(.active){
        display:none;
    }

    .companies-public-nav a{
        padding:10px 11px;
        font-size:.67rem;
    }

    .companies-hero{
        padding:52px 0 48px;
    }

    .companies-search{
        grid-template-columns:1fr;
    }

    .companies-search-button{
        min-height:48px;
    }

    .companies-grid{
        grid-template-columns:1fr;
    }

    .companies-results-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .companies-footer-inner{
        grid-template-columns:1fr;
        text-align:center;
    }

    .companies-footer nav{
        justify-content:center;
    }
}

@media(max-width:520px){
    .companies-filter-bar{
        grid-template-columns:1fr;
    }
}

/* ============================================================
   KIAZOLUA D5.11 - DIRETÓRIO DE EMPRESAS / CONFIANÇA VISUAL
   ============================================================ */

/* Conteúdo mais largo para acomodar 4 cards confortavelmente */
.companies-container{
    width:min(1480px,94%)!important;
}

/* Hero mais compacto */
.companies-hero{
    padding-top:42px!important;
    padding-bottom:38px!important;
}

.companies-hero h1{
    max-width:860px!important;
}

.companies-hero p{
    max-width:760px!important;
}

/* Filtros mais próximos do padrão do diretório de profissionais */
.companies-filter-bar{
    border-radius:16px!important;
    box-shadow:0 7px 22px rgba(11,43,77,.04)!important;
}

/* 4 empresas por linha no desktop */
.companies-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:16px!important;
    align-items:stretch!important;
}

/* Card uniforme */
.company-card.company-card-d511{
    position:relative!important;
    min-width:0!important;
    height:420px!important;
    min-height:420px!important;
    max-height:420px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border:1px solid #E0E6EA!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 6px 20px rgba(11,43,77,.05)!important;
}

/* Capa */
.company-card-d511 .company-card-cover{
    position:relative!important;
    height:92px!important;
    min-height:92px!important;
    overflow:hidden!important;
    background:linear-gradient(135deg,#EAF8EE,#EEF4FF)!important;
}

.company-card-d511 .company-card-cover.no-cover::after{
    content:"KIAZOLUA EMPRESAS";
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#8A99A8;
    font-size:.58rem;
    font-weight:900;
    letter-spacing:.12em;
}

.company-card-d511 .company-card-cover img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
}

/* Logo */
.company-card-d511 .company-card-logo{
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    position:absolute!important;
    top:60px!important;
    left:14px!important;
    z-index:3!important;
    overflow:hidden!important;
    border:3px solid #fff!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 5px 14px rgba(11,43,77,.13)!important;
}

.company-card-d511 .company-card-logo img,
.company-card-d511 .company-card-logo-fallback{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
}

.company-card-d511 .company-card-logo-fallback{
    place-items:center!important;
    background:#0B2B4D!important;
    color:#fff!important;
    font-size:1rem!important;
    font-weight:950!important;
}

/* Corpo */
.company-card-d511 .company-card-body{
    min-height:0!important;
    flex:1!important;
    display:flex!important;
    flex-direction:column!important;
    padding:35px 14px 13px!important;
}

.company-card-d511 .company-card-badges{
    min-height:25px!important;
    display:flex!important;
    justify-content:flex-end!important;
    gap:5px!important;
    margin:0 0 6px!important;
    overflow:hidden!important;
}

.company-card-d511 .company-card-badge{
    min-height:23px!important;
    display:inline-flex!important;
    align-items:center!important;
    padding:5px 8px!important;
    border-radius:999px!important;
    font-size:.55rem!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
}

.company-card-d511 .company-card-badge.verified{
    border:1px solid #74A9FF!important;
    background:#F4F8FF!important;
    color:#0759C7!important;
}

.company-card-d511 .company-card-badge.premium{
    border:1px solid #FFCD7A!important;
    background:#FFF7E8!important;
    color:#B75B00!important;
}

.company-card-d511 h3{
    width:100%!important;
    margin:0!important;
    overflow:hidden!important;
    color:#071F3B!important;
    font-size:.91rem!important;
    line-height:1.18!important;
    font-weight:950!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}

.company-card-d511 .company-card-meta{
    width:100%!important;
    margin-top:4px!important;
    overflow:hidden!important;
    color:#667085!important;
    font-size:.61rem!important;
    line-height:1.2!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}

/* Provas de confiança */
.company-card-trust{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    margin-top:12px!important;
    padding-top:10px!important;
    border-top:1px solid #E9EDF0!important;
}

.company-card-trust>div{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:31px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:6px!important;
    align-items:center!important;
}

.company-trust-icon{
    grid-row:1/3!important;
    width:31px!important;
    height:31px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:8px!important;
    font-size:.78rem!important;
    font-weight:950!important;
}

.company-trust-icon.green{
    background:#EAF8EE!important;
    color:#008D4B!important;
}

.company-trust-icon.purple{
    background:#F4F0FF!important;
    color:#6938EF!important;
}

.company-trust-icon.blue{
    background:#EEF4FF!important;
    color:#175CD3!important;
}

.company-card-trust strong{
    overflow:hidden!important;
    color:#0B2B4D!important;
    font-size:.7rem!important;
    line-height:1!important;
    font-weight:950!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}

.company-card-trust small{
    overflow:hidden!important;
    color:#7A8798!important;
    font-size:.51rem!important;
    line-height:1!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}

.company-card-trust .no-proof{
    opacity:.58!important;
}

/* Serviços compactos */
.company-card-d511 .company-card-services{
    height:31px!important;
    min-height:31px!important;
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    margin-top:10px!important;
    overflow:hidden!important;
}

.company-card-d511 .company-card-service,
.company-card-d511 .company-card-services-empty span{
    max-width:32%!important;
    padding:5px 7px!important;
    overflow:hidden!important;
    border-radius:7px!important;
    background:#F0F3F6!important;
    color:#344054!important;
    font-size:.53rem!important;
    line-height:1!important;
    font-weight:800!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}

.company-card-d511 .company-card-services-empty span{
    max-width:100%!important;
}

/* Localização */
.company-card-d511 .company-card-footer{
    min-height:31px!important;
    display:flex!important;
    align-items:center!important;
    margin-top:auto!important;
    padding-top:8px!important;
    border-top:1px solid #EDF0F2!important;
}

.company-card-d511 .company-card-location{
    width:100%!important;
    overflow:hidden!important;
    color:#667085!important;
    font-size:.59rem!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}

/* CTA */
.company-card-d511 .company-card-link{
    width:100%!important;
    height:36px!important;
    min-height:36px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-top:7px!important;
    border-radius:7px!important;
    background:#082F57!important;
    color:#fff!important;
    font-size:.68rem!important;
    line-height:1!important;
    font-weight:950!important;
    text-decoration:none!important;
}

.company-card-d511 .company-card-link:hover{
    background:#0B3B6B!important;
}

/* Não precisamos da descrição longa no diretório.
   Ela continua disponível no perfil da empresa. */
.company-card-d511 .company-card-description{
    display:none!important;
}

/* Responsivo */
@media(max-width:1180px){
    .companies-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}

@media(max-width:880px){
    .companies-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .company-card.company-card-d511{
        height:420px!important;
    }
}

@media(max-width:560px){
    .companies-grid{
        grid-template-columns:1fr!important;
    }

    .company-card.company-card-d511{
        width:100%!important;
        max-width:410px!important;
        height:420px!important;
        margin-inline:auto!important;
    }
}

/* ============================================================
   KIAZOLUA D5.11A
   TOPO + LIMITES LATERAIS + FOOTER PADRÃO
   Cards D5.11 preservados.
   ============================================================ */

/* Limites laterais iguais ao padrão principal do site */
.companies-container{
    width:min(1600px,calc(100% - 64px))!important;
    margin-inline:auto!important;
}

/* O footer V3 usa .container do style.css */
.footer-v3 > .container{
    max-width:1600px!important;
}

/* Página branca e respirada, sem hero gigante */
body{
    background:#fff!important;
}

.companies-hero{
    padding:22px 0 0!important;
    border-bottom:0!important;
    background:#fff!important;
}

.companies-control-panel{
    padding:20px!important;
    border:1px solid #E0E6EA!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 8px 26px rgba(11,43,77,.045)!important;
}

.companies-control-head{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:24px!important;
    margin-bottom:16px!important;
}

.companies-control-head h1{
    max-width:none!important;
    margin:4px 0 5px!important;
    color:#0B2B4D!important;
    font-size:1.75rem!important;
    line-height:1.05!important;
    font-weight:950!important;
    letter-spacing:-.03em!important;
}

.companies-control-head p{
    max-width:650px!important;
    margin:0!important;
    color:#667085!important;
    font-size:.79rem!important;
    line-height:1.45!important;
}

.companies-control-trust{
    flex:0 0 auto!important;
}

.companies-control-trust span{
    display:inline-flex!important;
    align-items:center!important;
    min-height:34px!important;
    padding:7px 12px!important;
    border-radius:999px!important;
    background:#EAF8EE!important;
    color:#087B44!important;
    font-size:.66rem!important;
    font-weight:900!important;
    white-space:nowrap!important;
}

/* Pesquisa no mesmo nível visual de Profissionais */
.companies-search{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 160px!important;
    gap:11px!important;
    max-width:none!important;
    margin:0!important;
}

.companies-search-main{
    min-width:0!important;
}

.companies-search-main>span{
    display:none!important;
}

.companies-search input{
    width:100%!important;
    height:48px!important;
    padding:0 15px!important;
    border:1px solid #DCE5EA!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#344054!important;
    font-size:.74rem!important;
}

.companies-search-button{
    height:48px!important;
    min-height:48px!important;
    padding:0 18px!important;
    border-radius:10px!important;
    background:#082F57!important;
    color:#fff!important;
    font-size:.74rem!important;
    font-weight:950!important;
}

.companies-search-button:hover{
    background:#0B3B6B!important;
}

/* Filtros integrados no mesmo painel */
.companies-control-panel .companies-filter-bar{
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr 150px!important;
    gap:11px!important;
    align-items:end!important;
    margin-top:12px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

.companies-control-panel .companies-filter-bar label{
    min-width:0!important;
}

.companies-control-panel .companies-filter-bar label>span{
    display:block!important;
    margin:0 0 5px!important;
    color:#475467!important;
    font-size:.61rem!important;
    font-weight:800!important;
}

.companies-control-panel .companies-filter-bar select,
.companies-control-panel .companies-filter-bar input{
    width:100%!important;
    height:46px!important;
    padding:0 12px!important;
    border:1px solid #DCE5EA!important;
    border-radius:9px!important;
    background:#fff!important;
    color:#344054!important;
    font-size:.7rem!important;
}

.companies-control-panel .companies-clear{
    height:46px!important;
    min-height:46px!important;
    padding:0 14px!important;
    border:0!important;
    border-radius:9px!important;
    background:#F0F4F7!important;
    color:#0B2B4D!important;
    font-size:.66rem!important;
    font-weight:900!important;
}

/* Conteúdo começa mais perto do painel */
.companies-content{
    padding:26px 0 65px!important;
    background:#fff!important;
}

.companies-results-head{
    margin-bottom:16px!important;
}

.companies-results-head h2{
    margin-top:4px!important;
    color:#0B2B4D!important;
    font-size:1.55rem!important;
    font-weight:950!important;
    letter-spacing:-.02em!important;
}

/* Footer antigo não deve interferir */
.companies-footer{
    display:none!important;
}

/* Footer V3: garante o mesmo padrão visual de Profissionais */
.footer.footer-v3{
    margin-top:0!important;
}

/* Responsivo */
@media(max-width:900px){
    .companies-container{
        width:min(100% - 32px,1600px)!important;
    }

    .companies-control-head{
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:10px!important;
    }

    .companies-search{
        grid-template-columns:1fr!important;
    }

    .companies-control-panel .companies-filter-bar{
        grid-template-columns:1fr 1fr!important;
    }

    .companies-control-panel .companies-clear{
        width:100%!important;
    }
}

@media(max-width:560px){
    .companies-container{
        width:calc(100% - 24px)!important;
    }

    .companies-hero{
        padding-top:12px!important;
    }

    .companies-control-panel{
        padding:14px!important;
        border-radius:16px!important;
    }

    .companies-control-head h1{
        font-size:1.45rem!important;
    }

    .companies-control-panel .companies-filter-bar{
        grid-template-columns:1fr!important;
    }

    .companies-content{
        padding-top:20px!important;
    }
}

/* ============================================================
   KIAZOLUA D5.11B
   TOPO DE EMPRESAS COMPACTO NO PADRÃO DE PROFISSIONAIS
   ============================================================ */

@media(min-width:901px){

    /* Mesmo limite lateral visual do diretório de profissionais */
    .companies-container{
        width:min(1600px,calc(100% - 64px))!important;
    }

    .companies-hero{
        padding:0!important;
        background:#fff!important;
    }

    .companies-control-panel{
        padding:20px 24px 18px!important;
        border-radius:20px!important;
    }

    /* Linha 1: título + selo */
    .companies-control-head{
        min-height:74px!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        align-items:center!important;
        gap:24px!important;
        margin:0 0 12px!important;
    }

    .companies-control-head .companies-eyebrow{
        display:none!important;
    }

    .companies-control-head h1{
        margin:0!important;
        font-size:1.72rem!important;
        line-height:1!important;
    }

    .companies-control-head p{
        margin-top:7px!important;
        font-size:.78rem!important;
        line-height:1.25!important;
    }

    .companies-control-trust span{
        min-height:34px!important;
        padding:7px 12px!important;
        font-size:.65rem!important;
    }

    /* Linha 2 completa: pesquisa + categoria + província + município + botão */
    .companies-search{
        display:grid!important;
        grid-template-columns:1.55fr 150px!important;
        gap:11px!important;
        margin:0!important;
    }

    .companies-search input,
    .companies-search-button{
        height:48px!important;
        min-height:48px!important;
    }

    /* Junta pesquisa e filtros visualmente numa única linha */
    .companies-control-panel{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
    }

    .companies-control-panel .companies-search{
        grid-column:1!important;
    }

    .companies-control-panel .companies-filter-bar{
        grid-column:1!important;
        display:grid!important;
        grid-template-columns:1fr 1fr 1fr 145px!important;
        gap:11px!important;
        margin-top:10px!important;
    }

    .companies-control-panel .companies-filter-bar label>span{
        display:none!important;
    }

    .companies-control-panel .companies-filter-bar select,
    .companies-control-panel .companies-filter-bar input,
    .companies-control-panel .companies-clear{
        height:46px!important;
        min-height:46px!important;
    }

    /*
     * Em ecrãs largos, fazemos o efeito visual do diretório Profissionais:
     * pesquisa + botão na primeira linha de controlos,
     * filtros imediatamente abaixo sem espaço morto.
     */
    .companies-control-panel{
        row-gap:0!important;
    }

    /* Conteúdo encosta mais ao painel, como em Profissionais */
    .companies-content{
        padding-top:22px!important;
    }

    .companies-results-head{
        margin-top:0!important;
        margin-bottom:14px!important;
    }
}


/* Desktop muito largo:
   transforma pesquisa + filtros numa única linha compacta */
@media(min-width:1280px){

    .companies-control-panel{
        grid-template-columns:minmax(0,1fr)!important;
    }

    .companies-search{
        grid-template-columns:minmax(320px,1.45fr) 145px!important;
    }

    .companies-control-panel .companies-filter-bar{
        grid-template-columns:1fr 1fr 1fr 140px!important;
    }

    .companies-control-head{
        min-height:68px!important;
        margin-bottom:10px!important;
    }
}


/* Tablet */
@media(min-width:701px) and (max-width:900px){

    .companies-hero{
        padding-top:12px!important;
    }

    .companies-control-panel{
        padding:16px!important;
    }

    .companies-control-head{
        margin-bottom:10px!important;
    }

    .companies-search{
        grid-template-columns:1fr 145px!important;
    }

    .companies-control-panel .companies-filter-bar{
        grid-template-columns:1fr 1fr!important;
        gap:9px!important;
        margin-top:9px!important;
    }
}


/* Mobile */
@media(max-width:700px){

    .companies-hero{
        padding-top:10px!important;
    }

    .companies-control-panel{
        padding:13px!important;
        border-radius:15px!important;
    }

    .companies-control-head{
        min-height:0!important;
        gap:7px!important;
        margin-bottom:10px!important;
    }

    .companies-control-head .companies-eyebrow{
        display:none!important;
    }

    .companies-control-head h1{
        margin:0!important;
        font-size:1.42rem!important;
    }

    .companies-control-head p{
        margin-top:5px!important;
        font-size:.72rem!important;
    }

    .companies-control-trust{
        display:none!important;
    }

    .companies-search{
        grid-template-columns:1fr!important;
        gap:8px!important;
    }

    .companies-search input,
    .companies-search-button{
        height:45px!important;
        min-height:45px!important;
    }

    .companies-control-panel .companies-filter-bar{
        grid-template-columns:1fr!important;
        gap:8px!important;
        margin-top:8px!important;
    }

    .companies-control-panel .companies-filter-bar label>span{
        display:none!important;
    }

    .companies-control-panel .companies-filter-bar select,
    .companies-control-panel .companies-filter-bar input,
    .companies-control-panel .companies-clear{
        height:44px!important;
        min-height:44px!important;
    }

    .companies-content{
        padding-top:18px!important;
    }
}

/* ============================================================
   KIAZOLUA D5.11C
   EMPRESAS = PADRÃO EXATO DO DIRETÓRIO PROFISSIONAIS
   ============================================================ */

body{
    background:#fff!important;
}

.companies-directory-page{
    background:#fff!important;
}

.companies-directory{
    padding:0 0 60px!important;
    background:#fff!important;
}

.companies-container{
    width:min(1600px,calc(100% - 64px))!important;
    margin:0 auto!important;
}

/* ------------------------------------------------------------
   PAINEL SUPERIOR
   ------------------------------------------------------------ */

.companies-directory-control-panel{
    padding:18px 18px 16px!important;
    border:1px solid #E2E8EC!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 8px 26px rgba(11,43,77,.045)!important;
}

.companies-directory-control-top{
    display:grid!important;
    grid-template-columns:minmax(320px,1fr) auto 220px 94px!important;
    gap:20px!important;
    align-items:center!important;
    margin-bottom:15px!important;
}

.companies-directory-title h1{
    margin:0!important;
    color:#0B2B4D!important;
    font-size:1.65rem!important;
    line-height:1.06!important;
    font-weight:950!important;
    letter-spacing:-.03em!important;
}

.companies-directory-title p{
    margin:5px 0 0!important;
    color:#667085!important;
    font-size:.79rem!important;
    line-height:1.3!important;
}

.companies-directory-top-count{
    color:#667085!important;
    font-size:.79rem!important;
    font-weight:800!important;
    white-space:nowrap!important;
}

.companies-directory-top-count::first-letter{
    color:#00A859!important;
}

/* Ordenação */
.companies-directory-sort{
    min-height:58px!important;
    padding:9px 12px!important;
    border:1px solid #DDE5EA!important;
    border-radius:11px!important;
    background:#fff!important;
}

.companies-directory-sort label{
    display:block!important;
    margin-bottom:3px!important;
    color:#667085!important;
    font-size:.56rem!important;
    font-weight:500!important;
}

.companies-directory-sort select{
    width:100%!important;
    height:26px!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    color:#0B2B4D!important;
    font-size:.74rem!important;
    font-weight:850!important;
}

/* Grelha/lista */
.companies-directory-view-toggle{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:4px!important;
    padding:5px!important;
    border:1px solid #DDE5EA!important;
    border-radius:11px!important;
    background:#fff!important;
}

.companies-directory-view-toggle button{
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:0!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#0B2B4D!important;
    font-size:1.08rem!important;
    font-weight:900!important;
    cursor:pointer!important;
}

.companies-directory-view-toggle button.active{
    background:#00A859!important;
    color:#fff!important;
}

/* ------------------------------------------------------------
   FILTROS, UMA ÚNICA LINHA
   ------------------------------------------------------------ */

.companies-directory-filters{
    display:grid!important;
    grid-template-columns:1.55fr 1fr 1fr .9fr 150px 130px!important;
    gap:11px!important;
    align-items:center!important;
    margin:0!important;
}

.companies-directory-search{
    position:relative!important;
}

.companies-directory-search span{
    position:absolute!important;
    left:14px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#667085!important;
    font-size:1.05rem!important;
    z-index:2!important;
}

.companies-directory-filters input,
.companies-directory-filters select{
    width:100%!important;
    height:47px!important;
    padding:0 13px!important;
    border:1px solid #DDE5EA!important;
    border-radius:9px!important;
    outline:0!important;
    background:#fff!important;
    color:#344054!important;
    font-size:.72rem!important;
}

.companies-directory-search input{
    padding-left:40px!important;
}

.companies-directory-search-button{
    height:47px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    padding:0 12px!important;
    border:0!important;
    border-radius:9px!important;
    background:#082F57!important;
    color:#fff!important;
    font-size:.74rem!important;
    font-weight:900!important;
    cursor:pointer!important;
}

.companies-directory-clear-button{
    height:47px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    padding:0 5px!important;
    border:0!important;
    background:transparent!important;
    color:#1260BD!important;
    font-size:.7rem!important;
    font-weight:900!important;
    white-space:nowrap!important;
    cursor:pointer!important;
}

/* ------------------------------------------------------------
   RESULTADOS
   ------------------------------------------------------------ */

.companies-results-head-d511c{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:18px!important;
    margin:24px 0 15px!important;
}

.companies-results-head-d511c .companies-eyebrow{
    display:block!important;
    margin-bottom:5px!important;
    color:#008E4B!important;
    font-size:.66rem!important;
    font-weight:950!important;
    letter-spacing:.08em!important;
}

.companies-results-head-d511c h2{
    margin:0!important;
    color:#0B2B4D!important;
    font-size:1.6rem!important;
    line-height:1.05!important;
    font-weight:950!important;
}

.companies-result-count{
    display:inline-flex!important;
    align-items:center!important;
    min-height:34px!important;
    padding:7px 13px!important;
    border-radius:999px!important;
    background:#F2F5F7!important;
    color:#667085!important;
    font-size:.72rem!important;
    font-weight:800!important;
}

/* ------------------------------------------------------------
   MODO LISTA
   ------------------------------------------------------------ */

.companies-grid.companies-list-view{
    grid-template-columns:1fr!important;
}

.companies-grid.companies-list-view .company-card-d511{
    width:100%!important;
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    display:grid!important;
    grid-template-columns:230px minmax(0,1fr)!important;
}

.companies-grid.companies-list-view .company-card-cover{
    height:190px!important;
    min-height:190px!important;
}

.companies-grid.companies-list-view .company-card-logo{
    top:20px!important;
    left:200px!important;
}

.companies-grid.companies-list-view .company-card-body{
    padding:18px 18px 12px 48px!important;
}

/* Esconde estilos antigos do hero/filtro para não interferirem */
.companies-hero,
.companies-control-panel,
.companies-control-head,
.companies-search,
.companies-filter-bar{
    display:none!important;
}

.companies-content{
    padding:0!important;
}

/* ------------------------------------------------------------
   RESPONSIVO IGUAL À LÓGICA DE PROFISSIONAIS
   ------------------------------------------------------------ */

@media(max-width:1200px){
    .companies-directory-control-top{
        grid-template-columns:1fr auto 210px!important;
    }

    .companies-directory-view-toggle{
        display:none!important;
    }

    .companies-directory-filters{
        grid-template-columns:1.4fr 1fr 1fr 1fr 130px!important;
    }

    .companies-directory-clear-button{
        grid-column:1/-1!important;
        justify-self:end!important;
        height:30px!important;
    }
}

@media(max-width:900px){
    .companies-container{
        width:calc(100% - 32px)!important;
    }

    .companies-directory-control-top{
        grid-template-columns:1fr 190px!important;
    }

    .companies-directory-top-count{
        grid-column:1/-1!important;
        grid-row:2!important;
    }

    .companies-directory-filters{
        grid-template-columns:1fr 1fr!important;
    }

    .companies-directory-search{
        grid-column:1/-1!important;
    }

    .companies-directory-clear-button{
        grid-column:auto!important;
        justify-self:stretch!important;
        height:47px!important;
    }

    .companies-grid.companies-list-view{
        grid-template-columns:1fr!important;
    }

    .companies-grid.companies-list-view .company-card-d511{
        display:flex!important;
        height:420px!important;
        min-height:420px!important;
        max-height:420px!important;
    }

    .companies-grid.companies-list-view .company-card-cover{
        height:92px!important;
        min-height:92px!important;
    }

    .companies-grid.companies-list-view .company-card-logo{
        top:60px!important;
        left:14px!important;
    }

    .companies-grid.companies-list-view .company-card-body{
        padding:35px 14px 13px!important;
    }
}

@media(max-width:560px){
    .companies-container{
        width:calc(100% - 24px)!important;
    }

    .companies-directory-control-panel{
        padding:13px!important;
    }

    .companies-directory-control-top{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    .companies-directory-sort{
        width:100%!important;
    }

    .companies-directory-filters{
        grid-template-columns:1fr!important;
    }

    .companies-directory-search{
        grid-column:auto!important;
    }

    .companies-directory-clear-button{
        height:40px!important;
    }
}

/* ============================================================
   KIAZOLUA D5.11D
   HEADER → HERO CATEGORIAS → PAINEL PROFISSIONAIS → RESULTADOS
   ============================================================ */

/* ------------------------------------------------------------
   HERO
   Usa largura visual ampla como a página Categorias.
   ------------------------------------------------------------ */

.companies-hero-categories-style{
    padding:26px 0 30px!important;
    background:
        radial-gradient(circle at 8% 18%,rgba(0,168,89,.11),transparent 34%),
        radial-gradient(circle at 92% 14%,rgba(255,159,28,.16),transparent 34%),
        #F7FAF9!important;
    border-bottom:1px solid #E2E8EC!important;
}

.companies-hero-wide{
    width:min(1760px,calc(100% - 48px))!important;
    margin:0 auto!important;

    display:grid!important;
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)!important;
    gap:34px!important;
    align-items:center!important;
}

.companies-hero-copy{
    min-width:0!important;
}

.companies-hero-label{
    display:inline-flex!important;
    align-items:center!important;
    margin-bottom:10px!important;
    color:#008D4B!important;
    font-size:.67rem!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:.08em!important;
}

.companies-hero-copy h1{
    max-width:900px!important;
    margin:0!important;
    color:#0B2B4D!important;
    font-size:clamp(2.4rem,4.2vw,4.8rem)!important;
    line-height:.98!important;
    font-weight:950!important;
    letter-spacing:-.045em!important;
}

.companies-hero-copy h1 span{
    display:block!important;
    color:#07964F!important;
}

.companies-hero-copy p{
    max-width:780px!important;
    margin:16px 0 0!important;
    color:#667085!important;
    font-size:.96rem!important;
    line-height:1.55!important;
}

.companies-hero-trust-row{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px 18px!important;
    margin-top:18px!important;
}

.companies-hero-trust-row span{
    color:#475467!important;
    font-size:.7rem!important;
    font-weight:800!important;
}

.companies-hero-visual{
    display:flex!important;
    justify-content:flex-end!important;
}

.companies-hero-visual-card{
    width:min(100%,520px)!important;
    min-height:240px!important;
    padding:28px!important;
    border-radius:26px!important;
    background:#0B2B4D!important;
    color:#fff!important;
    box-shadow:0 20px 50px rgba(11,43,77,.18)!important;
}

.companies-hero-visual-badge{
    display:inline-flex!important;
    padding:7px 10px!important;
    border-radius:999px!important;
    background:#FFF4E6!important;
    color:#B75B00!important;
    font-size:.59rem!important;
    font-weight:950!important;
    letter-spacing:.06em!important;
}

.companies-hero-visual-card>strong{
    display:block!important;
    max-width:390px!important;
    margin-top:18px!important;
    color:#fff!important;
    font-size:1.45rem!important;
    line-height:1.18!important;
    font-weight:950!important;
}

.companies-hero-visual-points{
    display:grid!important;
    gap:8px!important;
    margin-top:20px!important;
}

.companies-hero-visual-points span{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding:10px 12px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:11px!important;
    background:rgba(255,255,255,.08)!important;
    color:#FF9F1C!important;
    font-size:.65rem!important;
    font-weight:900!important;
}

.companies-hero-visual-points b{
    color:#fff!important;
    font-size:.72rem!important;
}

/* ------------------------------------------------------------
   ESPAÇO ENTRE HERO E PAINEL
   ------------------------------------------------------------ */

.companies-directory-page{
    padding-top:28px!important;
}

/* ------------------------------------------------------------
   PAINEL E RESULTADOS
   Alinhamento igual ao header:
   mesmo eixo esquerdo do logo e direito do botão Entrar.
   ------------------------------------------------------------ */

.companies-container{
    width:min(1540px,calc(100% - 64px))!important;
    margin-inline:auto!important;
}

/* ligeiro refinamento vertical */
.companies-directory-control-panel{
    padding-top:18px!important;
    padding-bottom:16px!important;
}

.companies-results-head-d511c{
    margin-top:26px!important;
}


/* ------------------------------------------------------------
   RESPONSIVO HERO
   ------------------------------------------------------------ */

@media(max-width:1050px){

    .companies-hero-wide{
        grid-template-columns:1fr!important;
    }

    .companies-hero-visual{
        justify-content:stretch!important;
    }

    .companies-hero-visual-card{
        width:100%!important;
    }
}

@media(max-width:700px){

    .companies-hero-categories-style{
        padding:20px 0 22px!important;
    }

    .companies-hero-wide{
        width:calc(100% - 24px)!important;
        gap:20px!important;
    }

    .companies-hero-copy h1{
        font-size:2.25rem!important;
        line-height:1.02!important;
    }

    .companies-hero-copy p{
        margin-top:12px!important;
        font-size:.82rem!important;
    }

    .companies-hero-visual-card{
        min-height:0!important;
        padding:20px!important;
        border-radius:18px!important;
    }

    .companies-hero-visual-card>strong{
        font-size:1.15rem!important;
    }

    .companies-directory-page{
        padding-top:18px!important;
    }

    .companies-container{
        width:calc(100% - 24px)!important;
    }
}

/* ============================================================
   KIAZOLUA D5.11E
   LIMITES HORIZONTAIS UNIFICADOS
   - Fundo do Hero continua full width
   - Conteúdo do Hero fica dentro do mesmo eixo do diretório
   - Painel, resultados e cards usam o mesmo limite
   ============================================================ */

:root{
    --kz-public-content-width: 88%;
    --kz-public-content-max: 1720px;
}


/* ============================================================
   1. HERO
   O SECTION continua 100% da largura.
   Apenas o conteúdo interno é limitado.
   ============================================================ */

.companies-hero-categories-style{
    width:100%!important;
}

.companies-hero-wide{
    width:min(
        var(--kz-public-content-max),
        var(--kz-public-content-width)
    )!important;

    max-width:var(--kz-public-content-max)!important;

    margin-left:auto!important;
    margin-right:auto!important;

    padding-left:0!important;
    padding-right:0!important;
}


/*
 * Não permitimos que texto ou card escapem
 * do limite do container.
 */
.companies-hero-copy,
.companies-hero-visual{
    min-width:0!important;
    max-width:100%!important;
}

.companies-hero-copy h1,
.companies-hero-copy p{
    max-width:100%!important;
}

.companies-hero-visual{
    justify-content:flex-end!important;
}

.companies-hero-visual-card{
    width:min(100%,520px)!important;
    max-width:520px!important;
}


/* ============================================================
   2. PAINEL / RESULTADOS / CARDS
   Exatamente o mesmo limite horizontal do Hero.
   ============================================================ */

.companies-container{
    width:min(
        var(--kz-public-content-max),
        var(--kz-public-content-width)
    )!important;

    max-width:var(--kz-public-content-max)!important;

    margin-left:auto!important;
    margin-right:auto!important;

    padding-left:0!important;
    padding-right:0!important;
}


/* ============================================================
   3. ESPAÇAMENTO VERTICAL
   Mantém distância clara entre Hero e filtros.
   ============================================================ */

.companies-directory-page{
    padding-top:30px!important;
}

.companies-directory-control-panel{
    margin-top:0!important;
}


/* ============================================================
   4. ECRÃS MUITO GRANDES
   Não deixa o conteúdo abrir indefinidamente.
   ============================================================ */

@media(min-width:1955px){

    :root{
        --kz-public-content-max:1720px;
    }
}


/* ============================================================
   5. TABLET
   ============================================================ */

@media(max-width:1050px){

    :root{
        --kz-public-content-width:calc(100% - 48px);
    }

    .companies-hero-wide,
    .companies-container{
        width:var(--kz-public-content-width)!important;
    }

    .companies-hero-visual-card{
        width:100%!important;
        max-width:none!important;
    }
}


/* ============================================================
   6. MOBILE
   ============================================================ */

@media(max-width:700px){

    :root{
        --kz-public-content-width:calc(100% - 24px);
    }

    .companies-hero-wide,
    .companies-container{
        width:var(--kz-public-content-width)!important;
    }

    .companies-directory-page{
        padding-top:18px!important;
    }
}
