
/*
 * Seven Ports Header Banners v1.13.1
 * 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.15.1 — identidade oficial + sete células no cabeçalho público.
 * A logomarca oficial é fixa e não participa do rodízio.
 * As seis posições publicitárias permanecem independentes, 220 x 70 px no desktop.
 */
.sp170-strip {
    grid-template-columns: 92px repeat(6, minmax(0, 220px)) !important;
    max-width: 1460px !important;
    width: min(100%, 1460px) !important;
    justify-content: center !important;
    column-gap: 8px !important;
}
.sp170-brand {
    width: 92px !important;
    height: 70px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
}
.sp170-brand img {
    display: block !important;
    width: 70px !important;
    height: 70px !important;
    max-width: 70px !important;
    object-fit: contain !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}
@media (min-width: 1500px) {
    .sp170-strip {
        grid-template-columns: 92px repeat(6, 220px) !important;
        width: 1460px !important;
        max-width: 1460px !important;
    }
}
@media (max-width: 1100px) {
    .sp170-strip {
        height: auto !important;
        max-height: none !important;
        grid-template-columns: 92px repeat(3, minmax(0, 220px)) !important;
        row-gap: 12px !important;
    }
}
@media (max-width: 620px) {
    .sp170-strip {
        grid-template-columns: 70px repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    .sp170-brand { width: 70px !important; }
    .sp170-brand img { width: 64px !important; height: 64px !important; }
}


/* v1.15.2 — alinhamento à esquerda e espaçamento real entre as seis posições. */
.sp170-strip {
    display: grid !important;
    grid-template-columns: 70px repeat(6, minmax(0, 1fr)) !important;
    column-gap: 15px !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    justify-content: start !important;
    overflow: visible !important;
}
.sp170-brand { width:70px !important; min-width:70px !important; justify-content:flex-start !important; }
.sp170-brand img { width:70px !important; height:70px !important; max-width:70px !important; }
.sp170-slot { width:100% !important; max-width:220px !important; min-width:0 !important; justify-self:start !important; }
@media (min-width:1500px) {
  .sp170-strip { grid-template-columns:70px repeat(6,220px) !important; width:auto !important; max-width:none !important; }
}
@media (max-width:1100px) {
  .sp170-strip { grid-template-columns:70px repeat(3,minmax(0,1fr)) !important; column-gap:15px !important; }
}
@media (max-width:620px) {
  .sp170-strip { grid-template-columns:64px repeat(2,minmax(0,1fr)) !important; gap:8px !important; }
}

/* v1.15.3 — cabeçalho responsivo sem corte.
 * 220x70 permanece o padrão da arte cadastrada.
 * No desktop, as seis células dividem somente o espaço realmente disponível
 * depois da logomarca e dos intervalos. A imagem usa contain e encolhe
 * proporcionalmente, sem recorte e sem rolagem horizontal.
 */
.sp170-strip {
    --sp-brand-w: 70px;
    --sp-gap: 15px;
    display: grid !important;
    grid-template-columns: var(--sp-brand-w) repeat(6, minmax(0, 1fr)) !important;
    column-gap: var(--sp-gap) !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
.sp170-brand {
    width: var(--sp-brand-w) !important;
    min-width: 0 !important;
    height: 70px !important;
}
.sp170-brand img {
    width: 70px !important;
    max-width: 100% !important;
    height: 70px !important;
    object-fit: contain !important;
}
.sp170-slot {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 220px !important;
    height: 70px !important;
    justify-self: stretch !important;
    overflow: hidden !important;
}
.sp170-item,
.sp170-item a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 70px !important;
}
.sp170-item img {
    width: 100% !important;
    max-width: 100% !important;
    height: 70px !important;
    object-fit: contain !important;
    object-position: center center !important;
}
/* Somente quando há largura de sobra, limita cada anúncio aos 220px originais. */
@media (min-width: 1500px) {
    .sp170-strip {
        grid-template-columns: var(--sp-brand-w) repeat(6, minmax(0, 220px)) !important;
    }
}
/* Em telas menores, continua sem cortar: reduz também a marca e os intervalos. */
@media (max-width: 1100px) {
    .sp170-strip {
        --sp-brand-w: 60px;
        --sp-gap: 10px;
        grid-template-columns: var(--sp-brand-w) repeat(6, minmax(0, 1fr)) !important;
        height: auto !important;
        max-height: none !important;
    }
    .sp170-brand img { width: 60px !important; height: 60px !important; }
}
@media (max-width: 700px) {
    .sp170-strip {
        --sp-brand-w: 54px;
        --sp-gap: 6px;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
    .sp170-brand img { width: 54px !important; height: 54px !important; }
}

/* v1.15.4 — retorno ao princípio do plugin primário:
 * as SEIS posições publicitárias têm rigorosamente a mesma caixa visual.
 * A arte cadastral continua 220x70. No cabeçalho, todas as seis células
 * recebem a mesma largura disponível e a mesma altura de 70px.
 * Nenhuma marca pode alterar a dimensão da sua posição.
 */
.sp170-strip {
    --sp154-brand: 70px;
    --sp154-gap: 15px;
    display: grid !important;
    grid-template-columns: var(--sp154-brand) repeat(6, minmax(0, 1fr)) !important;
    column-gap: var(--sp154-gap) !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow: hidden !important;
}
.sp170-brand {
    width: var(--sp154-brand) !important;
    min-width: var(--sp154-brand) !important;
    max-width: var(--sp154-brand) !important;
    height: 70px !important;
}
.sp170-brand img {
    width: 70px !important;
    height: 70px !important;
    max-width: 70px !important;
    object-fit: contain !important;
}
.sp170-slot,
.sp170-item,
.sp170-item a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 70px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
.sp170-slot { justify-self: stretch !important; }
.sp170-item img {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    object-fit: fill !important;
    object-position: center center !important;
}
@media (max-width: 1100px) {
    .sp170-strip { --sp154-brand: 60px; --sp154-gap: 10px; }
    .sp170-brand img { width:60px !important; height:60px !important; max-width:60px !important; }
}
@media (max-width: 700px) {
    .sp170-strip { --sp154-brand: 54px; --sp154-gap: 6px; padding-left:6px !important; padding-right:6px !important; }
    .sp170-brand img { width:54px !important; height:54px !important; max-width:54px !important; }
}
