////
/// Copyright (c) 2016-2019 Martin Donath <martin.donath@squidfunk.com>
///
/// Permission is hereby granted, free of charge, to any person obtaining a
/// copy of this software and associated documentation files (the "Software"),
/// to deal in the Software without restriction, including without limitation
/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
/// and/or sell copies of the Software, and to permit persons to whom the
/// Software is furnished to do so, subject to the following conditions:
///
/// The above copyright notice and this permission notice shall be included in
/// all copies or substantial portions of the Software.
///
/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
/// DEALINGS
////

// ----------------------------------------------------------------------------
// Rules
// ----------------------------------------------------------------------------

// Scoped in typesetted content to match specificity of regular content
.md-typeset {

  // Tabbed code block content
  .superfences-content {
    display: none;
    order: 99;
    width: 100%;
    background-color: $md-color-white;

    // Actual content
    > * {
      margin: 0;
      border-radius: 0
    }
  }

  // Tabbed code block container
  .superfences-tabs {
    display: flex;
    position: relative;
    flex-wrap: wrap;
    margin: 1em 0;
    border: px2rem(1px) solid $md-color-black--lightest;
    border-radius: 0.2em;

    // Hide radio buttons
    > input {
      display: none;

      // Active tab label
      &:checked + label {
        font-weight: 700;

        // Show code tab content
        & + .superfences-content {
          display: block;
        }
      }
    }

    // Tab label
    > label {
      width: auto;
      padding: px2rem(12px);
      transition: color 0.125s;
      font-size: ms(-1);
      cursor: pointer;

      // Hovered tab label
      html &:hover {
        color: $md-color-accent;
      }
    }
  }

  // Full-width container on top-level
  > .superfences-tabs {

    // [mobile -]: Stretch to whole width
    @include break-to-device(mobile) {
      margin: 1em px2rem(-16px);
      border: 0;
      border-top: px2rem(1px) solid $md-color-black--lightest;
      border-radius: 0;

      // Actual container with code, overflowing
      pre,
      code {
        padding: px2rem(10.5px) px2rem(16px);
      }
    }
  }
}
