/**
 * Copyright IBM Corp. 2016, 2023
 *
 * 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/themes' as *;
@use '@carbon/styles/scss/type' as *;
@use '../../globals/utils/flex-grid' as *;
@use '../../globals/vars' as *;
@use '../../globals/imports' as *;

/// Footer nav group styles
/// @access private
/// @group footer

@mixin footer-nav-group {
  :host(#{$c4d-prefix}-footer-nav-group),
  .#{$prefix}--footer-nav-group,
  .#{$prefix}--footer-nav-group.#{$prefix}--accordion__item {
    @include theme($g100, feature-flag-enabled('enable-css-custom-properties'));

    display: block;

    padding-inline-start: 0;

    &:last-child {
      border-block-end: 1px solid $layer-accent-01;
      margin-block-end: $spacing-09;

      @include breakpoint(md) {
        border-block-end: none;
      }
    }

    .#{$prefix}--accordion__content {
      padding-inline: 0;

      ul {
        margin: 0;
        list-style: none;
        padding-inline-start: 0;
      }
    }

    .#{$prefix}--accordion__arrow {
      margin: 2px $spacing-05 0 0;
    }

    @include breakpoint(md) {
      @include make-col-ready;

      display: inline-block;
      margin-block-end: $spacing-09;

      padding-inline-start: 0;

      &.#{$prefix}--accordion__item {
        border-block-start: 0 transparent;
      }

      .#{$prefix}--accordion__heading {
        display: none;
      }

      .#{$prefix}--accordion__content {
        display: block;
        block-size: auto;
        opacity: 1;
        visibility: visible;
      }

      .#{$prefix}--accordion__content,
      &.#{$prefix}--accordion__item--active .#{$prefix}--accordion__content {
        padding: 0;
      }
    }
  }

  :host(#{$c4d-prefix}-footer-nav-group:not([open])) {
    @include breakpoint-down(md) {
      .#{$prefix}--accordion__content {
        display: none;
      }
    }
  }

  :host(#{$c4d-prefix}-footer-nav-item),
  .#{$prefix}--footer-nav-group {
    .#{$prefix}--link {
      @include breakpoint-down(md) {
        display: block;
        padding: $spacing-05;
        margin-block-start: 0;

        &:hover,
        &:active {
          text-decoration: none;
        }

        &:hover {
          background-color: $background-hover;
        }

        &:active {
          background-color: $layer-active-01;
        }

        &:focus {
          box-shadow: inset 0 0 0 1px $focus;
          outline-width: 0;
        }
      }
    }
  }

  .#{$prefix}--footer-nav-group__title {
    @include type-style('heading-01');

    display: none;
  }

  .#{$prefix}--footer-nav-group__link {
    @include type-style('body-01');
  }

  @include breakpoint(md) {
    .#{$prefix}--footer-nav-group__title {
      display: block;
      margin: 0;
    }

    :host(#{$c4d-prefix}-footer-nav-item),
    .#{$prefix}--footer-nav-group__item {
      margin-block-start: $spacing-03;
    }
  }
}
