@media (max-width: 700px) {
/* Applies to both RCM and demonstration extras. Never more than two columns. */
.ex-page .ex-extras-full { box-sizing:border-box; width:100%; max-width:1200px; min-width:0; padding-left:16px; padding-right:16px; margin-left:auto; margin-right:auto; }
.ex-page .ex-extras-full .ex-extras-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-items:start; width:100%; min-width:0; }
.ex-page .ex-extras-full .ex-extra-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:start; align-items:center; gap:4px 10px; box-sizing:border-box; width:100%; max-width:100%; min-width:0; min-height:0; height:auto; padding:10px 12px; border-radius:8px; overflow-wrap:anywhere; }
.ex-page .ex-extras-full .ex-extra-card > * { min-width:0; max-width:100%; box-sizing:border-box; }
.ex-page .ex-extras-full .ex-extra-card-top,
.ex-page .ex-extras-full .ex-extra-desc,
.ex-page .ex-extras-full .ex-extra-card > p,
.ex-page .ex-extras-full .ex-meet-dropoff-btn { grid-column:1 / -1; }
.ex-page .ex-extras-full .ex-extra-desc { flex:none; font-size:.8rem; line-height:1.3; margin:0; }
.ex-page .ex-extras-full .ex-extra-desc:empty { display:none; }
.ex-page .ex-extras-full .ex-extra-name { font-size:.9rem; line-height:1.3; }
.ex-page .ex-extras-full .ex-extra-price { margin:0; padding:0; font-size:.82rem; }
.ex-page .ex-extras-full .ex-extra-price strong { font-size:.88rem; }
.ex-page .ex-extras-full .ex-qty-row { margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; }
.ex-page .ex-extras-full .ex-qty-btn { width:44px; height:44px; min-width:44px; min-height:44px; }
.ex-page .ex-extras-full .rcm-extra-check { margin:0; padding:0; min-height:44px; justify-self:end; font-size:.82rem; }
.ex-page .ex-extras-full .ex-extra-card p { margin:0; font-size:.8rem; }
.ex-page .ex-extras-full .ex-extra-total { margin:0; justify-self:end; }
@media(max-width:700px) {
 .ex-page .ex-extras-full .ex-extras-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:360px) {
 .ex-page .ex-extras-full .ex-extra-card { grid-template-columns:minmax(0,1fr); }
 .ex-page .ex-extras-full .rcm-extra-check,
 .ex-page .ex-extras-full .ex-qty-row { justify-self:start; }
}

.rcm-checkout fieldset { min-width:0; max-width:100%; padding:8px; box-sizing:border-box; }
.rcm-checkout fieldset label { min-height:44px; cursor:pointer; overflow-wrap:anywhere; }
.rcm-checkout fieldset input[type="radio"] { appearance:auto; position:static; opacity:1; pointer-events:auto; flex-shrink:0; accent-color:#0e5f43; }
.rcm-checkout fieldset label:has(input:checked) { border-color:#0e5f43; background:#f0faf5; }
}
@media (max-width:700px) {
 .rcm-designed-extras .ocr-option-info { grid-column:1 / -1; font-size:.8rem; line-height:1.4; }
 .rcm-designed-extras .ocr-option-info summary { cursor:pointer; padding:8px 0; }
 .rcm-designed-extras .ocr-option-info p { padding:4px 0; }
 .rcm-designed-extras .ex-extras-full > .ex-sidebar { margin:20px 0; width:100%; min-width:0; }
 .rcm-designed-extras .ex-extras-footer { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
 .rcm-designed-extras .ex-extras-footer-right, .rcm-designed-extras .ex-extras-footer .ex-continue-btn { width:100%; min-width:0; white-space:normal; }
}
/* Mobile button width includes padding; no inherited side margins. */
@media (max-width:700px) {
 .ex-page .ex-extras-footer,
 .ex-page .ex-extras-footer-right { box-sizing:border-box; width:100%; max-width:100%; min-width:0; }
 .ex-page .ex-extras-footer .ex-continue-btn,
 .ex-page .ex-extras-footer .ex-extras-continue-btn {
  box-sizing:border-box; width:100%; max-width:100%; min-width:0;
  margin-left:0; margin-right:0; padding:16px; white-space:normal;
  overflow-wrap:anywhere; text-align:center;
 }
 .rcm-designed-results .sr2-card-price-panel { box-sizing:border-box; min-width:0; max-width:100%; }
 .rcm-designed-results .sr2-book-btn {
  box-sizing:border-box; width:100%; max-width:100%; min-width:0;
  margin-left:0; margin-right:0; padding:15px 16px;
  white-space:normal; overflow-wrap:anywhere; text-align:center;
 }
}
/* Narrow-screen overflow audit: fix sizing, not page-level clipping. */
@media (max-width:700px) {
 .bd-layout > *, .bd-section, .bd-summary,
 .contact-grid > *, .support-grid > *, .mb-lookup-wrap > *, .mb-found-grid > *,
 .conf-grid > *, .ld-grid > *, .access-enquiry fieldset { min-width:0; max-width:100%; box-sizing:border-box; }
 .bd-section { padding:20px; }
 .bd-review-grid { grid-template-columns:minmax(0,1fr); }
 .bd-review-block, .bd-review-row > *, .bd-summary-row > *,
 .preview-review > *, .payment-option > *, .conf-hero-text,
 .mb-detail-row > *, .support-shuttle-row-val { min-width:0; overflow-wrap:anywhere; }
 .bd-btn-row { flex-wrap:wrap; }
 .bd-btn-row button, .rcm-checkout button, .checkin-actions button,
 .access-actions button, .mb-checkin-btn, .loc-book-btn,
 .conf-action-btn, .conf-checkin-btn, .mb-action-btn, .mb-submit-btn {
  box-sizing:border-box; max-width:100%; min-width:0; white-space:normal; overflow-wrap:anywhere;
 }
 .rcm-checkout button { width:100%; margin-left:0; margin-right:0; }
 .rcm-checkout-breakdown { grid-template-columns:minmax(0,1fr) auto; }
 .rcm-checkout-breakdown dt { min-width:0; overflow-wrap:anywhere; }
 .rcm-checkout-breakdown dd { margin:0; }
 .access-enquiry legend { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
 .ocr-dob { grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr) minmax(0,1fr); }
 .ocr-dob select { max-width:100%; }
 .ocr-message, .ocr-demo-card, .ocr-assistant-topics button { min-width:0; max-width:100%; overflow-wrap:anywhere; }
 .support-shuttle-row, .mb-vehicle-row, .conf-vehicle-row { flex-wrap:wrap; }
 .conf-hero-text { min-width:0; }
 .sr2-filter-col, .sr2-filter-col-wide { min-width:0; max-width:100%; }
 .sr2-card-similar { white-space:normal; }
 .text-link { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
 .contact-info-item a, .footer-contact a, .legal-sections a, .checkin-email { overflow-wrap:anywhere; }
}
@media (max-width:420px) {
 .rcm-checkout-breakdown { grid-template-columns:minmax(0,1fr); gap:6px; }
 .rcm-checkout-breakdown dd { margin-bottom:8px; }
 .bd-progress-inner { flex-wrap:wrap; }
}
