/* TNM 1.0.7 - editable vertical spacing.
 * All styles are opt-in; existing sections keep their original TNM dimensions.
 * We only override padding, never margins, so a colored section has no white gaps.
 * The limited !important declarations beat the template's classic/mobile padding
 * shorthand; they only match an explicitly configured module setting.
 */
.tnm-section[data-tnm-padding-top="0"] { --tnm-spacing-padding-top: 0px; }
.tnm-section[data-tnm-padding-top="8"] { --tnm-spacing-padding-top: 8px; }
.tnm-section[data-tnm-padding-top="16"] { --tnm-spacing-padding-top: 16px; }
.tnm-section[data-tnm-padding-top="24"] { --tnm-spacing-padding-top: 24px; }
.tnm-section[data-tnm-padding-top="32"] { --tnm-spacing-padding-top: 32px; }
.tnm-section[data-tnm-padding-top="48"] { --tnm-spacing-padding-top: 48px; }
.tnm-section[data-tnm-padding-top="64"] { --tnm-spacing-padding-top: 64px; }
.tnm-section[data-tnm-padding-top="96"] { --tnm-spacing-padding-top: 96px; }
.tnm-section[data-tnm-padding-top="128"] { --tnm-spacing-padding-top: 128px; }
.tnm-section[data-tnm-padding-top="160"] { --tnm-spacing-padding-top: 160px; }
.tnm-section[data-tnm-padding-bottom="0"] { --tnm-spacing-padding-bottom: 0px; }
.tnm-section[data-tnm-padding-bottom="8"] { --tnm-spacing-padding-bottom: 8px; }
.tnm-section[data-tnm-padding-bottom="16"] { --tnm-spacing-padding-bottom: 16px; }
.tnm-section[data-tnm-padding-bottom="24"] { --tnm-spacing-padding-bottom: 24px; }
.tnm-section[data-tnm-padding-bottom="32"] { --tnm-spacing-padding-bottom: 32px; }
.tnm-section[data-tnm-padding-bottom="48"] { --tnm-spacing-padding-bottom: 48px; }
.tnm-section[data-tnm-padding-bottom="64"] { --tnm-spacing-padding-bottom: 64px; }
.tnm-section[data-tnm-padding-bottom="96"] { --tnm-spacing-padding-bottom: 96px; }
.tnm-section[data-tnm-padding-bottom="128"] { --tnm-spacing-padding-bottom: 128px; }
.tnm-section[data-tnm-padding-bottom="160"] { --tnm-spacing-padding-bottom: 160px; }
.tnm-section[data-tnm-content-gap="0"] { --tnm-spacing-content-gap: 0px; }
.tnm-section[data-tnm-content-gap="8"] { --tnm-spacing-content-gap: 8px; }
.tnm-section[data-tnm-content-gap="16"] { --tnm-spacing-content-gap: 16px; }
.tnm-section[data-tnm-content-gap="24"] { --tnm-spacing-content-gap: 24px; }
.tnm-section[data-tnm-content-gap="32"] { --tnm-spacing-content-gap: 32px; }
.tnm-section[data-tnm-content-gap="48"] { --tnm-spacing-content-gap: 48px; }
.tnm-section[data-tnm-content-gap="64"] { --tnm-spacing-content-gap: 64px; }
.tnm-section[data-tnm-content-gap="96"] { --tnm-spacing-content-gap: 96px; }

/* Full-bleed split sections retain their edge-to-edge images. On these
 * layouts the vertical space belongs to the text panel, not the outer image.
 */
.tnm-section[data-tnm-padding-top]:not(.tnm-section--hero-page):not(.tnm-section--preset-home-technology):not(.tnm-section--preset-home-sustainability):not(.tnm-section--preset-quality-detail) {
  padding-block-start: var(--tnm-spacing-padding-top) !important;
}
.tnm-section[data-tnm-padding-bottom]:not(.tnm-section--hero-page):not(.tnm-section--preset-home-technology):not(.tnm-section--preset-home-sustainability):not(.tnm-section--preset-quality-detail) {
  padding-block-end: var(--tnm-spacing-padding-bottom) !important;
}
.tnm-section--hero-page[data-tnm-padding-top] .page-hero-inner,
.tnm-section--preset-home-technology[data-tnm-padding-top] .process-copy-wide,
.tnm-section--preset-home-sustainability[data-tnm-padding-top] > .copy,
.tnm-section--preset-quality-detail[data-tnm-padding-top] > .copy {
  padding-block-start: var(--tnm-spacing-padding-top) !important;
}
.tnm-section--hero-page[data-tnm-padding-bottom] .page-hero-inner,
.tnm-section--preset-home-technology[data-tnm-padding-bottom] .process-copy-wide,
.tnm-section--preset-home-sustainability[data-tnm-padding-bottom] > .copy,
.tnm-section--preset-quality-detail[data-tnm-padding-bottom] > .copy {
  padding-block-end: var(--tnm-spacing-padding-bottom) !important;
}
/* This control changes the gap after a separate section heading. Hero/CTA
 * headings are positioned within their dedicated layout and are unaffected. */
.tnm-section[data-tnm-content-gap] .section-head {
  margin-block-end: var(--tnm-spacing-content-gap) !important;
}
.tnm-section[data-tnm-content-gap] .section-head + .tnm-section-body {
  margin-block-start: 0 !important;
}

@media (max-width: 760px) {
  .tnm-section[data-tnm-padding-top-mobile="0"] { --tnm-spacing-padding-top: 0px; }
  .tnm-section[data-tnm-padding-top-mobile="8"] { --tnm-spacing-padding-top: 8px; }
  .tnm-section[data-tnm-padding-top-mobile="16"] { --tnm-spacing-padding-top: 16px; }
  .tnm-section[data-tnm-padding-top-mobile="24"] { --tnm-spacing-padding-top: 24px; }
  .tnm-section[data-tnm-padding-top-mobile="32"] { --tnm-spacing-padding-top: 32px; }
  .tnm-section[data-tnm-padding-top-mobile="48"] { --tnm-spacing-padding-top: 48px; }
  .tnm-section[data-tnm-padding-top-mobile="64"] { --tnm-spacing-padding-top: 64px; }
  .tnm-section[data-tnm-padding-top-mobile="96"] { --tnm-spacing-padding-top: 96px; }
  .tnm-section[data-tnm-padding-top-mobile="128"] { --tnm-spacing-padding-top: 128px; }
  .tnm-section[data-tnm-padding-top-mobile="160"] { --tnm-spacing-padding-top: 160px; }
  .tnm-section[data-tnm-padding-bottom-mobile="0"] { --tnm-spacing-padding-bottom: 0px; }
  .tnm-section[data-tnm-padding-bottom-mobile="8"] { --tnm-spacing-padding-bottom: 8px; }
  .tnm-section[data-tnm-padding-bottom-mobile="16"] { --tnm-spacing-padding-bottom: 16px; }
  .tnm-section[data-tnm-padding-bottom-mobile="24"] { --tnm-spacing-padding-bottom: 24px; }
  .tnm-section[data-tnm-padding-bottom-mobile="32"] { --tnm-spacing-padding-bottom: 32px; }
  .tnm-section[data-tnm-padding-bottom-mobile="48"] { --tnm-spacing-padding-bottom: 48px; }
  .tnm-section[data-tnm-padding-bottom-mobile="64"] { --tnm-spacing-padding-bottom: 64px; }
  .tnm-section[data-tnm-padding-bottom-mobile="96"] { --tnm-spacing-padding-bottom: 96px; }
  .tnm-section[data-tnm-padding-bottom-mobile="128"] { --tnm-spacing-padding-bottom: 128px; }
  .tnm-section[data-tnm-padding-bottom-mobile="160"] { --tnm-spacing-padding-bottom: 160px; }
  .tnm-section[data-tnm-content-gap-mobile="0"] { --tnm-spacing-content-gap: 0px; }
  .tnm-section[data-tnm-content-gap-mobile="8"] { --tnm-spacing-content-gap: 8px; }
  .tnm-section[data-tnm-content-gap-mobile="16"] { --tnm-spacing-content-gap: 16px; }
  .tnm-section[data-tnm-content-gap-mobile="24"] { --tnm-spacing-content-gap: 24px; }
  .tnm-section[data-tnm-content-gap-mobile="32"] { --tnm-spacing-content-gap: 32px; }
  .tnm-section[data-tnm-content-gap-mobile="48"] { --tnm-spacing-content-gap: 48px; }
  .tnm-section[data-tnm-content-gap-mobile="64"] { --tnm-spacing-content-gap: 64px; }
  .tnm-section[data-tnm-content-gap-mobile="96"] { --tnm-spacing-content-gap: 96px; }

  .tnm-section[data-tnm-padding-top-mobile]:not(.tnm-section--hero-page):not(.tnm-section--preset-home-technology):not(.tnm-section--preset-home-sustainability):not(.tnm-section--preset-quality-detail) {
    padding-block-start: var(--tnm-spacing-padding-top) !important;
  }
  .tnm-section[data-tnm-padding-bottom-mobile]:not(.tnm-section--hero-page):not(.tnm-section--preset-home-technology):not(.tnm-section--preset-home-sustainability):not(.tnm-section--preset-quality-detail) {
    padding-block-end: var(--tnm-spacing-padding-bottom) !important;
  }
  .tnm-section--hero-page[data-tnm-padding-top-mobile] .page-hero-inner,
  .tnm-section--preset-home-technology[data-tnm-padding-top-mobile] .process-copy-wide,
  .tnm-section--preset-home-sustainability[data-tnm-padding-top-mobile] > .copy,
  .tnm-section--preset-quality-detail[data-tnm-padding-top-mobile] > .copy {
    padding-block-start: var(--tnm-spacing-padding-top) !important;
  }
  .tnm-section--hero-page[data-tnm-padding-bottom-mobile] .page-hero-inner,
  .tnm-section--preset-home-technology[data-tnm-padding-bottom-mobile] .process-copy-wide,
  .tnm-section--preset-home-sustainability[data-tnm-padding-bottom-mobile] > .copy,
  .tnm-section--preset-quality-detail[data-tnm-padding-bottom-mobile] > .copy {
    padding-block-end: var(--tnm-spacing-padding-bottom) !important;
  }
  .tnm-section[data-tnm-content-gap-mobile] .section-head {
    margin-block-end: var(--tnm-spacing-content-gap) !important;
  }
  .tnm-section[data-tnm-content-gap-mobile] .section-head + .tnm-section-body {
    margin-block-start: 0 !important;
  }
}
