/* GESTOR CLEAN — Imersivo, Tela 02: catálogo.
 * Alinha visualmente o catálogo à identificação aprovada.
 * Apenas CSS: serviços, fotos, seleção e CTA continuam controlados pelo fluxo.
 */
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification){
  background:var(--gc-bg,#102d2a)!important;
  overflow-x:hidden!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) .shell.gc-booking{
  max-width:1160px!important;
  width:100%!important;
  background:var(--gc-bg,#102d2a)!important;
  box-shadow:none!important;
}
/* Brand architecture continues from the first step, with clear progress. */
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header{
  position:sticky!important;top:0!important;z-index:45!important;
  background:var(--gc-bg,#102d2a)!important;
  border-bottom:1px solid #eafff01a!important;
  box-shadow:0 9px 28px #041e1a16!important;
  backdrop-filter:blur(16px)!important;
  padding:11px clamp(15px,3vw,30px) 10px!important;
  gap:4px!important;
  color:#fff!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-brand-row{
  max-width:1080px!important;margin:0 auto!important;min-height:55px!important;gap:10px!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-brand{
  gap:10px!important;min-width:0!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-logo{
  width:49px!important;height:49px!important;flex:0 0 49px!important;
  padding:2px!important;border:2px solid #f3fff0e8!important;
  background:#092c36!important;border-radius:13px!important;
  box-shadow:0 0 0 3px #f6fff014!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-logo img{
  width:100%!important;height:100%!important;object-fit:contain!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-brand-copy{
  border-left:1px solid #ffffff66!important;padding-left:11px!important;max-width:min(54vw,490px)!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-brand-copy strong{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  white-space:normal!important;font-size:clamp(.78rem,3.15vw,1rem)!important;
  font-weight:830!important;letter-spacing:-.02em!important;line-height:1.17!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-brand-copy span{
  display:block!important;color:#d7ebe4!important;-webkit-text-fill-color:#d7ebe4!important;
  font-size:clamp(.64rem,2.6vw,.78rem)!important;line-height:1.24!important;margin-top:3px!important;
  white-space:normal!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-progress{
  display:flex!important;flex:0 0 clamp(77px,22vw,115px)!important;
  gap:4px!important;align-items:center!important;justify-content:flex-end!important;
  margin:19px 0 0!important;min-width:0!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-progress i{
  flex:1 1 0!important;width:auto!important;min-width:0!important;height:5px!important;border-radius:20px!important;
  background:#a2c8b853!important;box-shadow:none!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-progress i.active,
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-progress i.done{
  background:#a2f2d1!important;box-shadow:none!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-progress-meta{
  position:absolute!important;right:clamp(15px,3vw,30px)!important;top:11px!important;
  display:block!important;margin:0!important;max-width:130px!important;
  text-align:right!important;color:#e8fff5!important;-webkit-text-fill-color:#e8fff5!important;
  font-size:.72rem!important;line-height:1.35!important;font-weight:730!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-progress-meta strong{
  display:none!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-progress-meta #gc81-progress-count::before{
  content:"Passo ";
}

/* Catalog only: preserve the configurator and every later booking step. */
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0.gc-screen.active #gc81-catalog-view:not([hidden]){
  width:min(100%,1040px)!important;
  margin:0 auto!important;
  padding:4px 0 12px!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-catalog-overline{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  flex-wrap:wrap!important;gap:10px!important;
  margin:2px 0 11px!important;padding:0!important;
  font-size:clamp(.64rem,1.5vw,.78rem)!important;letter-spacing:.12em!important;
  font-weight:860!important;line-height:1.3!important;color:#a9eed2!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-count{
  color:#d0eae1!important;letter-spacing:.075em!important;font-size:.69rem!important;font-weight:730!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-title{
  max-width:17ch!important;margin:0 0 10px!important;
  color:#f7fffa!important;-webkit-text-fill-color:#f7fffa!important;
  font-size:clamp(1.88rem,7.1vw,3.25rem)!important;line-height:1.065!important;
  font-weight:850!important;letter-spacing:-.055em!important;text-wrap:balance!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-intro{
  margin:0 0 24px!important;max-width:47ch!important;
  color:#d4e9e2!important;-webkit-text-fill-color:#d4e9e2!important;
  font-size:clamp(.86rem,2.9vw,1.03rem)!important;line-height:1.46!important;
}

/* Photograph-first cards with deliberate white name area, not generic UI tiles. */
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(11px,2.2vw,19px)!important;
  align-items:stretch!important;
  padding:0!important;margin:0!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  justify-content:flex-start!important;gap:0!important;
  position:relative!important;min-width:0!important;min-height:0!important;height:auto!important;
  margin:0!important;padding:8px 8px 0!important;
  border:2px solid #e5eee9!important;border-radius:21px!important;
  background:#f8fbf9!important;color:#112e2b!important;
  box-shadow:0 12px 30px #001a1522!important;
  overflow:hidden!important;text-align:center!important;
  transform:none!important;
  transition:border-color .17s ease,box-shadow .17s ease,transform .17s ease!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card .gc-service-media{
  width:100%!important;max-width:none!important;
  aspect-ratio:1 / 1!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;
  background:#1c2f3c!important;border-radius:15px!important;
  flex:0 0 auto!important;overflow:hidden!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card .gc-service-media img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;
  aspect-ratio:1!important;border-radius:15px!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card .gc-r9-service-copy{
  width:100%!important;min-width:0!important;
  min-height:49px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  padding:10px 4px 11px!important;margin:0!important;flex:1 0 auto!important;
  text-align:center!important;background:transparent!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card .gc-r9-service-copy>strong{
  display:block!important;color:#12342e!important;-webkit-text-fill-color:#12342e!important;
  font-size:clamp(.84rem,3.6vw,1.1rem)!important;line-height:1.2!important;
  font-weight:830!important;letter-spacing:-.02em!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
  margin:0!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card.selected{
  background:#f2faf6!important;
  border-color:var(--gc-primary,#0f7160)!important;
  box-shadow:0 0 0 2px #7ddfbd75,0 18px 38px #001a1529!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card .gc-service-check{
  display:none!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card.selected .gc-service-check{
  display:grid!important;place-items:center!important;
  top:15px!important;right:15px!important;z-index:5!important;
  width:29px!important;height:29px!important;
  border:2px solid #fafffc!important;border-radius:50%!important;
  background:var(--gc-primary,#0f7160)!important;color:#fff!important;
  font-size:.87rem!important;line-height:1!important;font-weight:850!important;
  box-shadow:0 4px 10px #001c1a4d!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card:focus-visible{
  outline:3px solid #92efcb!important;outline-offset:3px!important;
}
@media(hover:hover){
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card:hover{
   transform:translateY(-2px)!important;box-shadow:0 18px 38px #001a152a!important;
 }
}

/* Footer follows the same brand; preserve original button logic/disabled state. */
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0.active ~ .sticky{background:var(--gc-bg,#102d2a)!important}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) .sticky.gc-actions{
  background:color-mix(in srgb,var(--gc-bg,#102d2a) 96%,transparent)!important;
  border-top:1px solid #eaffef26!important;backdrop-filter:blur(15px)!important;
  box-shadow:0 -13px 28px #001b1719!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) .sticky.gc-actions button.primary.gc-action{
  min-height:55px!important;max-height:none!important;
  border:0!important;border-radius:13px!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  background:var(--gc-primary,#087b66)!important;
  font-size:clamp(.93rem,3.6vw,1.04rem)!important;font-weight:790!important;
  box-shadow:none!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) .sticky.gc-actions button.primary.gc-action:disabled{
  opacity:.56!important;cursor:not-allowed!important;
}
@media(max-width:599px){
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header{
   padding:10px 14px!important;
 }
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) .gc-main{
   padding:21px 15px calc(100px + env(safe-area-inset-bottom))!important;
 }
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-title{
   font-size:clamp(1.82rem,7.5vw,2.28rem)!important;
   max-width:18ch!important;
 }
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-intro{
   margin-bottom:20px!important;
 }
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card{
   padding:7px 7px 0!important;
   border-radius:19px!important;
 }
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card .gc-service-media{
   border-radius:13px!important;
 }
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card .gc-service-media img{
   border-radius:13px!important;
 }
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card .gc-r9-service-copy{
   min-height:44px!important;padding:9px 3px 10px!important;
 }
}
@media(max-width:350px){
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-grid{gap:9px!important;}
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card .gc-r9-service-copy>strong{font-size:.8rem!important}
}
@media(min-width:800px){
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-grid{
   grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important;
 }
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card .gc-service-media{
   aspect-ratio:5 / 4!important;
 }
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card .gc-service-media img{
   aspect-ratio:5 / 4!important;
 }
}
@media(prefers-reduced-motion:reduce){
 body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card{transition:none!important}
}

/* Tenant-safe colors: even manually chosen light backgrounds retain readable
 * header, progress, service labels, and the booking action. */
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-brand-copy strong,
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-progress-meta,
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-title {
  color:var(--gc82-catalog-on-bg,#FFFFFF)!important;
  -webkit-text-fill-color:var(--gc82-catalog-on-bg,#FFFFFF)!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-header .gc-brand-copy span,
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-intro,
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-count,
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 .gc-catalog-overline {
  color:var(--gc82-catalog-muted,#D4E9E2)!important;
  -webkit-text-fill-color:var(--gc82-catalog-muted,#D4E9E2)!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card {
  background:var(--gc-surface,#FFFFFF)!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card.selected {
  background:var(--gc-surface,#FFFFFF)!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #step0 #gc81-catalog-view .gc-r9-service-card .gc-r9-service-copy>strong {
  color:var(--gc-text,#12342E)!important;
  -webkit-text-fill-color:var(--gc-text,#12342E)!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) .sticky.gc-actions button.primary.gc-action {
  color:var(--gc-on-primary,#FFFFFF)!important;
  -webkit-text-fill-color:var(--gc-on-primary,#FFFFFF)!important;
}
