/* GESTOR CLEAN — Configuração e resumo, acabamento aprovado 2026-10-12.
   Reaproveita tokens da empresa. Restringe mudanças estruturais a telas 0/1. */
body.gc-booking-v81 #gc81-config-view .gc-config-title-row{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  width:100%!important;
  min-width:0!important;
  margin:0 0 10px!important;
}
body.gc-booking-v81 #gc81-config-view .gc-config-title-row .gc-screen-title{
  flex:1 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  font-size:clamp(1.52rem,6vw,2.05rem)!important;
  line-height:1.11!important;
  letter-spacing:-.035em!important;
  text-wrap:balance!important;
}
body.gc-booking-v81 #gc81-config-view .gc-config-title-row .gc-config-back{
  flex:0 0 42px!important;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-height:42px!important;
  min-width:42px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid color-mix(in srgb,var(--gc-primary,#0F7160) 36%,transparent)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--gc-primary,#0F7160) 12%,transparent)!important;
  color:var(--gc-primary,#0F7160)!important;
  -webkit-text-fill-color:var(--gc-primary,#0F7160)!important;
  box-shadow:none!important;
  font-size:1.3rem!important;
  line-height:1!important;
  cursor:pointer!important;
}
body.gc-booking-v81[data-gc-public-template="immersive"]:not(.gc85-identification) #gc81-config-view .gc-config-title-row .gc-config-back{
  color:#E3F7EF!important;
  -webkit-text-fill-color:#E3F7EF!important;
  background:color-mix(in srgb,var(--gc-primary,#0F7160) 16%,transparent)!important;
  border-color:#C5F4DD70!important;
}
body.gc-booking-v81 #gc81-config-view .gc-config-back span{
  display:block!important;
  font-size:1.26rem!important;
  transform:translateY(-1px)!important;
}
body.gc-booking-v81 #gc81-config-view .gc-config-back:focus-visible{
  outline:3px solid var(--gc-primary,#0F7160)!important;
  outline-offset:4px!important;
}
body.gc-booking-v81 #gc81-config-view .gc-screen-intro{
  margin-top:0!important;
  line-height:1.5!important;
}

/* Bag layout: one trusted subtotal per configured service. */
body.gc-booking-v81 #step1.gc-screen.active .gc-screen-title{
  margin:0 0 9px!important;
  font-size:clamp(1.54rem,5.15vw,2.55rem)!important;
  letter-spacing:-.045em!important;
  line-height:1.09!important;
  text-wrap:balance!important;
}
body.gc-booking-v81 #step1.gc-screen.active>.gc-screen-intro{
  max-width:56ch!important;
  margin:0 0 20px!important;
  font-size:clamp(.83rem,2.5vw,1.02rem)!important;
  line-height:1.5!important;
}
body.gc-booking-v81 #step1 .gc-bag{
  gap:12px!important;
}
body.gc-booking-v81 #step1 .gc-bag-banner{
  align-items:center!important;
  min-height:68px!important;
  gap:13px!important;
  padding:12px 15px!important;
}
body.gc-booking-v81 #step1 .gc-bag-item{
  display:grid!important;
  grid-template-columns:clamp(70px,21vw,94px) minmax(0,1fr)!important;
  align-items:start!important;
  gap:13px!important;
  padding:13px!important;
  border-radius:19px!important;
  min-width:0!important;
}
body.gc-booking-v81 #step1 .gc-bag-thumb{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1!important;
  min-width:0!important;
  border-radius:13px!important;
  overflow:hidden!important;
}
body.gc-booking-v81 #step1 .gc-bag-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
body.gc-booking-v81 #step1 .gc-bag-item-body{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
}
body.gc-booking-v81 #step1 .gc-bag-head{
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
body.gc-booking-v81 #step1 .gc-bag-head strong{
  min-width:0!important;
  flex:1!important;
  font-size:clamp(.8rem,2.5vw,.94rem)!important;
  line-height:1.25!important;
}
body.gc-booking-v81 #step1 .gc-bag-config{
  margin:4px 0 0!important;
  font-size:clamp(.66rem,2vw,.76rem)!important;
  line-height:1.44!important;
  overflow-wrap:anywhere!important;
}
body.gc-booking-v81 #step1 .gc-bag-item-subtotal{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  gap:5px 12px!important;
  width:100%!important;
  margin:9px 0 0!important;
  padding:8px 0 0!important;
  border-top:1px solid color-mix(in srgb,var(--gc-line,#CFDBD6) 80%,transparent)!important;
}
body.gc-booking-v81 #step1 .gc-bag-item-subtotal span{
  color:var(--gc-muted,#63796F)!important;
  -webkit-text-fill-color:var(--gc-muted,#63796F)!important;
  font-size:.68rem!important;
  font-weight:670!important;
}
body.gc-booking-v81 #step1 .gc-bag-item-subtotal strong{
  color:var(--gc-primary-text,var(--gc-primary,#0F7160))!important;
  -webkit-text-fill-color:var(--gc-primary-text,var(--gc-primary,#0F7160))!important;
  font-size:.89rem!important;
  font-weight:890!important;
  font-variant-numeric:tabular-nums!important;
}
body.gc-booking-v81 #step1 .gc-bag-bottom{
  display:flex!important;
  justify-content:space-between!important;
  gap:9px!important;
  align-items:center!important;
  margin-top:10px!important;
}
body.gc-booking-v81 #step1 .gc-icon-button{
  flex:0 0 39px!important;
  display:grid!important;
  place-items:center!important;
  width:39px!important;
  min-width:39px!important;
  height:39px!important;
  padding:0!important;
  border-radius:12px!important;
  color:var(--gc-muted,#647A70)!important;
  -webkit-text-fill-color:var(--gc-muted,#647A70)!important;
  font-size:1.23rem!important;
  cursor:pointer!important;
}
body.gc-booking-v81 #step1 .gc-icon-button:hover{
  background:color-mix(in srgb,var(--gc-muted,#667F75) 11%,transparent)!important;
}
body.gc-booking-v81 #step1 .gc-bag-edit{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:40px!important;
  padding:7px 11px!important;
  border:1px solid color-mix(in srgb,var(--gc-primary,#0F7160) 23%,transparent)!important;
  border-radius:11px!important;
  background:color-mix(in srgb,var(--gc-primary,#0F7160) 6%,transparent)!important;
  font-size:.73rem!important;
  font-weight:850!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
body.gc-booking-v81 #step1 .gc-bag-edit span{
  font-size:1.02rem!important;
}
body.gc-booking-v81 #step1 .gc83-bag-qty{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
body.gc-booking-v81 #step1 .gc83-bag-qty button{
  display:grid!important;
  place-items:center!important;
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  padding:0!important;
  border:1px solid var(--gc-line,#D2DFD9)!important;
  border-radius:999px!important;
  background:var(--gc-surface,#FFFFFF)!important;
  color:var(--gc-text,#16382F)!important;
  -webkit-text-fill-color:var(--gc-text,#16382F)!important;
  font-weight:800!important;
  font-size:1.1rem!important;
}
body.gc-booking-v81 #step1 .gc83-bag-qty button:disabled{
  opacity:.32!important;
  cursor:not-allowed!important;
}
body.gc-booking-v81 #step1 .gc83-bag-qty span{
  min-width:19px!important;
  color:var(--gc-text,#16382F)!important;
  font-weight:850!important;
  font-size:.88rem!important;
  text-align:center!important;
  font-variant-numeric:tabular-nums!important;
}
body.gc-booking-v81 #step1 .gc-bag-item button:focus-visible,
body.gc-booking-v81 #step1 .gc-bag-undo button:focus-visible{
  outline:3px solid var(--gc-primary,#0F7160)!important;
  outline-offset:2px!important;
}
body.gc-booking-v81 #step1 .gc-bag-undo{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 12px!important;
  border:1px solid color-mix(in srgb,var(--gc-primary,#0F7160) 20%,transparent)!important;
  border-radius:13px!important;
  background:var(--gc-surface,#FFFFFF)!important;
}
body.gc-booking-v81 #step1 .gc-bag-undo span{
  min-width:0!important;
  font-size:.72rem!important;
  line-height:1.4!important;
  color:var(--gc-muted,#64796F)!important;
}
body.gc-booking-v81 #step1 .gc-bag-undo span strong{
  color:var(--gc-text,#17362F)!important;
}
body.gc-booking-v81 #step1 .gc-bag-undo button{
  flex:0 0 auto!important;
  min-height:40px!important;
  padding:7px 10px!important;
  border-radius:9px!important;
  border:1px solid var(--gc-primary,#0F7160)!important;
  color:var(--gc-primary,#0F7160)!important;
  background:transparent!important;
  font-weight:850!important;
  font-size:.75rem!important;
}
body.gc-booking-v81 #step1 .gc-total{
  align-items:center!important;
  min-height:68px!important;
  padding:14px 16px!important;
}
body.gc-booking-v81 #step1 .gc-total strong{
  font-variant-numeric:tabular-nums!important;
  font-size:clamp(1.12rem,4.5vw,1.42rem)!important;
}

/* Floating summary follows the measured height of the real sticky action bar. */
body.gc-booking-v81 #gc81-mini-bag{
  position:fixed!important;
  left:auto!important;
  right:max(12px,calc((100vw - min(100vw,1160px)) / 2 + 16px))!important;
  bottom:calc(var(--gc-floating-footer-height,80px) + 12px)!important;
  z-index:38!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:46px!important;
  max-width:min(185px,calc(100vw - 24px))!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  box-sizing:border-box!important;
  box-shadow:0 9px 26px rgba(5,31,24,.14)!important;
  line-height:1.2!important;
}
body.gc-booking-v81 #gc81-mini-bag[hidden],
body.gc-booking-v81.gc-keyboard-open #gc81-mini-bag,
body.gc-booking-v81:has(input:focus,textarea:focus,select:focus) #gc81-mini-bag{
  display:none!important;
}
body.gc-booking-v81.gc-floating-bag-visible .gc-main{
  padding-bottom:max(135px,calc(var(--gc-floating-footer-height,80px) + 66px))!important;
}
body.gc-booking-v81 #gc81-mini-bag:focus-visible{
  outline:3px solid var(--gc-primary,#0F7160)!important;
  outline-offset:3px!important;
}
@media(max-width:360px){
  body.gc-booking-v81 #gc81-config-view .gc-config-title-row{
    gap:8px!important;
  }
  body.gc-booking-v81 #gc81-config-view .gc-config-title-row .gc-screen-title{
    font-size:clamp(1.31rem,6vw,1.5rem)!important;
  }
  body.gc-booking-v81 #step1 .gc-bag-item{
    grid-template-columns:66px minmax(0,1fr)!important;
    gap:9px!important;
    padding:11px!important;
  }
  body.gc-booking-v81 #step1 .gc-bag-bottom{
    flex-wrap:wrap!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.gc-booking-v81 #gc81-mini-bag{transition:none!important;}
}
