:root{
    --bg:#061426;
    --bg2:#081b34;
    --card:#0b213d;
    --line:rgba(255,255,255,.12);
    --text:#eaf6ff;
    --muted:#9db7cf;
    --cyan:#13c8ff;
    --blue:#2563ff;
    --green:#35e6a7;
}

*{box-sizing:border-box}

body{
    margin:0;
    background:radial-gradient(circle at top left,#12355e 0,#061426 38%,#020812 100%);
    color:var(--text);
    font-family:Inter,Segoe UI,Arial,sans-serif;
    overflow-x:hidden;
}

/* NAVBAR */
.nav-glass{
    min-height:82px;
    background:linear-gradient(90deg,#081b34,#092346,#051226);
    border-bottom:1px solid rgba(19,200,255,.14);
    box-shadow:0 12px 40px rgba(0,0,0,.28);
    padding:8px 0;
    z-index:9999;
}

.navbar-brand{
    background:none!important;
    border:none!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
}

.brand-logo{
    width:190px;      /* aumenta a largura */
    height:auto;
    max-height:100px; /* aumenta a altura máxima */
    object-fit:contain;
    background:transparent!important;
    border:none!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
    border-radius:0!important;
    filter:drop-shadow(0 0 18px rgba(19,200,255,.25));
    transition:.3s;
}

.navbar-nav{
    align-items:center;
}

.nav-link{
    color:#d9efff!important;
    margin-left:14px;
    font-weight:700;
}

.nav-link:hover{
    color:var(--cyan)!important;
}

.nav-cta{
    border:1px solid rgba(19,200,255,.55);
    border-radius:999px;
    padding:10px 20px!important;
    background:rgba(19,200,255,.08);
}

.nav-download{
    margin-left:18px;
    padding:12px 24px!important;
    border-radius:999px;
    background:linear-gradient(135deg,#13c8ff,#2563ff);
    color:white!important;
    font-weight:900;
    box-shadow:0 0 30px rgba(19,200,255,.35);
}

/* HERO */
.hero{
    position:relative;
    min-height:860px;
    padding:190px 0 90px;
    overflow:hidden;
}

.bg-grid{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(19,200,255,.06) 1px,transparent 1px),
        linear-gradient(90deg,rgba(19,200,255,.06) 1px,transparent 1px);
    background-size:55px 55px;
    opacity:.8;
}

.hero .container{
    position:relative;
    z-index:2;
}

.badge-glow{
    display:inline-block;
    padding:9px 16px;
    border:1px solid rgba(19,200,255,.35);
    border-radius:999px;
    background:rgba(19,200,255,.08);
    color:#83e7ff;
    font-weight:800;
}

.hero h1{
    font-size:clamp(42px,6vw,76px);
    font-weight:950;
    line-height:1.02;
    margin:22px 0;
    background:linear-gradient(135deg,#fff,#7de7ff,#6aa4ff);
    -webkit-background-clip:text;
    color:transparent;
}

.lead{
    color:var(--muted);
    font-size:1.2rem;
    max-width:650px;
}

/* BOTÕES STORE */
.store-buttons{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    margin-top:28px;
}

.store{
    display:inline-flex!important;
    align-items:center;
    gap:14px;
    text-decoration:none!important;
    color:#fff!important;
    background:linear-gradient(135deg,#0d2d52,#0c203b);
    border:1px solid rgba(255,255,255,.16);
    border-radius:18px;
    padding:14px 22px;
    box-shadow:0 18px 50px rgba(0,0,0,.25);
    min-width:190px;
}

.store i{
    font-size:30px;
}

.store span{
    line-height:1.1;
}

.store b{
    font-size:1.1rem;
}

.store.small{
    min-width:auto;
    font-size:.9rem;
    padding:10px 15px;
}

/* STATS */
.hero-stats{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    margin-top:34px;
}

.hero-stats div{
    background:rgba(255,255,255,.06);
    border:1px solid var(--line);
    border-radius:18px;
    padding:15px 20px;
    min-width:110px;
}

.hero-stats b{
    display:block;
    color:#fff;
    font-size:1.45rem;
}

.hero-stats span{
    color:var(--muted);
    font-size:.88rem;
}

/* PHONES */
.phone-stage{
    height:620px;
    position:relative;
}

.phone{
    position:absolute;
    width:285px;
    min-height:565px;
    border-radius:38px;
    background:linear-gradient(180deg,#0d3158,#07192f);
    border:1px solid rgba(122,221,255,.35);
    box-shadow:0 40px 120px rgba(19,200,255,.18);
    padding:30px 20px;
    color:white;
}

.phone:before{
    content:"";
    position:absolute;
    inset:10px;
    border-radius:30px;
    border:1px solid rgba(255,255,255,.08);
    pointer-events:none;
}

.phone-top{
    width:90px;
    height:8px;
    background:#020813;
    border-radius:20px;
    margin:0 auto 25px;
}

.phone h6{
    font-weight:900;
    font-size:1.25rem;
}

.phone p,
.phone span{
    color:var(--muted);
}

.phone-one{
    left:20px;
    top:25px;
    transform:rotate(-7deg);
}

.phone-two{
    right:5px;
    top:90px;
    transform:rotate(7deg);
}

.job-card{
    background:rgba(255,255,255,.07);
    border:1px solid var(--line);
    border-radius:18px;
    padding:16px;
    margin:16px 0;
}

.job-card b,
.job-card span{
    display:block;
}

.job-card.active{
    border-color:rgba(53,230,167,.5);
    box-shadow:0 0 30px rgba(53,230,167,.12);
}

.mini-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.mini-grid span{
    background:rgba(19,200,255,.1);
    border-radius:14px;
    padding:12px;
    font-size:.82rem;
}

.chart-bars{
    display:flex;
    align-items:end;
    gap:10px;
    height:130px;
    margin:20px 0;
}

.chart-bars i{
    flex:1;
    border-radius:12px;
    background:linear-gradient(#13c8ff,#2563ff);
}

.chart-bars i:nth-child(1){height:45%}
.chart-bars i:nth-child(2){height:85%}
.chart-bars i:nth-child(3){height:65%}
.chart-bars i:nth-child(4){height:100%}

/* SEÇÕES */
.carousel-section,
.section,
.promo{
    padding:80px 0;
}

.banner-card{
    min-height:310px;
    border-radius:34px;
    padding:45px;
    background:linear-gradient(135deg,rgba(19,200,255,.14),rgba(37,99,255,.12));
    border:1px solid rgba(255,255,255,.12);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    overflow:hidden;
}

.banner-card h2,
.section-head h2,
.promo-box h2{
    font-weight:950;
}

.banner-card p,
.section-head p{
    color:var(--muted);
}

.banner-card img{
    max-height:260px;
    border-radius:24px;
}

.btn-neon{
    display:inline-block;
    text-decoration:none;
    color:#04111f;
    background:linear-gradient(135deg,#13c8ff,#35e6a7);
    border-radius:999px;
    padding:13px 24px;
    font-weight:900;
}

.section-head{
    text-align:center;
    max-width:760px;
    margin:0 auto 45px;
}

.section-head span,
.promo-box span{
    display:inline-block;
    padding:8px 14px;
    border:1px solid rgba(19,200,255,.35);
    border-radius:999px;
    background:rgba(19,200,255,.08);
    color:#83e7ff;
    font-weight:800;
}

/* FEATURES */
.feature-card{
    height:100%;
    padding:30px;
    border-radius:26px;
    background:rgba(255,255,255,.055);
    border:1px solid var(--line);
    transition:.25s;
}

.feature-card:hover,
.feature-card.featured{
    transform:translateY(-6px);
    border-color:rgba(19,200,255,.45);
    box-shadow:0 30px 90px rgba(19,200,255,.12);
}

.feature-card i{
    width:56px;
    height:56px;
    border-radius:18px;
    display:grid;
    place-items:center;
    background:rgba(19,200,255,.12);
    color:var(--cyan);
    font-size:24px;
    margin-bottom:20px;
}

.feature-card h3{
    font-size:1.25rem;
    font-weight:900;
}

.feature-card p{
    color:var(--muted);
}

/* PROMO */
.promo-box{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    border-radius:34px;
    padding:45px;
    background:linear-gradient(135deg,rgba(53,230,167,.12),rgba(19,200,255,.08));
    border:1px solid rgba(53,230,167,.25);
}

.prices del{
    color:#89a5bc;
    margin-right:12px;
}

.prices b{
    font-size:2rem;
    color:#35e6a7;
}

.countdown{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.countdown div{
    min-width:90px;
    text-align:center;
    background:rgba(0,0,0,.28);
    border:1px solid var(--line);
    border-radius:20px;
    padding:16px;
}

.countdown b{
    font-size:2rem;
    display:block;
}

/* GALLERY */
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.gallery-item{
    position:relative;
    min-height:240px;
    border-radius:26px;
    overflow:hidden;
    background:rgba(255,255,255,.06);
    border:1px solid var(--line);
}

.gallery-item img,
.placeholder{
    width:100%;
    height:100%;
    object-fit:cover;
    position:absolute;
    inset:0;
}

.placeholder{
    display:grid;
    place-items:center;
    color:var(--cyan);
    font-size:45px;
}

.gallery-item:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(transparent,rgba(0,0,0,.78));
}

.gallery-item div:not(.placeholder){
    position:absolute;
    left:18px;
    right:18px;
    bottom:18px;
    z-index:2;
}

/* TESTIMONIALS */
.testimonial-card{
    padding:30px;
    border-radius:26px;
    background:rgba(255,255,255,.06);
    border:1px solid var(--line);
    min-height:260px;
}

.stars{
    color:#ffd166;
    letter-spacing:2px;
}

/* VIDEO */
.video-box{
    height:370px;
    border-radius:34px;
    background:rgba(255,255,255,.06);
    border:1px solid var(--line);
    display:grid;
    place-items:center;
    text-align:center;
    overflow:hidden;
}

.video-box iframe{
    width:100%;
    height:100%;
    border:0;
}

.video-box i{
    font-size:70px;
    color:#ff3b3b;
}

/* FOOTER */
.footer{
    padding:70px 0 30px;
    background:#020812;
    border-top:1px solid var(--line);
}

.footer p{
    color:var(--muted);
}

.footer a{
    display:block;
    color:#b8d3e7;
    text-decoration:none;
    margin:8px 0;
}

.copyright{
    border-top:1px solid var(--line);
    margin-top:35px;
    padding-top:25px;
    color:#7894aa;
}

/* =========================
   TABLET
========================= */
@media(max-width:991px){
    .brand-logo{
        width:170px;
        max-height:70px;
    }

    .navbar-collapse{
        margin-top:16px;
        padding:18px;
        background:rgba(5,18,38,.98);
        border:1px solid rgba(19,200,255,.14);
        border-radius:22px;
    }

    .nav-link{
        margin-left:0;
        padding:11px 0;
    }

    .promo-box{
        flex-direction:column;
        align-items:flex-start;
    }

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }
}


/* =========================
   CELULAR - HERO
========================= */
@media(max-width:768px){
    .nav-glass{
        min-height:92px;
        padding:12px 0;
    }

    .brand-logo{
        width:145px;
        max-height:64px;
    }

    .hero{
        min-height:auto!important;
        padding-top:70px!important;
        padding-bottom:45px!important;
        display:block!important;
        overflow:hidden;
    }

    .hero .row{
        display:flex!important;
        flex-direction:column!important;
    }

    .hero .col-lg-6:first-child{
        order:1!important;
        width:100%!important;
        position:relative;
        z-index:5;
    }

    .hero .col-lg-6:last-child{
        order:2!important;
        width:100%!important;
        margin-top:30px;
    }

    .badge-glow{
        font-size:13px;
        padding:8px 14px;
        margin-bottom:14px;
    }

    .hero h1{
        font-size:40px!important;
        line-height:1.08!important;
        margin:18px 0!important;
    }

    .hero .lead{
        font-size:18px!important;
        line-height:1.55!important;
    }

    .hero .d-flex.gap-3{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:14px!important;
        margin-top:24px;
    }

    .store{
        width:100%!important;
        justify-content:center!important;
        padding:16px 18px!important;
        border-radius:22px;
    }

    .hero-stats{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:14px!important;
        margin-top:28px!important;
    }

    .hero-stats div{
        text-align:center;
        padding:16px 10px!important;
    }

    .hero-stats div:nth-child(3){
        grid-column:1 / 3;
    }

    .phone-stage{
        display:flex!important;
        justify-content:center!important;
        align-items:center!important;
        height:auto!important;
        margin-top:20px!important;
        transform:none!important;
    }

    .phone{
        position:relative!important;
        width:265px!important;
        min-height:500px!important;
        left:auto!important;
        right:auto!important;
        top:auto!important;
        transform:none!important;
    }

    .phone-two{
        display:none!important;
    }
}


/* CORREÇÃO FINAL CARROSSEL MOBILE */
@media(max-width:768px){

    .carousel-section{
        padding-top:130px!important;
        padding-bottom:55px!important;
        margin:0!important;
    }

    .banner-card{
        width:100%!important;
        margin:0 auto!important;
        padding:28px 24px!important;
        border-radius:28px!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        gap:18px!important;
        overflow:visible!important;
    }

    .banner-card h2{
        font-size:34px!important;
        line-height:1.1!important;
        margin:0!important;
        color:#fff!important;
        display:block!important;
    }

    .banner-card p{
        font-size:18px!important;
        line-height:1.45!important;
        margin:0!important;
        color:#b9d6ea!important;
        display:block!important;
    }

    .banner-card img{
        width:100%!important;
        max-width:440px!important;
        height:auto!important;
        object-fit:contain!important;
        margin:8px auto 0!important;
        display:block!important;
        border-radius:22px!important;
    }

    .bannerSwiper,
    .bannerSwiper .swiper-wrapper,
    .bannerSwiper .swiper-slide{
        height:auto!important;
        min-height:0!important;
    }

    .swiper-pagination{
        position:relative!important;
        bottom:auto!important;
        margin-top:24px!important;
    }

    .nary-widget{
        bottom:95px!important;
        right:18px!important;
    }
}
/* =========================
   CELULAR - SEÇÕES
========================= */
@media(max-width:768px){
    .section,
    .promo{
        padding:55px 0;
    }

    .section-head{
        text-align:left;
        margin-bottom:28px;
    }

    .section-head h2{
        font-size:34px;
        line-height:1.1;
    }

    .feature-card{
        padding:26px;
        border-radius:24px;
    }

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

    .gallery-item{
        min-height:280px;
    }

    .promo-box{
        padding:28px;
        border-radius:26px;
    }

    .countdown{
        display:grid;
        grid-template-columns:1fr 1fr;
        width:100%;
    }

    .countdown div{
        min-width:auto;
    }

    .video-box{
        height:240px;
        border-radius:26px;
    }

    .footer{
        padding:50px 0 25px;
    }
}


/* =========================
   NA-RY PÁGINA DO CHAT
========================= */
.ai-page-hero{
    padding-bottom:45px;
}

.ai-chat-box{
    max-width:900px;
    margin:auto;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(19,200,255,.20);
    border-radius:30px;
    padding:24px;
    box-shadow:0 35px 120px rgba(0,0,0,.28);
}

.ai-chat-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 4px 18px;
    border-bottom:1px solid rgba(255,255,255,.08);
    margin-bottom:18px;
}

.ai-chat-header strong{
    display:block;
    font-size:1.25rem;
}

.ai-chat-header span{
    color:var(--muted);
}

.ai-messages{
    height:480px;
    overflow-y:auto;
    padding:16px;
    background:rgba(0,0,0,.20);
    border-radius:24px;
    margin-bottom:18px;
}

.ai-message{
    max-width:80%;
    padding:14px 18px;
    border-radius:18px;
    margin-bottom:14px;
    line-height:1.55;
    white-space:pre-wrap;
}

.ai-message.assistant{
    background:rgba(19,200,255,.12);
    border:1px solid rgba(19,200,255,.22);
    color:white;
}

.ai-message.user{
    background:linear-gradient(135deg,#13c8ff,#2563ff);
    color:white;
    margin-left:auto;
}

.ai-form{
    display:flex;
    gap:12px;
}

.ai-form input{
    flex:1;
    border:none;
    outline:none;
    border-radius:999px;
    padding:15px 20px;
    background:rgba(255,255,255,.10);
    color:white;
}

.ai-form input::placeholder{
    color:#9db7cf;
}

.ai-form button{
    border:none;
    border-radius:999px;
    padding:15px 26px;
    font-weight:900;
    color:white;
    background:linear-gradient(135deg,#13c8ff,#2563ff);
}

@media(max-width:991px){
    .ai-chat-box{
        width:100%;
        max-width:100%;
        height:calc(100vh - 92px);
        margin:0;
        border-radius:0;
        padding:15px;
        display:flex;
        flex-direction:column;
    }

    .ai-messages{
        flex:1;
        height:auto;
        min-height:280px;
        overflow-y:auto;
        padding:15px;
    }

    .ai-message{
        max-width:100%;
        font-size:15px;
    }

    .ai-form{
        position:sticky;
        bottom:0;
        display:flex;
        flex-direction:row;
        gap:10px;
        padding:10px;
        background:#071b34;
    }

    .ai-form input{
        flex:1;
        height:52px;
        border-radius:30px;
        font-size:16px;
    }

    .ai-form button{
        width:60px;
        height:52px;
        border-radius:30px;
        padding:0;
        flex:none;
    }
}


/* =========================
   BOTÃO FLUTUANTE NA-RY
========================= */
.nary-widget{
    position:fixed;
    right:24px;
    bottom:90px;
    z-index:99999;
}

.nary-button{
    border:0;
    border-radius:999px;
    padding:14px 22px;
    background:linear-gradient(135deg,#13c8ff,#2563ff);
    color:#fff;
    font-weight:900;
    box-shadow:0 0 35px rgba(19,200,255,.45);
    display:flex;
    align-items:center;
    gap:10px;
}

.nary-button i{
    font-size:20px;
}

.nary-chat{
    position:absolute;
    right:0;
    bottom:78px;
    width:390px;
    height:560px;
    background:linear-gradient(180deg,#071b34,#031020);
    border:1px solid rgba(19,200,255,.22);
    border-radius:28px;
    box-shadow:0 25px 90px rgba(0,0,0,.55);
    overflow:hidden;
    display:none;
}

.nary-chat.active{
    display:flex;
    flex-direction:column;
}

.nary-header{
    padding:18px;
    background:linear-gradient(135deg,rgba(19,200,255,.18),rgba(37,99,255,.12));
    border-bottom:1px solid rgba(255,255,255,.10);
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.nary-header strong{
    display:block;
    font-size:22px;
    color:#fff;
}

.nary-header span{
    display:block;
    font-size:12px;
    color:#a8d8f0;
}

.nary-header button{
    width:36px;
    height:36px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.10);
    color:#fff;
}

.nary-messages{
    flex:1;
    padding:18px;
    overflow-y:auto;
    background:rgba(0,0,0,.12);
}

.nary-msg{
    max-width:85%;
    padding:13px 16px;
    border-radius:18px;
    margin-bottom:12px;
    font-size:14px;
    line-height:1.45;
}

.nary-msg.assistant{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.10);
    color:#eaf6ff;
}

.nary-msg.user{
    margin-left:auto;
    background:linear-gradient(135deg,#13c8ff,#2563ff);
    color:white;
}

.nary-msg.typing{
    color:#9db7cf;
    font-style:italic;
}

.nary-form{
    display:flex;
    gap:10px;
    padding:14px;
    border-top:1px solid rgba(255,255,255,.10);
    background:#041224;
}

.nary-form input{
    flex:1;
    border:0;
    outline:0;
    border-radius:999px;
    padding:13px 16px;
    background:rgba(255,255,255,.10);
    color:#fff;
}

.nary-form input::placeholder{
    color:#91aabd;
}

.nary-form button{
    width:48px;
    height:48px;
    border:0;
    border-radius:50%;
    background:linear-gradient(135deg,#13c8ff,#2563ff);
    color:white;
}

@media(max-width:575px){
    .nary-widget{
        right:18px;
        left:auto;
        bottom:90px;
    }

    .nary-button{
        padding:13px 20px;
    }

    .nary-chat{
        position:fixed;
        left:12px;
        right:12px;
        bottom:85px;
        width:auto;
        height:72vh;
        border-radius:24px;
    }

    .nary-msg{
        max-width:100%;
        font-size:14px;
    }
}

/* =========================
   CORES PREMIUM GIRMAX
========================= */

body{
    background:radial-gradient(
        circle at top left,
        #12355e 0%,
        #061426 38%,
        #020812 100%
    )!important;
}

.nav-glass{
    background:linear-gradient(
        90deg,
        #071628,
        #081b31,
        #04111f
    )!important;
}

.bg-grid{
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px)!important;
}

.banner-card{
    background:radial-gradient(
        circle at top left,
        rgba(18,53,94,.78) 0%,
        rgba(6,20,38,.96) 45%,
        rgba(2,8,18,.98) 100%
    )!important;

    border:1px solid rgba(19,200,255,.14)!important;
    box-shadow:
        0 20px 70px rgba(0,0,0,.30),
        inset 0 0 35px rgba(255,255,255,.025)!important;
}

.banner-card h2{
    color:#eaf6ff!important;
}

.banner-card p{
    color:#9db7cf!important;
}

.nary-button,
.nav-download,
.btn-neon,
.ai-form button,
.nary-form button{
    background:linear-gradient(
        135deg,
        #13c8ff,
        #2563ff
    )!important;

    box-shadow:0 0 24px rgba(19,200,255,.28)!important;
}


/* CARROSSEL PREMIUM INTEGRADO AO FUNDO */
@media(max-width:768px){

    .carousel-section{
        padding-top:70px!important;
        padding-bottom:45px!important;
        background:transparent!important;
    }

    .banner-card{
        width:100%!important;
        padding:0 18px!important;
        margin:0 auto!important;
        background:transparent!important;
        border:none!important;
        box-shadow:none!important;
        border-radius:0!important;
        display:flex!important;
        flex-direction:column!important;
        gap:18px!important;
        overflow:visible!important;
        padding-left:10px !important;
        padding-right:10px !important;
    }

    .banner-card h2{
        font-size:34px!important;
        line-height:1.08!important;
        margin:0!important;
        color:#eaf6ff!important;
    }

    .banner-card p{
        font-size:17px!important;
        line-height:1.45!important;
        margin:0!important;
        color:#9db7cf!important;
    }

    .banner-card img{
        width:100%!important;
        max-width:100%!important;
        height:auto!important;
        object-fit:contain!important;
        border-radius:28px!important;
        display:block!important;
        margin:8px auto 0!important;
        box-shadow:0 24px 70px rgba(0,0,0,.38)!important;
    }

    .swiper-pagination{
        position:relative!important;
        margin-top:26px!important;
        bottom:auto!important;
    }
}

/* Corrige somente o título do banner no celular */
@media (max-width:768px){

    .banner-card{
        padding-top:40px !important;
    }

    .banner-card h2{
        margin-top:0 !important;
        padding-top:0 !important;
        position:relative !important;
        z-index:5;
    }

    .banner-card p{
        margin-bottom:18px !important;
    }

}

/* FORÇAR IMAGEM DO CARROSSEL MAIS LARGA NO CELULAR */
@media(max-width:768px){

    .carousel-section .container{
        max-width:100%!important;
        width:100%!important;
        padding-left:8px!important;
        padding-right:8px!important;
    }

    .bannerSwiper{
        width:100%!important;
        overflow:visible!important;
    }

    .banner-card{
        width:100%!important;
        padding-left:8px!important;
        padding-right:8px!important;
    }

    .banner-card img{
        width:100%!important;
        min-width:100%!important;
        max-width:none!important;
        height:280px!important;
        object-fit:cover!important;
        object-position:center!important;
        border-radius:22px!important;
    }
}

.nary-widget{
    position:fixed;
    right:24px;
    bottom:90px;
    z-index:99999;
}

.nary-button{
    border:0;
    border-radius:999px;
    padding:14px 24px;
    background:linear-gradient(135deg,#13c8ff,#2563ff);
    color:white;
    font-weight:900;
    display:flex;
    align-items:center;
    gap:10px;
    box-shadow:0 0 35px rgba(19,200,255,.45);
}

.nary-button i{
    font-size:20px;
}

@media(max-width:768px){
    .nary-widget{
        right:18px;
        bottom:92px;
    }

    .nary-button{
        padding:13px 20px;
        font-size:18px;
    }
}

/* =====================================
   CENTRAL DE TICKETS
===================================== */

.girmax-tickets-page {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.girmax-tickets-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.girmax-ticket-filters {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    flex-wrap: wrap;
}

.girmax-ticket-search {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 280px;
    height: 48px;
    padding: 0 14px;

    border: 1px solid var(--girmax-border);
    border-radius: 13px;

    background: #ffffff;
    box-shadow: var(--girmax-shadow);
}

.girmax-ticket-search span {
    color: var(--girmax-text-soft);
    font-size: 22px;
}

.girmax-ticket-search input {
    flex: 1;
    min-width: 0;

    border: 0;
    outline: 0;

    color: var(--girmax-text);
    background: transparent;
}

.girmax-ticket-filters select {
    height: 48px;
    padding: 0 13px;

    border: 1px solid var(--girmax-border);
    border-radius: 13px;

    background: #ffffff;
    color: var(--girmax-text);

    box-shadow: var(--girmax-shadow);
}

.girmax-ticket-filters button {
    height: 48px;
    padding: 0 20px;

    border: 0;
    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            var(--girmax-primary),
            var(--girmax-primary-dark)
        );

    color: #ffffff;
    font-weight: 750;
    cursor: pointer;
}

.girmax-ticket-clear {
    color: var(--girmax-danger);
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}

.girmax-ticket-total {
    min-width: 170px;
    padding: 14px 18px;

    border: 1px solid var(--girmax-border);
    border-radius: 14px;

    background: #ffffff;
    box-shadow: var(--girmax-shadow);
}

.girmax-ticket-total span {
    display: block;
    color: var(--girmax-text-soft);
    font-size: 11px;
}

.girmax-ticket-total strong {
    display: block;
    margin-top: 4px;
    font-size: 23px;
}

.girmax-ticket-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.girmax-ticket-card {
    padding: 22px;

    border: 1px solid var(--girmax-border);
    border-radius: 18px;

    background: #ffffff;
    box-shadow: var(--girmax-shadow);
}

.girmax-ticket-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.girmax-ticket-number {
    color: var(--girmax-text-soft);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.girmax-ticket-card h2 {
    margin: 7px 0 0;

    color: var(--girmax-text);
    font-size: 17px;
    line-height: 1.35;
}

.girmax-ticket-priority,
.girmax-ticket-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 7px 10px;

    border-radius: 999px;

    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.priority-low {
    background: #f1f5f9;
    color: #475569;
}

.priority-normal {
    background: #eff6ff;
    color: #1d4ed8;
}

.priority-high {
    background: #fff7ed;
    color: #c2410c;
}

.priority-urgent {
    background: #fef2f2;
    color: #b91c1c;
}

.girmax-ticket-description {
    min-height: 62px;
    margin: 16px 0;

    color: var(--girmax-text-soft);

    font-size: 12px;
    line-height: 1.55;
}

.girmax-ticket-meta {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 14px;

    padding: 16px 0;

    border-top: 1px solid var(--girmax-border);
    border-bottom: 1px solid var(--girmax-border);
}

.girmax-ticket-meta div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.girmax-ticket-meta span {
    color: var(--girmax-text-soft);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.girmax-ticket-meta strong {
    color: var(--girmax-text);
    font-size: 12px;
}

.girmax-ticket-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    margin-top: 17px;
}

.status-new {
    background: #eff6ff;
    color: #1d4ed8;
}

.status-in_progress {
    background: #fff7ed;
    color: #c2410c;
}

.status-waiting {
    background: #fefce8;
    color: #a16207;
}

.status-resolved {
    background: #f0fdf4;
    color: #15803d;
}

.status-closed {
    background: #f1f5f9;
    color: #475569;
}

.girmax-ticket-footer-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.girmax-ticket-owner {
    color: var(--girmax-text);
    font-size: 11px;
    font-weight: 700;
}

.girmax-ticket-owner.muted {
    color: var(--girmax-text-soft);
}

.girmax-ticket-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 38px;
    padding: 0 14px;

    border: 1px solid #bfdbfe;
    border-radius: 10px;

    background: #eff6ff;
    color: var(--girmax-primary-dark);

    font-size: 11px;
    font-weight: 750;
    text-decoration: none;
}

.girmax-ticket-open:hover {
    background: #dbeafe;
}

.girmax-ticket-empty {
    grid-column: 1 / -1;

    padding: 70px 20px;

    border: 1px solid var(--girmax-border);
    border-radius: 18px;

    background: #ffffff;
    color: var(--girmax-text-soft);

    text-align: center;
    box-shadow: var(--girmax-shadow);
}

.girmax-ticket-empty div {
    font-size: 38px;
}

.girmax-ticket-empty h3 {
    margin: 15px 0 0;
    color: var(--girmax-text);
}

.girmax-ticket-empty p {
    margin: 8px 0 0;
    font-size: 12px;
}

@media (max-width: 1100px) {
    .girmax-ticket-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 850px) {
    .girmax-tickets-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .girmax-ticket-total {
        min-width: 0;
    }
}

@media (max-width: 620px) {
    .girmax-ticket-search {
        min-width: 100%;
    }

    .girmax-ticket-filters select,
    .girmax-ticket-filters button {
        width: 100%;
    }

    .girmax-ticket-card-top,
    .girmax-ticket-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .girmax-ticket-footer-actions {
        width: 100%;
        justify-content: space-between;
    }

    .girmax-ticket-meta {
        grid-template-columns: 1fr;
    }
}


/* Keep support on its own layer above animated banners. */
#naryWidget {isolation:isolate;z-index:99999;}
#naryChat {z-index:1;transform:translateZ(0);}
