@import 'govuk/tools/all';
@import 'govuk/helpers/all';

// Import govuk-frontend styling which this component depends on
// It does not import twice if used by another component because
// govuk-frontend is named in govuk-exports.
@import 'govuk/objects/width-container';
@import 'govuk/utilities/visually-hidden';
@import 'govuk/core/typography';
@import 'govuk/components/button/_button';

@include govuk-exports("digitalmarketplace/component/cookie-banner") {
  // component should only be shown if JS is available, by the cookieMessage JS, so hide by default
  .dm-cookie-banner {
    display: none;
  }

  .dm-cookie-banner__wrapper {
    @include govuk-responsive-padding(4, "top");
    @include govuk-responsive-padding(5, "bottom");
  }

  .dm-cookie-banner__buttons {
    display: flex;
    flex-wrap: wrap;

    @include govuk-media-query($from: tablet) {
      flex-wrap: nowrap;
    }
  }

  .dm-cookie-banner__button,
  .dm-cookie-banner__link {
    vertical-align: baseline;
  }

  .dm-cookie-banner__button {
    display: inline-block;
    flex: 1 0;
    padding-left: govuk-spacing(9);
    padding-right: govuk-spacing(9);
    margin-bottom: govuk-spacing(2);
    margin-right: govuk-spacing(4);

    @include govuk-media-query($from: tablet) {
      flex: 0 0 150px;
      padding-left: govuk-spacing(2);
      padding-right: govuk-spacing(2);
      margin-bottom: govuk-spacing(1);
    }
  }

  .dm-cookie-banner__link {
    @include govuk-font(19);
    line-height: 1;
    display: block;
    width: 100%;
    padding: 9px 0px 6px;

    @include govuk-media-query($from: tablet) {
      display: inline;
      width: auto;
      margin-left: govuk-spacing(6);
    }
  }

  .dm-cookie-banner__confirmation {
    display: none;
    position: relative;
    padding: govuk-spacing(4) 0;

    // This element is focused using JavaScript so that it's being read out by screen readers
    // for this reason we don't want to show the default outline or emphasise it visually using `govuk-focused-text`
    &:focus {
      outline: none;
    }
  }

  .dm-cookie-banner__confirmation-message,
  .dm-cookie-banner__hide-button {
    display: block;

    @include govuk-media-query($from: desktop) {
      display: inline-block;
    }
  }

  .dm-cookie-banner__confirmation-message {
    margin-right: govuk-spacing(4);

    @include govuk-media-query($from: desktop) {
      max-width: 90%;
    }
  }

  .dm-cookie-banner__hide-button {
    @include govuk-font($size: 19);
    color: $govuk-link-colour;
    outline: 0;
    border: 0;
    background: none;
    text-decoration: underline;
    padding: govuk-spacing(0);
    margin-top: govuk-spacing(2);
    right: govuk-spacing(3);
    cursor: pointer;

    @include govuk-media-query($from: desktop) {
      margin-top: govuk-spacing(0);
      position: absolute;
      right: govuk-spacing(4);
    }
  }
}
