/* for Extra Drag Space */
// https://searchfox.org/mozilla-esr78/search?q=--space-above-tabbar&path=&case=false&regexp=false
:root {
  --uc-space-above-tabbar: 8px; /* If the option is not specified, it is equivalent to 0px. */
}

//-- Mixin ---------------------------------------------------------------------
@mixin _dragSpaceHeight {
  :root:is([tabsintitlebar], [customtitlebar])[sizemode="normal"] #toolbar-menubar[autohide="true"] {
    @content;
  }
  @include Option("userChrome.padding.drag_space.maximized") {
    :root:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #toolbar-menubar[autohide="true"] {
      @content;
    }
  }
}
@mixin _dragSpacePadding {
  /* Add extra space to titlebar for dragging */
  :root[sizemode="normal"][chromehidden~="menubar"] #TabsToolbar > .toolbar-items,
  :root[sizemode="normal"] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar > .toolbar-items {
    @content;
  }
  @include Option("userChrome.padding.drag_space.maximized") {
    :root[sizemode="maximized"][chromehidden~="menubar"] #TabsToolbar > .toolbar-items,
    :root[sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar > .toolbar-items {
      @content;
    }
  }
}

//------------------------------------------------------------------------------

@include OS($win10) {
  @include _dragSpaceHeight {
    height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar) - var(--tabs-navbar-shadow-size));
  }
}
@include OS($win7, $win8, $linux) {
  @include _dragSpaceHeight {
    height: calc(var(--tab-min-height) + var(--uc-space-above-tabbar));
  }
}

@include OS($mac) {
  #TabsToolbar > .toolbar-items {
    padding-top: var(--uc-space-above-tabbar) !important;
  }
}
@include OS($win7) {
  /* Add 4px extra margin on top of the tabs toolbar on Windows 7. */
  @include _dragSpacePadding {
    padding-top: calc(var(--uc-space-above-tabbar) + 4px) !important;
  }
}
@include OS($win8, $win10, $linux) {
  @include _dragSpacePadding {
    padding-top: var(--uc-space-above-tabbar) !important;
  }
}
