/* V484 — Global two-checkbox policy acceptance component.
   Separate, equally styled Terms & Conditions and Cancellation Policy rows. */
.v436-policy-acceptance{
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
  box-sizing:border-box!important;margin:16px 0 14px!important;padding:16px!important;
  border:1px solid #d7e0e6!important;border-radius:14px!important;background:#fff!important;
  box-shadow:none!important;color:#173149!important;text-align:left!important;
}
.v436-policy-list{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;min-width:0!important}
.v436-policy-row{
  display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;align-items:start!important;
  gap:0 12px!important;width:100%!important;min-width:0!important;min-height:34px!important;
  margin:0!important;padding:8px 10px!important;border:1px solid #e5ebef!important;border-radius:10px!important;
  background:#fbfcfd!important;box-sizing:border-box!important;text-align:left!important;
}
.v436-policy-row>input[type="checkbox"]{
  appearance:auto!important;-webkit-appearance:checkbox!important;width:22px!important;height:22px!important;
  min-width:22px!important;max-width:22px!important;min-height:22px!important;margin:1px 0 0!important;padding:0!important;
  border-radius:4px!important;accent-color:#f56b16!important;cursor:pointer!important;justify-self:start!important;align-self:start!important;flex:none!important;
}
.v436-policy-copy{
  display:block!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;
  color:#173149!important;font-family:Arial,sans-serif!important;font-size:14px!important;font-style:normal!important;
  font-weight:700!important;line-height:1.5!important;letter-spacing:0!important;text-align:left!important;
  white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;
}
.v436-policy-link{
  appearance:none!important;-webkit-appearance:none!important;display:inline!important;width:auto!important;min-width:0!important;max-width:none!important;
  height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;color:#0b6f98!important;font-family:Arial,sans-serif!important;
  font-size:14px!important;font-style:normal!important;font-weight:800!important;line-height:1.5!important;letter-spacing:0!important;
  text-transform:none!important;text-align:left!important;vertical-align:baseline!important;white-space:normal!important;
  word-break:normal!important;overflow-wrap:break-word!important;text-decoration:underline!important;text-underline-offset:2px!important;
  text-decoration-thickness:1px!important;cursor:pointer!important;
}
.v436-policy-link:hover,.v436-policy-link:focus-visible{color:#07506e!important;outline:none!important;text-decoration-thickness:2px!important}
.v436-policy-note{display:block!important;margin:10px 2px 0!important;color:#60737c!important;font:600 11.75px/1.45 Arial,sans-serif!important;text-align:left!important}
.v436-policy-error{display:none!important;margin:9px 2px 0!important;color:#a33122!important;font:700 12px/1.4 Arial,sans-serif!important;text-align:left!important}
.v436-policy-acceptance.is-error{border-color:rgba(163,49,34,.42)!important;background:#fff9f7!important}
.v436-policy-acceptance.is-error .v436-policy-error{display:block!important}
.v436-policy-row.is-missing{border-color:rgba(163,49,34,.34)!important;background:#fffafa!important}
.v436-policy-incomplete{opacity:.58!important;filter:saturate(.72)!important;cursor:not-allowed!important}
/* Legacy gates are intentionally suppressed when V436 is active. */
.v407-policy-acceptance,.v358-policy-gate{display:none!important}
@media(max-width:640px){
  .v436-policy-acceptance{margin:14px 0 12px!important;padding:14px!important;border-radius:13px!important}
  .v436-policy-list{gap:9px!important}
  .v436-policy-row{grid-template-columns:21px minmax(0,1fr)!important;gap:0 10px!important;padding:8px 9px!important;min-height:33px!important}
  .v436-policy-row>input[type="checkbox"]{width:21px!important;height:21px!important;min-width:21px!important;max-width:21px!important;min-height:21px!important}
  .v436-policy-copy,.v436-policy-link{font-size:13px!important;line-height:1.5!important}
  .v436-policy-note{font-size:11.25px!important}.v436-policy-error{font-size:11.75px!important}
}

/* V436 final regression: legal policy pages opened from a booking must sit above
   every booking/payment/navigation overlay so their Back control receives the
   user's real pointer click. The booking remains open underneath and its state
   is restored unchanged when the policy closes. */
html.policy-open,body.policy-open{overflow:hidden!important;}
body.policy-open .policy-page:not([hidden]){
  z-index:2147483600!important;
  pointer-events:auto!important;
}
