/*

              _   ____    ____                _                ______                   _                   
             (_) |_   \  /   _|              / |_             |_   _ `.                (_)                  
             __    |   \/   |   ,--.   .--. `| |-'.---.  _ .--. | | `. \ .---.  .--.   __   .--./) _ .--.   
            [  |   | |\  /| |  `'_\ : ( (`\] | | / /__\\[ `/'`\]| |  | |/ /__\\( (`\] [  | / /'`\;[ `.-. |  
             | |  _| |_\/_| |_ // | |, `'.'. | |,| \__., | |   _| |_.' /| \__., `'.'.  | | \ \._// | | | |  
            [___]|_____||_____|\'-;__/[\__) )\__/ '.__.'[___] |______.'  '.__.'[\__) )[___].',__` [___||__] 
                                                                                          ( ( __))
 
 
    @iMasterDesign Brazil [ ©1998-2077 ]
    iMasterDesign™ | iNet Solutions CORPORATION™
    Web . App . Developer . DBA . Social Marketing

    Marcelo Rocha Main | Founder and CEO by iMasterDesign™
    Full-Stack Developer, imasterdesign@imasterdesign.com.br
REDE VITÓRIA SPA - Unit Landing Stylesheet (im-unit.css) | iMasterDesign
Loaded AFTER im-main.css. Components for the unit pages (lead landing — ads traffic).
Template page: clone per unit after approval.
*/

.im-unit-page { --im-stick-top: 140px; }
/* âncoras (#form-final, #galeria, etc.) param ABAIXO do header sticky e direto no alvo (sem respiro da section) */
.im-unit-page section[id], .im-unit-page form[id], .im-unit-page [id^="galeria"], .im-unit-page [id^="equipe"], .im-unit-page [id^="localizacao"] { scroll-margin-top: 140px; }

/* compact lateral form so the tallest step + sticky offset always fits the viewport */
.im-uform { gap: 8px; padding: 26px; }
.im-uform h3 { margin: 10px 0 2px; font-size: 23px; }
.im-uform .im-form__field { gap: 5px; }
.im-uform .im-form__note { margin-top: 0; }

/* =========================================================
   1. STICKY TOP (announcement bar + header travel together)
   ========================================================= */
.im-topstick { position: sticky; top: 0; z-index: 200; }
.im-unit-page .im-header { position: static; top: auto; }

.im-announce {
    background: linear-gradient(90deg, #1d6b59 0%, #237a64 100%);
    color: #eafaf3; text-align: center; padding: 9px 16px;
    font-size: 13.5px; letter-spacing: .01em;
    display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap;
}
.im-announce .im-icon { color: #ffd9a0; }
.im-announce a { color: #ffd9a0; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; display: inline-flex; align-items: center; gap: 6px; }
.im-announce a:hover { color: #fff; }
@media (max-width: 560px) { .im-announce { font-size: 12px; padding: 8px 12px; } .im-announce__sep { display: none; } }

/* =========================================================
   2. UNIT HERO (breadcrumb + city + script name)
   ========================================================= */
.im-uhero { position: relative; color: #fbf3e7; overflow: hidden; background: var(--im-global-color-bg-deeper); }
.im-uhero__bg { position: absolute; inset: 0; z-index: 0; }
.im-uhero__bg img { width: 100%; height: 100%; object-fit: cover; }
.im-uhero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(74,51,36,.92) 0%, rgba(74,51,36,.78) 50%, rgba(45,30,20,.7) 100%); }
.im-uhero__inner { position: relative; z-index: 2; max-width: var(--im-container); margin: 0 auto; padding: 40px var(--im-space-md) 48px; }
.im-breadcrumb { font-family: var(--im-global-typography-accent-font); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: rgba(251,243,231,.7); display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.im-breadcrumb a { color: rgba(251,243,231,.7); }
.im-breadcrumb a:hover { color: var(--im-global-color-secondary); }
.im-breadcrumb span.sep { color: var(--im-global-color-secondary); }
.im-breadcrumb .is-current { color: var(--im-global-color-secondary); }
.im-uhero__state { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-family: var(--im-global-typography-text-font); font-size: clamp(22px, 3vw, 34px); font-weight: 600; color: #fff; }
.im-uhero__state .im-icon { color: var(--im-global-color-secondary); }
.im-uhero__script { font-family: var(--im-global-typography-primary-font); font-style: italic; font-size: clamp(40px, 6vw, 78px); line-height: 1; color: var(--im-global-color-secondary); margin: 4px 0 0; font-weight: 400; }
.im-uhero__tagline { margin-top: 16px; max-width: 560px; color: rgba(251,243,231,.82); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.6; }

/* =========================================================
   3. UNIT LAYOUT (content + sticky lateral form)
   ========================================================= */
.im-ulayout { display: grid; grid-template-columns: minmax(0,1fr) 384px; gap: 52px; align-items: start; padding: 56px 0 var(--im-space-xxl); }
.im-ulayout__aside { position: sticky; top: var(--im-stick-top); }

.im-uform {
    background: var(--im-global-color-white); border: 1px solid var(--im-global-color-silver);
    border-radius: var(--im-radius); padding: 30px; position: relative;
    /* sombra suave em camadas (não vira "faixa reta") */
    box-shadow: 0 30px 54px -30px rgba(74,51,36,.4), 0 10px 24px -14px rgba(74,51,36,.26);
}
.im-uform::before { content: ""; position: absolute; left: 0; top: 26px; bottom: 26px; width: 3px; border-radius: 3px; background: var(--im-global-gold-grad); }
.im-uform__tag { display: inline-flex; align-items: center; gap: 8px; font-family: var(--im-global-typography-accent-font); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--im-global-color-accent); }
.im-uform__tag .im-icon { color: var(--im-global-color-secondary); }
.im-uform h3 { font-family: var(--im-global-typography-primary-font); font-size: 24px; color: var(--im-global-color-primary); margin: 12px 0 4px; font-weight: 500; }
.im-uform > p { margin: 0 0 16px; color: var(--im-global-color-muted); font-size: 14px; }
.im-uform__hours { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--im-global-color-accent); background: var(--im-global-color-bg-soft); border-radius: 100px; padding: 6px 13px; margin: 10px 0 4px; }

/* (Multi-step wizard component lives in im-main.css — shared by unit + hero forms.) */

/* --- Negative float: o form lateral sobe sobre o hero (só onde existe o layout 2-col sticky).
       (Sem overflow/max-height aqui — a versão em steps é curta e cabe; o overflow cortava a sombra reta.) --- */
@media (min-width: 1081px) {
    .im-ulayout__aside { margin-top: -190px; z-index: 20; }
}

/* section heading reused inside main column */
.im-ublock { margin-bottom: 56px; }
.im-ublock:last-child { margin-bottom: 0; }
.im-ublock__head { margin-bottom: 26px; }
.im-ublock__head .im-heading { margin-top: 10px; }

/* modality quick chips */
.im-modchips { margin-top: 22px; }
.im-modchips__track { display: flex; flex-wrap: wrap; gap: 10px; }
.im-modchips__track [aria-hidden="true"] { display: none; }   /* duplicados só servem ao marquee mobile */
.im-modchip { display: inline-flex; align-items: center; gap: 9px; padding: 11px 18px; border-radius: 100px; border: 1.5px solid var(--im-global-color-silver); background: var(--im-global-color-white); color: var(--im-global-color-primary); font-weight: 600; font-size: 14px; cursor: pointer; transition: all .3s var(--im-ease-out-expo); white-space: nowrap; }
.im-modchip .im-icon { color: var(--im-global-color-accent); }
.im-modchip:hover { border-color: var(--im-global-color-secondary); transform: translateY(-2px); }
.im-modchip.is-active { background: var(--im-global-gold-grad); border-color: transparent; color: var(--im-global-color-bg-deeper); }
.im-modchip.is-active .im-icon { color: var(--im-global-color-bg-deeper); }

/* =========================================================
   4. GALLERY (espaços & ambientes)
   ========================================================= */
.im-gallery { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 168px; gap: 14px; }
.im-gallery__item { position: relative; margin: 0; border-radius: 16px; overflow: hidden; box-shadow: 0 24px 48px -30px rgba(74,51,36,.45); }
.im-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--im-ease-out-expo); }
.im-gallery__item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(45,30,20,.4) 100%); opacity: 0; transition: opacity .4s var(--im-ease-out-expo); }
.im-gallery__item:hover img { transform: scale(1.07); }
.im-gallery__item:hover::after { opacity: 1; }
.im-gallery__item--big { grid-column: span 2; grid-row: span 2; }
.im-gallery__cap { position: absolute; left: 16px; bottom: 14px; z-index: 2; color: #fff; font-family: var(--im-global-typography-accent-font); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; opacity: 0; transform: translateY(6px); transition: all .4s var(--im-ease-out-expo); }
.im-gallery__item:hover .im-gallery__cap { opacity: 1; transform: translateY(0); }
@media (max-width: 560px) { .im-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 130px; } .im-gallery__item--big { grid-column: span 2; grid-row: span 2; } }

/* =========================================================
   5. TEAM — movido para im-main.css (compartilhado: unidade + servicos.html)
   ========================================================= */

/* =========================================================
   6. LOCATION (map panel + address card)
   ========================================================= */
.im-location { background: var(--im-global-color-bg-soft); }
.im-location__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 36px; align-items: stretch; }
.im-mapcard { position: relative; border-radius: var(--im-radius); overflow: hidden; min-height: 360px; background: #e9e0d0; box-shadow: 0 30px 60px -34px rgba(74,51,36,.5); }
.im-mapcard__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(74,51,36,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(74,51,36,.07) 1px, transparent 1px); background-size: 38px 38px; }
.im-mapcard__roads { position: absolute; inset: 0; }
.im-mapcard__roads::before, .im-mapcard__roads::after { content: ""; position: absolute; background: rgba(168,133,79,.35); }
.im-mapcard__roads::before { left: 0; right: 0; top: 54%; height: 12px; transform: rotate(-4deg); }
.im-mapcard__roads::after { top: 0; bottom: 0; left: 38%; width: 10px; transform: rotate(3deg); }
.im-mapcard__pin { position: absolute; left: 44%; top: 46%; transform: translate(-50%,-100%); z-index: 3; color: var(--im-global-color-accent); display: flex; flex-direction: column; align-items: center; }
.im-mapcard__pin .im-icon { font-size: 46px; filter: drop-shadow(0 8px 10px rgba(45,30,20,.35)); }
.im-mapcard__pin span { margin-top: 4px; background: var(--im-global-color-bg-deeper); color: #fbf3e7; font-size: 11px; padding: 4px 10px; border-radius: 100px; white-space: nowrap; }
.im-mapcard__pulse { position: absolute; left: 44%; top: 46%; width: 16px; height: 16px; border-radius: 50%; background: var(--im-global-color-secondary); transform: translate(-50%,-50%); z-index: 2; box-shadow: 0 0 0 0 rgba(194,160,106,.6); animation: im-map-pulse 2.4s infinite; }
@keyframes im-map-pulse { 0% { box-shadow: 0 0 0 0 rgba(194,160,106,.5); } 100% { box-shadow: 0 0 0 30px rgba(194,160,106,0); } }
.im-addr { background: var(--im-global-color-white); border: 1px solid var(--im-global-color-silver); border-radius: var(--im-radius); padding: 34px; display: flex; flex-direction: column; gap: 18px; }
.im-addr h3 { font-family: var(--im-global-typography-primary-font); font-size: 24px; color: var(--im-global-color-primary); margin: 0; font-weight: 500; }
.im-addr__row { display: flex; gap: 14px; align-items: flex-start; font-size: 15px; color: var(--im-global-color-text); }
.im-addr__row .im-icon { color: var(--im-global-color-accent); font-size: 20px; margin-top: 2px; flex-shrink: 0; }
.im-addr__row small { display: block; font-family: var(--im-global-typography-accent-font); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--im-global-color-muted); margin-bottom: 2px; }
.im-addr .im-button { margin-top: auto; justify-content: center; }
@media (max-width: 880px) { .im-location__grid { grid-template-columns: 1fr; } .im-mapcard { min-height: 280px; } }

/* =========================================================
   7. VIDEO BAND (Conheça a Rede Vitória Spa)
   ========================================================= */
.im-videoband { position: relative; color: #fbf3e7; text-align: center; overflow: hidden; background: var(--im-global-color-bg-deeper); }
.im-videoband__bg { position: absolute; inset: 0; z-index: 0; }
.im-videoband__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.im-videoband__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(45,30,20,.78), rgba(45,30,20,.86)); }
.im-videoband__inner { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.im-videoband__inner h2 { font-family: var(--im-global-typography-primary-font); font-style: italic; font-size: clamp(28px, 4vw, 48px); color: #fff; margin: 0; font-weight: 400; }
.im-uplay { width: 84px; height: 84px; border-radius: 50%; background: rgba(251,243,231,.16); border: 1.5px solid rgba(251,243,231,.7); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 30px; margin-top: 14px; transition: all .35s var(--im-ease-out-expo); }
.im-uplay:hover { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); border-color: transparent; transform: scale(1.07); }

/* =========================================================
   8. BOTTOM STICKY ACTION BAR (takes over after lateral form)
   ========================================================= */
.im-actionbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 150; transform: translateY(110%); transition: transform .45s var(--im-ease-out-expo); }
.im-actionbar.is-visible { transform: translateY(0); }
.im-actionbar__inner { background: var(--im-global-color-bg-deeper); border-top: 1px solid rgba(194,160,106,.3); box-shadow: 0 -16px 40px -20px rgba(45,30,20,.6); display: grid; grid-template-columns: repeat(3, 1fr); }
.im-actionbar__btn { display: inline-flex; align-items: center; justify-content: center; gap: 11px; padding: 16px 14px; color: #fbf3e7; font-weight: 600; font-size: 15px; transition: background .3s var(--im-ease-out-expo); border-left: 1px solid rgba(194,160,106,.16); text-align: center; }
.im-actionbar__btn:first-child { border-left: 0; }
.im-actionbar__btn .im-icon { color: var(--im-global-color-secondary); font-size: 18px; }
.im-actionbar__btn:hover { background: rgba(194,160,106,.14); color: #fff; }
.im-actionbar__btn--primary { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); }
.im-actionbar__btn--primary .im-icon { color: var(--im-global-color-bg-deeper); }
.im-actionbar__btn--primary:hover { background: var(--im-global-color-secondary); color: var(--im-global-color-bg-deeper); }
.im-actionbar__btn span small { display: block; font-family: var(--im-global-typography-accent-font); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; opacity: .65; font-weight: 500; }
/* lift the WhatsApp float so it never sits under the action bar */
.im-actionbar-on .im-wa-float { bottom: 84px; }
/* o footer reserva espaço pra não ficar escondido sob a action bar fixa */
.im-unit-page .im-footer { padding-bottom: 78px; }
@media (max-width: 680px) {
    .im-actionbar__btn span small { display: none; }
    .im-actionbar__btn { font-size: 0; padding: 14px 8px; gap: 0; }
    .im-actionbar__btn .im-icon { font-size: 20px; }
    .im-actionbar__btn--primary { font-size: 14px; }
    .im-actionbar__btn--primary .im-label { font-size: 14px; }
    .im-actionbar__btn .im-label { font-size: 0; }
    .im-actionbar__btn--primary .im-icon { font-size: 18px; }
}

/* =========================================================
   9. RESPONSIVE — unit layout collapses; form goes inline near top
   ========================================================= */
@media (max-width: 1080px) {
    .im-ulayout { grid-template-columns: minmax(0, 1fr); gap: 36px; padding: 32px 0 40px; }
    .im-ulayout__main { min-width: 0; }
    .im-ulayout__aside { position: static; order: -1; }
    .im-uform { max-width: 560px; margin: 0 auto; }

    /* Negative-margin overlap: o card de contato SOBE sobre a faixa de imagem do
       hero (igual à home). Faixa extra embaixo do hero + form puxado pra cima. */
    .im-uhero__inner { padding-bottom: 96px; }
    .im-ulayout { margin-top: -72px; position: relative; z-index: 3; }
    .im-uform { position: relative; z-index: 3; }
}
@media (max-width: 767px) {
    /* mobile: sem a tagline; faixa de imagem maior e o form sobe mais alto */
    .im-uhero__tagline { display: none; }
    .im-uhero__inner { padding: 24px var(--im-space-md) 120px; }
    .im-ulayout { margin-top: -96px; }
    .im-ublock { margin-bottom: 28px; text-align: center; }
    .im-ublock__head .im-eyebrow { justify-content: center; }

    /* modchips → marquee horizontal infinito (1 faixa, sem estourar largura) */
    .im-modchips { overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
    .im-modchips__track { flex-wrap: nowrap; width: max-content; gap: 10px; animation: im-chip-marquee 16s linear infinite; }
    .im-modchips__track [aria-hidden="true"] { display: inline-flex; }
    .im-modchips:hover .im-modchips__track, .im-modchips:focus-within .im-modchips__track { animation-play-state: paused; }
    .im-modchip { flex-shrink: 0; }

    /* galeria: 2 col × 3 rows de quadrados 1:1 preenchendo o container */
    .im-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: auto; gap: 8px; }
    .im-gallery__item { aspect-ratio: 1; }
    .im-gallery__item--big { grid-column: span 1; grid-row: span 1; }
}
@keyframes im-chip-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .im-modchips__track { animation: none; } }

/* =========================================================
   10. GALLERY LIGHTBOX (ampliar no click — desktop + mobile)
   ========================================================= */
.im-gallery__item { cursor: zoom-in; }
.im-lightbox { position: fixed; inset: 0; z-index: 300; background: rgba(45,30,20,.92); display: none; align-items: center; justify-content: center; padding: 24px; opacity: 0; transition: opacity .3s var(--im-ease-out-expo); }
.im-lightbox.is-open { display: flex; opacity: 1; }
.im-lightbox__img { max-width: 92vw; max-height: 86vh; border-radius: 14px; box-shadow: 0 50px 100px -30px rgba(0,0,0,.7); animation: im-lb-in .3s var(--im-ease-out-expo); }
@keyframes im-lb-in { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
.im-lightbox__close { position: absolute; top: 20px; right: 24px; width: 48px; height: 48px; border-radius: 50%; background: rgba(251,243,231,.14); border: 1px solid rgba(251,243,231,.4); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; transition: all .3s var(--im-ease-out-expo); }
.im-lightbox__close:hover { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); border-color: transparent; transform: rotate(90deg); }
.im-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 52px; height: 52px; border-radius: 50%; background: rgba(251,243,231,.14); border: 1px solid rgba(251,243,231,.4); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; transition: background .3s var(--im-ease-out-expo), color .3s var(--im-ease-out-expo), transform .3s var(--im-ease-out-expo); }
.im-lightbox__nav--prev { left: 18px; }
.im-lightbox__nav--next { right: 18px; }
.im-lightbox__nav:hover { background: var(--im-global-gold-grad); color: var(--im-global-color-bg-deeper); border-color: transparent; }
.im-lightbox__count { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); font-family: var(--im-global-typography-accent-font); font-size: 13px; letter-spacing: .12em; color: rgba(251,243,231,.86); background: rgba(45,30,20,.5); border: 1px solid rgba(251,243,231,.22); border-radius: 100px; padding: 6px 16px; }
.im-lightbox--single .im-lightbox__nav, .im-lightbox--single .im-lightbox__count { display: none; }
@media (max-width: 767px) {
    .im-lightbox__nav { width: 44px; height: 44px; font-size: 26px; }
    .im-lightbox__nav--prev { left: 10px; }
    .im-lightbox__nav--next { right: 10px; }
}

/* =========================================================
   11. CITY HUB (LP de cidade: unidades + form geral sticky c/ scroll-spy)
   ========================================================= */
.im-city-mform { display: none; }                                  /* desktop: usa o form geral do aside */
.im-city-page .im-uhero__tagline { display: block; }               /* cidade mantém a tagline (sem overlap escondendo) */
.im-city-page .im-actionbar { display: none; }                     /* hub não usa action bar (header/forms/balão já cobrem) */
.im-city-page .im-footer { padding-bottom: 0; }                    /* footer igual ao da home — sem o respiro extra da action bar */
.im-unitblock { background: var(--im-global-color-white); border: 1px solid var(--im-global-color-silver); border-radius: var(--im-radius); overflow: hidden; margin-bottom: 30px; box-shadow: 0 18px 44px -30px rgba(74,51,36,.28); transition: box-shadow .35s var(--im-ease-out-expo), border-color .35s var(--im-ease-out-expo); }
.im-unitblock:last-child { margin-bottom: 0; }
.im-unitblock__media { margin: 0; display: block; }
.im-unitblock__media img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.im-unitblock__body { padding: 26px 30px 30px; position: relative; }
.im-unitblock__index { position: absolute; top: -58px; right: 24px; font-family: var(--im-global-typography-primary-font); font-size: clamp(34px,5vw,46px); line-height: 1; color: #fff; text-shadow: 0 2px 16px rgba(45,30,20,.6); }
.im-unitblock__body h2 { margin: 0 0 10px; }
.im-unitblock__city { display: flex; align-items: center; gap: 6px; color: var(--im-global-color-secondary); font-weight: 600; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; margin: -2px 0 10px; }
.im-unitblock__city .im-icon { width: 14px; height: 14px; flex-shrink: 0; }
.im-unitblock__addr { display: flex; align-items: center; gap: 8px; color: var(--im-global-color-muted); font-size: 14px; margin: 0 0 16px; }
.im-unitblock__addr .im-icon { color: var(--im-global-color-secondary); flex-shrink: 0; }
.im-unitblock__chips { margin: 4px 0 20px; }
.im-unitblock__chips .im-modchip { cursor: default; }
.im-unitblock__cta { display: flex; flex-wrap: wrap; gap: 10px; }
.im-unitblock.is-active { border-color: var(--im-global-color-secondary); box-shadow: 0 28px 58px -30px rgba(74,51,36,.45); }
.im-city-aside .im-uform h3 { font-size: 22px; }
@media (max-width: 1080px) {
    .im-city-page .im-ulayout__aside { display: none; }            /* mobile/tablet: esconde o form geral */
    /* a LP de cidade NÃO usa o overlap negativo (o conteúdo é texto, não um card) — hero com respiro normal */
    .im-city-page .im-uhero__inner { padding-bottom: 32px; }
    .im-city-page .im-ulayout { margin-top: 0; }
    /* botões do card: "Conhecer a unidade" 100% sozinho; WhatsApp + Como chegar 50/50, cabendo no card */
    .im-unitblock__cta { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; }
    .im-unitblock__cta > a { width: 100%; min-width: 0; justify-content: center; padding: 12px 10px; font-size: 13px; gap: 7px; }
    .im-unitblock__cta > a span { white-space: nowrap; }
    .im-unitblock__cta > a:first-child { grid-column: 1 / -1; }
    .im-city-mform { display: block; margin-top: 24px; padding: 22px 0 4px; background: transparent; border: 0; border-top: 1px solid var(--im-global-color-silver); box-shadow: none; border-radius: 0; }
    .im-city-mform::before { display: none; }
    .im-city-mform .im-uform__tag { margin-bottom: 6px; }
}
