/* Preserve typography and photos. Only line-breaking and text-table layout change. */
html body main :is(h1,h2,h3,p,li,dt,dd,label,summary,a,button) {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: manual;
}
html:lang(ja) body main :is(h1,h2,h3,p,li,dt,dd,label,summary,a,button) {
  line-break: strict;
}
html:lang(ja) body main :is(p,li,dt,dd,label,summary) {
  word-break: auto-phrase;
}
html:is(:lang(zh-Hans),:lang(zh-Hant)) body main :is(h1,h2,h3,p,li,dt,dd,label,summary,a,button) {
  line-break: strict;
}
html:lang(ko) body :is(main,.mobile-menu) :is(h1,h2,h3,p,li,dt,dd,label,summary,a,button,span,strong) {
  word-break: keep-all;
  overflow-wrap: break-word;
}
/* Keep only short amounts/time tokens together, never whole sentences. */
html body main :is(.reading-token, .rental-value .reading-token) {
  display: inline;
  white-space: nowrap;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
/* Definition labels must not squeeze paragraphs into a fixed narrow second cell. */
.prototype-compact-detail .compact-plan-return-summary > div {
  display: block;
}
.prototype-compact-detail .compact-plan-return-summary > div > dt {
  margin-bottom: .25rem;
}

body[data-page="prototype-kimono-options"] .prototype-booking {
  grid-template-columns: minmax(0,1fr);
}
body[data-page="prototype-kimono-options"] .prototype-booking .text-link {
  min-width: 0;
  flex-wrap: wrap;
}

/* Long Latin headings need the full text row. Photo columns and sizes stay intact. */
@media (min-width: 800px) {
  html:is(:lang(en),:lang(vi),:lang(ko)) [data-service-photo-hero] > .page-hero-copy {
    display: contents;
  }
  html:is(:lang(en),:lang(vi),:lang(ko)) [data-service-photo-hero] > .page-hero-copy > :is(.eyebrow,h1) {
    grid-column: 1 / -1;
  }
  html:is(:lang(en),:lang(vi),:lang(ko)) [data-service-photo-hero] > .page-hero-copy > .page-hero-lead {
    grid-column: 1;
  }
}

/* Permit tax notes to wrap; keep the short currency amount itself intact. */
html body main :is(.compact-plan-price,.compact-plan-cta,.compact-plan-final) .prototype-price-token {
  display:inline;
  white-space:normal;
  margin-inline-end:.2em;
}
