/* Legal-page Gutenberg compatibility and authoritative header state. */
body.tts-legal-page .site-header,
body.tts-legal-page .site-header.is-sticky,
body.tts-legal-page.admin-bar .site-header.is-sticky {
  background: #190326;
  box-shadow: 0 10px 30px rgba(22, 10, 32, 0.08);
  backdrop-filter: none;
}

body.tts-legal-page .site-header .wp-block-navigation-item__content,
body.tts-legal-page .site-header .wp-block-navigation__responsive-container-open,
body.tts-legal-page .site-header .wp-block-navigation__responsive-container-close {
  color: #fff;
}

body.tts-legal-page .privacy-page,
body.tts-legal-page .terms-page {
  width: 100%;
  margin-block-start: 0;
}

body.tts-privacy-policy-page .privacy-policy > .container,
body.tts-terms-conditions-page .terms-policy > .container {
  display: block;
}

body.tts-privacy-policy-page .privacy-policy > .container.is-layout-flow > * + *,
body.tts-terms-conditions-page .terms-policy > .container.is-layout-flow > * + *,
body.tts-privacy-policy-page .privacy-policy__body.is-layout-flow > * + *,
body.tts-terms-conditions-page .terms-policy__body.is-layout-flow > * + *,
body.tts-privacy-policy-page .policy-section.is-layout-flow > * + *,
body.tts-terms-conditions-page .terms-section.is-layout-flow > * + *,
body.tts-privacy-policy-page .policy-contact__item.is-layout-flow > * + *,
body.tts-terms-conditions-page .terms-contact__item.is-layout-flow > * + * {
  margin-block-start: 0;
}

body.tts-privacy-policy-page .privacy-policy__hero,
body.tts-privacy-policy-page .privacy-policy__meta,
body.tts-privacy-policy-page .privacy-policy__body,
body.tts-privacy-policy-page .policy-section,
body.tts-privacy-policy-page .policy-contact,
body.tts-privacy-policy-page .policy-contact__item,
body.tts-terms-conditions-page .terms-policy__hero,
body.tts-terms-conditions-page .terms-policy__meta,
body.tts-terms-conditions-page .terms-policy__body,
body.tts-terms-conditions-page .terms-section,
body.tts-terms-conditions-page .terms-contact,
body.tts-terms-conditions-page .terms-contact__item {
  --wp--style--block-gap: 0;
}

body.tts-privacy-policy-page .privacy-policy__hero .eyebrow,
body.tts-privacy-policy-page .privacy-policy__hero .section-title,
body.tts-privacy-policy-page .privacy-policy__meta-label,
body.tts-privacy-policy-page .privacy-policy__meta-value,
body.tts-privacy-policy-page .privacy-policy__intro,
body.tts-privacy-policy-page .policy-section__title,
body.tts-privacy-policy-page .policy-section__copy,
body.tts-privacy-policy-page .policy-contact__label,
body.tts-privacy-policy-page .policy-contact__value,
body.tts-terms-conditions-page .terms-policy__hero .eyebrow,
body.tts-terms-conditions-page .terms-policy__hero .section-title,
body.tts-terms-conditions-page .terms-policy__meta-label,
body.tts-terms-conditions-page .terms-policy__meta-value,
body.tts-terms-conditions-page .terms-policy__intro,
body.tts-terms-conditions-page .terms-section__title,
body.tts-terms-conditions-page .terms-section__copy,
body.tts-terms-conditions-page .terms-contact__label,
body.tts-terms-conditions-page .terms-contact__value {
  margin-block-start: 0;
}

body.tts-privacy-policy-page .privacy-policy__intro,
body.tts-terms-conditions-page .terms-policy__intro {
  margin-block-end: 34px;
}

body.tts-privacy-policy-page .policy-contact__label,
body.tts-terms-conditions-page .terms-contact__label {
  margin-block-end: 8px;
}

body.tts-privacy-policy-page .policy-contact__value,
body.tts-terms-conditions-page .terms-contact__value {
  margin-block-end: 0;
}

body.tts-privacy-policy-page .policy-contact,
body.tts-terms-conditions-page .terms-contact {
  align-items: stretch;
}

body.tts-privacy-policy-page .policy-contact__item,
body.tts-terms-conditions-page .terms-contact__item {
  box-sizing: border-box;
  min-width: 0;
}

body.tts-privacy-policy-page .privacy-policy__card,
body.tts-terms-conditions-page .terms-policy__card {
  box-sizing: border-box;
  width: 100%;
}

@media (max-width: 1023px) {
  body.tts-privacy-policy-page .privacy-policy__intro,
  body.tts-terms-conditions-page .terms-policy__intro {
    margin-block-end: 24px;
  }
}

/* 1.1.20 full-width Gutenberg legal-page parity repair. */
body.tts-legal-page .wp-site-blocks > .wp-block-template-part + .wp-block-post-content,
body.tts-legal-page .wp-site-blocks > .wp-block-post-content,
body.tts-legal-page .entry-content.wp-block-post-content,
body.tts-legal-page .wp-block-post-content {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Existing 1.1.19 page content may not yet carry alignfull. Break it out of
   any saved constrained Post Content wrapper until the focused repair is run. */
body.tts-legal-page .wp-block-post-content > .privacy-page,
body.tts-legal-page .wp-block-post-content > .terms-page {
  position: relative;
  left: 50%;
  box-sizing: border-box;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 0 0 -50vw !important;
}

body.tts-legal-page .wp-block-post-content > .privacy-page.alignfull,
body.tts-legal-page .wp-block-post-content > .terms-page.alignfull {
  left: auto;
  width: 100% !important;
  margin-inline: 0 !important;
}

body.tts-legal-page .privacy-page,
body.tts-legal-page .terms-page,
body.tts-legal-page .privacy-policy,
body.tts-legal-page .terms-policy {
  max-width: none !important;
  margin-block-start: 0 !important;
}

/* Restore the source container geometry rather than Gutenberg contentSize. */
body.tts-privacy-policy-page .privacy-policy > .container,
body.tts-terms-conditions-page .terms-policy > .container {
  box-sizing: border-box;
  width: min(100%, 1440px) !important;
  max-width: 1440px !important;
  margin-inline: auto !important;
  padding-inline: 50px !important;
}

/* The fixed source header has its own 1440px container. A saved constrained
   template-part wrapper must not reduce it to theme.json contentSize. */
body.tts-legal-page .site-header > .header__inner,
body.tts-legal-page .site-header.is-layout-constrained > .header__inner,
body.tts-legal-page .site-header.is-layout-default > .header__inner {
  box-sizing: border-box;
  width: min(100%, 1440px) !important;
  max-width: 1440px !important;
  margin-inline: auto !important;
  padding-inline: 50px !important;
}

@media (max-width: 1023px) {
  body.tts-privacy-policy-page .privacy-policy > .container,
  body.tts-terms-conditions-page .terms-policy > .container,
  body.tts-legal-page .site-header > .header__inner,
  body.tts-legal-page .site-header.is-layout-constrained > .header__inner,
  body.tts-legal-page .site-header.is-layout-default > .header__inner {
    padding-inline: 15px !important;
  }
}

/* 1.1.21 legal header-slot and top-spacing repair. */
body.tts-legal-page {
  --wp--style--block-gap: 0;
}

body.tts-legal-page .wp-site-blocks {
  display: block !important;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
}

/* parts/header.html already renders the semantic fixed .site-header. Collapsing
   only the Gutenberg template-part slot removes its flow box, margins, and any
   stale spacing retained by a saved legal template. */
body.tts-legal-page .wp-site-blocks > .tts-header-slot,
body.tts-legal-page .wp-site-blocks > .wp-block-template-part:first-child {
  display: contents !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.tts-legal-page .wp-site-blocks > *,
body.tts-legal-page .wp-site-blocks > * + *,
body.tts-legal-page .wp-block-post-content,
body.tts-legal-page .wp-block-post-content > :first-child,
body.tts-legal-page .privacy-page,
body.tts-legal-page .terms-page {
  margin-block-start: 0 !important;
}

body.tts-legal-page .wp-site-blocks > .wp-block-post-content,
body.tts-legal-page .wp-site-blocks > main,
body.tts-legal-page .wp-site-blocks > .entry-content {
  padding-block-start: 0 !important;
}

/* 1.1.22 structural legal shell: one top-level block with no Gutenberg sibling gap. */
body.tts-legal-page,
body.tts-legal-page .wp-site-blocks,
body.tts-legal-page .tts-legal-shell {
  background-color: #190326;
}

body.tts-legal-page .wp-site-blocks > .tts-legal-shell,
body.tts-legal-page .tts-legal-shell {
  display: block !important;
  box-sizing: border-box;
  position: relative;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  row-gap: 0 !important;
  --wp--style--block-gap: 0 !important;
}

body.tts-legal-page .tts-legal-shell.is-layout-flow > * + *,
body.tts-legal-page .tts-legal-shell.is-layout-constrained > * + *,
body.tts-legal-page .tts-legal-shell > * + * {
  margin-block-start: 0 !important;
}

body.tts-legal-page .tts-legal-shell > .tts-header-slot,
body.tts-legal-page .tts-legal-shell > .wp-block-template-part:first-child {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.tts-legal-page .tts-legal-content-slot,
body.tts-legal-page .tts-legal-shell > .wp-block-post-content {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* The page content owns its purple-to-cream gradient. Keep the shell purple only
   as a loading/saved-template safety surface, never as a replacement for layout. */
body.tts-legal-page .tts-legal-content-slot > .privacy-page,
body.tts-legal-page .tts-legal-content-slot > .terms-page,
body.tts-legal-page .tts-legal-shell > .wp-block-post-content > .privacy-page,
body.tts-legal-page .tts-legal-shell > .wp-block-post-content > .terms-page {
  margin-block-start: 0 !important;
}

