/* GE 2.5.313 - Promoções usa uma única estrutura de painel e toda a área útil. */
html body.ge-staff-v2-template:not(.wp-admin) .ge-staff-v2 .gsv2-workspace:has(> .gs-page-promocoes){
  padding:clamp(24px,3vw,44px)!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

html body.ge-staff-v2-template:not(.wp-admin) .ge-staff-v2 .gsv2-workspace>.gs-page.gs-page-promocoes{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

@media(max-width:768px){
  html body.ge-staff-v2-template:not(.wp-admin) .ge-staff-v2 .gsv2-workspace:has(> .gs-page-promocoes){
    padding:96px 14px 40px!important;
  }
  html body.ge-staff-v2-template:not(.wp-admin) .ge-staff-v2 .gsv2-workspace>.gs-page-promocoes>:is(.gs-hero,.ge-promo-layout),
  html body.ge-staff-v2-template:not(.wp-admin) .gs-page-promocoes :is(.ge-promo-editor,.ge-promo-list){
    width:100%!important;
    max-width:100%!important;
    margin-right:0!important;
    margin-left:0!important;
    box-sizing:border-box!important;
  }
  html body.ge-staff-v2-template:not(.wp-admin) .ge-staff-v2 .gsv2-workspace>.gs-page-promocoes>.gs-hero .gs-title-with-icon>span:last-child{
    font-size:clamp(30px,8vw,36px)!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }
}

/* GE 2.5.314 - Alertas mantém o mesmo respiro interno dos cartões laterais. */
html body.ge-staff-v2-template:not(.wp-admin) .gsv2-right>.gsv2-side-card.gsv2-alert-card{
  padding:10px 14px 14px!important;
}

@media(max-width:768px){
  html body.ge-staff-v2-template:not(.wp-admin) .ge-staff-v2 .gsv2-workspace>.gsv2-layout>:is(.gsv2-left,.gsv2-right)>section.gsv2-side-card.gsv2-alert-card{
    padding:14px 18px 20px!important;
  }
}

/* GE 2.5.316 - Controlo de quantidade dos Extras centrado em todos os breakpoints. */
html body:not(.wp-admin) .ge-reserva-v3 .ge-extra-card .ge-extra-variable{
  justify-items:center!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

html body:not(.wp-admin) .ge-reserva-v3 .ge-extra-card .ge-extra-row{
  display:grid!important;
  grid-template-columns:minmax(34px,40px) minmax(72px,96px) minmax(34px,40px)!important;
  justify-content:center!important;
  justify-items:center!important;
  align-items:center!important;
  width:100%!important;
  max-width:100%!important;
  margin-inline:auto!important;
  gap:10px!important;
  box-sizing:border-box!important;
}

html body:not(.wp-admin) .ge-reserva-v3 .ge-extra-card .ge-extra-qty{
  width:100%!important;
  min-width:0!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

html body:not(.wp-admin) .ge-reserva-v3 .ge-extra-card .ge-extra-qty-btn{
  justify-self:center!important;
}

@media(max-width:420px){
  html body:not(.wp-admin) .ge-reserva-v3 .ge-extra-card .ge-extra-row{
    grid-template-columns:34px minmax(68px,88px) 34px!important;
    gap:8px!important;
  }
}

/* GE 2.5.319 - Separadores apenas entre itens que partilham a mesma linha. */
html body:not(.wp-admin) .ge-reserva-v3 .ge-package-features,
html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements{
  display:flex!important;
  flex-wrap:wrap!important;
  align-content:flex-start!important;
  align-items:center!important;
  gap:8px 18px!important;
  overflow:visible!important;
}

html body:not(.wp-admin) .ge-reserva-v3 .ge-package-features>li,
html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements>li{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

html body:not(.wp-admin) .ge-reserva-v3 .ge-package-features .ge-package-feature-copy,
html body:not(.wp-admin) .ge-reserva-v3 .ge-package-features .ge-package-furniture-link{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
}

html body:not(.wp-admin) .ge-reserva-v3 .ge-package-features>li::after,
html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements>li::after{
  content:none!important;
  display:none!important;
}

html body:not(.wp-admin) .ge-reserva-v3 .ge-package-features>li:not(.ge-has-inline-next)::after,
html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements>li:not(.ge-has-inline-next)::after{
  content:none!important;
  display:none!important;
}

html body:not(.wp-admin) .ge-reserva-v3 .ge-package-features>li.ge-has-inline-next::after,
html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements>li.ge-has-inline-next::after{
  content:"|"!important;
  display:block!important;
  position:absolute!important;
  top:50%!important;
  right:-12px!important;
  margin:0!important;
  color:var(--fived-gold-light)!important;
  font-weight:800!important;
  line-height:1!important;
  transform:translateY(-50%)!important;
}

html body:not(.wp-admin) .ge-reserva-v3 .ge-package-step-actions{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
}

/* GE 2.5.321 - comprovativo preparado durante o processamento e arrasto móvel livre. */
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-shell .ge-pay-upload.has-files .ge-pay-upload-name{
  display:none!important;
}

html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-proof-window{
  touch-action:none!important;
  overscroll-behavior:contain!important;
}
