/**
 * Copyright IBM Corp. 2016, 2024
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */

@use '@carbon/styles/scss/breakpoint' as *;
@use '@carbon/styles/scss/config' as *;
@use '@carbon/styles/scss/spacing' as *;
@use '@carbon/styles/scss/theme' as *;
@use '@carbon/styles/scss/utilities' as *;
@use '@carbon/styles/scss/utilities/convert' as *;
@use '@carbon/styles/scss/type' as *;
@use '../../globals/utils/content-width' as *;
@use '../../globals/utils/hang' as *;
@use '../../globals/vars' as *;
@use '../../globals/imports' as *;
@use '../link-list';
@use '../image';
@use '../../internal/content-block';

@mixin leadspace-block {
  :host(#{$c4d-prefix}-leadspace-block) {
    display: block;
    margin-block: $spacing-07 $spacing-12;

    @include breakpoint(md) {
      margin-block: $spacing-10 $spacing-13;
    }

    ::slotted(#{$c4d-prefix}-leadspace-block-content) {
      padding: 0;
    }

    .#{$prefix}--content-layout ::slotted(*:not([slot])) {
      margin: 0;
    }
  }

  :host(#{$c4d-prefix}-leadspace-block[border]) {
    margin: $spacing-07 0;

    @include breakpoint(md) {
      margin: $spacing-10 0;
    }
  }

  :host(#{$c4d-prefix}-leadspace-block[border])
    ::slotted(#{$c4d-prefix}-leadspace-block-content) {
    padding-block: 0 $spacing-10;

    @include breakpoint(md) {
      padding-block-end: $spacing-12;
    }
  }

  :host(#{$c4d-prefix}-leadspace-block) c4d-hr {
    margin: 0 #{-$spacing-05};
  }

  :host(#{$c4d-prefix}-leadspace-block) ::slotted([slot='heading']),
  :host(#{$c4d-prefix}-leadspace-block-content)
    ::slotted(#{$c4d-prefix}-content-block-copy) {
    display: block;
    inline-size: 100%;

    @include breakpoint(md) {
      max-inline-size: to-rem(640px);
      padding-inline-end: $spacing-07;
    }
  }

  :host(#{$c4d-prefix}-leadspace-block) ::slotted([slot='heading']) {
    inline-size: 100%;

    margin-block-end: $spacing-07;
    margin-inline-start: 0;
    padding-inline-start: 0;

    @include breakpoint-down(md) {
      padding-inline-end: 0;
    }
  }

  :host(#{$c4d-prefix}-leadspace-block-content)
    ::slotted(#{$c4d-prefix}-link-list),
  .#{$prefix}--leadspace-block .#{$prefix}--link-list {
    display: block;
    margin-inline-end: 0;
    max-inline-size: none;
    padding-block-end: $spacing-09;

    @include breakpoint(md) {
      max-inline-size: to-rem(640px);
    }
  }

  :host(#{$c4d-prefix}-leadspace-block-media),
  .#{$prefix}--leadspace-block .#{$prefix}--leadspace-block__media {
    display: block;
    max-inline-size: to-rem(640px);
    padding-block-end: $spacing-07;

    ::slotted(#{$c4d-prefix}-image) {
      margin-block: 0;
    }
  }
}
