/* Datos y pago: versión compacta, clara y coherente con El Parce. */
#booking-form .booking-step-panel[data-booking-step="4"],
#booking-form .booking-step-panel[data-booking-step="5"]{
  width:min(760px,100%);
  margin-inline:auto;
  box-sizing:border-box;
}

#booking-form .google-fill-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin:0 0 14px;
  padding:13px 14px;
  border-color:#3c382c;
  border-radius:13px;
  background:linear-gradient(135deg,#171713,#101010);
}
#booking-form .google-fill-card strong{font-size:14px;line-height:1.25}
#booking-form .google-fill-card small{font-size:12px;line-height:1.35}
#booking-form .google-data-button{min-height:42px;padding:9px 13px;font-size:13px}

#booking-form .booking-customer-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
#booking-form .booking-customer-fields label{margin:0!important;font-size:13px}
#booking-form .booking-customer-fields input,
#booking-form .booking-optional-details textarea{
  min-height:48px;
  margin-top:6px;
  padding:11px 12px;
  box-sizing:border-box;
}
#booking-form .booking-customer-fields label:last-child{grid-column:1/-1}

#booking-form .booking-optional-details,
#booking-form .booking-coupon-details{
  margin:12px 0;
  border:1px solid #3c382c;
  border-radius:12px;
  background:#11110f;
  overflow:hidden;
}
#booking-form .booking-optional-details summary,
#booking-form .booking-coupon-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  color:#f2eee5;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  list-style:none;
}
#booking-form .booking-optional-details summary::-webkit-details-marker,
#booking-form .booking-coupon-details summary::-webkit-details-marker{display:none}
#booking-form .booking-optional-details summary::after,
#booking-form .booking-coupon-details summary::after{content:'+';color:#e2bd35;font-size:20px;line-height:1}
#booking-form .booking-optional-details[open] summary::after,
#booking-form .booking-coupon-details[open] summary::after{content:'−'}
#booking-form .booking-optional-details summary span,
#booking-form .booking-coupon-details summary span{
  margin-left:auto;
  padding:4px 8px;
  border:1px solid #51451e;
  border-radius:999px;
  color:#cdb65f;
  font-size:10px;
  letter-spacing:.05em;
  text-transform:uppercase;
}
#booking-form .booking-optional-details>label{display:block;margin:0!important;padding:0 14px 14px;font-size:12px}
#booking-form .booking-optional-details textarea{width:100%;resize:vertical}
#booking-form .booking-coupon-details .coupon-entry{margin:0!important;padding:0 14px 14px!important;border:0!important;background:transparent!important}

#booking-form .booking-primary-action{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:50px;
  margin-top:14px;
  box-sizing:border-box;
  border-radius:10px;
}

#booking-form .booking-final-summary{
  margin-bottom:12px;
  padding:15px 16px;
  border-radius:13px;
}
#booking-form .booking-final-summary strong{font-size:18px}
#booking-form .booking-final-summary small{font-size:13px}
#booking-form .payment-total{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:4px 12px;
  margin:12px 0;
  padding:14px 16px;
  border:1px solid #66531a;
  border-radius:12px;
  background:linear-gradient(135deg,#1f1a0c,#111);
}
#booking-form .payment-total span{font-size:13px;font-weight:800;color:#ddd5c5}
#booking-form .payment-total strong{font-size:24px;color:#e4bd35}
#booking-form .payment-total small{grid-column:1/-1;font-size:11px;color:#aaa}

#booking-form fieldset.booking-payment-methods{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  margin:14px 0!important;
  padding:0!important;
  border:0!important;
}
#booking-form fieldset.booking-payment-methods legend{
  margin:0 0 8px!important;
  font-size:16px!important;
}
#booking-form fieldset.booking-payment-methods label.payment-mercadopago,
#booking-form fieldset.booking-payment-methods label.payment-cash,
#booking-form fieldset.booking-payment-methods label.payment-transfer{
  min-width:0!important;
  min-height:166px!important;
  padding:68px 10px 38px!important;
  justify-content:flex-start!important;
  border-width:1px!important;
  border-radius:12px!important;
  font-size:12px!important;
  line-height:1.3!important;
  text-align:center!important;
}
#booking-form fieldset.booking-payment-methods label::before{
  top:12px!important;
  left:50%!important;
  width:96px!important;
  height:44px!important;
  transform:translateX(-50%)!important;
  background-size:82px auto!important;
}
#booking-form fieldset.booking-payment-methods input[type="radio"]{
  right:50%!important;
  top:auto!important;
  bottom:8px!important;
  width:24px!important;
  height:24px!important;
  transform:translateX(50%)!important;
  background-size:16px!important;
}
#booking-form fieldset.booking-payment-methods .payment-title{min-height:0!important;font-size:12px!important}
#booking-form fieldset.booking-payment-methods .payment-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  min-width:0!important;
}
#booking-form fieldset.booking-payment-methods .payment-copy .payment-title{
  display:block!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
}
#booking-form fieldset.booking-payment-methods .payment-subtitle{
  display:block!important;
  color:#cfc7b8!important;
  font-size:10px!important;
  line-height:1.25!important;
  font-weight:600!important;
}
#booking-form fieldset.booking-payment-methods .payment-english{
  display:block!important;
  color:#e0ba2f!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
#booking-form fieldset.booking-payment-methods .cash-price-preview,
#booking-form fieldset.booking-payment-methods .transfer-price-preview{
  margin:7px 0 0!important;
  padding:5px!important;
  font-size:10px!important;
  line-height:1.25!important;
}
#booking-form .transfer-note{margin:0 0 8px;font-size:11px;line-height:1.45;color:#aaa}
#booking-form #slots{scroll-margin-top:105px}

@media(max-width:700px){
  #booking-form .booking-step-panel[data-booking-step="4"],
  #booking-form .booking-step-panel[data-booking-step="5"]{padding:12px!important}
  #booking-form .google-fill-card{grid-template-columns:1fr;padding:12px}
  #booking-form .google-fill-card>div{display:none}
  #booking-form .google-data-button{width:100%;box-sizing:border-box;justify-content:center}
  #booking-form .booking-customer-fields{grid-template-columns:1fr;gap:10px}
  #booking-form .booking-customer-fields label:last-child{grid-column:auto}
  #booking-form .booking-customer-fields input{min-height:46px}
  #booking-form fieldset.booking-payment-methods{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #booking-form fieldset.booking-payment-methods label.payment-mercadopago,
  #booking-form fieldset.booking-payment-methods label.payment-cash,
  #booking-form fieldset.booking-payment-methods label.payment-transfer{
    min-height:76px!important;
    padding:12px 44px 12px 96px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
  #booking-form fieldset.booking-payment-methods label::before{
    top:50%!important;
    left:10px!important;
    width:74px!important;
    height:42px!important;
    transform:translateY(-50%)!important;
    background-size:66px auto!important;
  }
  #booking-form fieldset.booking-payment-methods input[type="radio"]{
    right:12px!important;
    top:50%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
  }
  #booking-form fieldset.booking-payment-methods .payment-title{width:auto!important;text-align:left!important}
  #booking-form fieldset.booking-payment-methods .payment-copy{align-items:flex-start!important;text-align:left!important}
  #booking-form fieldset.booking-payment-methods .payment-copy .payment-title{font-size:14px!important}
  #booking-form fieldset.booking-payment-methods .payment-subtitle{font-size:10px!important}
  #booking-form fieldset.booking-payment-methods .payment-english{font-size:9px!important}
  #booking-form fieldset.booking-payment-methods .cash-price-preview,
  #booking-form fieldset.booking-payment-methods .transfer-price-preview{width:auto!important;text-align:left!important}
  #booking-form .transfer-note{margin-top:-3px}
  #booking-form #slots{scroll-margin-top:74px}
  body.booking-only .scroll-to-top,
  body.booking-only .back-to-top,
  body.booking-only [data-scroll-top]{display:none!important}
}
