/* Default pages share the title/media shell instead of a separate reading column. */
.page-shell .page-heading { padding-bottom: 40px; }
.page-content > .wp-block-post-content {
  --wp--style--global--content-size:100%;
  --wp--style--global--wide-size:100%;
  width:100%;max-width:none;
}
.page-content > .wp-block-post-content > :where(:not(.alignleft):not(.alignright)),
.page-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright)) {
  max-width:100%;margin-left:0!important;margin-right:0!important;
}
.page-content .wp-block-post-content > * { margin-block:0 24px; }
.page-content p,.page-content li { font-size:18px;line-height:1.7;overflow-wrap:anywhere; }
.page-content h2 { font-size:36px;line-height:1.2;margin-block:48px 20px!important;text-wrap:balance; }
.page-content h3 { font-size:28px;line-height:1.3;margin-block:32px 16px!important;text-wrap:balance; }
.page-content li + li { margin-top:8px; }
.page-content ul,.page-content ol { padding-inline-start:26px; }
.page-content .wpcf7,.page-content form { width:100%;max-width:none; }
.page-content > .wp-block-post-content > p { max-width:100%; }
.page-content .wp-block-post-content > .booking-calendar { max-width:100%; }
.page-content .wp-block-image img { max-width:100%;height:auto; }
.page-content .wp-block-table,.page-content pre { max-width:100%;overflow-x:auto; }
.page-content figcaption { text-align:left;color:#b6bdc5;font-size:14px;line-height:1.6; }
.page-content .page-lead { font-size:22px;line-height:1.6;margin-bottom:40px; }
.page-content .page-guidance { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-block:36px 44px;border-block:1px solid #2a2e33;margin-block:0 44px; }
.page-content .page-guidance h2 { font-size:28px;margin:0 0 20px!important; }
.page-content .page-guidance :is(p,li) { font-size:17px; }
.page-content .page-guidance :is(p,ul) { margin-block:0; }
.page-content .page-guidance .wp-block-column { min-width:0; }
.page-content .page-enquiry > h2 { margin-top:0!important; }
.page-content .page-enquiry .wpcf7-form > p { margin-top:24px; }
body:has(.page-content) #trp-floater-ls { display:none; }
@media(max-width:1000px) {
  .page-content .page-guidance { grid-template-columns:1fr;gap:32px; }
}
@media(max-width:900px) {
  .page-shell .page-heading { padding-bottom:28px; }
  .page-content p,.page-content li { font-size:17px; }
  .page-content .page-lead { font-size:20px;margin-bottom:32px; }
  .page-content h2 { font-size:30px;margin-top:36px!important; }
  .page-content h3,.page-content .page-guidance h2 { font-size:25px; }
  .page-content .page-guidance { padding-block:28px 32px;margin-bottom:32px; }
}


/* Privacy navigation and the optional embedded booking service. */
.policy-contents { display:flex;flex-wrap:wrap;gap:16px 28px;padding-block:24px;border-block:1px solid #2a2e33;margin-bottom:40px!important; }
.policy-contents a { padding-block:6px;text-underline-offset:4px; }
.booking-privacy { border-block:1px solid #2a2e33;padding-block:32px; }
.page-content .booking-privacy h2 { margin-top:0!important; }
.booking-privacy-actions { display:flex;flex-wrap:wrap;gap:16px;margin-block:24px; }
.booking-privacy button { padding:16px 24px;min-height:48px;border:1px solid #f3a653;border-radius:6px;background:#191c1f;color:#f3a653;font:600 16px/1.5 "DM Sans",sans-serif;cursor:pointer; }
.booking-privacy button:hover { background:#2a231b; }
.booking-privacy button:focus-visible { outline:2px solid #f3a653;outline-offset:4px; }
.booking-privacy [hidden] { display:none!important; }
.booking-privacy .booking-privacy-status:empty { display:none; }
.booking-privacy [data-calendar-remove] { margin-bottom:24px; }
.booking-privacy .booking-calendar:empty { display:none; }


/* The full-width contents stay available without narrowing the policy text. */
.page-content .policy-contents { display:block;position:sticky;top:0;z-index:30;background:#111315;padding-block:16px;margin-block:0 40px!important; }
.policy-contents summary { cursor:pointer;min-height:32px;color:#e5e7eb;font-weight:600; }
.policy-contents nav { display:flex;flex-wrap:wrap;gap:4px 24px;padding-top:12px; }
.policy-contents a { display:inline-flex;align-items:center;min-height:44px;font-size:16px; }
.policy-contents a[aria-current] { color:#e5e7eb;text-decoration-thickness:2px; }
.policy-contents a:focus-visible,.policy-contents summary:focus-visible { outline:2px solid #f3a653;outline-offset:4px; }
body:has(.policy-contents) .page-content h2[id] { scroll-margin-top:var(--policy-toc-offset,180px); }
body:has(.policy-contents) .wpcf7 select { width:100%;min-height:52px;padding:12px;border:1px solid #2a2e33;border-radius:6px;background:#111315;color:#e5e7eb;font:inherit; }
body:has(.policy-contents) .wpcf7 label { display:block;margin-bottom:24px; }
body:has(.policy-contents) .wpcf7 select:focus-visible { outline:2px solid #f3a653;outline-offset:3px; }
@media(max-width:900px) {
 .policy-contents[open] nav { max-height:45vh;overflow-y:auto; }
 .policy-contents summary { min-height:44px;align-content:center; }
 .policy-contents nav { flex-direction:column;gap:4px; }
}

/* Account confirmation and privacy form use the existing Yasa control scale. */
.privacy-account-verified { margin-block:32px; }
.privacy-account-verified button { min-height:48px;padding:10px 18px;border:1px solid #f3a653;border-radius:6px;background:transparent;color:#f3a653;font:600 16px/1.5 var(--wp--preset--font-family--dm-sans,sans-serif);cursor:pointer; }
.privacy-account-verified button:focus-visible { outline:2px solid #f3a653;outline-offset:4px; }
body:has(.policy-contents) .wpcf7 .form-columns > p > br { display:none; }
