
/* ==========================================================
   GHOSTBASE — CAMADA PROFISSIONAL DE LAYOUT V5
   Carregada DEPOIS do site.css.
   Objetivo: estabilizar escala, grids, imagens e responsividade
   sem apagar módulos existentes.
   ========================================================== */

:root{
    --gb-layout-max:1360px;
    --gb-content-max:1120px;
    --gb-reading-max:920px;
    --gb-gap:24px;
    --gb-section-space:78px;
}

/* ---------- NORMALIZAÇÃO SEGURA ---------- */

html{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

body{
    width:100%;
    min-width:0;
    overflow-x:hidden;
    background:var(--bg,#080b0d);
    color:var(--text,#f4f6f7);
    font-size:16px;
}

body > main{
    width:100%;
    min-width:0;
    overflow:hidden;
}

.container{
    width:min(calc(100% - 48px),var(--gb-layout-max))!important;
    max-width:var(--gb-layout-max)!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

img,
video{
    max-width:100%;
}

section,
article,
div{
    min-width:0;
}


/* ---------- HEADER ---------- */

.site-header{
    width:100%;
}

.nav-shell{
    width:min(calc(100% - 48px),var(--gb-layout-max))!important;
    max-width:var(--gb-layout-max)!important;
    height:76px;
    gap:30px;
}

.brand{
    min-width:220px;
    flex:0 0 auto;
}

.brand-logo-image{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border-radius:12px!important;
}

.brand-logo-image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:48px!important;
    max-height:48px!important;
    object-fit:contain!important;
}

.brand > span:last-child{
    min-width:0;
}

.brand strong{
    font-size:15px;
    line-height:1.1;
}

.brand small{
    margin-top:4px;
    font-size:9px;
    line-height:1.15;
}

.main-nav{
    gap:20px;
    font-size:14px;
}


/* ---------- ESPAÇAMENTO GERAL ---------- */

.section{
    padding:var(--gb-section-space) 0;
}

.section-alt{
    background:#0c1013;
}

.section-head{
    margin-bottom:30px;
}

.section-head h2{
    max-width:850px;
}

.home-intro{
    padding:52px 0!important;
}

.home-intro-inner{
    width:100%;
}


/* ---------- HERO / BANNERS ---------- */

.hero{
    width:100%;
    min-height:min(760px,78vh);
}

.hero-inner{
    width:100%;
}

.gb-banner-slider{
    width:100%!important;
    max-width:none!important;
}

.gb-banner-slider--hero{
    width:100%!important;
    max-width:none!important;
}

.gb-banner-slider--hero,
.gb-banner-slider--hero .gb-banner-track,
.gb-banner-slider--hero .gb-banner-slide{
    min-height:clamp(460px,55vw,700px)!important;
    max-height:720px!important;
}

.gb-banner-slide{
    overflow:hidden!important;
}

.gb-banner-slide > img,
.gb-banner-media,
.gb-banner-media img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center!important;
}

/*
 * Banner intermediário: tamanho previsível.
 * Imagem quadrada não explode a página.
 */
.gb-home-banner-middle{
    padding:52px 0!important;
}

.gb-home-banner-middle .container{
    width:min(calc(100% - 48px),var(--gb-layout-max))!important;
}

.gb-banner-slider--compact{
    width:100%!important;
    max-width:100%!important;
    min-height:320px!important;
    height:clamp(320px,32vw,430px)!important;
    border-radius:22px!important;
    overflow:hidden!important;
    background:#090d10!important;
}

.gb-banner-slider--compact .gb-banner-track,
.gb-banner-slider--compact .gb-banner-slide{
    height:100%!important;
    min-height:0!important;
}

.gb-banner-slider--compact .gb-banner-slide > img,
.gb-banner-slider--compact .gb-banner-media,
.gb-banner-slider--compact .gb-banner-media img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#090d10!important;
}


/* ---------- GRIDS ---------- */

.grid{
    width:100%;
    gap:var(--gb-gap)!important;
}

.grid-4{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.grid-3{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* Impede cartões muito estreitos em telas grandes */
.event-card,
.card,
.identity-card,
.operator-card{
    min-width:0;
}


/* ---------- OPERAÇÕES ---------- */

.event-card{
    height:100%;
    display:flex;
    flex-direction:column;
    border-radius:18px;
}

.event-card .media{
    aspect-ratio:4 / 3;
    overflow:hidden;
}

.event-card .media img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:center!important;
}

.event-card .card-body{
    flex:1;
    display:flex;
    flex-direction:column;
    padding:20px;
}

.event-card .card-body p{
    flex:1;
}

.date-chip{
    left:14px!important;
    top:14px!important;
    padding:8px 10px!important;
    font-size:11px!important;
    line-height:1!important;
}


/* ---------- NOTÍCIAS ---------- */

.news-layout{
    width:100%;
    grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)!important;
    gap:24px!important;
}

.feature-card{
    min-height:520px;
}

.feature-card > img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}

.news-stack{
    min-width:0;
}

.news-row{
    grid-template-columns:130px minmax(0,1fr)!important;
    min-height:108px;
}

.news-row img{
    width:130px!important;
    height:88px!important;
    object-fit:cover!important;
}


/* ---------- EQUIPES ---------- */

.identity-card{
    width:100%;
    height:100%;
    grid-template-columns:136px minmax(0,1fr)!important;
    gap:18px!important;
    padding:18px!important;
}

.identity-card > img{
    width:136px!important;
    height:136px!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#0b1014;
}


/* ---------- OPERADORES ---------- */

.operator-card{
    min-height:430px!important;
    width:100%;
}

.operator-card > img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:center!important;
}


/* ---------- CONTEÚDO / REPORTAGENS ---------- */

.article-width{
    width:min(calc(100% - 48px),var(--gb-reading-max))!important;
    max-width:var(--gb-reading-max)!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

.article-page{
    padding:72px 0;
}

.article-cover img,
.content-cover img{
    width:100%!important;
    height:auto!important;
    max-height:680px!important;
    object-fit:contain!important;
    background:#0b1014;
}

.prose,
.article-body,
.rich-content{
    max-width:100%;
    overflow-wrap:anywhere;
}

.prose img,
.article-body img,
.rich-content img{
    max-width:100%!important;
    height:auto!important;
    margin-left:auto;
    margin-right:auto;
}


/* ---------- PÁGINAS INTERNAS ---------- */

.content-layout{
    grid-template-columns:minmax(0,1fr) 330px!important;
    gap:44px!important;
}

.detail-hero{
    min-height:520px!important;
}

.detail-copy{
    max-width:950px;
}

.profile-head{
    min-width:0;
}

.profile-head > img{
    flex:0 0 150px;
}


/* ---------- STORE / PARCEIROS ---------- */

.store-grid,
.partner-grid,
.gb-store-grid{
    width:100%;
    align-items:stretch;
}

.store-card,
.partner-card,
.gb-store-card{
    min-width:0;
    height:100%;
}

.store-card img,
.partner-card img,
.gb-store-card img{
    max-width:100%;
}


/* ---------- GALERIA ---------- */

.gallery-grid{
    width:100%;
    columns:4 260px;
    column-gap:18px;
}

.gallery-grid figure{
    width:100%;
}

.gallery-grid img{
    width:100%!important;
    height:auto!important;
}


/* ---------- LENDÁRIOS: NÃO INTERFERIR NO V7 ---------- */

.gbv7-hero .container,
.gbv7-section .container,
.gbv7-profile .container{
    width:min(calc(100% - 48px),var(--gb-layout-max))!important;
    max-width:var(--gb-layout-max)!important;
}


/* ---------- FOOTER ---------- */

.site-footer{
    width:100%;
}

.footer-grid{
    grid-template-columns:minmax(280px,2fr) repeat(3,minmax(150px,1fr))!important;
    gap:42px!important;
}


/* ---------- DESKTOP GRANDE ---------- */

@media(min-width:1500px){
    :root{
        --gb-layout-max:1400px;
    }

    .grid-4{
        gap:26px!important;
    }

    .event-card .media{
        aspect-ratio:1.18 / 1;
    }
}


/* ---------- NOTEBOOK / TABLET ---------- */

@media(max-width:1180px){
    :root{
        --gb-layout-max:1120px;
    }

    .main-nav{
        gap:14px;
        font-size:13px;
    }

    .brand{
        min-width:190px;
    }

    .grid-4{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .news-layout{
        grid-template-columns:1fr!important;
    }

    .news-stack{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .content-layout{
        grid-template-columns:1fr!important;
    }
}


/* ---------- TABLET / MOBILE MENU ---------- */

@media(max-width:1050px){
    .container,
    .nav-shell,
    .gb-home-banner-middle .container,
    .gbv7-hero .container,
    .gbv7-section .container,
    .gbv7-profile .container{
        width:min(calc(100% - 32px),960px)!important;
    }

    .brand{
        min-width:0;
    }

    .grid-3{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

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


/* ---------- CELULAR ---------- */

@media(max-width:720px){
    :root{
        --gb-section-space:56px;
    }

    .container,
    .nav-shell,
    .gb-home-banner-middle .container,
    .gbv7-hero .container,
    .gbv7-section .container,
    .gbv7-profile .container{
        width:calc(100% - 28px)!important;
    }

    .nav-shell{
        height:68px;
    }

    .brand-logo-image{
        width:42px!important;
        height:42px!important;
        min-width:42px!important;
    }

    .brand-logo-image img{
        max-width:42px!important;
        max-height:42px!important;
    }

    .grid-4,
    .grid-3{
        grid-template-columns:1fr!important;
    }

    .event-card .media{
        aspect-ratio:16 / 10;
    }

    .news-stack{
        grid-template-columns:1fr;
    }

    .news-row{
        grid-template-columns:96px minmax(0,1fr)!important;
    }

    .news-row img{
        width:96px!important;
        height:78px!important;
    }

    .identity-card{
        grid-template-columns:96px minmax(0,1fr)!important;
    }

    .identity-card > img{
        width:96px!important;
        height:96px!important;
    }

    .operator-card{
        min-height:390px!important;
    }

    .gb-banner-slider--compact{
        min-height:240px!important;
        height:280px!important;
    }

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

    .article-width{
        width:calc(100% - 28px)!important;
    }
}


/* ---------- TELAS MUITO PEQUENAS ---------- */

@media(max-width:430px){
    body{
        font-size:15px;
    }

    .section-head h2{
        font-size:32px;
    }

    .event-card .card-body{
        padding:16px;
    }

    .feature-card{
        min-height:430px;
    }
}


/* ==========================================================
   GHOSTBASE — SLIDER PROFISSIONAL V5
   ========================================================== */

.gb-banner-slider{
    position:relative!important;
    isolation:isolate;
    background:#070b0e!important;
}

.gb-banner-track{
    position:relative!important;
    overflow:hidden!important;
}

.gb-banner-slide{
    overflow:hidden!important;
    transform:scale(1.012);
    transition:
        opacity .75s ease,
        visibility .75s ease,
        transform 1.1s cubic-bezier(.2,.7,.2,1)!important;
}

.gb-banner-slide.is-active{
    transform:scale(1)!important;
}

.gb-banner-backdrop{
    position:absolute;
    inset:-30px;
    z-index:-5;
    background-position:center;
    background-size:cover;
    filter:blur(25px) brightness(.44) saturate(.8);
    transform:scale(1.08);
    opacity:.72;
}

.gb-banner-media{
    z-index:-3!important;
    display:flex;
    align-items:center;
    justify-content:center;
}

.gb-banner-media img,
.gb-banner-media video{
    max-width:none!important;
}

/* horizontal realmente largo: ocupa todo o palco */
.gb-banner-slide.is-wide .gb-banner-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}

/* artes quadradas/verticais: preserva a arte inteira */
.gb-banner-slide.is-portrait .gb-banner-media img,
.gb-banner-slide.is-landscape .gb-banner-media img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
}

.gb-banner-slide.is-portrait .gb-banner-overlay,
.gb-banner-slide.is-landscape .gb-banner-overlay{
    background:
        linear-gradient(
            90deg,
            rgba(3,6,8,.38),
            rgba(3,6,8,.12) 50%,
            rgba(3,6,8,.38)
        ),
        linear-gradient(
            0deg,
            rgba(3,6,8,.42),
            transparent 54%
        )!important;
}

/*
 * Quando há somente imagem sem título, a arte recebe protagonismo.
 */
.gb-banner-slide:not(:has(.gb-banner-copy)) .gb-banner-overlay{
    background:linear-gradient(
        0deg,
        rgba(3,6,8,.20),
        transparent 46%,
        rgba(3,6,8,.08)
    )!important;
}

.gb-banner-arrow{
    opacity:.78;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
}

.gb-banner-slider:hover .gb-banner-arrow{
    opacity:1;
}

.gb-banner-progress{
    position:absolute;
    z-index:12;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    overflow:hidden;
    background:rgba(255,255,255,.08);
}

.gb-banner-progress span{
    display:block;
    width:100%;
    height:100%;
    transform:scaleX(0);
    transform-origin:left center;
    background:var(--accent,#ff6a00);
}

.gb-banner-slider--hero{
    max-height:720px!important;
}

.gb-banner-slider--hero,
.gb-banner-slider--hero .gb-banner-track,
.gb-banner-slider--hero .gb-banner-slide{
    height:clamp(500px,58vw,700px)!important;
    min-height:500px!important;
}

.gb-banner-slider--compact,
.gb-banner-slider--compact .gb-banner-track,
.gb-banner-slider--compact .gb-banner-slide{
    height:clamp(300px,32vw,430px)!important;
    min-height:300px!important;
}

.gb-banner-slider--compact .gb-banner-backdrop{
    filter:blur(20px) brightness(.36);
}

.gb-banner-slider--compact .gb-banner-slide.is-portrait .gb-banner-media img{
    width:min(100%,520px)!important;
    height:100%!important;
    object-fit:contain!important;
}

/* HOME: transições mais suaves entre blocos */
.gb-home-banner-middle{
    background:#080c0f;
}

.home-intro,
.section{
    scroll-margin-top:80px;
}


/* ==========================================================
   ACABAMENTO GLOBAL
   ========================================================== */

.card,
.identity-card,
.event-card,
.feature-card,
.news-row,
.gbv7-card{
    will-change:transform;
}

.card,
.identity-card,
.event-card,
.gbv7-card{
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.card:hover,
.identity-card:hover,
.event-card:hover{
    transform:translateY(-4px);
    border-color:rgba(255,106,0,.55)!important;
    box-shadow:0 18px 46px rgba(0,0,0,.28);
}

.site-header{
    backdrop-filter:saturate(120%) blur(14px);
}

.page-hero{
    min-height:270px;
    display:flex;
    align-items:center;
}

.page-hero h1{
    max-width:1000px;
}

@media(max-width:720px){

    .gb-banner-slider--hero,
    .gb-banner-slider--hero .gb-banner-track,
    .gb-banner-slider--hero .gb-banner-slide{
        height:470px!important;
        min-height:470px!important;
    }

    .gb-banner-slider--compact,
    .gb-banner-slider--compact .gb-banner-track,
    .gb-banner-slider--compact .gb-banner-slide{
        height:300px!important;
        min-height:300px!important;
    }

    .gb-banner-arrow{
        width:42px!important;
        height:42px!important;
    }

    .gb-banner-prev{
        left:10px!important;
    }

    .gb-banner-next{
        right:10px!important;
    }

    .gb-banner-dots{
        bottom:16px!important;
    }
}


/* ==========================================================
   GHOSTBASE V6 — RESPONSIVIDADE ESTRUTURAL
   Não altera posições/regras do CMS.
   ========================================================== */

html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

img, video, iframe, svg {
    max-width: 100%;
}

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

main {
    min-width: 0;
}

.grid > *,
.news-layout > *,
.home-intro-inner > *,
.section-head > *,
.identity-card > *,
.feature-card > * {
    min-width: 0;
}

/* Banner: responsivo, porém SEM mudar seu slot */
.gb-banner-slider {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.gb-banner-slider--hero,
.gb-banner-slider--hero .gb-banner-track,
.gb-banner-slider--hero .gb-banner-slide {
    height: clamp(360px, 34vw, 640px) !important;
    min-height: 360px !important;
}

.gb-banner-slider--compact,
.gb-banner-slider--compact .gb-banner-track,
.gb-banner-slider--compact .gb-banner-slide {
    height: clamp(260px, 31vw, 500px) !important;
    min-height: 260px !important;
}

.gb-banner-slider--page,
.gb-banner-slider--page .gb-banner-track,
.gb-banner-slider--page .gb-banner-slide {
    height: clamp(260px, 27vw, 480px) !important;
    min-height: 260px !important;
}

.gb-banner-media,
.gb-banner-media img,
.gb-banner-media video {
    width: 100% !important;
    height: 100% !important;
}

.gb-banner-media img,
.gb-banner-media video {
    object-fit: cover !important;
    object-position: center !important;
}

/*
 * O ADM já informa a proporção recomendada para cada posição.
 * O front preserva o palco correspondente e não move o banner.
 */
.gb-banner-slider--compact .gb-banner-media img {
    object-fit: cover !important;
}

.gb-banner-content {
    position: relative;
    z-index: 5;
}

.gb-banner-copy {
    max-width: min(720px, 72vw);
}

/* Cards e imagens */
.card .media,
.event-card .media,
.feature-card > img,
.news-row > img,
.identity-card > img,
.operator-card > img {
    overflow: hidden;
}

.card .media img,
.event-card .media img,
.feature-card > img,
.news-row > img,
.identity-card > img,
.operator-card > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------------------- 1200 ---------------------- */
@media (max-width: 1200px) {
    .container {
        width: min(100% - 36px, 1100px) !important;
    }

    .grid-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ----------------------- 980 ----------------------- */
@media (max-width: 980px) {
    .site-header .container,
    .header-inner {
        gap: 18px;
    }

    .home-intro-inner,
    .news-layout {
        grid-template-columns: 1fr !important;
    }

    .section-head {
        align-items: flex-start !important;
        gap: 14px !important;
    }

    .feature-card {
        grid-template-columns: 1fr !important;
    }

    .feature-card > img {
        min-height: 300px;
        max-height: 440px;
    }

    .gb-banner-copy {
        max-width: min(680px, 82vw);
    }
}

/* ----------------------- 760 ----------------------- */
@media (max-width: 760px) {
    .container {
        width: calc(100% - 28px) !important;
    }

    .section {
        padding-block: 54px !important;
    }

    .grid,
    .grid-4,
    .grid-3,
    .grid-2 {
        grid-template-columns: 1fr !important;
    }

    .section-head {
        display: flex !important;
        flex-direction: column !important;
    }

    .home-intro-inner {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .identity-card {
        grid-template-columns: 96px minmax(0, 1fr) !important;
        align-items: center;
    }

    .identity-card > img {
        width: 96px !important;
        height: 96px !important;
        border-radius: 16px;
    }

    .news-row {
        grid-template-columns: 110px minmax(0, 1fr) !important;
    }

    .news-row > img {
        width: 110px !important;
        height: 90px !important;
    }

    .gb-banner-slider--hero,
    .gb-banner-slider--hero .gb-banner-track,
    .gb-banner-slider--hero .gb-banner-slide {
        height: clamp(300px, 62vw, 430px) !important;
        min-height: 300px !important;
    }

    .gb-banner-slider--compact,
    .gb-banner-slider--compact .gb-banner-track,
    .gb-banner-slider--compact .gb-banner-slide,
    .gb-banner-slider--page,
    .gb-banner-slider--page .gb-banner-track,
    .gb-banner-slider--page .gb-banner-slide {
        height: clamp(220px, 52vw, 340px) !important;
        min-height: 220px !important;
    }

    .gb-banner-copy {
        max-width: calc(100vw - 74px);
    }

    .gb-banner-copy h1 {
        font-size: clamp(2rem, 10vw, 3.8rem) !important;
        line-height: .95 !important;
    }

    .gb-banner-copy h2 {
        font-size: clamp(1.15rem, 5.2vw, 1.65rem) !important;
    }

    .gb-banner-copy p {
        font-size: .95rem !important;
        line-height: 1.55 !important;
    }

    .gb-banner-arrow {
        width: 38px !important;
        height: 38px !important;
    }

    .site-footer .container,
    .footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 32px !important;
    }

    /* Lendários */
    .gbv7-grid,
    .gbv7-detail-grid,
    .gbv7-hero-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ----------------------- 520 ----------------------- */
@media (max-width: 520px) {
    .container {
        width: calc(100% - 22px) !important;
    }

    body {
        font-size: 15px;
    }

    h1 {
        overflow-wrap: anywhere;
    }

    .hero-actions,
    .card-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100%;
    }

    .hero-actions .btn,
    .card-actions .btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .identity-card {
        grid-template-columns: 76px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .identity-card > img {
        width: 76px !important;
        height: 76px !important;
    }

    .news-row {
        grid-template-columns: 88px minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .news-row > img {
        width: 88px !important;
        height: 76px !important;
    }

    .gb-banner-slider--hero,
    .gb-banner-slider--hero .gb-banner-track,
    .gb-banner-slider--hero .gb-banner-slide {
        height: 320px !important;
        min-height: 320px !important;
    }

    .gb-banner-slider--compact,
    .gb-banner-slider--compact .gb-banner-track,
    .gb-banner-slider--compact .gb-banner-slide,
    .gb-banner-slider--page,
    .gb-banner-slider--page .gb-banner-track,
    .gb-banner-slider--page .gb-banner-slide {
        height: 240px !important;
        min-height: 240px !important;
    }

    .gb-banner-content {
        align-items: flex-end !important;
        padding-bottom: 44px !important;
    }

    .gb-banner-copy {
        max-width: calc(100vw - 54px);
    }

    .gb-banner-copy p {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .gb-banner-dots {
        bottom: 12px !important;
    }

    .site-footer .container,
    .footer-grid {
        grid-template-columns: 1fr !important;
    }

    table {
        min-width: 680px;
    }

    .table-wrap,
    .admin-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
