/* GE 2.5.323 - Final browser-review refinements. */

/* Package items: white bullets, natural wrapping and one bullet per item. */
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{
  align-items:flex-start!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

html body:not(.wp-admin) .ge-reserva-v3 .ge-package-features>li::before,
html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements>li::before{
  flex-shrink:0!important;
  margin-top:.58em!important;
  background:#fff!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.16)!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{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

html body:not(.wp-admin) .ge-reserva-v3 .ge-package-features .ge-package-furniture-link{
  display:inline!important;
  text-align:left!important;
}

/* Keep the summary below the fixed public header on desktop. */
@media(min-width:1025px){
  html body:not(.wp-admin) .ge-reserva-v3 #geSummary.ge-summary{
    top:92px!important;
  }
}

/* A zero quantity is a prepared state, not a selectable extra. */
html body:not(.wp-admin) .ge-reserva-v3 .ge-extra-select-btn:disabled{
  cursor:not-allowed!important;
  opacity:.48!important;
  filter:saturate(.45)!important;
}

/* Reports: equal-width cards and a fragment target clear of the fixed shell. */
html body.ge-staff-v2-template:not(.wp-admin) .gs-page-relatorios #clientes-list{
  scroll-margin-top:24px!important;
}

@media(min-width:1025px){
  html body.ge-staff-v2-template:not(.wp-admin) .gs-page-relatorios .ge-report-clients .ge-client-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:stretch!important;
  }
  html body.ge-staff-v2-template:not(.wp-admin) .gs-page-relatorios .ge-report-clients .ge-client-grid>.ge-client-card{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
  }
  html body.ge-staff-v2-template:not(.wp-admin) .gs-page-relatorios .ge-report-clients .ge-client-card-link{
    display:grid!important;
    grid-template-rows:auto auto auto auto 1fr auto!important;
    align-content:start!important;
  }
}

@media(min-width:769px) and (max-width:1024px){
  html body.ge-staff-v2-template:not(.wp-admin) .gs-page-relatorios .ge-report-clients .ge-client-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
  }
  html body.ge-staff-v2-template:not(.wp-admin) .gs-page-relatorios .ge-report-clients .ge-client-grid>.ge-client-card{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:100%!important;
  }
}

/* Reservation details: at most three package items per row. */
html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:start!important;
  gap:9px 24px!important;
}
html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements>li{
  width:auto!important;
  min-width:0!important;
}

/* Client actions share the same right-hand alignment as staff actions. */
html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-detail-action-group-client{
  width:auto!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
}
html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-client-change-select-wrap{
  display:inline-flex!important;
  min-width:190px!important;
}
html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-client-change-select{
  width:100%!important;
  min-width:190px!important;
  cursor:pointer!important;
  appearance:auto!important;
}

/* Keep payment instructions readable inside the narrower flow column. */
@media(max-width:1350px){
  html body:not(.wp-admin) .ge-reserva-v3 .ge-payment-overview{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

@media(max-width:900px){
  html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:600px){
  html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements{
    grid-template-columns:minmax(0,1fr)!important;
  }
  html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-detail-action-group-client,
  html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-client-change-select-wrap{
    width:100%!important;
  }
}

/* GE 2.5.326 - Browser review: package lists, mobile details and confirmations. */
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.ge-has-inline-next::after,
html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements>li.ge-has-inline-next::after{
  content:none!important;
  display:none!important;
}

html body:not(.wp-admin) .ge-reserva-v3 .ge-package-swipe-hand{
  display:block!important;
  width:42px!important;
  height:42px!important;
  max-width:none!important;
  object-fit:contain!important;
  transform-origin:50% 50%!important;
  animation:ge5dPointingFingerSwipe 1.35s ease-in-out infinite!important;
}
@keyframes ge5dPointingFingerSwipe{
  0%,100%{transform:translateX(-7px) rotate(-90deg)}
  50%{transform:translateX(7px) rotate(-90deg)}
}

html body:not(.wp-admin) .ge-confirm-page details.ge-confirm-summary>summary{
  position:relative!important;
  cursor:pointer!important;
  list-style:none!important;
  padding-right:108px!important;
}
html body:not(.wp-admin) .ge-confirm-page details.ge-confirm-summary>summary::-webkit-details-marker{display:none!important}
html body:not(.wp-admin) .ge-confirm-page .ge-confirm-summary-toggle{
  position:absolute!important;
  top:50%!important;
  right:0!important;
  transform:translateY(-50%)!important;
  color:var(--fived-gold-light)!important;
  font-family:var(--ge5d-font-sans,"DM Sans",sans-serif)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
html body:not(.wp-admin) .ge-confirm-page details.ge-confirm-summary:not([open]) .ge-confirm-summary-toggle .is-open,
html body:not(.wp-admin) .ge-confirm-page details.ge-confirm-summary[open] .ge-confirm-summary-toggle .is-closed{display:none!important}

html body:not(.wp-admin) option.ge5d-mobile-edit-cancel{display:none}

/* GE 2.5.327 - visualizador unificado de imagens e PDFs. */
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-proof-surface{
  position:absolute!important;
  z-index:1!important;
  top:50%!important;
  left:50%!important;
  display:block!important;
  max-width:none!important;
  max-height:none!important;
  transform:translate3d(-50%,-50%,0) scale(1);
  transform-origin:center center!important;
  transition:transform .16s ease!important;
  will-change:transform!important;
}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-proof-surface[hidden]{display:none!important}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-proof-surface>[data-pay-proof-image]{
  position:static!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  transform:none!important;
  transition:none!important;
  background:#050607!important;
}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-proof-surface>[data-pay-proof-image][hidden]{display:none!important}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-pdf-pages{
  display:grid!important;
  width:100%!important;
  gap:12px!important;
  align-content:start!important;
}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-pdf-pages[hidden]{display:none!important}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-pdf-pages canvas{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  border:0!important;
  border-radius:3px!important;
  background:#fff!important;
  box-shadow:0 5px 20px rgba(0,0,0,.42)!important;
}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-proof-window.is-dragging .ge-pay-confirm-proof-surface{
  transition:none!important;
}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-proof-loading{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  justify-items:center!important;
  gap:12px!important;
  color:#ddd5c8!important;
  text-align:center!important;
}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-proof-loading[hidden]{display:none!important}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-proof-loading>span{
  width:42px!important;
  height:42px!important;
  border:2px solid rgba(232,212,139,.18)!important;
  border-top-color:var(--fived-gold-light)!important;
  border-radius:50%!important;
  animation:ge5dPaySpin .8s linear infinite!important;
}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-confirm-proof-loading>strong{
  color:#ddd5c8!important;
  font-size:12px!important;
  letter-spacing:.05em!important;
}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-proof-only-lightbox{
  z-index:10090!important;
  padding:18px!important;
}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-proof-only-card{
  position:relative!important;
  z-index:1!important;
  width:min(1100px,100%)!important;
  height:min(900px,calc(100dvh - 36px))!important;
  min-height:320px!important;
  padding:22px!important;
  border:1px solid rgba(232,212,139,.34)!important;
  border-radius:22px!important;
  background:#0b0c0c!important;
  box-shadow:0 30px 100px rgba(0,0,0,.72)!important;
  box-sizing:border-box!important;
}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-proof-only-card>.ge-pay-confirm-proof{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  gap:9px!important;
  height:100%!important;
  min-height:0!important;
}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-proof-only-card .ge-pay-confirm-proof-window{
  height:auto!important;
  min-height:0!important;
}
html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-proof-only-close{
  position:absolute!important;
  z-index:8!important;
  top:8px!important;
  right:8px!important;
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  padding:0!important;
  border:1px solid rgba(232,212,139,.42)!important;
  border-radius:50%!important;
  background:rgba(7,8,8,.88)!important;
  color:var(--fived-gold-light)!important;
  font:400 26px/1 sans-serif!important;
  cursor:pointer!important;
}

@media(max-width:768px){
  html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-proof-only-lightbox{padding:0!important}
  html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-proof-only-card{
    width:100%!important;
    height:100dvh!important;
    padding:68px 10px 12px!important;
    border:0!important;
    border-radius:0!important;
  }
  html body.ge-staff-v2-template:not(.wp-admin) .ge-pay-proof-only-close{
    top:14px!important;
    right:14px!important;
    width:42px!important;
    height:42px!important;
  }
  html body:not(.wp-admin) option.ge5d-mobile-edit-cancel{display:block}
  html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-detail-action-group-staff>button.ge5d-btn.danger[data-ge-cancel-toggle]{display:none!important}

  html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-summary-card .ge5d-detail span{
    font-size:12px!important;
    line-height:1.35!important;
  }
  html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-summary-card .ge5d-detail strong{
    font-size:15px!important;
    line-height:1.45!important;
  }
  html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-extras-panel>.ge5d-panel-title{
    display:flex!important;
    justify-content:center!important;
    text-align:center!important;
  }
  html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-extras-panel>.ge5d-panel-title>div{
    width:100%!important;
    text-align:center!important;
  }
  html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-extras-panel>.ge5d-panel-title h2{
    font-size:34px!important;
    line-height:1.05!important;
  }
  html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:flex-start!important;
    gap:8px 18px!important;
  }
  html body:not(.wp-admin) .ge5d-client-detail-v105 .ge5d-package-elements>li{
    flex:0 1 auto!important;
    width:auto!important;
    min-width:0!important;
    padding-left:14px!important;
    white-space:normal!important;
  }
  html body:not(.wp-admin) .ge-reserva-v3 .ge-packages{
    padding-top:10px!important;
    scroll-padding-top:10px!important;
  }
  html body:not(.wp-admin) .ge-reserva-v3 .ge-package-card:hover{
    transform:none!important;
  }
  html body:not(.wp-admin) .ge-confirm-page details.ge-confirm-summary>summary{
    padding-right:92px!important;
  }
}

/* Keep the package carousel and client fields inside the mobile booking panel. */
@media(max-width:768px){
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"] .ge-packages,
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"]:not(.is-guests-ready) .ge-packages{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:2px 2px 12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:2px!important;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"] .ge-packages::-webkit-scrollbar{display:none}
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"] .ge-package-card{
    flex:0 0 calc(100% - 4px)!important;
    width:calc(100% - 4px)!important;
    min-width:calc(100% - 4px)!important;
    max-width:calc(100% - 4px)!important;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"] .ge-package-swipe-aid,
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"]:not(.is-guests-ready) .ge-package-swipe-aid{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:8px auto 12px;
    color:#e8d48b;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-align:center;
    text-transform:uppercase;
  }
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"] .ge-package-swipe-hand{
    display:block!important;
    width:36px!important;
    height:36px!important;
    object-fit:contain;
    animation:ge5dPackageHandCue 1.6s ease-in-out infinite!important;
  }
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"] .ge-package-swipe-dots,
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"]:not(.is-guests-ready) .ge-package-swipe-dots{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:12px;
    margin:0 0 16px;
  }
  html body:not(.wp-admin) .ge-reserva-v3 .ge-package-swipe-dots button{
    width:8px;height:8px;min-width:8px;min-height:8px;padding:0;
    border:0;border-radius:999px;background:rgba(245,240,232,.32);
  }
  html body:not(.wp-admin) .ge-reserva-v3 .ge-package-swipe-dots button.is-active{
    width:22px;background:#c9a84c;
  }
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="6"] .ge-client-sections{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    gap:14px!important;
  }
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="6"] .ge-client-section{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:18px!important;
    border-radius:14px!important;
  }
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="6"] .ge-form-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
  }
}
@keyframes ge5dPackageHandCue{
  0%,100%{transform:translateX(-11px) rotate(-90deg);opacity:.68}
  50%{transform:translateX(11px) rotate(-90deg);opacity:1}
}
@media(max-width:768px){
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"]:not(.is-guests-ready) .ge-packages,
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"]:not(.is-guests-ready) .ge-package-swipe-aid,
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"]:not(.is-guests-ready) .ge-package-swipe-dots{
    display:none!important;
  }
  html body:not(.wp-admin) .ge-reserva-v3 .ge-panel[data-panel="3"].is-guests-ready .ge-package-swipe-aid.is-top .ge-package-swipe-hand{
    animation:ge5dPackageHandCue 1.1s ease-in-out infinite!important;
    transform-origin:center;
    will-change:transform;
  }
  html.ge5d-auto-scrollbars body:not(.wp-admin) .ge-reserva-v3 .ge-packages{
    scrollbar-width:none!important;
  }
  html.ge5d-auto-scrollbars body:not(.wp-admin) .ge-reserva-v3 .ge-packages::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html body:not(.wp-admin) .ge-reserva-v3 .ge-package-swipe-hand{animation:none!important}
}
