/* Approved integration of the live checkout with the compact public pages. */
body[data-reservation-ux] .consent-layer[data-consent-presentation="compact-banner"]:not([data-standard-consent-modal="true"]) {
  position: static; inset: auto; width: 100%; max-height: none; padding: 0; overflow: visible;
}
body[data-reservation-ux] .consent-layer .consent-panel {
  position: relative; width: min(100%, 72rem); margin: 0 auto; padding: 8px 12px;
  border: 0; border-bottom: 1px solid var(--line-strong); border-radius: 0;
  box-shadow: none; background: #fffdf9; color: #24201d;
}
body[data-reservation-ux] .consent-heading { min-height: 44px; padding-right: 48px; align-items: center; gap: 0; }
body[data-reservation-ux] .consent-heading h2 { margin: 0; font-size: 1rem; line-height: 1.4; }
body[data-reservation-ux] .consent-close { position: absolute; top: 8px; right: 8px; width: 44px; min-width: 44px; height: 44px; }
body[data-reservation-ux] .consent-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
body[data-reservation-ux] .consent-summary-copy { display: flex; flex: 1 1 260px; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 0; font-size: .875rem; line-height: 1.5; }
body[data-reservation-ux] .consent-summary-copy p { margin: 0; text-decoration: none; overflow-wrap: break-word; word-break: normal; flex: 1 1 180px; }
body[data-reservation-ux] .consent-summary .consent-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); flex: 1 1 260px; gap: 8px; margin: 0; }
body[data-reservation-ux] .consent-summary :is(button, a) { min-height: 44px; padding: 6px 10px; font-size: .875rem; line-height: 1.4; white-space: normal; word-break: normal; }
body[data-reservation-ux] .consent-live:empty { display: none; }
html:has(body[data-reservation-ux][data-standard-consent-modal="true"]) { overflow: hidden; }
body[data-reservation-ux] .consent-layer[data-standard-consent-modal="true"] {
  position: fixed; z-index: 1000; inset: var(--standard-consent-viewport-top,0px) 0 auto;
  display: grid; width: 100%; height: var(--standard-consent-viewport-height,100dvh);
  max-height: none; padding: 8px; align-items: center; overflow: hidden;
  background: rgb(36 32 29 / 22%); pointer-events: auto; overscroll-behavior: contain;
}
body[data-reservation-ux] .consent-layer[data-standard-consent-modal="true"] .consent-panel {
  min-height: 0; max-height: 100%; overflow: auto; overscroll-behavior: contain; scroll-padding-block: 8px;
}
body[data-reservation-ux][data-standard-consent-modal="true"] .mobile-sticky,
body[data-reservation-ux][data-reservation-editing="true"] .mobile-sticky { display: none !important; }
body[data-reservation-ux] { padding-bottom: max(var(--reservation-sticky-height,0px), var(--standard-bottom-clearance,0px)); }
body[data-reservation-ux] :is(input,select,textarea,summary,button,h1,h2) { scroll-margin-block: calc(var(--header-height) + 12px) calc(var(--reservation-sticky-height,0px) + 12px); }
body[data-reservation-ux] .plan-list-card:not(:has(.plan-list-card-media)) { grid-template-columns: minmax(0,1fr); }
body[data-reservation-ux] .plan-list-card:not(:has(.plan-list-card-media)) .plan-list-card-content { width: 100%; }
body[data-reservation-ux]:lang(en) :is(p,a,h1,h2,h3,button,summary) { word-break: normal; overflow-wrap: break-word; hyphens: manual; }
body[data-reservation-ux] .booking-panel a { min-width:44px; min-height:44px; }
.translated-twelve-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.translated-twelve-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--line); background:#fffdf9; }
.translated-twelve-card img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.translated-twelve-content { display:flex; flex-direction:column; flex:1; padding:16px; min-width:0; }
.translated-twelve-content h3 { margin:0; font-size:1.15rem; }
.translated-twelve-content h3 a { display:flex; align-items:center; min-height:44px; }
.translated-twelve-price { color:var(--bengara); font-weight:700; white-space:normal; overflow-wrap:break-word; }
.translated-twelve-actions { display:grid; gap:8px; margin-top:auto; }
.translated-twelve-actions a { min-height:52px; min-width:44px; white-space:normal; }
@media(max-width:60rem){.translated-twelve-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:40rem){.translated-twelve-grid{grid-template-columns:minmax(0,1fr);}}
@media (max-width:600px) {
  body[data-reservation-ux] .bank-shell { padding-top: 20px; }
  body[data-reservation-ux] .consent-summary-copy { flex-basis: 100%; }
  body[data-reservation-ux] .consent-summary .consent-actions { flex-basis: 100%; }
}
@media (max-width:360px) {
  /* Override the earlier Japanese detail system's 30px !important rule. */
  body[data-reservation-ux] main[data-ja-detail-system] .compact-plan-price[data-price] { font-size: 24px !important; max-width: 100%; }
}
