/* Ajustes da captura estática para reproduzir os controles do carrinho. */
body,
button,
input,
select,
textarea { font-family: Arial, Helvetica, sans-serif !important; }

/* Remove apenas o reCAPTCHA residual, preservando cabeçalho e cupom do evento. */
.grecaptcha-badge,
iframe[src*="recaptcha"],
iframe[src*="captcha"] { display: none !important; }

main { padding-top: 123px !important; }
.button-minus i::before { content: "−" !important; font-family: Arial, sans-serif !important; }
.button-plus i::before { content: "+" !important; font-family: Arial, sans-serif !important; }
.button-minus,
.button-plus {
  align-items: center !important;
  border: 1px solid #c8c8c8 !important;
  border-radius: 2px !important;
  display: flex !important;
  height: 20px !important;
  justify-content: center !important;
  padding: 0 !important;
  width: 20px !important;
}
.button-minus i,
.button-plus i { font-size: 18px !important; line-height: 18px !important; }
.quantity { min-width: 45px !important; }
.cart-product-group-item .line { display:flex !important; align-items:center !important; padding:18px !important; }
.cart-product-group app-product-item {
  display:block !important;
  margin-bottom:16px !important;
  padding-left:12px !important;
  padding-right:12px !important;
}
.cart-product-group .cart-product-group-item {
  background:#fff !important;
  border:1px solid #d9d9d9 !important;
  border-left:8px solid #e1e1e1 !important;
  border-radius:6px !important;
  overflow:hidden !important;
  width:100% !important;
}
.cart-product-group .cart-product-group-item:has(.quantity:not([value="0"])) {
  border-color:#00a1ba !important;
  border-left-color:#00a1ba !important;
}
.cart-product-group-item .infos { display:flex !important; flex:1 1 auto !important; flex-direction:column !important; min-width:0; }
.cart-product-group-item .infos label { color:#292929; font-size:16px; line-height:22px; margin-bottom:4px; }
.cart-product-group-item .infos .d-flex { display:flex !important; align-items:center !important; gap:8px; }
.cart-product-group-item .infos strong { color:#00a1ba !important; font-size:18px !important; white-space:nowrap; }
.cart-product-group-item .infos span { color:#9b9b9b; white-space:nowrap; }
.cart-product-group-item .quanty { display:flex !important; flex:0 0 auto; margin-left:15px; }
.cart-product-group-item .control { display:flex !important; align-items:center !important; justify-content:center !important; gap:10px; }
.cart-product-group-item .quantity { background:transparent !important; border:0 !important; color:#292929 !important; font-size:18px !important; font-weight:700 !important; height:28px; margin:0 !important; max-width:48px !important; min-width:48px !important; padding:0 !important; text-align:center !important; }
.bar-stick-action { background:#292929 !important; position:fixed !important; width:100% !important; z-index:999 !important; transition:.3s; }
.checkout-summary { display:flex; align-items:stretch; }
.checkout-summary-box { padding:10px 14px; color:#fff; }
.checkout-summary-box + .checkout-summary-box { background:rgba(255,255,255,.12); }
.checkout-summary-box p { font-size:14px; line-height:18px; margin:0; }
.checkout-summary-box strong { color:#00bdd9; font-size:16px; }
.modal{--bs-modal-zindex:1055;position:fixed;inset:0;z-index:1055;display:none;width:100%;height:100%;overflow:hidden;outline:0}
.modal-dialog{position:relative;margin:.5rem auto;pointer-events:none;max-width:800px;width:95%;height:calc(100% - 1rem);display:flex;align-items:center}
.modal-content{position:relative;display:flex;flex-direction:column;width:100%;max-height:min(760px,calc(100vh - 24px));pointer-events:auto;background:#fff;border-radius:.5rem;overflow:hidden}
.modal-backdrop{position:fixed;inset:0;z-index:1050;background:#000;opacity:.5}
.modal-header{display:flex;align-items:center;flex:0 0 auto;padding:1rem;background:#292929;color:#fff;text-align:center}
.modal-header h4{margin:0 auto;font-size:18px}.modal-header .btn-close{background:none;border:0;color:#fff;font-size:24px}.modal-header .btn-close::before{content:"×"}
.modal-body{padding:1rem;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.modal-body h2{font-size:18px;margin:0 0 5px;flex:0 0 auto}.modal-body>p,.modal-body>hr{flex:0 0 auto}.modal-body table{width:100%;font-size:.85rem}.modal-body th,.modal-body td{padding:.4rem .5rem}.text-right{text-align:right}.text-center{text-align:center}.nowrap{white-space:nowrap}
.rv-header{padding:12px 18px;background:#f0f0f0;border-radius:6px;display:flex;align-items:center}.rv-header-extra{margin-right:15px;padding-right:15px;border-right:1px solid #ccc}
.modal-body>.rv-step1-only{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.rv-products{flex:1 1 auto;margin:6px 0 16px;min-height:0;overflow-y:auto}.rv-footer{background:#292929;display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;margin:0 -1rem -1rem;position:relative;z-index:2}.rv-box{padding:12px}.rv-box p{color:#fff;margin:0;font-size:14px}.rv-box strong{color:#00bdd9}.rv-box-total{background:rgba(255,255,255,.1)}
.rv-terms{border:1px solid #dee2e6;border-radius:6px;padding:14px;min-height:0;overflow-y:auto;font-size:.82rem;line-height:1.6;color:#555}.rv-step2{display:none;min-height:0}.step2 .modal-body>.rv-step2{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.step2 .modal-body>.rv-step1-only{display:none}.rv-acceptance{background:#fff;display:flex;flex:0 0 auto;gap:8px;margin:0 -1rem;padding:14px 1rem;border-top:1px solid #dee2e6}.rv-acceptance input{flex:0 0 auto;margin-top:4px}.rv-acceptance label{line-height:1.4}
#reviewModal.step2 #reviewContinue { display:none !important; }
#reviewModal:not(.step2) #reviewReservar { display:none !important; }
#reviewModal.step2 #reviewReservar { align-items:center; display:inline-flex !important; justify-content:center; }
@media(max-width:575.98px){.modal-dialog{height:100%;margin:0 auto;width:100%;padding:6px}.modal-content{max-height:calc(100vh - 12px);border-radius:7px}.modal-header{min-height:72px}.modal-body{padding:16px 16px 12px}.rv-footer{margin:0 -16px -12px}.rv-acceptance{margin:0 -16px;padding:12px 16px}.rv-terms{font-size:.86rem;padding:14px}}

@media (max-width: 767.98px) {
  #page-cart .container.container-main,
  .container.container-main {
    box-sizing: border-box !important;
    max-width: 100% !important;
    overflow: hidden !important;
    width: 100% !important;
  }
  app-sessions-group,
  .cart-sessions {
    box-sizing: border-box !important;
    margin-top: 28px !important;
    max-width: 100% !important;
    overflow: visible !important;
    width: 100% !important;
  }
  .cart-sessions > .row:first-child {
    align-items: center !important;
    display: flex !important;
    margin-bottom: 4px !important;
    min-height: 32px !important;
  }
  .cart-sessions-title {
    color: #292929 !important;
    display: block !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .cart-sessions-grid {
    display: block !important;
    height: 84px !important;
    min-height: 84px !important;
    overflow: visible !important;
    position: relative !important;
    width: 100% !important;
  }
  .checkout-visible-date {
    align-items: center !important;
    background: #fff !important;
    color: #292929 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 84px !important;
    justify-content: center !important;
    left: 0 !important;
    margin: 0 auto !important;
    max-width: 220px !important;
    padding: 4px 10px 24px !important;
    pointer-events: none !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    transform: none !important;
    width: 100% !important;
    z-index: 20 !important;
  }
  .checkout-visible-date strong {
    color: #00a1ba !important;
    display: block !important;
    font-size: 18px !important;
    line-height: 22px !important;
  }
  .checkout-visible-date span {
    color: #292929 !important;
    display: block !important;
    font-size: 14px !important;
    line-height: 20px !important;
    text-align: center !important;
  }
  .checkout-visible-date i {
    border-bottom: 3px solid #00a1ba !important;
    border-right: 3px solid #00a1ba !important;
    bottom: 7px !important;
    height: 16px !important;
    left: calc(50% - 8px) !important;
    position: absolute !important;
    transform: rotate(45deg) !important;
    width: 16px !important;
  }
  .cart-sessions-grid .owl-carousel,
  .cart-sessions-grid .owl-stage-outer,
  .cart-sessions-grid owl-carousel-o,
  .cart-sessions-grid owl-stage,
  .cart-sessions-grid app-session-item {
    display: block !important;
    height: 105px !important;
    min-height: 105px !important;
    opacity: 1 !important;
    overflow: visible !important;
    visibility: visible !important;
    width: 100% !important;
  }
  .cart-sessions-grid .owl-stage {
    display: flex !important;
    justify-content: center !important;
    transform: none !important;
    width: 100% !important;
  }
  .cart-sessions-grid .owl-item {
    display: none !important;
    margin: 0 !important;
    width: 100% !important;
  }
  .cart-sessions-grid .owl-item.checkout-current-session,
  .cart-sessions-grid .owl-item:has(.cart-sessions-grid-item.selected) { display: block !important; }
  .cart-sessions-grid-item {
    align-items: center !important;
    background: #fff !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    height: 105px !important;
    justify-content: center !important;
    margin: auto !important;
    max-width: 220px !important;
    opacity: 1 !important;
    overflow: visible !important;
    padding: 10px 10px 28px !important;
    position: relative !important;
    transform: none !important;
    visibility: visible !important;
  }
  .cart-sessions-grid-item .cart-sessions-grid-item-extra {
    align-items: center !important;
    display: flex !important;
    flex: 1 1 auto !important;
    justify-content: center !important;
    min-height: 58px !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
  }
  .cart-sessions-grid-item .time {
    color: #292929 !important;
    display: flex !important;
    flex-direction: column !important;
    opacity: 1 !important;
    text-align: center !important;
    visibility: visible !important;
    width: 100% !important;
  }
  .cart-sessions-grid-item .time strong {
    color: #00a1ba !important;
    display: block !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 22px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .cart-sessions-grid-item .time .description {
    color: #292929 !important;
    display: block !important;
    font-size: 14px !important;
    line-height: 20px !important;
    opacity: 1 !important;
    text-transform: uppercase !important;
    visibility: visible !important;
  }
  .cart-sessions-grid-item .float-icon {
    border-bottom: 3px solid #00a1ba;
    border-right: 3px solid #00a1ba;
    bottom: 9px !important;
    display: block !important;
    height: 16px;
    left: calc(50% - 8px) !important;
    opacity: 1 !important;
    padding: 0 !important;
    position: absolute;
    transform: rotate(45deg);
    width: 16px !important;
  }
  .cart-sessions-grid-item .float-icon::before { content: none !important; }
  .cart-sessions .group-button-slide {
    display: flex !important;
    justify-content: center !important;
  }
  #session-prev,
  #session-next {
    background: transparent !important;
    border: 0 !important;
    color: #00a1ba !important;
    cursor: pointer !important;
    display: flex !important;
    font-size: 26px !important;
    opacity: 1 !important;
    padding: 10px 16px !important;
  }
  #session-prev::before { content: "‹"; }
  #session-next::before { content: "›"; }
  #session-prev span,
  #session-next span { display: none !important; }
  #session-prev.swiper-button-disabled,
  #session-next.swiper-button-disabled { opacity: .2 !important; }
  .cart-product-group-item .line { flex-direction:column !important; text-align:center !important; }
  .cart-product-group-item .infos { align-items:center !important; width:100%; }
  .cart-product-group-item .infos .d-flex { justify-content:center !important; width:100%; }
  .cart-product-group-item .quanty { margin:16px auto 0 !important; }
  .cart-product-group-item .control { flex-direction:row !important; }

  /* O desenho original do Owl fica oculto; a data estável acima o substitui. */
  .cart-sessions-grid > owl-carousel-o { display: none !important; }
}
