/* AC63 R9: shared checkout consent presentation; native Woo validation stays authoritative. */
.marby-checkout-terms #payment #place_order,
.marby-checkout-terms #payment #place_order *,
.marby-checkout-terms #payment #place_order:hover,
.marby-checkout-terms #payment #place_order:focus { color: var(--marby-color-white) !important; }
.marby-checkout-terms #payment #place_order:focus-visible { outline: 2px solid var(--marby-color-marby-blue); outline-offset: 3px; }
.marby-checkout-terms #payment #place_order:disabled { opacity: .5; cursor: not-allowed; }
.marby-checkout-terms #marby-modal-dialog .marby-checkout-terms-modal { box-sizing: border-box; width: min(900px,100%); max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); overflow-y: auto; background: var(--marby-color-white); color: var(--marby-color-ink); }
.marby-checkout-terms #marby-modal-dialog .marby-checkout-terms-modal :is(h1,h2,h3,h4,h5,h6,p,li,td,th,dt,dd) { color: var(--marby-color-ink) !important; }
.marby-checkout-terms #marby-modal-dialog .marby-checkout-legal { font-family: var(--marby-font-body); font-size: var(--marby-public-p-size); line-height: 1.6; overflow-wrap: anywhere; }
.marby-checkout-terms #marby-modal-dialog .marby-checkout-legal :is(h1,h2,h3,h4,h5,h6) { line-height: 1.3; margin: 1.5em 0 .5em; }
.marby-checkout-terms #marby-modal-dialog .marby-checkout-legal p { margin: 0 0 1em; }
.marby-checkout-terms #marby-modal-dialog .marby-checkout-legal :is(ul,ol) { padding-left: 1.5em; }
.marby-checkout-terms #marby-modal-dialog .marby-checkout-legal a { color: var(--marby-color-marby-blue-dark); text-decoration: underline; }

/* Salient puts the checkbox before its label rather than inside it. */
.marby-checkout-terms .woocommerce-terms-and-conditions-wrapper .form-row:has(> #terms) { display: flex; align-items: flex-start; gap: .5rem; }
.marby-checkout-terms .woocommerce-terms-and-conditions-wrapper .form-row > #terms { position: static; opacity: 1; appearance: auto; flex: 0 0 1rem; width: 1rem !important; height: 1rem !important; min-height: 1rem; padding: 0; margin: .25rem 0 0; }
.marby-checkout-terms .woocommerce-terms-and-conditions-wrapper label[for="terms"] { display: block; flex: 1; margin: 0; padding: 0; }
.marby-checkout-terms .woocommerce-terms-and-conditions-wrapper label[for="terms"] > span:empty { display: none; }
