.elementor-1111 .elementor-element.elementor-element-ac7f9e4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--z-index:999;}.elementor-1111 .elementor-element.elementor-element-ac7f9e4:not(.elementor-motion-effects-element-type-background), .elementor-1111 .elementor-element.elementor-element-ac7f9e4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0D1318;}.elementor-1111 .elementor-element.elementor-element-ce14092{--display:flex;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1111 .elementor-element.elementor-element-ce14092.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1111 .elementor-element.elementor-element-24db3d0{--display:flex;}.elementor-1111 .elementor-element.elementor-element-24db3d0.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1111 .elementor-element.elementor-element-6a61e2c{padding:0px 0px 0px 0px;--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );--nav-menu-icon-size:0px;}.elementor-1111 .elementor-element.elementor-element-6a61e2c.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-menu-toggle{margin-left:auto;border-width:0px;border-radius:0px;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu .elementor-item{font-family:"Raleway", Sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;padding-left:20px;padding-right:20px;padding-top:0px;padding-bottom:0px;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--main .elementor-item:hover,
					.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--main .elementor-item:focus{color:#00FFFE;fill:#00FFFE;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#00FFFE;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .e--pointer-framed .elementor-item:before,
					.elementor-1111 .elementor-element.elementor-element-6a61e2c .e--pointer-framed .elementor-item:after{border-color:#00FFFE;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .e--pointer-framed .elementor-item:before{border-width:0px;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .e--pointer-framed.e--animation-draw .elementor-item:before{border-width:0 0 0px 0px;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .e--pointer-framed.e--animation-draw .elementor-item:after{border-width:0px 0px 0 0;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .e--pointer-framed.e--animation-corners .elementor-item:before{border-width:0px 0 0 0px;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .e--pointer-framed.e--animation-corners .elementor-item:after{border-width:0 0px 0px 0;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .e--pointer-underline .elementor-item:after,
					 .elementor-1111 .elementor-element.elementor-element-6a61e2c .e--pointer-overline .elementor-item:before,
					 .elementor-1111 .elementor-element.elementor-element-6a61e2c .e--pointer-double-line .elementor-item:before,
					 .elementor-1111 .elementor-element.elementor-element-6a61e2c .e--pointer-double-line .elementor-item:after{height:0px;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--dropdown a, .elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-menu-toggle{color:#EEEEEE;fill:#EEEEEE;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--dropdown{background-color:#262626;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--dropdown .elementor-item, .elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Raleway", Sans-serif;font-size:16px;font-weight:500;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--dropdown a{padding-left:10px;padding-right:10px;padding-top:10px;padding-bottom:10px;}.elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-1111 .elementor-element.elementor-element-6a61e2c .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:0px !important;}.elementor-1111 .elementor-element.elementor-element-6a61e2c div.elementor-menu-toggle{color:#FFFFFF;}.elementor-1111 .elementor-element.elementor-element-6a61e2c div.elementor-menu-toggle svg{fill:#FFFFFF;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-1111 .elementor-element.elementor-element-e09b2b6{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;top:565.347px;z-index:9999;}body:not(.rtl) .elementor-1111 .elementor-element.elementor-element-e09b2b6{right:286.658px;}body.rtl .elementor-1111 .elementor-element.elementor-element-e09b2b6{left:286.658px;}.elementor-1111 .elementor-element.elementor-element-e09b2b6 .elementor-icon-wrapper{text-align:center;}.elementor-1111 .elementor-element.elementor-element-e09b2b6.elementor-view-stacked .elementor-icon{background-color:#25D366;}.elementor-1111 .elementor-element.elementor-element-e09b2b6.elementor-view-framed .elementor-icon, .elementor-1111 .elementor-element.elementor-element-e09b2b6.elementor-view-default .elementor-icon{color:#25D366;border-color:#25D366;}.elementor-1111 .elementor-element.elementor-element-e09b2b6.elementor-view-framed .elementor-icon, .elementor-1111 .elementor-element.elementor-element-e09b2b6.elementor-view-default .elementor-icon svg{fill:#25D366;}.elementor-1111 .elementor-element.elementor-element-e09b2b6 .elementor-icon{font-size:32px;}.elementor-1111 .elementor-element.elementor-element-e09b2b6 .elementor-icon svg{height:32px;}@media(max-width:1024px){.elementor-1111 .elementor-element.elementor-element-6a61e2c{width:var( --container-widget-width, 466px );max-width:466px;padding:0px 0px 0px 0px;--container-widget-width:466px;--container-widget-flex-grow:0;}}@media(max-width:767px){.elementor-1111 .elementor-element.elementor-element-ce14092{--width:73%;}.elementor-1111 .elementor-element.elementor-element-24db3d0{--width:27%;--min-height:0px;}.elementor-1111 .elementor-element.elementor-element-6a61e2c{width:var( --container-widget-width, 50% );max-width:50%;padding:0px 0px 0px 0px;--container-widget-width:50%;--container-widget-flex-grow:0;--nav-menu-icon-size:35px;}.elementor-1111 .elementor-element.elementor-element-6a61e2c.elementor-element{--align-self:center;--order:-99999 /* order start hack */;}}@media(min-width:768px){.elementor-1111 .elementor-element.elementor-element-ce14092{--width:33%;}.elementor-1111 .elementor-element.elementor-element-24db3d0{--width:67%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1111 .elementor-element.elementor-element-24db3d0{--width:500px;}}/* Start custom CSS *//* ========================================================8==
   1) CORREÇÃO DO PAI (Elementor / tema)
   ========================================================== */

body .elementor-widget-container:has( > #unidade ),
body .elementor-widget:has( > .elementor-widget-container > #unidade ),
body .e-con-inner:has( > .elementor-widget > .elementor-widget-container > #unidade ) {
    flex-grow: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
}


/* ==========================================================
   2) SEÇÃO
   ========================================================== */

#unidade.gki-section {
    --gki-cyan: #12c6d4;
    --gki-cyan-soft: #46dfe9;
    --gki-cyan-dark: #079eac;
    --gki-dark: #232d38;
    --gki-text: #46515d;
    --gki-muted: #6c7a84;
    --gki-border: #e2eaee;
    --gki-field: #f8fbfc;
    --gki-max: 1180px;

    /* coluna da direita */
    --gki-aside: 360px;

    /* ALTURA DO MENU FIXO DO SITE (0px se não for fixo) */
    --gki-menu: 0px;

    /* CLARIDADE DO VÍDEO DA REGIÃO
       Quanto menor, mais escuro fica o vídeo atrás do endereço.
       .56 é o padrão; 1 deixa o vídeo sem escurecer nenhum. */
    --gki-video-luz: .56;

    /* FOLGA DO BOTÃO FLUTUANTE DO WHATSAPP
       No celular o formulário sobe este tanto para não ficar
       atrás do botão verde do site. Se o seu botão for maior ou
       ficar mais alto, aumente. 0px cola o formulário embaixo. */
    --gki-folga-zap: 92px;

    --gki-sticky-top: calc(var(--gki-menu) + 16px);

    /* ALTURA DA GALERIA
       A foto ocupa a largura inteira da tela, então é a altura que
       manda no tamanho dela. Aumente para a foto ficar mais alta.
       No celular há um valor menor, mais adiante. */
    --gki-galeria: min(72vh, 620px);

    /* MARGEM DA GALERIA
       Distância entre a foto e a borda da tela, de cada lado.
       0px deixa a foto encostando nas bordas. */
    --gki-margem: 0px;

    /* RESPIRO DO CONTEÚDO
       Distância entre o texto e a borda da tela. A foto não usa
       este valor — ela tem o --gki-margem só dela. */
    --gki-respiro: 24px;

    /* FONTES
       --gki-fonte-titulo vale para títulos, valores e botões.
       --gki-fonte-texto vale para o texto corrido; em inherit
       ele continua usando a fonte do tema.
       Para deixar a página inteira na Inter, troque
       --gki-fonte-texto por var(--gki-fonte-titulo).
       Para voltar tudo ao tema, deixe as duas em inherit. */
    --gki-fonte-titulo: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    --gki-fonte-texto: inherit;

    display: block !important;
    position: relative !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 64px !important;
    overflow: visible;
    background:
        radial-gradient(900px 440px at 88% -6%, rgba(18,198,212,.10) 0%, rgba(18,198,212,0) 62%),
        linear-gradient(180deg, #f7fbfc 0%, #eef5f7 100%);
    color: var(--gki-text);
    font-size: 16px;
    line-height: 1.6;
    text-align: left;
    -webkit-font-smoothing: antialiased;
}

#unidade.gki-section *,
#unidade.gki-section *::before,
#unidade.gki-section *::after {
    box-sizing: border-box;
}

#unidade .gki-wrap {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* O respiro lateral é do conteúdo, não da seção: assim a galeria
   consegue ir de borda a borda sem depender de conta nenhuma. */
#unidade .gki-container > .gki-head,
#unidade .gki-layout,
#unidade .gki-others {
    padding-left: var(--gki-respiro);
    padding-right: var(--gki-respiro);
}

#unidade .gki-container {
    display: block !important;
    position: relative;
    z-index: 2;
    flex: 0 1 var(--gki-max) !important;
    width: 100% !important;
    max-width: var(--gki-max) !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
}


/* ==========================================================
   3b) TIPOGRAFIA
   ==========================================================
   A Inter entra nos títulos, nos valores e nos botões — é onde
   o desenho da letra aparece. O texto corrido segue a fonte do
   tema, que já é uma grotesca parecida.
   O peso forte aqui é 600, e não 700/800: é o mesmo peso que o
   QuintoAndar usa nos valores. */

#unidade {
    font-family: var(--gki-fonte-texto) !important;
}

#unidade.gki-section .gki-eyebrow,
#unidade.gki-section .gki-title,
#unidade.gki-section .gki-stage-title,
#unidade.gki-section .gki-stage-tag,
#unidade.gki-section .gki-block-title,
#unidade.gki-section .gki-form-title,
#unidade.gki-section .gki-done h4,
#unidade.gki-section .gki-others h3,
#unidade.gki-section .gki-q-btn,
#unidade.gki-section .gki-price-label,
#unidade.gki-section .gki-price,
#unidade.gki-section .gki-cost,
#unidade.gki-section .gki-cost b,
#unidade.gki-section .gki-cost span,
#unidade.gki-section .gki-cost small,
#unidade.gki-section .gki-fact b,
#unidade.gki-section .gki-fact span,
#unidade.gki-section .gki-selo,
#unidade.gki-section .gki-bottom-price,
#unidade.gki-section .gki-bottom-price b,
#unidade.gki-section .gki-bottom-price span,
#unidade.gki-section .gki-counter,
#unidade.gki-section .gki-box-count,
#unidade.gki-section .gki-tab,
#unidade.gki-section .gki-goal,
#unidade.gki-section .gki-simular,
#unidade.gki-section .gki-agendar,
#unidade.gki-section .gki-submit,
#unidade.gki-section .gki-others-btn,
#unidade.gki-section .gki-bottom-btn {
    font-family: var(--gki-fonte-titulo) !important;
}

/* números com a mesma largura, para os valores não "dançarem" */
#unidade.gki-section .gki-price,
#unidade.gki-section .gki-cost b,
#unidade.gki-section .gki-fact b,
#unidade.gki-section .gki-bottom-price b,
#unidade.gki-section .gki-counter,
#unidade.gki-section .gki-box-count {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}


/* ---------- pastilhas de onde fica no prédio ---------- */

#unidade .gki-selos {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 15px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#unidade .gki-selo {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    padding: 8px 14px;
    border: 1px solid var(--gki-border);
    border-radius: 50px;
    background: #ffffff;
    color: var(--gki-dark);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

#unidade .gki-selo svg {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    color: var(--gki-cyan-dark);
}


/* ==========================================================
   4) ÁREA DE MÍDIA
   ========================================================== */

/* GALERIA FULL WIDTH
   A galeria fica FORA da caixa de conteúdo, direto na seção, então
   ocupa a largura inteira da tela em qualquer tamanho — sem conta
   nenhuma e sem risco de sobrar um fio na borda.
   --gki-margem afasta a foto das bordas, se você quiser: 0px é
   encostando, 40px dá um respiro de cada lado. */

#unidade .gki-media {
    --gki-recuo: max(24px, calc((100% - var(--gki-max)) / 2));
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0 0 26px !important;
    padding: 0 var(--gki-margem);
}

/* abas: pastilhas dentro da própria foto, na base, centralizadas */
#unidade .gki-tabs {
    position: absolute;
    left: var(--gki-margem);
    right: var(--gki-margem);
    bottom: 20px;
    z-index: 6;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    width: auto;
    margin: 0 !important;
    padding: 0 16px;
    list-style: none;
}

#unidade .gki-tab {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 40px;
    margin: 0 !important;
    padding: 0 15px !important;
    border: 0 !important;
    border-radius: 50px !important;
    background: rgba(255,255,255,.95) !important;
    color: var(--gki-dark) !important;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(8,18,24,.3);
    transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}

#unidade .gki-tab svg {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
}

#unidade .gki-tab:hover {
    background: #ffffff !important;
}

#unidade .gki-tab.gki-on {
    color: #08151a !important;
    background: var(--gki-cyan) !important;
    box-shadow: 0 6px 20px rgba(8,18,24,.3);
}

#unidade .gki-tab b {
    font-weight: 600;
    opacity: .7;
}

/* palco
   A altura manda; a largura é sempre a da tela. Mexa em
   --gki-galeria para a foto ficar mais alta ou mais baixa. */
#unidade .gki-stage {
    position: relative;
    width: 100%;
    height: var(--gki-galeria);
    min-height: 360px;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #dfe9ed;
}

#unidade .gki-panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity .28s ease, visibility .28s;
}

#unidade .gki-panel.gki-on {
    opacity: 1;
    visibility: visible;
}

/* carrossel de fotos */
#unidade .gki-track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform .42s cubic-bezier(.22,.61,.36,1);
    touch-action: pan-y;
    cursor: zoom-in;
}

#unidade .gki-track.gki-drag {
    transition: none;
    cursor: grabbing;
}

#unidade .gki-slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
}

#unidade .gki-slide img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    object-fit: cover;
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: none;
}

#unidade .gki-nav {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: absolute;
    top: 50%;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.92) !important;
    color: var(--gki-dark) !important;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    transform: translateY(-50%);
    transition: opacity .2s ease, background .2s ease;
    box-shadow: 0 6px 18px rgba(20,43,53,.18);
}

#unidade .gki-stage:hover .gki-nav {
    opacity: 1;
}

#unidade .gki-nav:hover {
    background: #ffffff !important;
}

#unidade .gki-prev { left: 14px; }
#unidade .gki-next { right: 14px; }

/* contador e botão de ampliar ficam na mesma linha das abas */
#unidade .gki-counter {
    position: absolute;
    right: var(--gki-recuo);
    bottom: 27px;
    z-index: 4;
    padding: 6px 12px;
    border-radius: 50px;
    background: rgba(12,24,30,.72);
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .3px;
    pointer-events: none;
}

#unidade .gki-expand {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: absolute;
    left: var(--gki-recuo);
    bottom: 24px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    padding: 8px 14px !important;
    border: 0 !important;
    border-radius: 50px !important;
    background: rgba(12,24,30,.72) !important;
    color: #ffffff !important;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s ease;
}

#unidade .gki-expand:hover {
    background: rgba(12,24,30,.9) !important;
}

#unidade .gki-expand svg {
    width: 13px;
    height: 13px;
}

/* ---------- véu e título sobre a foto ---------- */

#unidade .gki-scrim {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
    background:
        linear-gradient(180deg, rgba(8,18,24,.62) 0%, rgba(8,18,24,.12) 38%, rgba(8,18,24,0) 52%),
        linear-gradient(0deg, rgba(8,18,24,.70) 0%, rgba(8,18,24,.10) 34%, rgba(8,18,24,0) 48%);
    opacity: 1;
    transition: opacity .28s ease;
    pointer-events: none;
}

#unidade .gki-stage-title {
    position: absolute;
    top: 38px;
    left: var(--gki-recuo);
    right: var(--gki-recuo);
    z-index: 5;
    display: block;
    max-width: 780px;
    margin: 0 !important;
    color: #ffffff !important;
    font-family: var(--gki-fonte-titulo) !important;
    font-size: clamp(25px, 2.5vw, 38px);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -.5px;
    text-shadow: 0 2px 20px rgba(8,18,24,.55);
    opacity: 1;
    transition: opacity .28s ease;
    pointer-events: none;
}

/* no vídeo, no tour e na planta o véu e o título saem da frente */
#unidade .gki-stage[data-ativo="video"] .gki-scrim,
#unidade .gki-stage[data-ativo="tour"] .gki-scrim,
#unidade .gki-stage[data-ativo="planta"] .gki-scrim,
#unidade .gki-stage[data-ativo="video"] .gki-stage-title,
#unidade .gki-stage[data-ativo="tour"] .gki-stage-title,
#unidade .gki-stage[data-ativo="planta"] .gki-stage-title {
    opacity: 0;
}


/* selos sobre o palco
   Escondidos: a mesma informação já aparece no card de valores e
   na ficha logo abaixo. Troque para "flex" se quiser de volta. */
#unidade .gki-stage-tags {
    position: absolute;
    top: 14px;
    left: var(--gki-recuo);
    z-index: 4;
    display: none;
    flex-wrap: wrap;
    gap: 6px;
    pointer-events: none;
}

#unidade .gki-stage-tag {
    padding: 6px 12px;
    border-radius: 50px;
    background: rgba(12,24,30,.78);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
}

#unidade .gki-stage-tag.gki-cyan {
    background: var(--gki-cyan);
    color: #08151a;
}

/* vídeo e tour sob clique */
#unidade .gki-embed {
    position: relative;
    width: 100%;
    height: 100%;
    border: 0;
    background: #0d171d;
}

#unidade .gki-embed iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

#unidade .gki-poster {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100%;
    height: 100%;
    padding: 20px;
    border: 0;
    background-position: center;
    background-size: cover;
    color: #ffffff;
    font-family: inherit;
    cursor: pointer;
    text-align: center;
}

#unidade .gki-poster::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(8,18,24,.35) 0%, rgba(8,18,24,.68) 100%);
}

#unidade .gki-play {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    border-radius: 50%;
    background: var(--gki-cyan);
    color: #08151a;
    box-shadow: 0 10px 30px rgba(18,198,212,.45);
    transition: transform .2s ease;
}

#unidade .gki-poster:hover .gki-play {
    transform: scale(1.07);
}

#unidade .gki-play svg {
    width: 24px;
    height: 24px;
}

#unidade .gki-poster b {
    position: relative;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -.2px;
}

#unidade .gki-poster small {
    position: relative;
    max-width: 300px;
    color: rgba(255,255,255,.82);
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.5;
}

/* planta */
#unidade .gki-planta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 18px;
    background: #ffffff;
    cursor: zoom-in;
}

#unidade .gki-planta img {
    display: block;
    width: auto;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    margin: 0 !important;
    object-fit: contain;
}

/* miniaturas */
#unidade .gki-thumbs {
    display: flex;
    gap: 8px;
    width: 100%;
    max-width: var(--gki-max);
    margin: 12px auto 0 !important;
    padding: 2px 24px 5px;
    overflow-x: auto;
    scrollbar-width: thin;
}

#unidade .gki-thumbs::-webkit-scrollbar {
    height: 5px;
}

#unidade .gki-thumbs::-webkit-scrollbar-thumb {
    border-radius: 50px;
    background: #c6d5dc;
}

#unidade .gki-thumb {
    -webkit-appearance: none !important;
    appearance: none !important;
    flex: 0 0 auto;
    width: 88px;
    height: 54px;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border: 2px solid transparent !important;
    border-radius: 10px !important;
    background: #dfe9ed !important;
    cursor: pointer;
    opacity: .62;
    transition: opacity .2s ease, border-color .2s ease;
}

#unidade .gki-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    object-fit: cover;
}

#unidade .gki-thumb:hover {
    opacity: .9;
}

#unidade .gki-thumb.gki-on {
    border-color: var(--gki-cyan) !important;
    opacity: 1;
}


/* ==========================================================
   5) LIGHTBOX
   ========================================================== */

#unidade .gki-box {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 18px;
    background: rgba(8,16,21,.94);
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s;

    /* deixa o arrasto horizontal para o JS e mantém o pinça-zoom */
    touch-action: pan-y pinch-zoom;
    -webkit-user-select: none;
    user-select: none;
}

/* quando a ampliação mostra a planta, não há para onde navegar */
#unidade .gki-box.gki-box-unica .gki-box-nav {
    display: none;
}

#unidade .gki-box.gki-on {
    opacity: 1;
    visibility: visible;
}

#unidade .gki-box img {
    display: block;
    max-width: min(1200px, 94vw);
    max-height: 84vh;
    margin: 0 !important;
    border-radius: 10px;
    object-fit: contain;
    transition: transform .26s cubic-bezier(.22,.61,.36,1), opacity .26s ease;
    -webkit-user-drag: none;
}

#unidade .gki-box-close,
#unidade .gki-box-nav {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.1) !important;
    color: #ffffff !important;
    cursor: pointer;
    transition: background .2s ease;
}

#unidade .gki-box-close:hover,
#unidade .gki-box-nav:hover {
    background: rgba(255,255,255,.22) !important;
}

#unidade .gki-box-close {
    top: 22px;
    right: 22px;
    width: 42px;
    height: 42px;
    font-size: 22px;
    line-height: 1;
}

#unidade .gki-box-nav {
    top: 50%;
    width: 46px;
    height: 46px;
    font-size: 28px;
    line-height: 1;
    transform: translateY(-50%);
}

#unidade .gki-box-prev { left: 22px; }
#unidade .gki-box-next { right: 22px; }

#unidade .gki-box-count {
    position: absolute;
    left: 50%;
    bottom: 22px;
    padding: 7px 15px;
    border-radius: 50px;
    background: rgba(255,255,255,.12);
    color: #ffffff;
    font-size: 12.5px;
    font-weight: 600;
    transform: translateX(-50%);
}


/* ==========================================================
   6) CABEÇALHO DA UNIDADE
   ========================================================== */

#unidade .gki-head {
    width: 100%;
    margin: 0 0 17px !important;
}

#unidade .gki-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px !important;
    color: var(--gki-cyan-dark);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 2.4px;
    text-transform: uppercase;
}

#unidade .gki-eyebrow::before {
    content: "";
    width: 26px;
    height: 2px;
    background: var(--gki-cyan);
}

#unidade .gki-title {
    margin: 0 0 8px !important;
    color: var(--gki-dark) !important;
    font-family: inherit;
    font-size: clamp(30px, 3.6vw, 40px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -.6px;
}

#unidade .gki-address {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0 !important;
    color: var(--gki-muted);
    font-size: 17px;
    line-height: 1.55;
}

#unidade .gki-address svg {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 4px;
    color: var(--gki-cyan-dark);
}


/* ==========================================================
   7) LAYOUT — conteúdo + coluna fixa
   ========================================================== */

#unidade .gki-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--gki-aside);
    gap: 30px;
    width: 100%;
    align-items: start;
}

#unidade .gki-main {
    min-width: 0;
}

#unidade .gki-aside {
    position: sticky;
    top: var(--gki-sticky-top);
    z-index: 4;
    width: 100%;
    min-width: 0;
}


/* ==========================================================
   8) BLOCOS DE CONTEÚDO
   ========================================================== */

#unidade .gki-block {
    width: 100%;
    margin: 0 0 20px !important;
    padding: 26px 26px 28px;
    border: 1px solid var(--gki-border);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(20,43,53,.05);
}

#unidade .gki-block:last-child {
    margin-bottom: 0 !important;
}

#unidade .gki-block-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    white-space: normal !important;
    overflow-wrap: anywhere;
    margin: 0 0 20px !important;
    color: var(--gki-dark) !important;
    font-family: inherit;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -.4px;
}

#unidade .gki-block-title svg {
    flex: 0 0 auto;
    width: 23px;
    height: 23px;
    color: var(--gki-cyan-dark);
}

#unidade .gki-block p {
    margin: 0 0 14px !important;
    color: var(--gki-text);
    font-size: 16px;
    line-height: 1.68;
}

#unidade .gki-block p:last-child {
    margin-bottom: 0 !important;
}

#unidade .gki-block strong {
    color: var(--gki-dark);
    font-weight: 600;
}


/* ---------- ficha rápida ---------- */

/* quatro itens, quatro colunas: a linha fecha sem sobra */
#unidade .gki-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px;
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--gki-border);
    border-radius: 16px;
    background: var(--gki-border);
}

#unidade .gki-fact {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 18px 16px;
    background: #ffffff;
}

#unidade .gki-fact svg {
    width: 19px;
    height: 19px;
    margin-bottom: 4px;
    color: var(--gki-cyan-dark);
}

#unidade .gki-fact b {
    color: var(--gki-dark);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -.2px;
    line-height: 1.2;
}

#unidade .gki-fact span {
    color: var(--gki-muted);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .6px;
    text-transform: uppercase;
}


/* ---------- listas com marcador ---------- */

#unidade .gki-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 11px 20px;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#unidade .gki-list li {
    position: relative;
    display: block;
    margin: 0 !important;
    padding: 0 0 0 28px !important;
    color: var(--gki-text);
    font-size: 15px;
    line-height: 1.55;
    white-space: normal !important;
    overflow-wrap: anywhere;
    list-style: none !important;
}

#unidade .gki-list li::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23079eac' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 13l4 4L19 7'/></svg>") center / 11px 11px no-repeat,
        rgba(18,198,212,.14);
}


/* ---------- carrossel da área de lazer ---------- */

/* min-width: 0 e max-width: 100% são obrigatórios aqui: sem eles
   a faixa de fotos empurra a coluna inteira e a página ganha
   rolagem lateral no celular e no tablet. */
#unidade .gki-lz {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0 0 20px;
}

#unidade .gki-lz-faixa {
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    gap: 12px;
    margin: 0 !important;
    padding: 2px 2px 6px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

#unidade .gki-lz-faixa::-webkit-scrollbar {
    display: none;
}

#unidade .gki-lz-item {
    flex: 0 0 auto;
    width: 268px;
    margin: 0 !important;
    padding: 0 !important;
    scroll-snap-align: start;
}

#unidade .gki-lz-foto {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: block;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border: 0 !important;
    border-radius: 14px !important;
    background: #dfe9ed !important;
    cursor: zoom-in;
}

#unidade .gki-lz-foto img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    margin: 0 !important;
    object-fit: cover;
    transition: transform .4s cubic-bezier(.22,.61,.36,1);
}

#unidade .gki-lz-foto:hover img {
    transform: scale(1.04);
}

#unidade .gki-lz-item figcaption {
    margin: 9px 2px 0;
    color: var(--gki-text);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.35;
}

#unidade .gki-lz-nav {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: absolute;
    top: 50%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--gki-border) !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: var(--gki-dark) !important;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    opacity: .94;
    transform: translateY(-50%);
    transition: opacity .2s ease, background .2s ease;
    box-shadow: 0 6px 18px rgba(20,43,53,.22);
}

#unidade .gki-lz-nav:hover {
    opacity: 1;
    background: #f4fdfe !important;
}

/* no começo e no fim da faixa a seta correspondente some */
#unidade .gki-lz-nav[disabled] {
    opacity: 0 !important;
    pointer-events: none;
}

/* as setas ficam por dentro da faixa, sobre as fotos */
#unidade .gki-lz-prev { left: 8px; }
#unidade .gki-lz-next { right: 8px; }

/* a foto de baixo não é clicável através da seta */
#unidade .gki-lz-nav { pointer-events: auto; }


/* ---------- lazer ---------- */

#unidade .gki-amenities {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(146px, 1fr));
    gap: 10px;
    width: 100%;
}

#unidade .gki-amenity {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px 14px;
    border: 1px solid var(--gki-border);
    border-radius: 11px;
    background: var(--gki-field);
    color: var(--gki-dark);
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1.3;
}

#unidade .gki-amenity svg {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    color: var(--gki-cyan-dark);
}


/* ---------- localização ---------- */

#unidade .gki-mapa {
    position: relative;
    width: 100%;
    aspect-ratio: 21 / 9;
    margin: 0 0 20px !important;
    overflow: hidden;
    border: 0;
    border-radius: 15px;
    background: #101c23;
}


/* ---------- vídeo da região ---------- */

#unidade .gki-local {
    display: block !important;
    padding: 0 !important;
    text-align: left !important;
    background: #101c23;
}

/* serve tanto para uma imagem quanto para um vídeo */
#unidade .gki-local-fundo {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    object-fit: cover;
    /* um pouco acima do centro: é onde costuma estar o assunto */
    object-position: center 42%;
    /* escurece a imagem inteira — é o que garante que o endereço
       se leia mesmo num trecho claro. Mexa em --gki-video-luz. */
    filter: brightness(var(--gki-video-luz, .56)) contrast(1.04) saturate(.94);
    pointer-events: none;
}

/* o véu deixa a leitura confortável sem apagar a imagem */
#unidade .gki-local-veu {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    background:
        linear-gradient(0deg,
            rgba(8,18,24,.88) 0%,
            rgba(8,18,24,.70) 30%,
            rgba(8,18,24,.42) 56%,
            rgba(8,18,24,.14) 80%,
            rgba(8,18,24,.10) 100%);
    pointer-events: none;
}

#unidade .gki-local-txt {
    position: absolute;
    z-index: 3;
    right: clamp(18px, 4vw, 40px);
    bottom: clamp(18px, 3vw, 30px);
    left: clamp(18px, 4vw, 40px);
    display: block;
    text-align: left;
}

/* BLINDAGEM DA QUEBRA DE LINHA
   O endereço mora dentro de um <button>, e muito tema põe
   white-space: nowrap ou text-overflow: ellipsis em botão. Sem
   isto, no celular a linha não quebra e o fim do endereço sai
   para fora do cartão. Mesma proteção usada nas perguntas do FAQ. */
#unidade .gki-local,
#unidade .gki-local-txt,
#unidade .gki-local-txt b,
#unidade .gki-local-txt small,
#unidade .gki-poster,
#unidade .gki-poster b,
#unidade .gki-poster small {
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-overflow: clip !important;
    overflow: visible !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

#unidade .gki-local-txt b {
    display: block;
    margin: 0 0 5px;
    color: #ffffff;
    font-family: var(--gki-fonte-titulo);
    font-size: clamp(17px, 1.9vw, 25px);
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -.3px;
    text-shadow: 0 2px 18px rgba(8,18,24,.6);
}

#unidade .gki-local-txt small {
    display: block;
    color: rgba(255,255,255,.88);
    font-size: clamp(13px, 1.1vw, 15px);
    font-weight: 500;
    line-height: 1.4;
    text-shadow: 0 2px 14px rgba(8,18,24,.6);
}

#unidade .gki-local-acao {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 13px 0 0;
    padding: 10px 17px;
    border-radius: 50px;
    background: rgba(255,255,255,.95);
    color: var(--gki-dark);
    font-family: var(--gki-fonte-titulo);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 8px 22px rgba(8,18,24,.34);
    transition: background .2s ease, transform .2s ease;
}

#unidade .gki-local-acao svg {
    width: 15px;
    height: 15px;
    color: var(--gki-cyan-dark);
}

#unidade .gki-local:hover .gki-local-acao {
    background: #ffffff;
    transform: translateY(-2px);
}

/* quem pediu menos movimento não recebe vídeo nenhum */
@media (prefers-reduced-motion: reduce) {

    #unidade .gki-local-fundo {
        filter: brightness(.5) contrast(1.04) saturate(.9);
    }

    #unidade .gki-local {
        background:
            radial-gradient(120% 120% at 20% 0%, #1d3a47 0%, #101c23 70%);
    }

}

#unidade .gki-mapa iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* o cartão do mapa agora é o vídeo da região: fundo escuro e
   texto branco. As cores escuras do antigo poster claro saíram. */
#unidade .gki-mapa .gki-poster {
    background: #101c23;
    color: #ffffff;
}

#unidade .gki-mapa .gki-poster::before {
    background: transparent;
}

#unidade .gki-mapa .gki-poster b {
    color: #ffffff;
}

#unidade .gki-mapa .gki-poster small {
    color: rgba(255,255,255,.88);
}

#unidade .gki-near {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 2px;
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--gki-border);
    border-radius: 13px;
    background: var(--gki-border);
}

#unidade .gki-near-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 14px 15px;
    background: #ffffff;
}

#unidade .gki-near-item svg {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    color: var(--gki-cyan-dark);
}

#unidade .gki-near-item div {
    min-width: 0;
}

#unidade .gki-near-item b {
    display: block;
    color: var(--gki-dark);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

#unidade .gki-near-item span {
    display: block;
    color: var(--gki-muted);
    font-size: 13px;
    font-weight: 600;
}


/* ==========================================================
   9) FAQ
   ========================================================== */

#unidade .gki-faq {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

#unidade .gki-q {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--gki-border);
    border-radius: 13px;
    background: var(--gki-field);
    transition: border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

#unidade .gki-q.gki-on {
    border-color: rgba(18,198,212,.55);
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(20,43,53,.07);
}

/* PERGUNTA DO FAQ
   Propositalmente em display:block, e não flex. Com flex, uma
   regra de tema em <button> (white-space, min-width, width de
   conteúdo) fazia a pergunta sair da caixa em vez de quebrar
   linha no celular. Em bloco o texto quebra sozinho e a seta
   fica posicionada em absoluto, fora do fluxo. */

#unidade .gki-q-btn {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 17px 44px 17px 19px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--gki-dark) !important;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.42;
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    cursor: pointer;
}

#unidade .gki-q-btn span {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
}

#unidade .gki-q-btn::after {
    content: "";
    position: absolute;
    top: 24px;
    right: 21px;
    width: 9px;
    height: 9px;
    border-right: 2.4px solid var(--gki-cyan-dark);
    border-bottom: 2.4px solid var(--gki-cyan-dark);
    transform: rotate(45deg);
    transition: transform .26s ease;
}

#unidade .gki-q.gki-on .gki-q-btn::after {
    transform: translateY(4px) rotate(-135deg);
}

#unidade .gki-a {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .3s ease;
}

#unidade .gki-q.gki-on .gki-a {
    grid-template-rows: 1fr;
}

#unidade .gki-a-in {
    min-height: 0;
    overflow: hidden;
}

#unidade .gki-a p {
    margin: 0 0 13px !important;
    padding: 0 19px;
    color: var(--gki-text);
    font-size: 15.5px;
    line-height: 1.65;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

#unidade .gki-a p:first-child {
    padding-top: 2px;
}

#unidade .gki-a p:last-child {
    margin-bottom: 19px !important;
}

#unidade .gki-a ul {
    margin: 0 0 16px !important;
    padding: 0 19px !important;
    list-style: none !important;
}

/* bloco, não flex: assim o <b> e o resto do texto
   correm na mesma linha e quebram juntos */
#unidade .gki-a li {
    position: relative;
    display: block;
    margin: 0 0 9px !important;
    padding: 0 0 0 17px !important;
    color: var(--gki-text);
    font-size: 15.5px;
    line-height: 1.6;
    white-space: normal !important;
    overflow-wrap: anywhere;
    list-style: none !important;
}

#unidade .gki-a li::before {
    content: "";
    position: absolute;
    top: 9px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gki-cyan);
}

#unidade .gki-a li b {
    color: var(--gki-dark);
    font-weight: 600;
}

#unidade .gki-a a,
#unidade .gki-block p a {
    color: var(--gki-cyan-dark) !important;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

#unidade .gki-a a:hover,
#unidade .gki-block p a:hover {
    color: #056b76 !important;
}


/* ==========================================================
   10) COLUNA DA DIREITA — VALORES + FORMULÁRIO
   ========================================================== */

#unidade .gki-card {
    position: relative;
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--gki-border);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(20,43,53,.11);
}

#unidade .gki-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--gki-cyan) 0%, var(--gki-cyan-soft) 100%);
}


/* ---------- valores ---------- */

#unidade .gki-values {
    padding: 26px 24px 22px;
    border-bottom: 1px solid var(--gki-border);
}

#unidade .gki-price-label {
    display: block;
    margin: 0 0 4px !important;
    color: var(--gki-muted);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

#unidade .gki-price {
    display: block;
    margin: 0 0 16px !important;
    color: var(--gki-dark);
    font-size: 33px;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -.8px;
}

#unidade .gki-costs {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin: 0 0 18px !important;
    padding: 14px 15px;
    border-radius: 11px;
    background: var(--gki-field);
}

#unidade .gki-cost {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

#unidade .gki-cost span {
    color: var(--gki-muted);
    font-size: 14.5px;
    font-weight: 600;
}

#unidade .gki-cost b {
    color: var(--gki-dark);
    font-size: 15.5px;
    font-weight: 600;
    white-space: nowrap;
}

#unidade .gki-cost small {
    display: block;
    color: var(--gki-muted);
    font-size: 12px;
    font-weight: 500;
}

#unidade .gki-simular {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100% !important;
    min-height: 50px;
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(18,198,212,.55) !important;
    border-radius: 8px !important;
    background: rgba(18,198,212,.09) !important;
    color: #07707c !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

#unidade .gki-simular:hover {
    background: rgba(18,198,212,.16) !important;
    border-color: var(--gki-cyan) !important;
    color: #07707c !important;
    transform: translateY(-1px);
}

#unidade .gki-simular svg {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
}

/* botão principal do card */
#unidade .gki-agendar {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 60px;
    margin: 10px 0 0 !important;
    padding: 18px 18px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #10d4df 0%, #12bfcc 100%) !important;
    color: #08151a !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: normal;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(18,198,212,.28) !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

#unidade .gki-agendar:hover,
#unidade .gki-agendar:focus,
#unidade .gki-agendar:active {
    background: linear-gradient(135deg, #10d4df 0%, #12bfcc 100%) !important;
    color: #08151a !important;
}

#unidade .gki-agendar:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 35px rgba(18,198,212,.38) !important;
}

#unidade .gki-agendar svg {
    flex: 0 0 auto;
    display: block;
    width: 19px;
    height: 19px;
}

#unidade .gki-card-nota {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 13px 0 0 !important;
    color: #93a0a8;
    font-size: 12.5px;
    font-weight: 500;
    text-align: center;
}

#unidade .gki-card-nota svg {
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
}


/* ---------- formulário ---------- */

#unidade .gki-form-wrap {
    padding: 22px 24px 26px;
}

#unidade .gki-form-title {
    margin: 0 0 5px !important;
    color: var(--gki-dark) !important;
    font-family: inherit;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -.35px;
}

#unidade .gki-form-text {
    margin: 0 0 16px !important;
    color: var(--gki-muted);
    font-size: 14.5px;
    line-height: 1.55;
}

/* seletor de objetivo */
#unidade .gki-goals {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
    margin: 0 0 16px !important;
    padding: 4px;
    border-radius: 11px;
    background: var(--gki-field);
}

#unidade .gki-goal {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    min-width: 0;
    margin: 0 !important;
    padding: 10px 4px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #6c7a84 !important;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}

#unidade .gki-goal svg {
    width: 17px;
    height: 17px;
}

#unidade .gki-goal:hover {
    color: var(--gki-dark) !important;
}

#unidade .gki-goal.gki-on {
    background: #ffffff !important;
    color: var(--gki-cyan-dark) !important;
    box-shadow: 0 3px 10px rgba(20,43,53,.10);
}

/* campos */
#unidade .gki-form {
    display: flex;
    flex-direction: column;
    gap: 11px;
    width: 100%;
    margin: 0 !important;
}

#unidade .gki-field-box {
    position: relative;
    width: 100%;
}

#unidade .gki-input,
#unidade .gki-select,
#unidade .gki-textarea {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 21px 15px 8px !important;
    border: 1px solid #dce6ea !important;
    border-radius: 9px !important;
    outline: none !important;
    background: var(--gki-field) !important;
    color: var(--gki-dark) !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

#unidade .gki-input {
    height: 56px;
}

#unidade .gki-select {
    height: 56px;
    cursor: pointer;
}

#unidade .gki-textarea {
    min-height: 92px;
    padding-top: 24px !important;
    resize: vertical;
}

#unidade .gki-input:focus,
#unidade .gki-select:focus,
#unidade .gki-textarea:focus {
    border-color: var(--gki-cyan) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(18,198,212,.13) !important;
}

#unidade .gki-label {
    position: absolute;
    top: 17px;
    left: 16px;
    color: #8b969e;
    font-size: 15px;
    font-weight: 500;
    pointer-events: none;
    transition: transform .16s ease, font-size .16s ease, color .16s ease;
    transform-origin: left top;
}

#unidade .gki-input:focus ~ .gki-label,
#unidade .gki-input:not(:placeholder-shown) ~ .gki-label,
#unidade .gki-textarea:focus ~ .gki-label,
#unidade .gki-textarea:not(:placeholder-shown) ~ .gki-label,
#unidade .gki-select ~ .gki-label {
    transform: translateY(-9px);
    color: var(--gki-cyan-dark);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .6px;
    text-transform: uppercase;
}

#unidade .gki-select ~ .gki-label {
    color: var(--gki-muted);
}

#unidade .gki-field-box::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #8b969e;
    border-bottom: 2px solid #8b969e;
    opacity: 0;
    transform: translateY(-70%) rotate(45deg);
    pointer-events: none;
}

#unidade .gki-field-box.gki-has-select::after {
    opacity: 1;
}

#unidade .gki-invalid {
    border-color: #e2574c !important;
    background: #fdf5f4 !important;
}

/* campos que aparecem conforme o objetivo */
#unidade .gki-only {
    display: none;
}

#unidade .gki-only.gki-on {
    display: block;
}

/* consentimento */
#unidade .gki-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    margin: 3px 0 2px !important;
    color: var(--gki-muted);
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    cursor: pointer;
}

#unidade .gki-check input {
    -webkit-appearance: none !important;
    appearance: none !important;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 1px 0 0 !important;
    border: 1.6px solid #c3d1d7 !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease;
}

#unidade .gki-check input:checked {
    border-color: var(--gki-cyan) !important;
    background:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2308151a' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 13l4 4L19 7'/></svg>") center / 12px 12px no-repeat,
        var(--gki-cyan) !important;
}

/* botão */
#unidade .gki-submit {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 56px;
    margin: 4px 0 0 !important;
    padding: 17px 18px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #10d4df 0%, #12bfcc 100%) !important;
    color: #08151a !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: normal;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(18,198,212,.28) !important;
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

#unidade .gki-submit:hover,
#unidade .gki-submit:focus,
#unidade .gki-submit:active {
    background: linear-gradient(135deg, #10d4df 0%, #12bfcc 100%) !important;
    color: #08151a !important;
}

#unidade .gki-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 35px rgba(18,198,212,.38) !important;
}

#unidade .gki-submit:disabled {
    opacity: .62;
    cursor: wait;
    transform: none !important;
}

#unidade .gki-submit svg {
    flex: 0 0 auto;
    display: block;
    width: 20px;
    height: 20px;
}

#unidade .gki-msg {
    min-height: 0;
    margin: 0 !important;
    font-size: 13.5px;
    line-height: 1.45;
}

#unidade .gki-msg.gki-error {
    margin-top: 6px !important;
    color: #c0392b;
    font-weight: 600;
}

#unidade .gki-secure {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 13px 0 0 !important;
    color: #93a0a8;
    font-size: 12.5px;
    font-weight: 500;
}

#unidade .gki-secure svg {
    width: 12px;
    height: 12px;
}

#unidade .gki-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

/* sucesso */
#unidade .gki-done {
    display: none;
    padding: 12px 0 4px;
    text-align: center;
}

#unidade .gki-done.gki-on {
    display: block;
}

#unidade .gki-done-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: rgba(18,198,212,.14);
    color: var(--gki-cyan-dark);
}

#unidade .gki-done-icon svg {
    width: 26px;
    height: 26px;
}

#unidade .gki-done h4 {
    margin: 0 0 7px !important;
    color: var(--gki-dark) !important;
    font-family: inherit;
    font-size: 21px;
    font-weight: 700;
    letter-spacing: -.25px;
}

#unidade .gki-done p {
    margin: 0 !important;
    color: var(--gki-muted);
    font-size: 15.5px;
    line-height: 1.55;
}


/* ==========================================================
   11) MODAL DO FORMULÁRIO
   ========================================================== */

#unidade .gki-modal {
    position: fixed;
    inset: 0;
    z-index: 99998;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 26px 18px;
    background: rgba(8,16,21,.64);
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s;
}

#unidade .gki-modal.gki-on {
    opacity: 1;
    visibility: visible;
}

/* no celular o painel recebe o foco no lugar do campo,
   então ele não pode desenhar contorno */
#unidade .gki-modal-panel:focus {
    outline: none;
}

#unidade .gki-modal-panel {
    position: relative;
    width: 100%;
    max-width: 470px;
    max-height: calc(100vh - 52px);
    /* dvh acompanha o teclado do celular; quem não entender
       dvh fica com a linha de cima */
    max-height: calc(100dvh - 52px);
    overflow-y: auto;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 30px 70px rgba(8,20,28,.4);
    transform: translateY(16px) scale(.985);
    transition: transform .3s cubic-bezier(.22,.61,.36,1);
}

#unidade .gki-modal.gki-on .gki-modal-panel {
    transform: none;
}

/* o cabeçalho do formulário agora só carrega o X de fechar */
#unidade .gki-modal-head {
    position: relative;
    height: 0;
    padding: 0;
    border: 0;
    background: none;
}

#unidade .gki-modal-close {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: absolute;
    top: 16px;
    right: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--gki-border) !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: var(--gki-muted) !important;
    font-size: 19px;
    line-height: 1;
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease;
}

#unidade .gki-modal-close:hover {
    color: var(--gki-dark) !important;
    border-color: #a9bcc3 !important;
}

/* NÃO usar flex aqui: o texto solto e os <b> virariam itens
   separados e a frase quebraria em pedaços no celular. */
#unidade .gki-modal-resumo {
    display: block;
    line-height: 1.55;
    margin: 13px 0 0 !important;
    padding: 11px 14px;
    border-radius: 9px;
    background: var(--gki-field);
    color: var(--gki-muted);
    font-size: 13.5px;
    font-weight: 600;
}

#unidade .gki-modal-resumo b {
    color: var(--gki-dark);
    font-weight: 700;
}

#unidade .gki-modal-body {
    padding: 62px 26px 26px;
}


/* ==========================================================
   12) VER OUTRAS UNIDADES
   ========================================================== */

#unidade .gki-others {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    width: 100%;
    margin: 34px 0 0 !important;
    padding: 34px 24px;
    border: 1px dashed #b9d2da;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f2fafb 100%);
    text-align: center;
}

#unidade .gki-others h3 {
    margin: 0 !important;
    color: var(--gki-dark) !important;
    font-family: inherit;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -.45px;
}

#unidade .gki-others p {
    max-width: 520px;
    margin: -4px 0 0 !important;
    color: var(--gki-muted);
    font-size: 16px;
    line-height: 1.6;
}

#unidade .gki-others-btn {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 56px;
    margin: 4px 0 0 !important;
    padding: 17px 32px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #10d4df 0%, #12bfcc 100%) !important;
    color: #08151a !important;
    font-family: inherit !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(18,198,212,.28) !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

#unidade .gki-others-btn:hover,
#unidade .gki-others-btn:focus,
#unidade .gki-others-btn:active {
    background: linear-gradient(135deg, #10d4df 0%, #12bfcc 100%) !important;
    color: #08151a !important;
}

#unidade .gki-others-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 35px rgba(18,198,212,.38) !important;
}

#unidade .gki-others-btn svg {
    width: 18px;
    height: 18px;
}


/* ==========================================================
   13) BARRA FIXA DO CELULAR (no topo, abaixo do menu do site)
   ========================================================== */

#unidade .gki-bottom {
    position: fixed;
    top: var(--gki-menu);
    left: 0;
    right: 0;
    z-index: 90;
    display: none;
    align-items: center;
    gap: 14px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--gki-border);
    background: rgba(255,255,255,.97);
    box-shadow: 0 8px 26px rgba(20,43,53,.14);
    transform: translateY(-105%);
    transition: transform .3s ease;
}

#unidade .gki-bottom.gki-on {
    transform: translateY(0);
}

#unidade .gki-bottom-price {
    flex: 1 1 auto;
    min-width: 0;
}

#unidade .gki-bottom-price span {
    display: block;
    color: var(--gki-muted);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

#unidade .gki-bottom-price b {
    display: block;
    color: var(--gki-dark);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -.4px;
    line-height: 1.15;
}

#unidade .gki-bottom-btn {
    -webkit-appearance: none !important;
    appearance: none !important;
    flex: 0 0 auto;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    margin: 0 !important;
    padding: 13px 20px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #10d4df 0%, #12bfcc 100%) !important;
    color: #08151a !important;
    font-family: inherit !important;
    font-size: 14.5px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(18,198,212,.3) !important;
}

#unidade .gki-bottom-btn svg {
    width: 17px;
    height: 17px;
}


/* ==========================================================
   14) RESPONSIVO
   ========================================================== */

/* Abaixo de 1100px a ordem muda: foto, depois valor e botão,
   e só então o título e o conteúdo — como num app de imóveis.
   O bloco do título é movido pelo script (seção K0). */
@media (max-width: 1100px) {

    #unidade .gki-layout {
        display: flex !important;
        flex-direction: column;
        gap: 26px;
    }

    #unidade .gki-aside {
        order: 1;
        position: static;
        width: 100%;
        max-width: 560px;
        margin: 0 auto;
    }

    #unidade .gki-main {
        order: 2;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    #unidade .gki-head {
        margin: 0 0 20px !important;
    }

}

@media (max-width: 860px) {

    #unidade.gki-section {
        --gki-respiro: 18px;
    }

    #unidade .gki-nav {
        opacity: 1;
        width: 36px;
        height: 36px;
        font-size: 22px;
    }

    #unidade .gki-block {
        padding: 22px 19px 24px;
    }

    #unidade .gki-mapa {
        aspect-ratio: 16 / 9;
    }

}

@media (max-width: 620px) {

    /* No celular o endereço ocupa mais linhas, então o cartão não
       pode ter altura fixa: o min-height garante que o texto nunca
       encoste no topo nem seja cortado. */
    #unidade .gki-mapa {
        aspect-ratio: 5 / 4;
        min-height: 340px;
    }

    #unidade .gki-local-txt small {
        font-size: 12.5px;
    }

    #unidade .gki-local-acao {
        margin-top: 11px;
        padding: 9px 15px;
    }


    /* SANGRIA DO TOPO (celular)
       A foto encosta no menu: a seção fica sem respiro em cima.
       Se o seu tema ainda deixar uma faixa branca entre o menu e
       a foto, aumente este valor (ex.: 20px) que a foto sobe. */
    #unidade.gki-section {
        --gki-sangria-topo: 0px;
        --gki-respiro: 15px;
        --gki-galeria: min(58vh, 500px);
    }


    /* ---------- GALERIA NO CELULAR ----------
       O desenho é o mesmo do computador (foto de borda a borda,
       título branco por cima, abas dentro da foto). Aqui só
       mudam os tamanhos e o que não cabe na tela pequena. */

    #unidade .gki-media {
        --gki-recuo: 16px;
        margin-top: calc(var(--gki-sangria-topo, 0px) * -1) !important;
        margin-bottom: 18px !important;
    }

    #unidade .gki-stage {
        min-height: 340px;
    }

    #unidade .gki-stage-title {
        top: 26px;
    }

    /* o contador desce para não encostar no título */
    #unidade .gki-counter {
        right: 16px;
        bottom: 64px;
    }

    #unidade .gki-expand {
        display: none;
    }

    /* no celular o arrasto já troca a foto */
    #unidade .gki-nav {
        display: none;
    }

    /* as abas viram uma faixa que rola, alinhada à esquerda */
    #unidade .gki-tabs {
        left: 0;
        right: 0;
        bottom: 16px;
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: 7px;
        padding: 0 13px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    #unidade .gki-tabs::-webkit-scrollbar {
        display: none;
    }

    #unidade .gki-tab {
        flex: 0 0 auto;
        gap: 6px;
        height: 36px;
        padding: 0 11px !important;
        font-size: 12.5px;
    }

    /* sem ícone as quatro pastilhas cabem na largura da tela */
    #unidade .gki-tab svg {
        display: none;
    }

    #unidade .gki-thumbs {
        display: none;
    }

    /* no celular o cartão do lazer quase preenche a tela,
       deixando um pedaço do próximo à mostra */
    #unidade .gki-lz-item {
        width: 76%;
        max-width: 300px;
    }

    #unidade .gki-lz-nav {
        display: none;
    }


    /* ---------- valor e botão logo abaixo da foto ---------- */

    #unidade .gki-card {
        border-left: 0;
        border-right: 0;
        border-radius: 14px;
    }

    #unidade .gki-values {
        padding: 22px 19px 20px;
    }

    #unidade .gki-block-title {
        font-size: 21px;
    }

    #unidade .gki-others h3 {
        font-size: 22px;
    }

    #unidade .gki-thumb {
        width: 78px;
        height: 54px;
    }

    #unidade .gki-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #unidade .gki-values,
    #unidade .gki-form-wrap {
        padding-left: 19px;
        padding-right: 19px;
    }

    #unidade .gki-price {
        font-size: 29px;
    }

    #unidade .gki-goal {
        font-size: 11px;
    }

    #unidade .gki-bottom {
        display: flex;
    }

    /* No celular o formulário para de encostar no fim da tela:
       ele sobe --gki-folga-zap para não brigar com o botão
       flutuante do WhatsApp, que fica no canto de baixo. */
    #unidade .gki-modal {
        padding: 14px 12px calc(14px + var(--gki-folga-zap));
        align-items: flex-end;
    }

    #unidade .gki-modal-panel {
        max-width: 100%;
        max-height: calc(92vh - var(--gki-folga-zap));
        max-height: calc(92dvh - var(--gki-folga-zap));
        border-radius: 18px;
    }

    #unidade .gki-modal-head,
    #unidade .gki-modal-body {
        padding-left: 20px;
        padding-right: 20px;
    }

    #unidade .gki-box-close {
        top: 14px;
        right: 14px;
    }

    #unidade .gki-box-prev { left: 10px; }
    #unidade .gki-box-next { right: 10px; }

    #unidade .gki-others {
        padding: 28px 18px;
    }

    #unidade .gki-others-btn {
        width: 100%;
    }

}


/* ==========================================================
   15) MENOS MOVIMENTO
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    #unidade .gki-track,
    #unidade .gki-a,
    #unidade .gki-bottom,
    #unidade .gki-modal-panel {
        transition: none !important;
    }

}

/* AJUSTE: a área vazia da barra de abas não intercepta os cliques
   nos controles Zoom / Recentrar / Tela cheia do iframe 360°. */
#unidade .gki-tabs {
    pointer-events: none;
}
#unidade .gki-tabs .gki-tab {
    pointer-events: auto;
}/* End custom CSS */