
:root{--navy:#0b263a;--navy2:#154e74;--orange:#f5a623;--green:#20b15a;--text:#20313d;--border:#d9e4ea}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f7fafc;color:var(--text);line-height:1.65}.container{width:min(1180px,calc(100% - 32px));margin:auto}a{color:inherit}.topbar{background:#061722;color:#dcebf3;padding:.45rem 0}.topbar .container{display:flex;justify-content:space-between}.site-header{position:sticky;top:0;background:#fff;z-index:1000;box-shadow:0 4px 24px rgba(0,0,0,.08)}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}.logo{display:flex;gap:.7rem;align-items:center;text-decoration:none;font-weight:900;color:var(--navy)}.mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),var(--navy));color:#fff}.menu{display:flex;gap:1rem}.menu a{text-decoration:none;font-weight:800}.menu-toggle{display:none}.btn{display:inline-flex;padding:.9rem 1.1rem;border-radius:12px;text-decoration:none;font-weight:900;border:0;cursor:pointer}.primary{background:var(--orange)}.whats{background:var(--green);color:#fff}.danger{background:#a12424;color:#fff}.muted{background:#e7edf1}.hero{background:linear-gradient(115deg,#061722,#154e74);color:#fff;padding:6rem 0}.hero h1{color:#fff;font-size:clamp(2.3rem,5vw,4.7rem)}section{padding:4rem 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:1.3rem;box-shadow:0 10px 30px rgba(12,38,59,.08)}.pagehero{background:linear-gradient(115deg,var(--navy),var(--navy2));color:#fff;padding:3.5rem 0}.pagehero h1{color:#fff}.breadcrumb{font-size:.9rem;color:#d9e8f0}.pill-list{display:flex;flex-wrap:wrap;gap:.5rem}.pill{background:#e7f0f5;padding:.45rem .75rem;border-radius:999px;text-decoration:none}.faq details{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem;margin:.7rem 0}.service-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px}.footer{background:#061722;color:#d9e7ee;padding:3.5rem 0}.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem}.footer a{color:#fff;text-decoration:none}.float-whatsapp{position:fixed;right:18px;bottom:18px;background:var(--green);color:#fff;padding:.9rem 1rem;border-radius:999px;text-decoration:none;font-weight:900}.admin-nav{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}input,textarea,select{width:100%;padding:.9rem;border:1px solid #cbd9e1;border-radius:10px;font:inherit}textarea{min-height:130px}form{display:grid;gap:.8rem}.editor-toolbar{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.5rem}.editor-toolbar button{padding:.5rem;border:1px solid var(--border);background:#fff;border-radius:8px}.rich-editor{min-height:220px;border:1px solid var(--border);padding:1rem;border-radius:10px;background:#fff}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.media-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px}.score{font-size:2rem;font-weight:900}.good{color:#18864b}.warn{color:#b56a00}.bad{color:#a12424}
@media(max-width:900px){.menu-toggle{display:block}.menu{display:none!important;width:100%;flex-direction:column}.menu.open{display:flex!important}.nav{flex-wrap:wrap}.grid,.grid2,.footergrid,.media-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.topbar .container{display:block;text-align:center}.grid,.grid2,.footergrid,.media-grid{grid-template-columns:1fr}}


.crm-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.kpi{background:#fff;border:1px solid var(--border);border-radius:18px;padding:1.2rem}
.kpi strong{display:block;font-size:2rem;color:var(--navy)}
.table-wrap{overflow:auto;background:#fff;border-radius:16px;border:1px solid var(--border)}
.table{width:100%;border-collapse:collapse;min-width:760px}
.table th,.table td{padding:.8rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.badge{display:inline-block;padding:.28rem .6rem;border-radius:999px;background:#e7f0f5}
.badge.green{background:#def4e6}.badge.orange{background:#fff0cf}.badge.red{background:#f9dddd}
.actions-row{display:flex;gap:.5rem;flex-wrap:wrap}
.portal-card{max-width:850px;margin:auto}
.timeline{border-left:3px solid var(--border);padding-left:1rem}.timeline>div{margin-bottom:1rem}
.signature-box{border:1px dashed #8799a5;border-radius:12px;padding:1rem;background:#fff}
@media(max-width:900px){.crm-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.crm-kpis{grid-template-columns:1fr}}

.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.portfolio-card{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden}.portfolio-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.portfolio-card .content{padding:1rem}.portfolio-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.portfolio-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;cursor:pointer}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:20000;padding:2rem}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:88vh}.lightbox button{position:absolute;top:18px;right:18px}.before-after-slider{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:4/3}.before-after-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.before-after-slider .after{clip-path:inset(0 50% 0 0)}.before-after-slider input{position:absolute;left:5%;bottom:15px;width:90%;z-index:3}@media(max-width:900px){.portfolio-grid,.portfolio-gallery{grid-template-columns:1fr 1fr}}@media(max-width:560px){.portfolio-grid,.portfolio-gallery{grid-template-columns:1fr}}


.simple-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.simple-gallery figure{margin:0;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}
.simple-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;cursor:pointer}
.simple-gallery figcaption{padding:.7rem}
.gallery-upload-zone{border:2px dashed #9fb2bf;border-radius:18px;padding:2rem;text-align:center;background:#fff}
.gallery-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.gallery-admin-grid .item{background:#fff;border:1px solid var(--border);border-radius:14px;padding:.7rem}
.gallery-admin-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}
@media(max-width:900px){.simple-gallery,.gallery-admin-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.simple-gallery,.gallery-admin-grid{grid-template-columns:1fr}}

.service-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.service-photo-grid figure{margin:0;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}
.service-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;cursor:pointer}
.service-photo-grid figcaption{padding:.7rem}
.service-photo-admin{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.service-photo-admin .item{background:#fff;border:1px solid var(--border);border-radius:14px;padding:.7rem}
.service-photo-admin img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}
@media(max-width:900px){.service-photo-grid,.service-photo-admin{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.service-photo-grid,.service-photo-admin{grid-template-columns:1fr}}


.service-builder{display:grid;grid-template-columns:320px 1fr;gap:1rem;align-items:start}
.builder-tools{position:sticky;top:90px}
.builder-list{display:grid;gap:.8rem}
.builder-block{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1rem}
.builder-block header{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-bottom:.7rem}
.builder-block .move{display:flex;gap:.35rem}
.service-block{padding:2rem 0}
.service-copy{max-width:900px}
.service-copy p{margin:0 0 1rem}
.service-single-photo{margin:0}
.service-single-photo img{width:100%;max-height:650px;object-fit:cover;border-radius:18px;cursor:pointer}
.service-single-photo figcaption{padding:.7rem 0;color:#526572}
.service-cta{text-align:center}
.block-type{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#647781}
@media(max-width:900px){.service-builder{grid-template-columns:1fr}.builder-tools{position:static}}

#voice-ai{position:fixed;right:18px;bottom:96px;z-index:11000}#voice-ai-toggle{width:60px;height:60px;border:0;border-radius:50%;background:var(--navy);color:#fff;font-size:25px}#voice-ai-panel{display:none;position:absolute;right:0;bottom:72px;width:390px;max-height:75vh;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3)}#voice-ai-panel.open{display:flex;flex-direction:column}#voice-ai-panel header{display:flex;justify-content:space-between;padding:12px;background:var(--navy);color:#fff}#voice-ai-messages{padding:12px;min-height:240px;overflow:auto;background:#f5f8fa}.vai-msg{padding:9px 11px;border-radius:12px;margin:7px 0;max-width:86%}.vai-msg.user{margin-left:auto;background:var(--navy);color:#fff}.vai-msg.bot{background:#e7f0f5}#voice-ai-form{display:flex;gap:6px;padding:10px}#voice-ai-form input{flex:1}#voice-record{width:44px;border:0;border-radius:10px}#voice-record.recording{background:#a12424;color:#fff}@media(max-width:560px){#voice-ai-panel{position:fixed;left:10px;right:10px;bottom:82px;width:auto}}


.home-banner{position:relative;overflow:hidden;background:#0e2736;min-height:560px}
.home-banner-track{position:relative;min-height:560px}
.home-banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease;display:flex;align-items:center}
.home-banner-slide.is-active{opacity:1;visibility:visible;z-index:1}
.home-banner-picture,.home-banner-picture img{position:absolute;inset:0;width:100%;height:100%;display:block}
.home-banner-picture img{object-fit:cover}
.home-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,20,31,.88) 0%,rgba(3,20,31,.58) 48%,rgba(3,20,31,.18) 100%)}
.home-banner-content{position:relative;z-index:2;color:#fff;padding-top:80px;padding-bottom:80px}
.home-banner-content h1{max-width:760px;font-size:clamp(2.2rem,5.7vw,4.7rem);line-height:1.02;margin:0 0 1rem;color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.32)}
.home-banner-content p{max-width:720px;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.55;margin:0 0 1.6rem;color:#fff}
.home-banner-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.banner-secondary{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.68);color:#fff;backdrop-filter:blur(6px)}
.banner-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:50%;background:rgba(0,0,0,.34);color:#fff;font-size:2rem;cursor:pointer}
.banner-arrow.prev{left:18px}.banner-arrow.next{right:18px}
.banner-dots{position:absolute;z-index:4;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:8px}
.banner-dots button{width:11px;height:11px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}
.banner-dots button.is-active{background:#fff}
.banner-admin-grid{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:1rem;align-items:start}
.banner-admin-item{display:grid;grid-template-columns:220px 1fr;gap:1rem;align-items:center}
.banner-admin-item img{width:100%;height:140px;object-fit:cover;border-radius:12px}
@media(max-width:850px){
 .home-banner,.home-banner-track{min-height:510px}
 .home-banner-overlay{background:linear-gradient(0deg,rgba(3,20,31,.9),rgba(3,20,31,.38))}
 .home-banner-content{text-align:center;padding-left:44px;padding-right:44px}
 .home-banner-content h1,.home-banner-content p{margin-left:auto;margin-right:auto}
 .home-banner-actions{justify-content:center}
 .banner-admin-grid{grid-template-columns:1fr}
 .banner-admin-item{grid-template-columns:1fr}
}
@media(max-width:560px){
 .home-banner,.home-banner-track{min-height:500px}
 .home-banner-content{padding:65px 24px}
 .home-banner-actions{display:grid}
 .home-banner-actions .btn{width:100%}
 .banner-arrow{width:38px;height:38px;font-size:1.5rem}
 .banner-arrow.prev{left:7px}.banner-arrow.next{right:7px}
}

/* =========================================================
   CALHAS JONNÃ V13.1 — CORREÇÕES RESPONSIVAS E DE OVERFLOW
   Este bloco deve permanecer no final do arquivo.
   ========================================================= */

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

*, *::before, *::after {
    box-sizing: border-box;
}

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

body {
    margin: 0;
}

/* Banner principal */
.home-banner {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    height: clamp(430px, 44vw, 850px);
    overflow: hidden;
    background: #0e2736;
}

.home-banner-track {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.home-banner-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-height: 0;
    display: flex;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: opacity .7s ease, visibility .7s ease;
}

.home-banner-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.home-banner-picture {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
}

.home-banner-picture img {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.home-banner-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-banner-content {
    position: relative;
    z-index: 2;
    width: min(1180px, calc(100% - 40px));
    max-width: 1180px;
    margin-inline: auto;
}

/* Impede elementos administrativos, cards e galerias de estourarem a tela */
.container,
.grid,
.card,
.banner-admin-grid,
.banner-admin-item,
.service-block,
.gallery,
.before-after {
    max-width: 100%;
}

.admin-nav,
.home-banner-actions {
    flex-wrap: wrap;
}

/* Botões flutuantes não devem criar rolagem horizontal */
.whatsapp-float,
.voice-ai-launcher,
.voice-ai-widget {
    max-width: calc(100vw - 24px);
}

/* Tablet */
@media (max-width: 900px) {
    .home-banner {
        height: 560px;
    }

    .home-banner-content {
        width: min(100% - 36px, 760px);
        text-align: center;
    }

    .home-banner-content h1,
    .home-banner-content p {
        margin-left: auto;
        margin-right: auto;
    }

    .home-banner-actions {
        justify-content: center;
    }
}

/* Celular */
@media (max-width: 768px) {
    .home-banner {
        height: 620px;
    }

    .home-banner-picture img {
        object-position: center;
    }

    .home-banner-content {
        width: calc(100% - 32px);
        padding: 54px 0 64px;
    }

    .home-banner-content h1 {
        font-size: clamp(2rem, 10vw, 3rem);
        line-height: 1.05;
    }

    .home-banner-content p {
        font-size: 1.05rem;
    }

    .home-banner-actions {
        display: grid;
        width: min(100%, 360px);
        margin-inline: auto;
    }

    .home-banner-actions .btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

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

    .banner-arrow.prev {
        left: 6px;
    }

    .banner-arrow.next {
        right: 6px;
    }

    .banner-admin-grid,
    .banner-admin-item {
        grid-template-columns: 1fr;
    }
}

/* Celulares pequenos */
@media (max-width: 480px) {
    .home-banner {
        height: 590px;
    }

    .home-banner-content {
        width: calc(100% - 24px);
    }

    .home-banner-content h1 {
        font-size: clamp(1.85rem, 10vw, 2.6rem);
    }
}
