:root{--site-rosa:#ef8fa0;--site-rosa-claro:#fff1f4;--site-vinho:#7d3146;--site-marrom:#392427}
.sidebar.sidebar-dark{background:linear-gradient(180deg,#fff1f4 0%,#ffd7df 100%)!important;color:var(--site-marrom)!important;box-shadow:0 0 20px rgba(125,49,70,.14)}
.sidebar .sidebar-brand{background:#fff!important;min-height:100px;border-bottom:1px solid #f6c4ce;padding:10px}
.sidebar .sidebar-brand-full{max-width:220px;width:100%;height:auto;object-fit:contain}.sidebar .sidebar-brand-narrow{width:42px;height:42px;object-fit:contain;border-radius:50%}
.sidebar .nav-title{color:var(--site-vinho)!important;font-weight:800;letter-spacing:.06em}.sidebar .nav-link{color:#5b3841!important;font-weight:700;border-radius:14px;margin:4px 10px}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:#fff!important;color:var(--site-vinho)!important;box-shadow:0 6px 15px rgba(125,49,70,.1)}.sidebar .nav-icon{color:var(--site-vinho)!important}.header{background:#fff!important;border-bottom:1px solid #f2ccd3;box-shadow:0 2px 14px rgba(125,49,70,.05)}.header .nav-link{color:#62454d!important;font-weight:700}.header .nav-link:hover{color:var(--site-rosa)!important}.public-logo-top{height:46px;width:auto;object-fit:contain}.btn-primary,.button{background:var(--site-vinho)!important;border-color:var(--site-vinho)!important}.card{border-radius:18px}.wrapper.bg-light{background:#fff8fa!important}@media(max-width:767.98px){.header .container-fluid{gap:.6rem}.public-logo-top{height:38px}.sidebar.sidebar-fixed{width:280px}.body{padding-left:.75rem!important;padding-right:.75rem!important}}
.public-sidebar{background:linear-gradient(180deg,#fff1f4 0%,#ffd7df 100%)!important;color:var(--site-marrom)!important;box-shadow:0 0 20px rgba(125,49,70,.14)}
.public-sidebar .public-sidebar-brand{background:#fff!important;min-height:88px;border-bottom:1px solid #f6c4ce;padding:14px 16px;align-items:center;justify-content:center;text-align:center}
.public-brand-text strong{display:block;color:var(--site-vinho);font-size:1.25rem;line-height:1.15;font-weight:800}.public-brand-text small{display:block;color:#8f6070;font-size:.85rem;margin-top:4px;letter-spacing:.06em}.public-brand-name{font-weight:800;color:var(--site-vinho)!important;font-size:1.15rem;text-decoration:none;white-space:nowrap}
.public-logo-top{display:none!important}
@media(max-width:767.98px){.public-brand-name{font-size:1rem}.public-sidebar .public-sidebar-brand{min-height:72px}}


/* Ajuste v3.3 - topo do menu lateral público com a mesma identidade do menu */
.public-sidebar .public-sidebar-brand{
    background: linear-gradient(135deg, #7d3146 0%, #9b4a61 55%, #c97b8e 100%) !important;
    border-bottom: 1px solid rgba(255,255,255,.22) !important;
    color: #fff !important;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.12);
}
.public-sidebar .public-brand-text strong{
    color: #fff !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.12);
}
.public-sidebar .public-brand-text small{
    color: #ffe8ee !important;
}
.public-sidebar .sidebar-toggler{
    background-color: rgba(125,49,70,.18) !important;
}


/* Ajustes v3.8 - menu lateral público e rodapé minimalista */
.public-sidebar .public-sidebar-brand{
    min-height: 96px !important;
    padding: 8px !important;
    background: linear-gradient(135deg,#7d3146 0%,#a9556b 100%) !important;
    overflow: hidden !important;
}
.public-sidebar-logo-full{
    width: 100% !important;
    height: 84px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 10px !important;
    display: block !important;
}
.public-sidebar-logo-narrow{display:none!important;}
.sidebar.sidebar-fixed.sidebar-narrow-unfoldable:not(:hover) .public-sidebar-logo-full,
.sidebar.sidebar-narrow-unfoldable:not(:hover) .public-sidebar-logo-full,
.sidebar.sidebar-narrow .public-sidebar-logo-full{
    display:none!important;
}
.sidebar.sidebar-fixed.sidebar-narrow-unfoldable:not(:hover) .public-sidebar-logo-narrow,
.sidebar.sidebar-narrow-unfoldable:not(:hover) .public-sidebar-logo-narrow,
.sidebar.sidebar-narrow .public-sidebar-logo-narrow{
    display:block!important;
    width:42px!important;
    height:42px!important;
    object-fit:cover!important;
    border-radius:50%!important;
    margin:auto!important;
    background:#fff3f7!important;
    padding:2px!important;
}
.atelie-site-footer-clean{
    border-top:1px solid #f1c9d2;
    background:linear-gradient(135deg,#fff8fa,#ffe8ee);
    color:#6b3444;
    padding:1rem 1.35rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    box-shadow:0 -.25rem 1rem rgba(138,49,74,.06);
}
.atelie-site-footer-clean__brand{display:flex;flex-direction:column;gap:.05rem;line-height:1.25;}
.atelie-site-footer-clean__brand strong{color:#8a314a;font-size:1.05rem;font-weight:900;}
.atelie-site-footer-clean__brand span{color:#9a5266;font-weight:700;}
.atelie-site-footer-clean__brand small{color:#7b5c65;}
.atelie-site-footer-clean__admin{
    white-space:nowrap;text-decoration:none;border:1px solid rgba(138,49,74,.22);color:#8a314a;background:#fff;border-radius:999px;padding:.48rem .9rem;font-weight:800;
}
.atelie-site-footer-clean__admin:hover{background:#8a314a;color:#fff;}
@media(max-width:575.98px){
    .atelie-site-footer-clean{flex-direction:column;text-align:center;padding:.95rem .8rem;}
    .atelie-site-footer-clean__admin{width:100%;max-width:230px;}
}


/* v6.0 - link discreto da área administrativa no topo público */
.public-admin-link{border-color:rgba(141,47,75,.25);color:#8d2f4b;border-radius:999px;font-weight:700;background:#fff8fa}.public-admin-link:hover{background:#8d2f4b;color:#fff;border-color:#8d2f4b}

/* v6.4 - destaque discreto para o link de promoções */
.public-topbar .destaque-promocoes-menu {
    color: #b3261e !important;
    font-weight: 800;
}

/* v6.4 - destaque discreto para o link de promoções */
.public-topbar .destaque-promocoes-menu {
    color: #b3261e !important;
    font-weight: 800;
}

/* ========================================================================== 
   v14.5.0 - Área pública mobile-first, carrossel legível e galerias modernas
   ========================================================================== */
:root{
    --public-sidebar-width:224px;
    --public-gap:clamp(.85rem,1.7vw,1.35rem);
    --public-radius:20px;
    --public-shadow:0 14px 34px rgba(103,45,62,.10);
}

@media (min-width:768px){
    body{--cui-sidebar-width:var(--public-sidebar-width);}
    .public-sidebar{width:var(--public-sidebar-width)!important;}
    .public-sidebar + .wrapper,
    body:not(.sidebar-hide) .public-sidebar ~ .wrapper{padding-left:var(--public-sidebar-width)!important;}
}

.public-sidebar .public-sidebar-brand{min-height:78px!important;padding:7px!important;}
.public-sidebar-logo-full{height:66px!important;border-radius:12px!important;object-fit:contain!important;background:#ffdce5!important;}
.public-sidebar .nav-title{font-size:.72rem;margin-top:.55rem!important;margin-bottom:.15rem!important;padding-top:.45rem!important;}
.public-sidebar .nav-link,
.public-sidebar .public-nav-group-toggle{min-height:44px;margin:2px 8px!important;border-radius:12px!important;padding-top:.55rem!important;padding-bottom:.55rem!important;font-size:.92rem;}
.public-sidebar .public-nav-group-items .nav-link{padding-left:2.85rem!important;min-height:40px;}
.public-sidebar .sidebar-toggler{min-height:42px;}

.public-home{padding:0 .75rem 2rem!important;}
.public-home-container{max-width:1480px;padding:0!important;}
.public-home section{margin-bottom:var(--public-gap);}
.public-content-card{
    background:rgba(255,255,255,.96);
    border:1px solid rgba(125,49,70,.12);
    border-radius:var(--public-radius);
    box-shadow:var(--public-shadow);
    overflow:hidden;
}

.public-hero{position:relative;}
.public-hero-carousel{
    overflow:hidden;
    border-radius:24px;
    border:1px solid rgba(125,49,70,.16);
    background:linear-gradient(135deg,#fff1f4,#f5e6ea);
    box-shadow:var(--public-shadow);
}
.public-carousel-media{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:clamp(260px,42vw,520px);
    max-height:560px;
    background:linear-gradient(135deg,#fce9ee,#fff);
}
.public-carousel-image{
    width:100%;
    height:clamp(260px,42vw,520px);
    object-fit:contain;
    object-position:center;
}
.public-carousel-control{
    width:54px;
    height:54px;
    top:50%;
    transform:translateY(-50%);
    margin:0 14px;
    border-radius:50%;
    background:rgba(255,255,255,.88)!important;
    box-shadow:0 8px 24px rgba(54,24,32,.18);
    opacity:.95!important;
}
.public-carousel-control .carousel-control-prev-icon,
.public-carousel-control .carousel-control-next-icon{filter:sepia(1) saturate(4) hue-rotate(290deg) brightness(.65);}
.public-carousel-indicators{margin-bottom:14px;gap:6px;}
.public-carousel-indicators [data-coreui-target]{width:26px;height:5px;border:0;border-radius:999px;background:#8f7c82;opacity:.45;}
.public-carousel-indicators .active{width:42px;background:var(--site-vinho);opacity:1;}
.public-carousel-pause{
    position:absolute;
    z-index:5;
    right:14px;
    bottom:14px;
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    border:1px solid rgba(125,49,70,.18);
    border-radius:999px;
    padding:.45rem .72rem;
    color:var(--site-vinho);
    background:rgba(255,255,255,.92);
    font-weight:800;
    font-size:.78rem;
    box-shadow:0 8px 22px rgba(57,36,39,.12);
}
.public-carousel-progress{position:absolute;left:0;right:0;bottom:0;height:4px;z-index:4;background:rgba(255,255,255,.35);}
.public-carousel-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--site-rosa),var(--site-vinho));animation:publicCarouselProgress 8.5s linear infinite;}
.public-hero-carousel.is-paused .public-carousel-progress span{animation-play-state:paused;}
@keyframes publicCarouselProgress{from{width:0}to{width:100%}}

.public-intro{padding:clamp(1.5rem,4vw,3.5rem);text-align:center;background:linear-gradient(135deg,#fff,#fff0f4);}
.public-section-kicker{display:inline-block;margin-bottom:.45rem;color:var(--site-vinho);font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;}
.public-intro h1,.public-section-header h2{color:var(--site-vinho);font-weight:900;letter-spacing:-.025em;}
.public-intro h1{font-size:clamp(2rem,5vw,4rem);font-style:italic;margin-bottom:1rem;}
.public-intro p,.public-section-header p{max-width:900px;margin:0 auto;color:#785964;font-size:clamp(.98rem,1.8vw,1.15rem);line-height:1.7;font-weight:600;}
.public-intro-actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem;}
.public-cta-primary,.public-cta-secondary{border-radius:999px;padding:.72rem 1.15rem;font-weight:850;}
.public-cta-primary{background:var(--site-vinho);color:#fff;border:1px solid var(--site-vinho);}
.public-cta-primary:hover{background:#642439;color:#fff;transform:translateY(-1px);}
.public-cta-secondary{background:#fff;color:var(--site-vinho);border:1px solid rgba(125,49,70,.25);}
.public-cta-secondary:hover{background:#fff1f4;color:var(--site-vinho);}

.public-gallery-section{padding:clamp(1rem,2.4vw,1.7rem);}
.public-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.15rem .25rem;}
.public-section-header h2{font-size:clamp(1.55rem,3vw,2.35rem);margin-bottom:.45rem;}
.public-section-header p{margin:0;max-width:1000px;}
.public-gallery-scroll{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.public-gallery-item{min-width:0;}
.public-gallery-item a{position:relative;display:block;overflow:hidden;border-radius:18px;background:#f9e9ee;aspect-ratio:4/3;box-shadow:0 7px 20px rgba(71,31,42,.10);}
.public-gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease;}
.public-gallery-overlay{position:absolute;inset:auto 10px 10px auto;display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.42rem .7rem;background:rgba(255,255,255,.92);color:var(--site-vinho);font-weight:850;font-size:.78rem;opacity:0;transform:translateY(5px);transition:.25s ease;}
.public-gallery-item a:hover .public-gallery-image{transform:scale(1.045);filter:saturate(1.08);}
.public-gallery-item a:hover .public-gallery-overlay{opacity:1;transform:none;}

@media(max-width:1199.98px){
    .public-gallery-scroll{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:767.98px){
    body{--cui-sidebar-width:280px;}
    .public-sidebar{width:280px!important;}
    .public-sidebar + .wrapper,.public-sidebar ~ .wrapper{padding-left:0!important;}
    .public-topbar{margin-bottom:.75rem!important;}
    .public-home{padding:0 .65rem 1.5rem!important;}
    .public-hero-carousel{border-radius:18px;}
    .public-carousel-media{min-height:230px;max-height:70vh;}
    .public-carousel-image{height:auto;max-height:70vh;min-height:230px;object-fit:contain;}
    .public-carousel-control{width:42px;height:42px;margin:0 7px;}
    .public-carousel-pause{right:10px;bottom:10px;padding:.42rem;width:40px;height:40px;justify-content:center;}
    .public-carousel-pause span{display:none;}
    .public-carousel-indicators{margin-bottom:12px;max-width:55%;left:50%;transform:translateX(-50%);margin-left:0;margin-right:0;}
    .public-intro{padding:1.5rem 1rem;}
    .public-intro h1{font-size:clamp(1.8rem,10vw,2.7rem);}
    .public-intro-actions .btn{flex:1 1 150px;}
    .public-gallery-section{padding:1rem .75rem 1.15rem;}
    .public-section-header{align-items:flex-start;}
    .public-gallery-scroll{
        display:flex;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scroll-snap-type:x mandatory;
        scrollbar-width:thin;
        gap:.75rem;
        padding:.15rem .1rem .75rem;
    }
    .public-gallery-item{flex:0 0 82%;scroll-snap-align:center;}
    .public-gallery-item a{aspect-ratio:4/3;border-radius:16px;}
    .public-gallery-overlay{opacity:1;transform:none;padding:.36rem .58rem;}
}

@media(max-width:420px){
    .public-gallery-item{flex-basis:88%;}
    .public-intro p,.public-section-header p{font-size:.93rem;line-height:1.55;}
}

@media(prefers-reduced-motion:reduce){
    .public-carousel-progress span{animation:none;width:100%;}
    .public-gallery-image,.public-gallery-overlay,.public-cta-primary{transition:none!important;}
}

/* ========================================================================== 
   v14.5.1 - Controles independentes do menu público
   Hambúrguer: ocultar/mostrar | Seta inferior: compactar/expandir
   ========================================================================== */
:root{
    --public-sidebar-expanded-width:224px;
    --public-sidebar-compact-width:66px;
}

@media (min-width:768px){
    body:not(.public-sidebar-hidden):not(.public-sidebar-compact){
        --cui-sidebar-occupy-start:var(--public-sidebar-expanded-width)!important;
    }
    body.public-sidebar-compact{
        --cui-sidebar-occupy-start:var(--public-sidebar-compact-width)!important;
    }
    body.public-sidebar-hidden{
        --cui-sidebar-occupy-start:0px!important;
    }

    body:not(.public-sidebar-hidden):not(.public-sidebar-compact) #sidebar.public-sidebar{
        width:var(--public-sidebar-expanded-width)!important;
        transform:translateX(0)!important;
        visibility:visible!important;
    }
    body.public-sidebar-compact #sidebar.public-sidebar{
        width:var(--public-sidebar-compact-width)!important;
        transform:translateX(0)!important;
        visibility:visible!important;
    }
    body.public-sidebar-hidden #sidebar.public-sidebar{
        transform:translateX(-100%)!important;
        visibility:hidden!important;
        pointer-events:none!important;
    }

    body .public-sidebar ~ .wrapper{
        padding-left:var(--cui-sidebar-occupy-start,0)!important;
        margin-left:0!important;
        width:100%!important;
        transition:padding-left .22s ease!important;
    }

    body.public-sidebar-compact #sidebar .public-sidebar-brand{
        min-height:66px!important;
        padding:8px!important;
    }
    body.public-sidebar-compact #sidebar .public-sidebar-logo-full{display:none!important;}
    body.public-sidebar-compact #sidebar .public-sidebar-logo-narrow{
        display:block!important;
        width:44px!important;
        height:44px!important;
        margin:auto!important;
    }
    body.public-sidebar-compact #sidebar .nav-title,
    body.public-sidebar-compact #sidebar .public-nav-group-items,
    body.public-sidebar-compact #sidebar .public-nav-chevron,
    body.public-sidebar-compact #sidebar .nav-link > span,
    body.public-sidebar-compact #sidebar .public-nav-group-toggle > span{
        display:none!important;
    }
    body.public-sidebar-compact #sidebar .sidebar-nav{
        padding:.55rem .35rem 3.4rem!important;
        overflow-x:hidden!important;
    }
    body.public-sidebar-compact #sidebar .nav-item,
    body.public-sidebar-compact #sidebar .public-nav-group{width:100%!important;}
    body.public-sidebar-compact #sidebar .nav-link,
    body.public-sidebar-compact #sidebar .public-nav-group-toggle{
        width:48px!important;
        min-width:48px!important;
        height:48px!important;
        min-height:48px!important;
        margin:4px auto!important;
        padding:0!important;
        display:flex!important;
        justify-content:center!important;
        align-items:center!important;
        border-radius:14px!important;
        font-size:0!important;
    }
    body.public-sidebar-compact #sidebar .nav-icon{
        width:22px!important;
        height:22px!important;
        margin:0!important;
        flex:0 0 22px!important;
        font-size:1.25rem!important;
    }
    body.public-sidebar-compact #sidebar .sidebar-toggler::before{
        transform:rotate(180deg)!important;
    }
}

.public-sidebar-compact-toggle{
    cursor:pointer!important;
    pointer-events:auto!important;
}

@media (max-width:767.98px){
    body{
        --cui-sidebar-occupy-start:0px!important;
    }
    body .public-sidebar ~ .wrapper{
        padding-left:0!important;
        margin-left:0!important;
        width:100%!important;
        max-width:100%!important;
    }
    #sidebar.public-sidebar{
        width:min(86vw,290px)!important;
        transform:translateX(-100%)!important;
        visibility:hidden!important;
        transition:transform .22s ease,visibility .22s ease!important;
        z-index:1045!important;
    }
    body.public-mobile-sidebar-open #sidebar.public-sidebar{
        transform:translateX(0)!important;
        visibility:visible!important;
    }
    body.public-mobile-sidebar-open::after{
        content:"";
        position:fixed;
        inset:0;
        background:rgba(42,22,29,.42);
        z-index:1040;
        backdrop-filter:blur(1px);
    }
    #sidebar .public-sidebar-compact-toggle{display:none!important;}
}

/* ========================================================================== 
   v14.5.2 - Refluxo real do conteúdo e carrossel desktop compacto
   ========================================================================== */
@media (min-width:768px){
    body:not(.public-sidebar-hidden):not(.public-sidebar-compact){
        --public-sidebar-current-width:var(--public-sidebar-expanded-width);
    }
    body.public-sidebar-compact{
        --public-sidebar-current-width:var(--public-sidebar-compact-width);
    }
    body.public-sidebar-hidden{
        --public-sidebar-current-width:0px;
    }

    /* A barra é fixa: o wrapper deve mudar de largura, não apenas ganhar padding. */
    body > #sidebar.public-sidebar ~ .wrapper{
        box-sizing:border-box!important;
        padding-left:0!important;
        margin-left:var(--public-sidebar-current-width,0px)!important;
        width:calc(100% - var(--public-sidebar-current-width,0px))!important;
        max-width:calc(100% - var(--public-sidebar-current-width,0px))!important;
        min-width:0!important;
        flex:0 0 calc(100% - var(--public-sidebar-current-width,0px))!important;
        transition:margin-left .22s ease,width .22s ease,max-width .22s ease,flex-basis .22s ease!important;
    }

    body.public-sidebar-hidden > #sidebar.public-sidebar ~ .wrapper{
        margin-left:0!important;
        width:100%!important;
        max-width:100%!important;
        flex-basis:100%!important;
    }

    /* Evita que cabeçalho e conteúdo mantenham a largura do estado anterior. */
    body > #sidebar.public-sidebar ~ .wrapper > .header,
    body > #sidebar.public-sidebar ~ .wrapper > .body,
    body > #sidebar.public-sidebar ~ .wrapper > footer{
        width:100%!important;
        max-width:100%!important;
        margin-left:0!important;
    }

    /* O destaque não precisa dominar a tela do notebook. */
    .public-hero{
        width:100%;
        max-width:1120px;
        margin-left:auto;
        margin-right:auto;
    }
    .public-carousel-media{
        min-height:clamp(250px,27vw,360px)!important;
        height:clamp(250px,27vw,360px)!important;
        max-height:360px!important;
    }
    .public-carousel-image{
        height:clamp(250px,27vw,360px)!important;
        max-height:360px!important;
        object-fit:contain!important;
    }
}

@media (min-width:768px) and (max-width:1199.98px){
    .public-hero{max-width:980px;}
    .public-carousel-media,
    .public-carousel-image{
        min-height:clamp(245px,31vw,330px)!important;
        height:clamp(245px,31vw,330px)!important;
        max-height:330px!important;
    }
}

@media (max-width:767.98px){
    body > #sidebar.public-sidebar ~ .wrapper{
        margin-left:0!important;
        padding-left:0!important;
        width:100%!important;
        max-width:100%!important;
        flex-basis:100%!important;
    }
}


/* ========================================================================== 
   v14.5.3 - Menu público acessível, rolável e mobile completo
   ========================================================================== */
.public-sidebar{
    display:flex!important;
    flex-direction:column!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow:visible!important;
}
.public-sidebar .public-sidebar-brand{
    flex:0 0 auto!important;
    min-height:68px!important;
    padding:10px 8px!important;
    background:linear-gradient(180deg,#fff7f9 0%,#ffe5eb 100%)!important;
    border-bottom:1px solid rgba(125,49,70,.13)!important;
    box-shadow:none!important;
    overflow:hidden!important;
}
.public-sidebar-brand-link{
    width:100%;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none!important;
    color:var(--site-vinho)!important;
}
.public-sidebar-brand-full{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:1.05rem;
    line-height:1.15;
    font-weight:900;
    letter-spacing:.01em;
    text-align:center;
}
.public-sidebar-brand-short{
    display:none;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:#fff;
    border:1px solid rgba(125,49,70,.16);
    box-shadow:0 4px 12px rgba(125,49,70,.08);
    font-size:.86rem;
    font-weight:900;
}
.public-sidebar .public-sidebar-nav{
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    padding:.55rem .25rem 1rem!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(125,49,70,.34) transparent;
}
.public-sidebar .public-sidebar-nav::-webkit-scrollbar{width:6px;}
.public-sidebar .public-sidebar-nav::-webkit-scrollbar-thumb{background:rgba(125,49,70,.30);border-radius:999px;}
.public-sidebar .public-sidebar-nav::-webkit-scrollbar-track{background:transparent;}
.public-sidebar .public-sidebar-compact-toggle{
    position:relative!important;
    inset:auto!important;
    flex:0 0 48px!important;
    width:100%!important;
    min-height:48px!important;
    margin:0!important;
    z-index:2!important;
    border-top:1px solid rgba(125,49,70,.13)!important;
    background:rgba(125,49,70,.08)!important;
}
.public-sidebar .nav-link,
.public-sidebar .public-nav-group-toggle{
    position:relative;
}
.public-sidebar-tooltip{
    position:fixed;
    z-index:1100;
    pointer-events:none;
    padding:.48rem .72rem;
    border-radius:9px;
    background:#392427;
    color:#fff;
    box-shadow:0 8px 24px rgba(38,20,25,.24);
    font-size:.82rem;
    font-weight:800;
    line-height:1.2;
    white-space:nowrap;
    opacity:0;
    transform:translateY(-50%) translateX(-4px);
    transition:opacity .12s ease,transform .12s ease;
}
.public-sidebar-tooltip.is-visible{opacity:1;transform:translateY(-50%) translateX(0);}

@media (min-width:768px){
    body.public-sidebar-compact #sidebar .public-sidebar-brand{
        min-height:66px!important;
        padding:8px!important;
    }
    body.public-sidebar-compact #sidebar .public-sidebar-brand-full{display:none!important;}
    body.public-sidebar-compact #sidebar .public-sidebar-brand-short{display:flex!important;}
    body.public-sidebar-compact #sidebar .public-nav-label,
    body.public-sidebar-compact #sidebar .nav-title,
    body.public-sidebar-compact #sidebar .public-nav-group-items,
    body.public-sidebar-compact #sidebar .public-nav-chevron{display:none!important;}
    body.public-sidebar-compact #sidebar .public-sidebar-nav{
        padding:.55rem .25rem .8rem!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
    }
}

@media (max-width:767.98px){
    #sidebar.public-sidebar{
        left:0!important;
        right:auto!important;
        top:0!important;
        bottom:0!important;
        width:min(88vw,340px)!important;
        min-width:min(88vw,340px)!important;
        max-width:min(88vw,340px)!important;
        height:100dvh!important;
        max-height:100dvh!important;
        transform:translate3d(-105%,0,0)!important;
        visibility:hidden!important;
        opacity:0!important;
        pointer-events:none!important;
        overflow:visible!important;
        z-index:1055!important;
        transition:transform .22s ease,opacity .18s ease,visibility .22s ease!important;
    }
    body.public-mobile-sidebar-open #sidebar.public-sidebar{
        transform:translate3d(0,0,0)!important;
        visibility:visible!important;
        opacity:1!important;
        pointer-events:auto!important;
    }
    body.public-mobile-sidebar-open{overflow:hidden!important;}
    body.public-mobile-sidebar-open::after{z-index:1050!important;}
    #sidebar.public-sidebar .public-sidebar-brand{
        min-height:72px!important;
        padding:12px 14px!important;
    }
    #sidebar.public-sidebar .public-sidebar-brand-full{
        display:block!important;
        font-size:1.12rem!important;
    }
    #sidebar.public-sidebar .public-sidebar-brand-short{display:none!important;}
    #sidebar.public-sidebar .public-sidebar-nav{
        flex:1 1 auto!important;
        min-height:0!important;
        width:100%!important;
        padding:.65rem .45rem 1.35rem!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
    }
    #sidebar.public-sidebar .nav-title{display:block!important;}
    #sidebar.public-sidebar .nav-link,
    #sidebar.public-sidebar .public-nav-group-toggle{
        width:calc(100% - 8px)!important;
        min-width:0!important;
        min-height:46px!important;
        height:auto!important;
        margin:3px 4px!important;
        padding:.65rem .8rem!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        font-size:.94rem!important;
    }
    #sidebar.public-sidebar .nav-icon{
        width:22px!important;
        min-width:22px!important;
        height:22px!important;
        margin-right:.72rem!important;
        font-size:1.2rem!important;
    }
    #sidebar.public-sidebar .public-nav-label{display:inline!important;}
    #sidebar.public-sidebar .public-nav-chevron{display:inline-block!important;}
    #sidebar.public-sidebar .public-nav-group-items{display:block!important;}
    #sidebar.public-sidebar .public-nav-group.is-collapsed .public-nav-group-items{max-height:0!important;}
    #sidebar.public-sidebar .public-nav-group:not(.is-collapsed) .public-nav-group-items{max-height:620px!important;}
    #sidebar.public-sidebar .public-nav-group-items .nav-link{
        padding-left:2.75rem!important;
    }
    #sidebar .public-sidebar-compact-toggle{display:none!important;}
}

/* ========================================================================== 
   v14.5.4 - Correção definitiva dos submenus e do menu público no celular
   ========================================================================== */
@media (min-width:768px){
    body.public-sidebar-compact #sidebar.public-sidebar .public-nav-group-items{
        display:none!important;
    }
}

@media (max-width:767.98px){
    body.public-mobile-sidebar-open{
        overflow:hidden!important;
    }

    body.public-mobile-sidebar-open #sidebar.public-sidebar{
        position:fixed!important;
        inset:0 auto 0 0!important;
        width:min(88vw,360px)!important;
        min-width:min(88vw,360px)!important;
        max-width:min(88vw,360px)!important;
        height:100dvh!important;
        max-height:100dvh!important;
        transform:translate3d(0,0,0)!important;
        visibility:visible!important;
        opacity:1!important;
        pointer-events:auto!important;
        display:flex!important;
        flex-direction:column!important;
        z-index:1060!important;
        overflow:hidden!important;
    }

    #sidebar.public-sidebar,
    #sidebar.public-sidebar *{
        box-sizing:border-box!important;
    }

    #sidebar.public-sidebar .public-sidebar-brand{
        width:100%!important;
        flex:0 0 68px!important;
        min-height:68px!important;
        padding:10px 14px!important;
    }

    #sidebar.public-sidebar .public-sidebar-brand-full{
        display:block!important;
        width:100%!important;
        max-width:none!important;
        font-size:1.08rem!important;
        text-align:left!important;
        overflow:visible!important;
        text-overflow:clip!important;
    }

    #sidebar.public-sidebar .public-sidebar-brand-short{
        display:none!important;
    }

    #sidebar.public-sidebar .public-sidebar-nav{
        display:block!important;
        flex:1 1 auto!important;
        width:100%!important;
        min-width:100%!important;
        min-height:0!important;
        margin:0!important;
        padding:.55rem .45rem 1.2rem!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
    }

    #sidebar.public-sidebar .nav-title{
        display:block!important;
        width:100%!important;
        padding:.7rem .9rem .25rem!important;
        margin:0!important;
    }

    #sidebar.public-sidebar .nav-item,
    #sidebar.public-sidebar .public-nav-group,
    #sidebar.public-sidebar .public-nav-group-items{
        display:block!important;
        width:100%!important;
        min-width:0!important;
        margin:0!important;
    }

    #sidebar.public-sidebar .nav-link,
    #sidebar.public-sidebar .public-nav-group-toggle{
        width:calc(100% - 8px)!important;
        min-width:0!important;
        max-width:none!important;
        min-height:46px!important;
        height:auto!important;
        margin:3px 4px!important;
        padding:.65rem .8rem!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:.7rem!important;
        font-size:.94rem!important;
        white-space:normal!important;
        overflow:visible!important;
    }

    #sidebar.public-sidebar .nav-icon{
        display:inline-flex!important;
        width:22px!important;
        min-width:22px!important;
        height:22px!important;
        margin:0!important;
        align-items:center!important;
        justify-content:center!important;
        flex:0 0 22px!important;
        font-size:1.2rem!important;
    }

    #sidebar.public-sidebar .public-nav-label{
        display:inline-block!important;
        flex:1 1 auto!important;
        min-width:0!important;
        color:#5b3841!important;
        font-size:.94rem!important;
        line-height:1.25!important;
        white-space:normal!important;
        overflow:visible!important;
        opacity:1!important;
        visibility:visible!important;
    }

    #sidebar.public-sidebar .public-nav-chevron{
        display:inline-block!important;
        flex:0 0 auto!important;
        margin-left:auto!important;
    }

    #sidebar.public-sidebar .public-nav-group-items{
        list-style:none!important;
        padding:0 0 .25rem!important;
        overflow:hidden!important;
        opacity:1!important;
        visibility:visible!important;
        transition:max-height .22s ease!important;
    }

    #sidebar.public-sidebar .public-nav-group.is-collapsed > .public-nav-group-items{
        display:block!important;
        max-height:0!important;
        opacity:0!important;
        pointer-events:none!important;
    }

    #sidebar.public-sidebar .public-nav-group:not(.is-collapsed) > .public-nav-group-items{
        display:block!important;
        max-height:900px!important;
        opacity:1!important;
        pointer-events:auto!important;
    }

    #sidebar.public-sidebar .public-nav-group-items .nav-link{
        width:calc(100% - 16px)!important;
        margin:2px 8px!important;
        padding:.58rem .8rem .58rem 2.75rem!important;
        min-height:42px!important;
    }

    #sidebar.public-sidebar .public-sidebar-compact-toggle{
        display:none!important;
    }

    body.public-mobile-sidebar-open::after{
        content:""!important;
        position:fixed!important;
        inset:0!important;
        background:rgba(42,22,29,.48)!important;
        backdrop-filter:blur(1px)!important;
        z-index:1055!important;
    }
}

/* ========================================================================== 
   v14.5.6 - Submenu flutuante no menu compacto, igual ao administrativo
   ========================================================================== */
@media (min-width:768px){
    body.public-sidebar-compact #sidebar .public-nav-group{
        position:relative!important;
    }
    body.public-sidebar-compact #sidebar .public-nav-group.is-flyout-open .public-nav-group-items{
        display:block!important;
        position:fixed!important;
        left:76px!important;
        top:var(--public-flyout-top,80px)!important;
        width:245px!important;
        max-height:min(70vh,520px)!important;
        overflow-y:auto!important;
        padding:12px 10px 14px!important;
        margin:0!important;
        border:1px solid rgba(132,43,72,.16)!important;
        border-radius:16px!important;
        background:#fff!important;
        box-shadow:0 14px 35px rgba(62,31,40,.22)!important;
        opacity:1!important;
        visibility:visible!important;
        z-index:1085!important;
    }
    body.public-sidebar-compact #sidebar .public-nav-group.is-flyout-open .public-nav-group-items::before{
        content:attr(data-flyout-title);
        display:block!important;
        margin:0 0 8px!important;
        padding:2px 10px 10px!important;
        border-bottom:1px solid #f0ccd5!important;
        color:#842b48!important;
        font-size:.92rem!important;
        font-weight:900!important;
    }
    body.public-sidebar-compact #sidebar .public-nav-group.is-flyout-open .public-nav-group-items .nav-item{
        display:block!important;
        width:100%!important;
    }
    body.public-sidebar-compact #sidebar .public-nav-group.is-flyout-open .public-nav-group-items .nav-link{
        display:flex!important;
        width:100%!important;
        min-width:0!important;
        height:auto!important;
        min-height:42px!important;
        justify-content:flex-start!important;
        gap:10px!important;
        margin:2px 0!important;
        padding:9px 10px!important;
        border-radius:11px!important;
        font-size:.88rem!important;
        white-space:normal!important;
        color:#5b3841!important;
    }
    body.public-sidebar-compact #sidebar .public-nav-group.is-flyout-open .public-nav-group-items .nav-link > span{
        display:inline!important;
        font-size:.88rem!important;
    }
    body.public-sidebar-compact #sidebar .public-nav-group.is-flyout-open .public-nav-group-items .nav-icon{
        display:inline-flex!important;
        width:20px!important;
        height:20px!important;
        flex:0 0 20px!important;
        font-size:1rem!important;
        color:#b13c62!important;
    }
    body.public-sidebar-compact #sidebar .public-nav-group.is-flyout-open > .public-nav-group-toggle{
        background:rgba(255,255,255,.25)!important;
        box-shadow:inset 4px 0 0 #4cc9f0!important;
    }
}

@media (max-width:767.98px){
    #sidebar.public-sidebar{
        overflow-y:auto!important;
        -webkit-overflow-scrolling:touch!important;
    }
    #sidebar.public-sidebar .sidebar-nav{
        overflow:visible!important;
        touch-action:pan-y!important;
    }
    #sidebar.public-sidebar a.nav-link,
    #sidebar.public-sidebar button.nav-link{
        touch-action:manipulation!important;
        -webkit-tap-highlight-color:rgba(132,43,72,.12);
    }
}

/* ========================================================================== 
   v14.5.8 - Menu mobile em painel completo, sem herdar modo compacto
   ========================================================================== */
@media (max-width:767.98px){
    html, body{overflow-x:hidden!important;}

    body #sidebar.public-sidebar,
    body.public-sidebar-compact #sidebar.public-sidebar,
    body.public-sidebar-hidden #sidebar.public-sidebar,
    body .sidebar.sidebar-fixed.sidebar-narrow,
    body .sidebar.sidebar-fixed.sidebar-narrow-unfoldable{
        --cui-sidebar-width:min(86vw,340px)!important;
        width:min(86vw,340px)!important;
        min-width:min(86vw,340px)!important;
        max-width:min(86vw,340px)!important;
        left:0!important;
        right:auto!important;
        top:0!important;
        bottom:0!important;
        height:100dvh!important;
        margin:0!important;
        border:0!important;
        overflow:hidden!important;
        transform:translateX(-105%)!important;
        transition:transform .24s ease!important;
    }

    body.public-mobile-sidebar-open #sidebar.public-sidebar,
    body.public-mobile-sidebar-open .sidebar.sidebar-fixed.sidebar-narrow,
    body.public-mobile-sidebar-open .sidebar.sidebar-fixed.sidebar-narrow-unfoldable{
        transform:translateX(0)!important;
    }

    body #sidebar.public-sidebar .public-sidebar-brand,
    body #sidebar.public-sidebar .public-sidebar-nav,
    body #sidebar.public-sidebar .sidebar-nav,
    body #sidebar.public-sidebar .simplebar-wrapper,
    body #sidebar.public-sidebar .simplebar-mask,
    body #sidebar.public-sidebar .simplebar-offset,
    body #sidebar.public-sidebar .simplebar-content-wrapper,
    body #sidebar.public-sidebar .simplebar-content{
        width:100%!important;
        min-width:100%!important;
        max-width:100%!important;
    }

    body #sidebar.public-sidebar .simplebar-content-wrapper{
        overflow-x:hidden!important;
        overflow-y:auto!important;
    }

    body #sidebar.public-sidebar .public-sidebar-brand{
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        flex:0 0 70px!important;
        min-height:70px!important;
        padding:12px 18px!important;
    }

    body #sidebar.public-sidebar .public-sidebar-brand-link,
    body #sidebar.public-sidebar .public-sidebar-brand-full{
        display:block!important;
        width:100%!important;
        max-width:100%!important;
        color:#842b48!important;
        font-size:1.1rem!important;
        font-weight:900!important;
        line-height:1.2!important;
        opacity:1!important;
        visibility:visible!important;
        white-space:nowrap!important;
    }

    body #sidebar.public-sidebar .public-sidebar-brand-short{display:none!important;}

    body #sidebar.public-sidebar .public-sidebar-nav,
    body #sidebar.public-sidebar .sidebar-nav{
        display:block!important;
        flex:1 1 auto!important;
        padding:.55rem .55rem 1.25rem!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
    }

    body #sidebar.public-sidebar .nav-title{
        display:block!important;
        width:100%!important;
        color:#842b48!important;
        opacity:1!important;
        visibility:visible!important;
    }

    body #sidebar.public-sidebar .nav-item,
    body #sidebar.public-sidebar .public-nav-group,
    body #sidebar.public-sidebar .public-nav-group-items{
        width:100%!important;
        min-width:100%!important;
        max-width:100%!important;
    }

    body #sidebar.public-sidebar .nav-link,
    body #sidebar.public-sidebar .public-nav-group-toggle,
    body.public-sidebar-compact #sidebar.public-sidebar .nav-link,
    body.public-sidebar-compact #sidebar.public-sidebar .public-nav-group-toggle{
        display:flex!important;
        width:100%!important;
        min-width:100%!important;
        max-width:100%!important;
        min-height:46px!important;
        margin:3px 0!important;
        padding:.68rem .8rem!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:.72rem!important;
        border-radius:12px!important;
        text-indent:0!important;
        overflow:visible!important;
        white-space:normal!important;
    }

    body #sidebar.public-sidebar .nav-icon,
    body.public-sidebar-compact #sidebar.public-sidebar .nav-icon{
        display:inline-flex!important;
        flex:0 0 22px!important;
        width:22px!important;
        min-width:22px!important;
        height:22px!important;
        margin:0!important;
        color:#a83258!important;
        opacity:1!important;
        visibility:visible!important;
    }

    body #sidebar.public-sidebar .public-nav-label,
    body.public-sidebar-compact #sidebar.public-sidebar .public-nav-label,
    body #sidebar.public-sidebar .nav-link > span{
        display:inline-block!important;
        flex:1 1 auto!important;
        width:auto!important;
        min-width:0!important;
        color:#5b3841!important;
        font-size:.95rem!important;
        font-weight:700!important;
        line-height:1.25!important;
        opacity:1!important;
        visibility:visible!important;
        clip:auto!important;
        clip-path:none!important;
        transform:none!important;
        overflow:visible!important;
        white-space:normal!important;
    }

    body #sidebar.public-sidebar .public-nav-chevron{
        display:inline-block!important;
        flex:0 0 auto!important;
        margin-left:auto!important;
        color:#842b48!important;
        opacity:1!important;
        visibility:visible!important;
    }

    body #sidebar.public-sidebar .public-nav-group-items{
        position:static!important;
        left:auto!important;
        top:auto!important;
        transform:none!important;
        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
        padding:0 0 .2rem!important;
    }

    body #sidebar.public-sidebar .public-nav-group.is-collapsed > .public-nav-group-items{
        display:block!important;
        max-height:0!important;
        overflow:hidden!important;
        opacity:0!important;
        pointer-events:none!important;
    }

    body #sidebar.public-sidebar .public-nav-group:not(.is-collapsed) > .public-nav-group-items{
        display:block!important;
        max-height:900px!important;
        opacity:1!important;
        pointer-events:auto!important;
    }

    body #sidebar.public-sidebar .public-nav-group-items .nav-link{
        width:calc(100% - 12px)!important;
        min-width:calc(100% - 12px)!important;
        margin:2px 6px!important;
        padding-left:2.55rem!important;
        background:rgba(255,255,255,.44)!important;
    }

    body.public-mobile-sidebar-open::after{
        left:min(86vw,340px)!important;
        z-index:1055!important;
    }

    body #sidebar.public-sidebar{z-index:1065!important;}
    body #sidebar.public-sidebar .public-sidebar-compact-toggle{display:none!important;}
    body .wrapper{padding-left:0!important;margin-left:0!important;}
}

/* ========================================================================== 
   v14.5.9 - Menu superior mobile moderno
   ========================================================================== */
@media (max-width:767.98px){
    .public-mobile-menu-wrap{position:relative!important;}
    .public-mobile-menu-button{
        display:inline-flex!important;align-items:center!important;gap:.55rem!important;
        min-height:46px!important;padding:.62rem 1rem!important;border:0!important;
        border-radius:13px!important;color:#fff!important;font-weight:800!important;
        font-size:1rem!important;background:linear-gradient(135deg,#8f1f48 0%,#a83258 100%)!important;
        box-shadow:0 8px 18px rgba(132,43,72,.23)!important;
    }
    .public-mobile-menu-button::after{display:none!important;}
    .public-mobile-menu-button .bi{font-size:.9rem;transition:transform .2s ease;}
    .public-mobile-menu-button[aria-expanded="true"] .bi{transform:rotate(180deg);}

    .public-mobile-menu{
        width:min(88vw,360px)!important;max-height:calc(100dvh - 92px)!important;
        margin-top:.65rem!important;padding:.8rem!important;border:1px solid rgba(132,43,72,.12)!important;
        border-radius:24px!important;background:rgba(255,255,255,.98)!important;
        box-shadow:0 18px 48px rgba(72,28,42,.22)!important;
        overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;
        backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    }
    .public-mobile-menu .dropdown-item{
        display:flex!important;align-items:center!important;gap:.78rem!important;
        min-height:48px!important;padding:.72rem .78rem!important;margin:2px 0!important;
        border-radius:13px!important;color:#3f3540!important;font-size:1rem!important;
        font-weight:650!important;white-space:normal!important;transition:background .18s ease,transform .18s ease,color .18s ease!important;
    }
    .public-mobile-menu .dropdown-item:active,
    .public-mobile-menu .dropdown-item:hover,
    .public-mobile-menu .dropdown-item:focus{
        background:#fff0f4!important;color:#8f1f48!important;transform:translateX(2px)!important;
    }
    .public-mobile-menu .dropdown-item > .bi:first-child{
        flex:0 0 25px!important;width:25px!important;text-align:center!important;
        color:#a83258!important;font-size:1.18rem!important;
    }
    .public-mobile-menu .dropdown-item > span:not(.public-emoji-icon){flex:1 1 auto!important;}
    .public-mobile-menu .dropdown-item > .bi-chevron-right{flex:0 0 auto!important;color:#8a7580!important;font-size:.9rem!important;}
    .public-mobile-menu .public-emoji-icon{flex:0 0 25px!important;width:25px!important;text-align:center!important;font-size:1.25rem!important;}

    .public-mobile-menu .public-mobile-admin-item .dropdown-item{
        min-height:56px!important;padding:.82rem .9rem!important;color:#fff!important;
        background:linear-gradient(135deg,#8f1f48 0%,#a83258 100%)!important;
        box-shadow:0 7px 18px rgba(132,43,72,.19)!important;
    }
    .public-mobile-menu .public-mobile-admin-item .dropdown-item .bi{color:#fff!important;}
    .public-mobile-menu .public-mobile-admin-item .dropdown-item:hover{transform:none!important;background:linear-gradient(135deg,#7f173e 0%,#962749 100%)!important;}

    .public-mobile-menu .dropdown-divider{margin:.72rem .25rem!important;border-color:rgba(132,43,72,.13)!important;}
    .public-mobile-menu .dropdown-header{
        display:flex!important;align-items:center!important;gap:.55rem!important;
        padding:.35rem .65rem .45rem!important;color:#c74a75!important;font-size:.98rem!important;
        font-weight:900!important;text-transform:none!important;letter-spacing:0!important;
    }
    .public-mobile-menu .dropdown-header .bi{font-size:1.08rem!important;}
    .public-mobile-menu .public-mobile-featured .dropdown-item{
        background:linear-gradient(90deg,#fff0f4 0%,#fff8fa 100%)!important;
        border:1px solid rgba(199,74,117,.08)!important;
    }
    .public-mobile-menu::-webkit-scrollbar{width:5px;}
    .public-mobile-menu::-webkit-scrollbar-thumb{background:rgba(168,50,88,.25);border-radius:999px;}
}


/* ========================================================================== 
   v15.6.15 - Menu público mobile compacto
   ========================================================================== */
@media (max-width:767.98px){
    .public-mobile-menu-button{
        min-height:40px!important;
        padding:.48rem .78rem!important;
        border-radius:11px!important;
        gap:.4rem!important;
        font-size:.92rem!important;
        box-shadow:0 5px 13px rgba(132,43,72,.18)!important;
    }
    .public-mobile-menu{
        width:min(84vw,320px)!important;
        max-height:calc(100dvh - 78px)!important;
        margin-top:.42rem!important;
        padding:.52rem!important;
        border-radius:17px!important;
        box-shadow:0 14px 34px rgba(72,28,42,.20)!important;
    }
    .public-mobile-menu .dropdown-item{
        min-height:39px!important;
        padding:.48rem .58rem!important;
        margin:1px 0!important;
        gap:.58rem!important;
        border-radius:10px!important;
        font-size:.92rem!important;
        line-height:1.15!important;
    }
    .public-mobile-menu .dropdown-item > .bi:first-child{
        flex-basis:21px!important;
        width:21px!important;
        font-size:1rem!important;
    }
    .public-mobile-menu .public-emoji-icon{
        flex-basis:21px!important;
        width:21px!important;
        font-size:1.05rem!important;
    }
    .public-mobile-menu .dropdown-item > .bi-chevron-right{
        font-size:.75rem!important;
    }
    .public-mobile-menu .public-mobile-admin-item .dropdown-item{
        min-height:44px!important;
        padding:.58rem .68rem!important;
    }
    .public-mobile-menu .dropdown-divider{
        margin:.42rem .18rem!important;
    }
    .public-mobile-menu .dropdown-header{
        gap:.4rem!important;
        padding:.2rem .5rem .28rem!important;
        font-size:.86rem!important;
    }
    .public-mobile-menu .dropdown-header .bi{
        font-size:.96rem!important;
    }
}


/* ========================================================================== 
   v16.5.2 - Home pública compacta em notebooks e fundo blur no carrossel
   ========================================================================== */
.public-carousel-media{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:#f7e8ed;
}
.public-carousel-media::before{
    content:"";
    position:absolute;
    inset:-28px;
    z-index:-2;
    background-image:var(--public-carousel-bg);
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    filter:blur(24px) saturate(.95);
    transform:scale(1.09);
    opacity:.72;
}
.public-carousel-media::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(90deg,rgba(255,244,247,.28),rgba(69,27,40,.04),rgba(255,244,247,.28));
    pointer-events:none;
}
.public-carousel-image{
    position:relative;
    z-index:1;
    max-width:100%;
    filter:drop-shadow(0 3px 10px rgba(54,24,32,.10));
}

/* Notebooks: mais conteúdo visível sem comprometer a leitura. */
@media (min-width:768px) and (max-width:1366px){
    .public-home{padding:0 .5rem 1.2rem!important;}
    .public-home-container{max-width:1240px!important;}
    .public-home section{margin-bottom:.8rem!important;}
    .public-hero{max-width:1040px!important;}
    .public-hero-carousel{border-radius:18px!important;}
    .public-carousel-media,
    .public-carousel-image{
        min-height:230px!important;
        height:clamp(230px,25vw,310px)!important;
        max-height:310px!important;
    }
    .public-carousel-control{
        width:44px!important;
        height:44px!important;
        margin:0 9px!important;
    }
    .public-carousel-pause{
        right:10px!important;
        bottom:10px!important;
        padding:.36rem .58rem!important;
        font-size:.72rem!important;
    }
    .public-carousel-indicators{margin-bottom:9px!important;}
    .public-intro{padding:1.35rem 1.25rem!important;}
    .public-intro h1{
        font-size:clamp(2rem,4vw,3rem)!important;
        margin-bottom:.55rem!important;
    }
    .public-intro p,
    .public-section-header p{
        font-size:.94rem!important;
        line-height:1.48!important;
    }
    .public-intro-actions{margin-top:.85rem!important;}
    .public-cta-primary,
    .public-cta-secondary{padding:.56rem .9rem!important;font-size:.88rem!important;}
    .public-gallery-section{padding:.85rem!important;}
    .public-section-header{margin-bottom:.65rem!important;}
    .public-section-header h2{
        font-size:clamp(1.35rem,2.3vw,1.8rem)!important;
        margin-bottom:.25rem!important;
    }
    .public-gallery-scroll{gap:.7rem!important;}
    .public-gallery-item a{border-radius:14px!important;}
}

@media (prefers-reduced-motion:reduce){
    .public-carousel-media::before{filter:blur(18px);transform:scale(1.06);}
}

/* ========================================================================== 
   v16.5.3 - Carrossel público: blur mais natural, notebook menor e mobile justo
   ========================================================================== */
.public-carousel-media::before{
    inset:-42px;
    background-size:cover;
    background-position:center center;
    filter:blur(34px) saturate(1.12) brightness(.92);
    transform:scale(1.16);
    opacity:.90;
}
.public-carousel-media::after{
    background:
        linear-gradient(90deg,
            rgba(74,30,43,.10) 0%,
            rgba(255,255,255,.02) 24%,
            rgba(255,255,255,.02) 76%,
            rgba(74,30,43,.10) 100%),
        linear-gradient(180deg,rgba(255,255,255,.07),rgba(61,24,36,.05));
}
.public-carousel-image{
    filter:drop-shadow(0 4px 13px rgba(54,24,32,.14));
}

/* Notebook: carrossel ainda mais baixo para antecipar o conteúdo da página. */
@media (min-width:768px) and (max-width:1366px){
    .public-hero{max-width:980px!important;}
    .public-carousel-media,
    .public-carousel-image{
        min-height:205px!important;
        height:clamp(205px,21vw,270px)!important;
        max-height:270px!important;
    }
    .public-carousel-control{
        width:40px!important;
        height:40px!important;
        margin:0 7px!important;
    }
    .public-carousel-pause{
        right:8px!important;
        bottom:8px!important;
        padding:.3rem .5rem!important;
        font-size:.68rem!important;
    }
    .public-carousel-indicators{margin-bottom:7px!important;}
}

/* Celular: a altura acompanha exatamente a proporção da imagem, sem faixas acima/abaixo. */
@media (max-width:767.98px){
    .public-home{padding-left:.35rem!important;padding-right:.35rem!important;}
    .public-hero{margin-bottom:.55rem!important;}
    .public-hero-carousel{border-radius:14px!important;}
    .public-hero-carousel .carousel-item{line-height:0!important;}
    .public-carousel-media{
        display:block!important;
        min-height:0!important;
        height:auto!important;
        max-height:none!important;
        padding:0!important;
    }
    .public-carousel-image{
        display:block!important;
        width:100%!important;
        min-height:0!important;
        height:auto!important;
        max-height:none!important;
        margin:0!important;
        object-fit:contain!important;
    }
    .public-carousel-media::before{
        inset:-22px!important;
        filter:blur(24px) saturate(1.08) brightness(.94)!important;
        transform:scale(1.12)!important;
        opacity:.82!important;
    }
    .public-carousel-control{
        width:36px!important;
        height:36px!important;
        margin:0 5px!important;
    }
    .public-carousel-pause{
        right:7px!important;
        bottom:7px!important;
        width:34px!important;
        height:34px!important;
        padding:.3rem!important;
    }
    .public-carousel-indicators{margin-bottom:7px!important;}
    .public-carousel-progress{height:3px!important;}
}


/* ========================================================================== 
   v16.5.6 - Acordeões no menu superior mobile público
   ========================================================================== */
@media (max-width:767.98px){
    .public-mobile-menu{
        padding-right:.75rem!important;
        scrollbar-width:thin;
        scrollbar-color:rgba(168,50,88,.22) transparent;
    }
    .public-mobile-menu .public-mobile-direct-link{
        padding-right:.75rem!important;
    }
    .public-mobile-menu .public-mobile-direct-link::after,
    .public-mobile-menu .public-mobile-direct-link > .bi-chevron-right{
        display:none!important;
    }
    .public-mobile-accordion{
        margin:0!important;
        padding:0!important;
    }
    .public-mobile-accordion-toggle{
        width:100%!important;
        min-height:40px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:.65rem!important;
        padding:.46rem .58rem!important;
        border:0!important;
        border-radius:10px!important;
        background:transparent!important;
        color:#c74a75!important;
        font-size:.88rem!important;
        font-weight:900!important;
        text-align:left!important;
        cursor:pointer!important;
        transition:background .18s ease,color .18s ease!important;
    }
    .public-mobile-accordion-toggle:hover,
    .public-mobile-accordion-toggle:focus-visible,
    .public-mobile-accordion.is-open > .public-mobile-accordion-toggle{
        background:#fff0f4!important;
        color:#8f1f48!important;
        outline:none!important;
    }
    .public-mobile-accordion-title{
        min-width:0!important;
        display:flex!important;
        align-items:center!important;
        gap:.48rem!important;
    }
    .public-mobile-accordion-title > .bi{
        flex:0 0 21px!important;
        width:21px!important;
        text-align:center!important;
        font-size:1rem!important;
    }
    .public-mobile-accordion-chevron{
        flex:0 0 auto!important;
        font-size:.78rem!important;
        color:#8a7580!important;
        transition:transform .2s ease!important;
    }
    .public-mobile-accordion.is-open .public-mobile-accordion-chevron{
        transform:rotate(180deg)!important;
    }
    .public-mobile-accordion-panel{
        overflow:hidden!important;
    }
    .public-mobile-accordion-panel[hidden]{
        display:none!important;
    }
    .public-mobile-accordion-panel .public-mobile-menu-section{
        padding:.08rem 0 .18rem .3rem!important;
        animation:publicMobileAccordionIn .18s ease both;
    }
    .public-mobile-accordion-panel .dropdown-item{
        min-height:37px!important;
        padding:.44rem .54rem!important;
        font-size:.89rem!important;
    }
    @keyframes publicMobileAccordionIn{
        from{opacity:0;transform:translateY(-4px)}
        to{opacity:1;transform:translateY(0)}
    }
}

/* ========================================================================== 
   v16.5.7 - Menu mobile: links diretos sem seta e promoção sem duplicidade
   ========================================================================== */
@media (max-width:767.98px){
  .public-mobile-menu .public-mobile-admin-item .public-mobile-direct-link{
    grid-template-columns:25px minmax(0,1fr)!important;
    padding-right:.9rem!important;
  }
  .public-mobile-menu .public-mobile-admin-item .public-mobile-direct-link::after,
  .public-mobile-menu .public-mobile-admin-item .public-mobile-direct-link .bi-chevron-right{
    display:none!important;
  }
  .public-mobile-promotions-single{
    padding:0!important;
  }
  .public-mobile-promotions-single .dropdown-item{
    margin:0!important;
  }
}
