
/*
 * Seven Ports Header Banners v1.12.7
 * Layout definitivo:
 * - sem linhas ou bordas
 * - conjunto centralizado horizontalmente
 * - espaço real entre banners
 * - espaço superior/inferior compacto
 * - imagem inteira (CONTER)
 */

.sp170-strip {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    column-gap: 8px !important;
    row-gap: 12px !important;
    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 1360px !important;
    margin: 0 auto !important;
    padding: 12px 0 !important;

    box-sizing: border-box !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
}

.sp170-slot {
    position: relative !important;
    width: 100% !important;
    max-width: 220px !important;
    height: 70px !important;
    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
    border: 0 !important;
    outline: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
}

.sp170-item {
    display: none !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 70px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    z-index: 1 !important;
}

.sp170-item.is-active {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2 !important;
}

.sp170-item a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 70px !important;
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    outline: 0 !important;
    text-decoration: none !important;

    position: relative !important;
    z-index: 10 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

.sp170-item img {
    display: block !important;
    width: 100% !important;
    height: 70px !important;
    max-width: 100% !important;

    object-fit: contain !important;
    object-position: center center !important;

    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;

    pointer-events: none !important;
}

/* v1.12.2 — os seis espaços encolhem proporcionalmente quando o cabeçalho é menor que 1360px, sem cortar a arte. */
/* Tablet */
@media (max-width: 900px) {
    .sp170-strip {
        grid-template-columns: repeat(3, minmax(0, 210px)) !important;
        gap: 12px !important;
    }
}

/* Celular */
@media (max-width: 520px) {
    .sp170-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        padding: 5px !important;
    }
}


/* v1.7.3 — simetria vertical definitiva */
.sp170-strip,
.sp170-strip * {
    box-sizing: border-box !important;
}
.sp170-strip {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* v1.7.4 — faixa final: 12px + 70px + 12px = 94px */
.sp170-strip {
    height: 94px !important;
    min-height: 94px !important;
    max-height: 94px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 auto !important;
}

/* Neutraliza margens/paddings que o tema possa aplicar ao widget do anúncio. */
.widget:has(.sp170-strip),
.widget_text:has(.sp170-strip),
.widget-area:has(.sp170-strip),
.header-ad:has(.sp170-strip),
.header-ads:has(.sp170-strip),
.header-advertisement:has(.sp170-strip),
.header-widget-area:has(.sp170-strip),
.site-header .widget:has(.sp170-strip),
.site-header .widget-area:has(.sp170-strip) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
}

/* Evita parágrafos/títulos vazios do tema aumentando a altura. */
.widget:has(.sp170-strip) > .widget-title,
.widget:has(.sp170-strip) > h2,
.widget:has(.sp170-strip) > h3 {
    display: none !important;
}
.sp190-territory-form{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:12px;border:1px solid #dcdcde;background:#fff}
.sp190-territory-form>strong{width:100%}.sp190-territory-form label{display:flex;flex-direction:column;gap:4px}.sp190-territory-form input{min-width:180px}.sp190-territory-form small{width:100%}


/* v1.12.0 — padrão oficial 220 x 70 px e Navegador Interno Seven Ports */
/* O tamanho máximo de cada posição continua 220 x 70 px; em áreas menores, somente a largura disponível encolhe e a imagem usa object-fit: contain, sem recorte. */
.sp-internal-browser { width: min(100%, 1366px); margin: 0 auto; padding: 12px 16px 24px; box-sizing: border-box; }
.sp-internal-browser-bar { display: flex; gap: 10px; align-items: center; padding: 10px; border: 1px solid #dcdcde; background: #fff; }
.sp-internal-back, .sp-internal-external { white-space: nowrap; padding: 8px 12px; border: 1px solid #2271b1; background: #2271b1; color: #fff; text-decoration: none; cursor: pointer; border-radius: 3px; }
.sp-internal-address { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.sp-internal-note { padding: 8px 10px; font-size: 12px; background: #f6f7f7; border-left: 3px solid #2271b1; }
.sp-internal-frame { display: block; width: 100%; height: calc(100vh - 260px); min-height: 600px; border: 1px solid #dcdcde; background: #fff; }
@media (max-width: 700px) {
    .sp-internal-browser-bar { flex-wrap: wrap; }
    .sp-internal-address { order: 3; flex-basis: 100%; }
    .sp-internal-frame { min-height: 520px; height: calc(100vh - 300px); }
}


/* v1.12.2 — correção de recorte lateral no cabeçalho */
.sp170-strip {
    width: 100% !important;
    max-width: 1360px !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    overflow: visible !important;
}
.sp170-slot {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 220px !important;
    height: 70px !important;
    overflow: hidden !important;
}
.sp170-item, .sp170-item a {
    width: 100% !important;
    min-width: 0 !important;
    height: 70px !important;
}
.sp170-item img {
    width: 100% !important;
    max-width: 220px !important;
    height: 70px !important;
    object-fit: contain !important;
    object-position: center center !important;
}


/* v1.12.4 — mensagem de exceção somente quando o destino bloqueia incorporação */
.sp-internal-note { display: none !important; }
.sp-internal-blocked {
    min-height: 58vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    box-sizing: border-box;
}
.sp-internal-blocked-card {
    width: min(100%, 620px);
    text-align: center;
    background: #fff;
    border: 1px solid #dcdcde;
    padding: 34px 28px;
    box-sizing: border-box;
}
.sp-internal-blocked-card h2 { margin: 0 0 10px; font-size: 22px; }
.sp-internal-blocked-card p { margin: 0 0 24px; }
.sp-internal-blocked-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
\n\n/* v1.12.5 — remove a “área morta” vertical entre o menu Seven Ports e o conteúdo encontrado */
body.sp-internal-browser-mode #content,
body.sp-internal-browser-mode .site-content,
body.sp-internal-browser-mode #primary,
body.sp-internal-browser-mode .content-area,
body.sp-internal-browser-mode .site-main,
body.sp-internal-browser-mode main.site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
body.sp-internal-browser-mode .sp-internal-browser {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* Alguns temas criam espaçadores imediatamente após o cabeçalho/menu. No navegador interno, eles não devem reservar altura. */
body.sp-internal-browser-mode header + .sp-internal-browser,
body.sp-internal-browser-mode #masthead + .sp-internal-browser,
body.sp-internal-browser-mode .site-header + .sp-internal-browser {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* v1.12.6 — navegação normal sem faixa branca: conteúdo começa imediatamente abaixo do menu. */
body.sp-internal-browser-mode .sp-internal-browser {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.sp-internal-browser-mode .sp-internal-frame {
    width: 100% !important;
    height: calc(100vh - 190px) !important;
    min-height: 650px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    display: block !important;
}
/* A barra branca não é renderizada quando o destino aceita incorporação.
   Em caso de bloqueio, permanece apenas o cartão central com Voltar e Abrir em nova aba. */


/* v1.12.7 — padronização dimensional oficial Seven Ports.
 * Desktop com espaço suficiente: cada posição mede exatamente 220 x 70 px.
 * Em telas menores, mantém-se a adaptação responsiva para não quebrar o site.
 */
@media (min-width: 1360px) {
    .sp170-strip {
        grid-template-columns: repeat(6, 220px) !important;
        width: 1360px !important;
        max-width: 1360px !important;
    }
    .sp170-slot, .sp170-item, .sp170-item a, .sp170-item img {
        width: 220px !important;
        min-width: 220px !important;
        max-width: 220px !important;
        height: 70px !important;
    }
}

/* v1.12.8 — identidade compacta + seis posições rigorosamente uniformes.
 * Arquivo-mestre: 220 x 70 px.
 * Desktop: esfera Seven Ports fixa + seis banners, todos reduzidos pela MESMA proporção.
 */
@media (min-width: 1100px) {
    .sp170-strip {
        grid-template-columns: 66px repeat(6, 207px) !important;
        column-gap: 8px !important;
        width: 1356px !important;
        max-width: 100% !important;
        height: 94px !important;
        overflow: hidden !important;
    }
    .sp170-brand {
        display: flex !important;
        position: relative !important;
        width: 66px !important;
        height: 66px !important;
        min-width: 66px !important;
        border-radius: 50% !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        background: radial-gradient(circle at 35% 30%, #1b8f65 0 8%, #07583f 52%, #033b2c 100%) !important;
        box-shadow: inset 0 0 0 2px rgba(255,255,255,.18) !important;
    }
    .sp170-brand::before, .sp170-brand::after, .sp170-globe-lines::before, .sp170-globe-lines::after {
        content: '' !important; position:absolute !important; border:1px solid rgba(255,255,255,.32) !important; border-radius:50% !important;
    }
    .sp170-brand::before { width:58px !important; height:24px !important; }
    .sp170-brand::after { width:24px !important; height:58px !important; }
    .sp170-globe-lines::before { width:58px !important; height:44px !important; }
    .sp170-globe-lines::after { width:44px !important; height:58px !important; }
    .sp170-brand strong { position:relative !important; z-index:3 !important; font:700 38px/1 Arial,sans-serif !important; color:#fff !important; text-shadow:0 1px 2px rgba(0,0,0,.35) !important; }
    .sp170-slot, .sp170-item, .sp170-item a, .sp170-item img {
        width: 207px !important;
        min-width: 207px !important;
        max-width: 207px !important;
        height: 66px !important;
        min-height: 66px !important;
        max-height: 66px !important;
    }
    .sp170-item img {
        object-fit: fill !important;
        object-position: center center !important;
    }
}
@media (max-width: 1099px) {
    .sp170-brand { display:none !important; }
}


/* v1.12.9 — correção geométrica definitiva do conjunto publicitário.
 * A identidade Seven Ports permanece na área própria do tema.
 * As seis posições usam TODA a largura realmente disponível no widget,
 * dividida em seis partes rigorosamente iguais, sem largura fixa que provoque corte.
 * Os arquivos-mestre continuam obrigatórios em 220 x 70 px.
 */
.sp170-brand { display:none !important; }
@media (min-width: 901px) {
    .sp170-strip {
        display:grid !important;
        grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
        gap:6px !important;
        width:100% !important;
        max-width:100% !important;
        height:94px !important;
        padding:12px 0 !important;
        overflow:hidden !important;
    }
    .sp170-slot,
    .sp170-item,
    .sp170-item a {
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        height:70px !important;
        min-height:70px !important;
        max-height:70px !important;
        overflow:hidden !important;
    }
    .sp170-item img {
        display:block !important;
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        height:70px !important;
        min-height:70px !important;
        max-height:70px !important;
        object-fit:fill !important;
        object-position:center center !important;
    }
}

/* v1.12.10 — identidade fixa + 6 posições territoriais iguais.
 * A esfera Seven Ports é um elemento institucional e NÃO ocupa posição publicitária.
 * Há 6 px de respiro verde entre esfera e banners e entre todos os banners.
 * Os seis banners recebem rigorosamente a mesma largura e 70 px de altura.
 */
@media (min-width: 901px) {
    .sp170-strip {
        display:grid !important;
        grid-template-columns:58px repeat(6, minmax(0,1fr)) !important;
        column-gap:6px !important;
        row-gap:0 !important;
        width:100% !important;
        max-width:100% !important;
        height:94px !important;
        padding:12px 0 !important;
        align-items:center !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
    }
    .sp170-brand {
        display:flex !important;
        width:58px !important;
        min-width:58px !important;
        max-width:58px !important;
        height:58px !important;
        min-height:58px !important;
        max-height:58px !important;
        border-radius:50% !important;
        align-items:center !important;
        justify-content:center !important;
        position:relative !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
        background:
          radial-gradient(circle at 30% 22%, rgba(255,255,255,.42) 0 7%, transparent 8%),
          conic-gradient(from 215deg, #f1c400 0 25%, #d71920 25% 46%, #08763e 46% 100%) !important;
        box-shadow:inset 0 0 0 2px rgba(0,0,0,.14), 0 1px 2px rgba(0,0,0,.18) !important;
    }
    .sp170-brand-seven {
        display:block !important;
        position:relative !important;
        z-index:2 !important;
        font:700 37px/1 Arial,sans-serif !important;
        color:#fff !important;
        letter-spacing:-2px !important;
        text-shadow:0 1px 2px rgba(0,0,0,.45) !important;
        transform:translateX(-1px) !important;
    }
    .sp170-slot,.sp170-item,.sp170-item a,.sp170-item img {
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        height:70px !important;
        min-height:70px !important;
        max-height:70px !important;
        box-sizing:border-box !important;
    }
    .sp170-slot,.sp170-item,.sp170-item a { overflow:hidden !important; }
    .sp170-item img {
        display:block !important;
        object-fit:fill !important;
        object-position:center center !important;
    }
}
@media (max-width:900px) {
    .sp170-brand { display:none !important; }
}


/* v1.12.12 — identidade original Seven Ports em 70 px + respiro visual ampliado.
 * A esfera original fornecida pelo projeto fica fixa, centralizada numa coluna própria à esquerda.
 * Ela não ocupa nenhuma das seis posições publicitárias.
 * Os seis banners continuam rigorosamente iguais e separados por 12 px de verde institucional.
 */
@media (min-width: 901px) {
    .sp170-strip {
        display:grid !important;
        grid-template-columns:70px repeat(6, minmax(0,1fr)) !important;
        column-gap:12px !important;
        row-gap:0 !important;
        width:100% !important;
        max-width:100% !important;
        height:94px !important;
        padding:12px 0 !important;
        align-items:center !important;
        justify-items:stretch !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
    }
    .sp170-brand {
        display:flex !important;
        width:70px !important;
        min-width:70px !important;
        max-width:70px !important;
        height:70px !important;
        min-height:70px !important;
        max-height:70px !important;
        margin:0 !important;
        padding:0 !important;
        align-items:center !important;
        justify-content:center !important;
        position:relative !important;
        overflow:visible !important;
        box-sizing:border-box !important;
        background:transparent !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
    }
    .sp170-brand::before,
    .sp170-brand::after { content:none !important; display:none !important; }
    .sp170-brand-seven { display:none !important; }
    .sp170-brand-image {
        display:block !important;
        width:70px !important;
        height:70px !important;
        max-width:70px !important;
        max-height:70px !important;
        min-width:70px !important;
        min-height:70px !important;
        margin:auto !important;
        padding:0 !important;
        object-fit:contain !important;
        object-position:center center !important;
        border:0 !important;
        outline:0 !important;
        box-shadow:none !important;
    }
    .sp170-slot,
    .sp170-item,
    .sp170-item a,
    .sp170-item img {
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        height:70px !important;
        min-height:70px !important;
        max-height:70px !important;
        box-sizing:border-box !important;
    }
    .sp170-slot,
    .sp170-item,
    .sp170-item a { overflow:hidden !important; }
    .sp170-item img {
        display:block !important;
        object-fit:fill !important;
        object-position:center center !important;
        margin:0 !important;
        padding:0 !important;
    }
}
@media (max-width:900px) {
    .sp170-brand { display:none !important; }
}


/* v1.12.13 — fechamento físico do cabeçalho.
 * Esfera original sem fundo, com 70px de ALTURA VISUAL efetiva.
 * A largura permanece automática para não deformar a identidade.
 * A esfera é centralizada na coluna institucional à esquerda.
 * As seis posições publicitárias permanecem iguais, com 12px de respiro.
 */
@media (min-width: 901px) {
    .sp170-strip {
        grid-template-columns: 82px repeat(6, minmax(0, 1fr)) !important;
        column-gap: 12px !important;
        height: 94px !important;
        padding: 12px 0 !important;
        align-items: center !important;
    }
    .sp170-brand {
        width: 82px !important;
        min-width: 82px !important;
        max-width: 82px !important;
        height: 70px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .sp170-brand-image {
        display: block !important;
        width: auto !important;
        height: 70px !important;
        min-width: 0 !important;
        min-height: 70px !important;
        max-width: 82px !important;
        max-height: 70px !important;
        object-fit: contain !important;
        object-position: center center !important;
        margin: 0 auto !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }
    .sp170-slot,
    .sp170-item,
    .sp170-item a,
    .sp170-item img {
        height: 70px !important;
        min-height: 70px !important;
        max-height: 70px !important;
    }
}
