/* Shared reading rhythm for public pages. Author-defined text formats still take precedence. */
:root { --pearl-reading-leading:1.85; --pearl-reading-paragraph-gap:1em; }
body { line-height:1.8; }
body p { line-height:var(--pearl-reading-leading); }
.cruise-rich-copy,
.journey-detail-intro,
.journey-disclosure-body,
.journey-disclosure .journey-detail-timeline .cruise-rich-copy,
.journey-info-grid .cruise-rich-copy,
.cabin-modal-copy [data-cabin-description],
.voyage-story-body,
.news-article-copy,
.news-article-copy .news-article-note,
.page-shell .page-body,
.team-page .team-card-bio,
.wizard-copy,.wizard-alert,.wizard-quote-only,
.booking-wizard .booking-review,
.booking-statement,
.inquiry-context,.inquiry-notice,.inquiry-success { line-height:var(--pearl-reading-leading); }
.cruise-rich-copy p,.voyage-story-body p,.news-article-copy p,.page-body p { margin-block:0 var(--pearl-reading-paragraph-gap); line-height:var(--pearl-reading-leading); }
.cruise-rich-copy p:last-child,.voyage-story-body p:last-child,.news-article-copy p:last-child,.page-body p:last-child { margin-bottom:0; }
.cruise-rich-copy li,.voyage-story-body li,.news-article-copy li,.page-body li { line-height:var(--pearl-reading-leading); }
.cruise-rich-copy li + li,.voyage-story-body li + li,.news-article-copy li + li,.page-body li + li { margin-block-start:.5em; }
.journey-disclosure-body { font-size:14px; }
.journey-disclosure-body .journey-checklist { gap:12px; }
.journey-disclosure-body .journey-checklist > li { --journey-checklist-font-size:14px; --journey-checklist-leading:1.85; margin:0; padding-inline-start:24px; line-height:var(--journey-checklist-leading); }
.journey-disclosure-body .journey-checklist > li::before { top:calc((var(--journey-checklist-font-size) * var(--journey-checklist-leading) - 15px) / 2); }
.journey-boarding-row > dt,.journey-boarding-row > dd { line-height:var(--pearl-reading-leading); }
.section-heading p,.section-copy p,.editorial-copy p,.contact-copy p,
.card-body .compact-copy,.card-body .compact-copy p,
.activity-card .activity-card-copy,.activity-extension p:last-child,
.stay-card .stay-detail,.journey-cabin-card p,.journey-cabin-heading > p,
.faq-list details p,.footer-invitation-aside > p,.footer-brand > p,
.inquiry-header p:last-child,.inquiry-optional,
.booking-modal-heading p,.wizard-cabin p,.booking-guests .booking-room-plan,
.booking-transfer-date,.booking-transfer-fee { line-height:var(--pearl-reading-leading); }
/* Numbered highlights remain compact; spacing between items differs from paragraph leading. */
.journey-detail-highlights .cruise-rich-copy > ol > li { min-height:44px; padding:8px 0 8px 44px; margin:0; line-height:1.7; }
.journey-detail-highlights .cruise-rich-copy > ol > li::before { top:6px; width:28px; height:28px; font-size:11px; }
.journey-detail-highlights .cruise-rich-copy > ol > li p { line-height:1.7; }
@media(max-width:700px){
    .journey-disclosure-body { font-size:14px; }
    .journey-detail-highlights .cruise-rich-copy > ol > li { padding-inline-start:40px; }
}
