/* Shared vertical rhythm and card spacing for DAACK pages. */
:root {
  --daack-section-gap: 20px;
  --daack-section-pad-y: 24px;
  --daack-card-gap: 16px;
}

#site-root .site-section-shell {
  margin-block-start: var(--daack-section-gap) !important;
}

#site-root .site-section-shell > :is(.site-section-inner, .site-section-surface) {
  padding-block: var(--daack-section-pad-y) !important;
}

#site-root :is(.site-blog-section, .steam-section) {
  margin-block-start: var(--daack-section-gap) !important;
  padding-block: var(--daack-section-pad-y) !important;
}

#site-root .site-node.site-grid {
  row-gap: 22px !important;
  column-gap: 22px !important;
}

/* Flex containers already provide their own row gap; remove the builder's
   extra widget margin so the two spacing systems do not stack together. */
#site-root .site-node.site-flex.site-layout > .site-component:not(:last-child) {
  margin-block-end: 0 !important;
}

/* The exported page layouts below carried oversized 28–40px vertical gaps. */
#site-root :is(
  .site-node-id-1d691cfe, .site-node-id-3235a3c, .site-node-id-d837ea1,
  .site-node-id-6b59bd7a, .site-node-id-61720e41, .site-node-id-982aac6,
  .site-node-id-005f079, .site-node-id-f8e0913, .site-node-id-10dbaa6,
  .site-node-id-90aa107, .site-node-id-76ed769, .site-node-id-505ffec,
  .site-node-id-bd49805, .site-node-id-31de0e0, .site-node-id-0dada7c,
  .site-node-id-ba07a14, .site-node-id-ef757f7, .site-node-id-0b97214,
  .site-node-id-ca19c05, .site-node-id-289943d, .site-node-id-c0bb8c5,
  .site-node-id-1e442c9, .site-node-id-d389fa4
) {
  row-gap: 24px !important;
}

#site-root :is(.site-node-id-6dfabfb, .site-node-id-bede9f1,
  .site-node-id-47ca671f, .site-node-id-68016dc3, .site-node-id-25543963) {
  row-gap: 24px !important;
}

#site-root :is(.site-node-id-6dfabfb, .site-node-id-bede9f1,
  .site-node-id-47ca671f, .site-node-id-68016dc3, .site-node-id-25543963) {
  --row-gap: 24px !important;
}

#site-root .site-card-stack {
  row-gap: 24px !important;
}

#site-root .site-about-card-icon {
  margin-block-end: 0 !important;
}

/* Keep feature cards readable without large blank intervals between widgets. */
#site-root :is(.site-node-id-18c7199, .site-node-id-a4e3340) .site-grid > .site-node {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  row-gap: 0 !important;
  padding: 30px !important;
}

#site-root :is(.site-node-id-18c7199, .site-node-id-a4e3340) .site-grid > .site-node > .site-component {
  margin-block-end: 0 !important;
}

#site-root :is(.site-node-id-18c7199, .site-node-id-a4e3340) .site-grid > .site-node > .site-card-icon {
  margin: 0 0 12px !important;
}

#site-root :is(.site-node-id-18c7199, .site-node-id-a4e3340) .site-grid > .site-node :is(h2, h3, h4).site-heading-title {
  margin: 0 0 9px !important;
  line-height: 1.18 !important;
}

#site-root :is(.site-node-id-18c7199, .site-node-id-a4e3340) .site-grid > .site-node p.site-heading-title {
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* Compact, even spacing inside the common image, icon, and content card types. */
#site-root :is(.steam-card, .steam-explore-card, .steam-parameter-card,
  .site-infobox.site-icon-card, .site-direction-card, .site-photo-badge-card) {
  row-gap: 12px;
}

#site-root :is(.steam-card, .steam-explore-card, .steam-parameter-card,
  .site-infobox.site-icon-card, .site-direction-card, .site-photo-badge-card)
  :is(h2, h3, h4, .site-info-box-title) {
  margin-block: 0 8px !important;
  line-height: 1.2 !important;
}

#site-root :is(.steam-card, .steam-explore-card, .steam-parameter-card,
  .site-infobox.site-icon-card, .site-direction-card, .site-photo-badge-card) p {
  margin-block: 0 10px !important;
  line-height: 1.45 !important;
}

#site-root :is(.steam-card, .steam-explore-card, .steam-parameter-card,
  .site-infobox.site-icon-card, .site-direction-card, .site-photo-badge-card) p:last-child {
  margin-block-end: 0 !important;
}

/* Preserve the homepage overlap while giving its trust panel balanced insets. */
#site-root .site-hero-summary > .site-node-id-3cf6ef36 {
  padding: 22px !important;
}

#site-root .site-hero-summary .site-node-id-71e9abca {
  margin-block-end: 14px !important;
}

/* Homepage trust panel: use the full summary width and remove the video promo. */
#site-root .site-hero-summary > .site-node-id-3cf6ef36 {
  width: 40% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: 12px !important;
}

#site-root .site-home-hero + .site-hero-summary .site-node-id-6fc1470f {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
}

#site-root .site-home-hero + .site-hero-summary .site-node-id-7028c467 {
  display: none !important;
}

#site-root .site-home-hero + .site-hero-summary .site-node-id-6dfabfb {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 24px !important;
  justify-content: space-between !important;
}

#site-root .site-home-hero + .site-hero-summary .site-node-id-4e1f97d5 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: 20px !important;
  width: 100% !important;
}

#site-root .site-home-hero + .site-hero-summary .site-node-id-69c852b3,
#site-root .site-home-hero + .site-hero-summary .site-node-id-6f8c5dbb {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  flex: initial !important;
}

#site-root .site-home-hero + .site-hero-summary .site-node-id-38a99b18 {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
}

#site-root .site-home-hero + .site-hero-summary .site-node-id-38a99b18 .site-counter-number-wrapper,
#site-root .site-home-hero + .site-hero-summary .site-node-id-38a99b18 .site-counter-number,
#site-root .site-home-hero + .site-hero-summary .site-node-id-38a99b18 .site-counter-number-suffix {
  font-size: 42px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

#site-root .site-home-hero + .site-hero-summary .site-node-id-22ddc492 {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

#site-root .site-home-hero + .site-hero-summary .site-node-id-acde1b7 {
  box-sizing: border-box !important;
  display: flex !important;
  flex: 0 0 64px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  margin: 0 !important;
  padding: 8px !important;
  border-radius: 12px !important;
  background: #b3e2a2 !important;
}

#site-root .site-home-hero + .site-hero-summary .site-node-id-acde1b7 .site-component-content {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

#site-root .site-home-hero + .site-hero-summary .site-node-id-acde1b7 img {
  display: block !important;
  width: 42px !important;
  height: 48px !important;
  max-width: none !important;
  object-fit: contain !important;
}

#site-root .site-home-hero + .site-hero-summary .site-node-id-520e635d {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

@media (max-width: 767px) {
  #site-root .site-hero-summary > .site-node-id-3cf6ef36 {
    width: calc(100% - 24px) !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-4e1f97d5 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-69c852b3,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-6f8c5dbb {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 72px !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(5px, 1.5vw, 8px) !important;
    text-align: left !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-38a99b18 .site-counter-number-wrapper,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-38a99b18 .site-counter-number,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-38a99b18 .site-counter-number-suffix {
    font-size: clamp(24px, 7vw, 30px) !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-22ddc492,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-520e635d {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-22ddc492 .site-heading-title,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-520e635d .site-heading-title {
    font-size: clamp(11px, 3.4vw, 14px) !important;
    line-height: 1.2 !important;
    text-align: left !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-acde1b7 {
    flex: 0 0 clamp(40px, 12vw, 48px) !important;
    width: clamp(40px, 12vw, 48px) !important;
    height: clamp(40px, 12vw, 48px) !important;
    min-width: clamp(40px, 12vw, 48px) !important;
    padding: 4px !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-acde1b7 img {
    width: clamp(30px, 9vw, 36px) !important;
    height: clamp(34px, 10vw, 40px) !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-6dfabfb {
    width: 105% !important;
    max-width: none !important;
    margin-left: -2.5% !important;
    margin-right: -2.5% !important;
    padding: 16px !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-4e1f97d5 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
}

@media (min-width: 1025px) {
  #site-root .site-hero-summary > .site-node-id-3cf6ef36 {
    width: 30% !important;
  }
}

@media (min-width: 1025px) and (max-width: 1279px) {
  #site-root .site-hero-summary > .site-node-id-3cf6ef36 {
    width: 45% !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-6dfabfb {
    padding: 16px !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-4e1f97d5 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-69c852b3,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-6f8c5dbb {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 72px !important;
    flex-direction: row !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: left !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-38a99b18,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-22ddc492,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-520e635d {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-acde1b7 {
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    padding: 8px !important;
  }
}

@media (min-width: 1280px) and (max-width: 1440px) {
  #site-root .site-home-hero + .site-hero-summary .site-node-id-6dfabfb {
    box-sizing: border-box !important;
    width: 130% !important;
    max-width: none !important;
    justify-self: end !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-4e1f97d5 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-69c852b3,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-6f8c5dbb {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 72px !important;
    flex-direction: row !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: left !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-38a99b18,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-22ddc492,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-520e635d {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-38a99b18 .site-counter-number-wrapper,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-38a99b18 .site-counter-number,
  #site-root .site-home-hero + .site-hero-summary .site-node-id-38a99b18 .site-counter-number-suffix {
    font-size: 36px !important;
  }

  #site-root .site-home-hero + .site-hero-summary .site-node-id-acde1b7 {
    flex: 0 0 56px !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  :root {
    --daack-section-gap: 16px;
    --daack-section-pad-y: 20px;
  }
}

@media (max-width: 767px) {
  :root {
    --daack-section-gap: 10px;
    --daack-section-pad-y: 14px;
    --daack-card-gap: 14px;
  }

  #site-root .site-section-shell > :is(.site-section-inner, .site-section-surface) {
    padding-block: var(--daack-section-pad-y) !important;
  }

  #site-root :is(.site-blog-section, .steam-section) {
    margin-block-start: var(--daack-section-gap) !important;
    padding-block: var(--daack-section-pad-y) !important;
  }

  #site-root .site-hero-summary {
    padding-block-end: 16px !important;
  }

  #site-root .site-node.site-grid {
    row-gap: var(--daack-card-gap) !important;
    column-gap: var(--daack-card-gap) !important;
  }

  #site-root :is(
    .site-node-id-1d691cfe, .site-node-id-3235a3c, .site-node-id-d837ea1,
    .site-node-id-6b59bd7a, .site-node-id-61720e41, .site-node-id-982aac6,
    .site-node-id-005f079, .site-node-id-f8e0913, .site-node-id-10dbaa6,
    .site-node-id-90aa107, .site-node-id-76ed769, .site-node-id-505ffec,
    .site-node-id-bd49805, .site-node-id-31de0e0, .site-node-id-0dada7c,
    .site-node-id-ba07a14, .site-node-id-ef757f7, .site-node-id-0b97214,
    .site-node-id-ca19c05, .site-node-id-289943d, .site-node-id-c0bb8c5,
    .site-node-id-1e442c9, .site-node-id-d389fa4, .site-node-id-4dae9d4,
    .site-node-id-6dfabfb, .site-node-id-bede9f1, .site-node-id-47ca671f,
    .site-node-id-68016dc3, .site-node-id-25543963
  ) {
    row-gap: 16px !important;
    --row-gap: 16px !important;
  }

  #site-root .site-card-stack {
    gap: 16px !important;
    row-gap: 16px !important;
  }

  #site-root :is(.site-node-id-18c7199, .site-node-id-a4e3340) .site-grid > .site-node {
    padding: 20px !important;
    border-radius: 20px !important;
  }

  #site-root :is(.site-node-id-18c7199, .site-node-id-a4e3340) .site-grid {
    row-gap: 14px !important;
  }

  #site-root :is(.site-node-id-18c7199, .site-node-id-a4e3340) .site-grid > .site-node > .site-card-icon {
    margin-bottom: 10px !important;
  }

  #site-root :is(.steam-card, .steam-explore-card, .steam-parameter-card,
    .site-infobox.site-icon-card, .site-direction-card, .site-photo-badge-card) {
    padding: 20px !important;
  }

  #site-root .site-hero-summary > .site-node-id-3cf6ef36 {
    padding: 16px !important;
    margin-top: -8px !important;
  }

  #site-root .site-hero-summary .site-node-id-71e9abca {
    margin-block-end: 12px !important;
  }
}

/* Keep enquiry-section copy aligned consistently on narrow screens. Exported
   heading widgets can retain left alignment while neighboring copy is centered. */
@media (max-width: 767px) {
  #site-root .site-layout-inner:has(> .site-node.site-form-card) > .site-node:not(.site-form-card) {
    align-items: center !important;
    text-align: center !important;
  }

  #site-root .site-layout-inner:has(> .site-node.site-form-card) > .site-node:not(.site-form-card) :is(.site-heading-title, .site-component-text-editor, .site-component-text-editor p) {
    text-align: center !important;
  }

  #site-root .site-layout-inner:has(> .site-node.site-form-card) > .site-node:not(.site-form-card) .site-button-align-stretch {
    align-self: center !important;
  }
}

/* Compact every repeated icon-card grid on the city boiler pages. */
@media (max-width: 700px) {
  #site-root .location-landing .location-short-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(136px, auto) !important;
    grid-auto-flow: row dense !important;
    gap: 12px !important;
  }

  #site-root .location-landing .location-short-grid > .steam-card {
    box-sizing: border-box !important;
    grid-column: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }

  #site-root .location-landing .location-short-grid > .steam-card .steam-icon {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 10px !important;
    border-radius: 12px !important;
  }

  #site-root .location-landing .location-short-grid > .steam-card h3 {
    margin: 0 0 8px !important;
    font-size: clamp(15px, 4vw, 17px) !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere;
  }

  #site-root .location-landing .location-short-grid > .steam-card p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  #site-root .location-landing .location-short-grid.boiler-grid-seven > .steam-card:last-child {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 12px !important;
    min-height: 76px !important;
  }

  #site-root .location-landing .location-short-grid.boiler-grid-seven > .steam-card:last-child .steam-icon {
    margin: 0 !important;
  }

  #site-root .location-landing .location-short-grid.boiler-grid-seven > .steam-card:last-child h3 {
    margin: 0 !important;
  }
}
