/* V9.7 shared repairs. Theme appearance remains in its isolated bundle. */
body.ui-pro .v88-services-modal .v88-services-modal__item{display:block!important;grid-template-columns:minmax(0,1fr)!important;transform:none!important}
body.ui-pro .v88-services-modal .v88-services-modal__media{display:none!important}
body.ui-pro .v88-services-modal .v88-services-modal__content{width:100%!important;min-width:0!important;grid-column:1/-1!important}
body.ui-pro .v88-services-modal .v88-services-modal__title-row{display:grid!important;grid-template-columns:minmax(0,1fr) max-content!important;align-items:start!important;gap:12px!important;width:100%!important}
body.ui-pro .v88-services-modal .v88-services-modal__title-row h3{position:static!important;inset:auto!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal!important}
body.ui-pro .v88-services-modal .v88-services-modal__price{position:static!important;inset:auto!important;transform:none!important;width:auto!important;text-align:right!important;white-space:nowrap!important}
body.ui-pro .v88-services-modal .v88-services-modal__content>p:empty{display:none!important}
body.ui-pro .v88-services-modal .v88-services-modal__close{min-width:44px!important;min-height:44px!important}
body.ui-pro .v88-services-modal .v88-services-modal__dialog{max-height:calc(100dvh - 32px)!important;overscroll-behavior:contain}

body.theme-kinetic-gallery-light .v88-services-modal__dialog{background:#fffdf8!important;color:#221b17!important}
body.theme-kinetic-gallery-light .v88-services-modal__head h2,body.theme-kinetic-gallery-light .v88-services-modal__category-title,body.theme-kinetic-gallery-light .v88-services-modal__title-row h3{color:#221b17!important}
body.theme-kinetic-gallery-light .v88-services-modal__head p,body.theme-kinetic-gallery-light .v88-services-modal__content>p{color:#6d5f56!important}
body.theme-kinetic-gallery-light .v88-services-modal__price{color:#2437d8!important}
body.theme-kinetic-gallery-light .v88-services-modal__item{background:#fff!important;border-color:#d9cdc0!important}


body.ui-pro #map.pro-map-v33 .pro-contact-panel{height:auto!important;min-height:320px!important;max-height:none!important;padding:24px!important}
body.ui-pro #map.pro-map-v33 .pro-contact-list a{height:auto!important;min-height:44px!important;padding:10px!important;font-size:14px!important;line-height:1.4!important;white-space:normal!important;overflow-wrap:anywhere}
body.ui-pro #map.pro-map-v33 .pro-contact-list a[href^="mailto:"]{grid-column:1/-1!important}
body.ui-pro #map.pro-map-v33 .pro-contact-panel .section-badge{display:block!important;white-space:normal!important}

body.v97-enhanced-nav .pro-nav-inner{display:grid!important;grid-template-columns:minmax(190px,1fr) auto auto;align-items:center;gap:20px}
body.v97-enhanced-nav .pro-langs{position:relative;display:block;width:auto;margin:0;padding:0;overflow:visible;border:0;background:transparent}
body.v97-enhanced-nav .v96-lang-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:44px;padding:9px 14px;border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:13px;background:color-mix(in srgb,var(--surface,#fff) 88%,transparent);color:var(--text,#111);cursor:pointer}
body.v97-enhanced-nav .v96-lang-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:1100;display:grid;width:92px;padding:7px;border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:16px;background:var(--surface,#fff);box-shadow:0 18px 50px #0003;opacity:0;pointer-events:none;transform:translateY(-8px) scale(.96);transform-origin:top right;transition:opacity .18s,transform .18s}
body.v97-enhanced-nav .pro-langs[data-open="true"] .v96-lang-popover{opacity:1;pointer-events:auto;transform:none}
body.v97-enhanced-nav .v96-lang-popover a{display:flex;align-items:center;min-height:40px;padding:8px 11px;border:0;border-radius:10px;color:var(--text,#111)!important;text-decoration:none;font-size:12px;font-weight:800}
body.v97-enhanced-nav .v96-lang-popover a:is(:hover,.active){background:color-mix(in srgb,var(--primary,#675cff) 14%,var(--surface,#fff));color:var(--primary,#675cff)!important}

@media(max-width:980px){
 body.v97-enhanced-nav .pro-nav-inner{grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important}
 body.v97-enhanced-nav .pro-brand{min-width:0!important;overflow:hidden!important}
 body.v97-enhanced-nav .pro-brand-logo-img{width:36px!important;height:36px!important}
 body.v97-enhanced-nav .pro-brand-copy{min-width:0!important;overflow:hidden!important}
 body.v97-enhanced-nav .pro-brand-title{display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
 body.v97-enhanced-nav .pro-brand-sub{display:none!important}
 body.v97-enhanced-nav.v88-derived-air-nav .pro-nav{padding:0!important}
 body.v97-enhanced-nav.v88-derived-air-nav .pro-nav-inner{width:calc(100% - 20px)!important;max-height:none!important;padding:10px 0!important;overflow:visible!important}
 body.v97-enhanced-nav.v88-derived-air-nav .pro-brand{width:auto!important;margin:0!important;padding:0!important;justify-content:flex-start!important;text-align:left!important}
 body.v97-enhanced-nav.v88-derived-air-nav .pro-brand-title{text-align:left!important}
 body.v97-enhanced-nav.v88-one-lang .pro-langs{display:none!important}
 body.v97-enhanced-nav .pro-mobile-nav-toggle:not([hidden]){position:static!important;display:inline-flex!important;align-items:center;justify-content:center;min-width:58px!important;min-height:44px!important;padding:9px 12px!important;border-radius:13px!important;font-size:12px!important}
 body.v97-enhanced-nav .pro-nav:not(.is-open) .pro-menu{display:none!important}
 body.v97-enhanced-nav .pro-menu{grid-column:1/-1!important;position:static!important;width:100%!important;padding:10px 0 14px!important}
 body.v97-enhanced-nav .pro-nav.is-open .pro-menu{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
 body.v97-enhanced-nav .pro-nav.is-open .pro-menu a{display:flex!important;align-items:center!important;min-height:44px!important;padding:10px 12px!important}
}
@media(max-width:430px){
 body.v97-enhanced-nav .pro-nav-inner{padding-inline:10px!important}
 body.v97-enhanced-nav .pro-brand-title{font-size:16px!important;line-height:1.15!important}
 body.v97-enhanced-nav .v96-lang-trigger,body.v97-enhanced-nav .pro-mobile-nav-toggle:not([hidden]){min-width:52px!important;padding-inline:9px!important}
}

/* Audit repair: keep the business descriptor as a second line in every theme. */
body.ui-pro .pro-nav .pro-brand{align-items:center!important;min-width:0!important}
body.ui-pro .pro-nav .pro-brand-copy{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;min-width:0!important;line-height:1.15!important;overflow:visible!important}
body.ui-pro .pro-nav .pro-brand-title{display:block!important;max-width:100%;white-space:nowrap!important;line-height:1.15!important}
body.ui-pro .pro-nav .pro-brand-sub{display:block!important;max-width:100%;margin:0!important;color:var(--muted,#526174)!important;font-size:11px!important;line-height:1.2!important;letter-spacing:0!important;white-space:normal!important;opacity:1!important}


/* Desktop carousel cards were taller than the section's available viewport. */
@media(min-width:901px){
 body.ui-pro.v88-spatial-theme:not(.reference-page) #gallery .pro-gallery-grid.v96-carousel{height:460px!important}
 body.ui-pro.v88-spatial-theme:not(.reference-page) #gallery .v96-carousel .pro-gallery-card{top:12px!important;width:min(62%,680px)!important;height:420px!important}
}

/* Themes 08–10 use the legacy renderer, so the PRO-only brand rule above
   never applied to their two-line header. */
body.v97-enhanced-nav.ui-legacy .pro-nav .pro-brand-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;min-width:0!important;line-height:1.15!important}
body.v97-enhanced-nav.ui-legacy .pro-nav .pro-brand-title{display:block!important;max-width:100%!important;line-height:1.15!important}
body.v97-enhanced-nav.ui-legacy .pro-nav .pro-brand-sub{display:block!important;max-width:100%!important;font-size:11px!important;line-height:1.2!important;opacity:.72!important;white-space:normal!important}

/* A late reveal left essential labels invisible for more than a second. */
body:is(.theme-ai-light-split,.theme-ai-minimal-air,.theme-ai-premium-neon) #hero.v88-hero-clean :is(h1,p,.v88-hero-clean__badge,.v88-hero-clean__actions){animation-delay:0s!important;animation-duration:.4s!important}
body.ui-pro #map .pro-contact-panel>p,body.ui-pro .pro-footer p{animation:none!important;opacity:1!important}
body.ui-pro.v88-spatial-theme #gallery .section-header{animation-duration:.4s!important;animation-delay:0s!important}

/* Keep supporting copy readable against each family's panel. */
body:is(.theme-lumen-orbit-light,.theme-nocturne-stage-light,.theme-kinetic-gallery-light) #map .pro-contact-panel>p{color:#475467!important}
body:is(.theme-lumen-orbit-dark,.theme-nocturne-stage-dark,.theme-kinetic-gallery-dark,.theme-ai-premium-neon) #map .pro-contact-panel>p{color:#cbd5e1!important}

/* V9.7.11: keep the first four themes' mobile language row centred inside
   the header. Eight languages can scroll horizontally on a narrow phone. */
@media (max-width:768px){
 body:is(.theme-standard,.theme-minimal,.theme-dark,.theme-premium) .nav .nav-inner{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;width:100%!important;min-width:0!important;gap:6px!important;
 }
 body:is(.theme-standard,.theme-minimal,.theme-dark,.theme-premium) .nav .logo{
  width:auto!important;max-width:100%!important;margin-inline:auto!important;
 }
 body:not(.v88-one-lang):is(.theme-standard,.theme-minimal,.theme-dark,.theme-premium) .nav .lang-switch{
  display:flex!important;flex-wrap:nowrap!important;align-items:center!important;
  justify-content:safe center!important;width:100%!important;max-width:100%!important;
  margin:0 auto!important;overflow-x:auto!important;scrollbar-width:none;
 }
 body:not(.v88-one-lang):is(.theme-standard,.theme-minimal,.theme-dark,.theme-premium) .nav .lang-switch::-webkit-scrollbar{display:none}
 body:not(.v88-one-lang):is(.theme-standard,.theme-minimal,.theme-dark,.theme-premium) .nav .lang-switch a{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:32px;
 }
}

/* Themes 5-10 have a menu control and a language popover. The legacy AIR
   rules made the language host a full-width eight-column grid and positioned
   the menu control absolutely. Give each control its own centred grid cell. */
@media (max-width:980px){
 body.v97-enhanced-nav .pro-nav .pro-nav-inner{
  display:grid!important;grid-template-columns:minmax(0,1fr) 58px 58px!important;
  align-items:center!important;justify-items:stretch!important;column-gap:8px!important;
  width:calc(100% - 20px)!important;min-height:64px!important;max-height:none!important;
  margin-inline:auto!important;padding:8px 10px!important;overflow:visible!important;
  box-sizing:border-box!important;
 }
 body.v97-enhanced-nav .pro-nav .pro-brand{
  grid-column:1!important;grid-row:1!important;min-width:0!important;width:auto!important;
  max-width:100%!important;margin:0!important;padding:0!important;
  justify-content:flex-start!important;text-align:left!important;
 }
 body.v97-enhanced-nav .pro-nav .pro-brand-copy{min-width:0!important;max-width:100%!important;overflow:hidden!important}
 body.v97-enhanced-nav .pro-nav .pro-brand-title,
 body.v97-enhanced-nav .pro-nav .pro-brand-sub{
  display:block!important;max-width:100%!important;overflow:hidden!important;
  white-space:nowrap!important;text-overflow:ellipsis!important;text-align:left!important;
 }
 body.v97-enhanced-nav .pro-nav .pro-mobile-nav-toggle:not([hidden]){
  grid-column:2!important;grid-row:1!important;position:static!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  justify-self:center!important;align-self:center!important;
  width:58px!important;min-width:58px!important;height:44px!important;min-height:44px!important;
  margin:0!important;padding:0 6px!important;line-height:1!important;
 }
 body.v97-enhanced-nav:not(.v88-one-lang) .pro-nav .pro-langs{
  grid-column:3!important;grid-row:1!important;position:relative!important;
  display:block!important;width:58px!important;min-width:58px!important;
  max-width:58px!important;margin:0!important;padding:0!important;
  justify-self:center!important;align-self:center!important;overflow:visible!important;
  background:transparent!important;border:0!important;
 }
 body.v97-enhanced-nav .pro-nav .v96-lang-trigger{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:58px!important;min-width:58px!important;height:44px!important;min-height:44px!important;
  margin:0!important;padding:0 6px!important;line-height:1!important;
 }
 body.v97-enhanced-nav .pro-nav .pro-menu{
  grid-column:1/-1!important;grid-row:2!important;min-width:0!important;
 }
 body.v97-enhanced-nav .pro-nav .v96-lang-popover{
  right:0!important;max-width:calc(100vw - 24px)!important;
 }
}
@media (max-width:430px){
 body.v97-enhanced-nav .pro-nav .pro-nav-inner{
  grid-template-columns:minmax(0,1fr) 52px 52px!important;column-gap:6px!important;
 }
 body.v97-enhanced-nav .pro-nav .pro-mobile-nav-toggle:not([hidden]),
 body.v97-enhanced-nav .pro-nav .pro-langs,
 body.v97-enhanced-nav .pro-nav .v96-lang-trigger{
  width:52px!important;min-width:52px!important;max-width:52px!important;
 }
}
@media (max-width:980px){
 body.v97-enhanced-nav.v88-one-lang .pro-nav .pro-nav-inner{
  grid-template-columns:minmax(0,1fr) 58px!important;
 }
 body.v97-enhanced-nav.v88-one-lang .pro-nav .pro-mobile-nav-toggle:not([hidden]){
  grid-column:2!important;
 }
 body.v97-enhanced-nav.v88-one-lang .pro-nav .pro-langs{display:none!important}
}
@media (max-width:430px){
 body.v97-enhanced-nav.v88-one-lang .pro-nav .pro-nav-inner{
  grid-template-columns:minmax(0,1fr) 52px!important;
 }
}
