/*!
Copyright 2023 Adobe. All rights reserved.
This file is licensed to you under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. You may obtain a copy
of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
OF ANY KIND, either express or implied. See the License for the specific language
governing permissions and limitations under the License.
*/

.spectrum-TreeView{
  --spectrum-treeview-line-height:var(--spectrum-line-height-200);
  --spectrum-treeview-margin-block:1.0em;
  --spectrum-treeview-font-size:var(--spectrum-font-size-100);

  --spectrum-treeview-item-min-block-size:var(--spectrum-component-height-100);
  --spectrum-treeview-item-indentation:var(--spectrum-treeview-item-indentation-medium);

  --spectrum-treeview-item-padding-inline-start:var(--spectrum-component-height-100);
  --spectrum-treeview-item-padding-inline-end:var(--spectrum-component-edge-to-text-100);

  --spectrum-treeview-section-spacing:var(--spectrum-treeview-item-indentation-medium);
  --spectrum-treeview-heading-font-weight:var(--spectrum-bold-font-weight);
  --spectrum-treeview-heading-bottom-to-text:var(--spectrum-component-edge-to-text-100);

  --spectrum-treeview-item-border-size:var(--spectrum-border-width-200);
  --spectrum-treeview-item-border-size-selected:1px;
  --spectrum-treeview-item-border-radius:0px;

  --spectrum-treeview-item-border-color-selected:var(--spectrum-blue-800);
  --spectrum-treeview-item-border-color-focus:var(--spectrum-blue-700);

  --spectrum-treeview-item-background-color-hover:var(--spectrum-gray-200);
  --spectrum-treeview-item-background-color-focus:var(--spectrum-gray-200);

  --spectrum-treeview-item-border-color-quiet-selected:transparent;

  --spectrum-treeview-item-icon-gap:var(--spectrum-text-to-visual-75);
  --spectrum-treeview-item-icon-color:var(--spectrum-gray-700);
  --spectrum-treeview-item-icon-color-hover:var(--spectrum-gray-900);
  --spectrum-treeview-item-icon-color-focus:var(--spectrum-gray-900);
  --spectrum-treeview-item-icon-color-selected:var(--spectrum-gray-900);
  --spectrum-treeview-item-icon-color-disabled:var(--spectrum-disabled-content-color);

  --spectrum-treeview-item-text-color:var(--spectrum-neutral-content-color-default);
  --spectrum-treeview-item-text-color-selected:var(--spectrum-gray-900);
  --spectrum-treeview-item-text-color-disabled:var(--spectrum-gray-500);
  --spectrum-treeview-item-text-color-focus:var(--spectrum-gray-900);
  --spectrum-treeview-item-text-color-hover:var(--spectrum-gray-900);

  --spectrum-treeview-indicator-margin-inline-start:calc(-1 * var(--spectrum-component-height-100));
  --spectrum-treeview-indicator-padding:var(--spectrum-disclosure-indicator-top-to-disclosure-icon-medium);

  --spectrum-treeview-item-min-block-size-thumbnail-offset:var(--spectrum-treeview-item-min-block-size-thumbnail-offset-medium, 0px);

  --spectrum-treeview-indicator-animation-duration:var(--spectrum-animation-duration-100);
}

[dir="rtl"] .spectrum-TreeView{
		--spectrum-logical-rotation:matrix(-1, 0, 0, 1, 0, 0);
	}

.spectrum-TreeView:dir(rtl){
		--spectrum-logical-rotation:matrix(-1, 0, 0, 1, 0, 0);
	}

.spectrum-TreeView--sizeS{
  --spectrum-treeview-font-size:var(--spectrum-font-size-75);

  --spectrum-treeview-item-min-block-size:var(--spectrum-component-height-75);
  --spectrum-treeview-item-indentation:var(--spectrum-treeview-item-indentation-small);
  --spectrum-treeview-heading-bottom-to-text:var(--spectrum-component-edge-to-text-75);

  --spectrum-treeview-item-padding-inline-start:var(--spectrum-component-height-75);
  --spectrum-treeview-indicator-margin-inline-start:calc(-1 * var(--spectrum-component-height-75));
  --spectrum-treeview-item-padding-inline-end:var(--spectrum-component-edge-to-text-75);
  --spectrum-treeview-indicator-padding:var(--spectrum-disclosure-indicator-top-to-disclosure-icon-small);

  --spectrum-treeview-item-min-block-size-thumbnail-offset:6px;
}

.spectrum-TreeView--sizeL{
  --spectrum-treeview-font-size:var(--spectrum-font-size-200);

  --spectrum-treeview-item-indentation:var(--spectrum-treeview-item-indentation-large);
  --spectrum-treeview-item-min-block-size:var(--spectrum-component-height-200);
  --spectrum-treeview-heading-bottom-to-text:var(--spectrum-component-edge-to-text-200);

  --spectrum-treeview-item-padding-inline-start:var(--spectrum-component-height-200);
  --spectrum-treeview-indicator-margin-inline-start:calc(-1 * var(--spectrum-component-height-200));
  --spectrum-treeview-item-padding-inline-end:var(--spectrum-component-edge-to-text-200);
  --spectrum-treeview-indicator-padding:var(--spectrum-disclosure-indicator-top-to-disclosure-icon-large);

  --spectrum-treeview-item-min-block-size-thumbnail-offset:0px;
}

.spectrum-TreeView--sizeXL{
  --spectrum-treeview-font-size:var(--spectrum-font-size-300);

  --spectrum-treeview-item-indentation:var(--spectrum-treeview-item-indentation-extra-large);
  --spectrum-treeview-item-min-block-size:var(--spectrum-component-height-300);
  --spectrum-treeview-heading-bottom-to-text:var(--spectrum-component-edge-to-text-300);

  --spectrum-treeview-item-padding-inline-start:var(--spectrum-component-height-300);
  --spectrum-treeview-indicator-margin-inline-start:calc(-1 * var(--spectrum-component-height-300));
  --spectrum-treeview-item-padding-inline-end:var(--spectrum-component-edge-to-text-300);
  --spectrum-treeview-indicator-padding:var(--spectrum-disclosure-indicator-top-to-disclosure-icon-extra-large);

  --spectrum-treeview-item-min-block-size-thumbnail-offset:0px;
}

.spectrum-TreeView--quiet{
  --mod-treeview-item-background-color-selected:var(--highcontrast-treeview-item-background-color-selected, var(--mod-treeview-item-background-color-quiet-selected, var(--spectrum-treeview-item-background-color-quiet-selected)));
  --mod-treeview-item-border-color-selected:var(--highcontrast-treeview-item-border-color-selected, var(--mod-treeview-item-border-color-selected-quiet, transparent));
}

.spectrum-TreeView--thumbnail{
  --mod-treeview-item-min-block-size:var(--mod-treeview-item-min-block-size-thumbnail, calc(
    var(--spectrum-treeview-item-min-block-size) + var(--spectrum-treeview-item-min-block-size-thumbnail-offset)
  ));
}

.spectrum-TreeView--detached{
  --mod-treeview-item-border-radius:var(--mod-treeview-item-border-radius-detached, var(--spectrum-corner-radius-100));
}

@media (forced-colors: active){
  .spectrum-TreeView{
    --highcontrast-treeview-item-background-color-selected:Highlight;
    --highcontrast-treeview-item-border-color-selected:Highlight;
    --highcontrast-treeview-item-text-color-selected:HighlightText;
    --highcontrast-treeview-item-icon-color-selected:HighlightText;

    --highcontrast-treeview-item-icon-color:LinkText;
    --highcontrast-treeview-item-text-color:LinkText;

    --highcontrast-treeview-item-background-color-focus:Highlight;
    --highcontrast-treeview-item-text-color-focus:HighlightText;
    --highcontrast-treeview-item-border-color-focus:CanvasText;
    --highcontrast-treeview-item-icon-color-focus:HighlightText;

    --highcontrast-treeview-item-background-color-disabled:Canvas;
    --highcontrast-treeview-item-text-color-disabled:GrayText;
    --highcontrast-treeview-item-icon-color-disabled:GrayText;

    --highcontrast-treeview-heading-color:CanvasText;
  }

  @supports (color: SelectedItem){
    .spectrum-TreeView{
      --highcontrast-treeview-item-background-color-selected:SelectedItem;
      --highcontrast-treeview-item-border-color-selected:SelectedItem;
      --highcontrast-treeview-item-text-color-selected:SelectedItemText;
      --highcontrast-treeview-item-icon-color-selected:SelectedItemText;
    }
  }

  .spectrum-TreeView-itemLabel{
    forced-color-adjust:none;
    background:transparent;
  }

  .spectrum-TreeView-itemLink::before{
    forced-color-adjust:none;
  }
}

.spectrum-TreeView{
  display:block;
  position:relative;
  padding:0;
  list-style:none;
  outline:none;
  -webkit-user-select:none;
          user-select:none;
  line-height:var(--mod-treeview-line-height, var(--spectrum-treeview-line-height));
  margin-block:var(--mod-treeview-margin-block, var(--spectrum-treeview-margin-block));
  font-size:var(--mod-treeview-font-size, var(--spectrum-treeview-font-size));
}

.spectrum-TreeView .spectrum-TreeView{
    position:static;
    block-size:0;
    display:none;
    padding-inline-start:var(--mod-treeview-item-indentation, var(--spectrum-treeview-item-indentation));
    margin-block:0;
  }

.spectrum-TreeView-item{
  overflow:hidden;
}

.spectrum-TreeView-item.is-open > .spectrum-TreeView-itemLink > .spectrum-TreeView-itemIndicator{
      transform:var(--spectrum-logical-rotation,) rotate(90deg);
    }

.spectrum-TreeView-item.is-open > .spectrum-TreeView{
      block-size:auto;
      display:block;
    }

.spectrum-TreeView-item.is-selected > .spectrum-TreeView-itemLink, .spectrum-TreeView-item.is-drop-target > .spectrum-TreeView-itemLink{
      color:var(--highcontrast-treeview-item-text-color-selected, var(--mod-treeview-item-text-color-selected, var(--spectrum-treeview-item-text-color-selected)));
    }

.spectrum-TreeView-item.is-selected > .spectrum-TreeView-itemLink::before, .spectrum-TreeView-item.is-drop-target > .spectrum-TreeView-itemLink::before{
        background-color:var(--highcontrast-treeview-item-background-color-selected, var(--mod-treeview-item-background-color-selected, var(--spectrum-treeview-item-background-color-selected)));
      }

.spectrum-TreeView-item.is-selected > .spectrum-TreeView-itemLink .spectrum-TreeView-itemIcon, .spectrum-TreeView-item.is-drop-target > .spectrum-TreeView-itemLink .spectrum-TreeView-itemIcon{
        color:var(--highcontrast-treeview-item-icon-color-selected, var(--mod-treeview-item-icon-color-selected, var(--spectrum-treeview-item-icon-color-selected)));
      }

.spectrum-TreeView-item.is-selected > .spectrum-TreeView-itemLink:not(:focus-visible)::before, .spectrum-TreeView-item.is-drop-target > .spectrum-TreeView-itemLink:not(:focus-visible)::before{
        border-color:var(--highcontrast-treeview-item-border-color-selected, var(--mod-treeview-item-border-color-selected, var(--spectrum-treeview-item-border-color-selected)));
      }

.spectrum-TreeView-item.is-selected > .spectrum-TreeView-itemLink:not(:focus-visible)::before{
        border-width:var(--mod-treeview-item-border-size-selected, var(--spectrum-treeview-item-border-size-selected));
      }

.spectrum-TreeView-item.is-drop-target > .spectrum-TreeView-itemLink::before{
        border-width:var(--mod-treeview-item-border-size, var(--spectrum-treeview-item-border-size));
      }

.spectrum-TreeView-item.is-disabled > .spectrum-TreeView-itemLink{
      color:var(--highcontrast-treeview-item-text-color-disabled, var(--mod-treeview-item-text-color-disabled, var(--spectrum-treeview-item-text-color-disabled)));
    }

.spectrum-TreeView-item.is-disabled > .spectrum-TreeView-itemLink::before{
        background-color:var(--highcontrast-treeview-item-background-color-disabled, transparent);
      }

.spectrum-TreeView-item.is-disabled > .spectrum-TreeView-itemLink .spectrum-Icon{
        color:var(--highcontrast-treeview-item-icon-color-disabled, var(--mod-treeview-item-icon-color-disabled, var(--spectrum-treeview-item-icon-color-disabled)));
      }

.spectrum-TreeView-itemLabel{
  overflow:hidden;
  text-overflow:ellipsis;
  position:relative;
}

.spectrum-TreeView-itemLink{
  box-sizing:border-box;
  display:flex;
  flex-flow:row nowrap;
  align-items:center;

  min-block-size:var(--mod-treeview-item-min-block-size, var(--spectrum-treeview-item-min-block-size));
  padding-inline:var(--mod-treeview-item-padding-inline-start, var(--spectrum-treeview-item-padding-inline-start)) var(--mod-treeview-item-padding-inline-end, var(--spectrum-treeview-item-padding-inline-end));

  color:var(--highcontrast-treeview-item-text-color, var(--mod-treeview-item-text-color, var(--spectrum-treeview-item-text-color)));

  -webkit-text-decoration:none;

  text-decoration:none;
  outline:none;
  cursor:pointer;
  white-space:nowrap;
  overflow:hidden;
}

.spectrum-TreeView-itemLink::before{
    content:'\00a0';
    box-sizing:border-box;
    position:absolute;
    inset-inline:0;
    min-block-size:var(--mod-treeview-item-min-block-size, var(--spectrum-treeview-item-min-block-size));

    border-style:solid;
    border-color:transparent;
    border-width:var(--mod-treeview-item-border-size, var(--spectrum-treeview-item-border-size)) 0;
    background-color:transparent;
    color:transparent;
  }

.spectrum-TreeView-itemLink:focus-visible,
.spectrum-TreeView-itemLink.is-focus-visible{
    color:var(--highcontrast-treeview-item-text-color-focus, var(--mod-treeview-item-text-color-focus, var(--spectrum-treeview-item-text-color-focus)));
  }

.spectrum-TreeView-itemLink:focus-visible::before,
.spectrum-TreeView-itemLink.is-focus-visible::before{
      background-color:var(--highcontrast-treeview-item-background-color-focus, var(--mod-treeview-item-background-color-focus, var(--spectrum-treeview-item-background-color-focus)));
      border-width:var(--mod-treeview-item-border-size, var(--spectrum-treeview-item-border-size));
      border-color:var(--highcontrast-treeview-item-border-color-focus, var(--mod-treeview-item-border-color-focus, var(--spectrum-treeview-item-border-color-focus)));
    }

.spectrum-TreeView-itemLink:focus-visible .spectrum-TreeView-itemIcon,
.spectrum-TreeView-itemLink.is-focus-visible .spectrum-TreeView-itemIcon{
      color:var(--highcontrast-treeview-item-icon-color-focus, var(--mod-treeview-item-icon-color-focus, var(--spectrum-treeview-item-icon-color-focus)));
    }

@media (hover: hover){

.spectrum-TreeView-itemLink:hover,
.spectrum-TreeView-itemLink.is-hover{
    color:var(--highcontrast-treeview-item-text-color-focus, var(--mod-treeview-item-text-color-hover, var(--spectrum-treeview-item-text-color-hover)));
  }

.spectrum-TreeView-itemLink:hover::before,
.spectrum-TreeView-itemLink.is-hover::before{
      background-color:var(--highcontrast-treeview-item-background-color-focus, var(--mod-treeview-item-background-color-hover, var(--spectrum-treeview-item-background-color-hover)));
    }

.spectrum-TreeView-itemLink:hover .spectrum-TreeView-itemIcon,
.spectrum-TreeView-itemLink.is-hover .spectrum-TreeView-itemIcon{
      color:var(--highcontrast-treeview-item-text-color-focus, var(--mod-treeview-item-icon-color-hover, var(--spectrum-treeview-item-icon-color-hover)));
    }
}

.spectrum-TreeView-itemIcon{
  position:relative;
  vertical-align:top;
  flex-shrink:0;
  margin-inline-end:var(--mod-treeview-item-icon-gap, var(--spectrum-treeview-item-icon-gap));
  color:var(--highcontrast-treeview-item-icon-color, var(--mod-treeview-item-icon-color, var(--spectrum-treeview-item-icon-color)));
}

.spectrum-TreeView-itemIndicator{
  display:block;
  box-sizing:content-box;
  position:relative;
  flex-shrink:0;
  z-index:1;

  padding-inline:var(--mod-treeview-indicator-padding-inline, var(--spectrum-treeview-indicator-padding));
  padding-block:var(--mod-treeview-indicator-padding-block, var(--spectrum-treeview-indicator-padding));
  margin-inline-start:var(--mod-treeview-indicator-margin-inline-start, var(--spectrum-treeview-indicator-margin-inline-start));

  transition:transform ease var(--mod-treeview-indicator-animation-duration, var(--spectrum-treeview-indicator-animation-duration));
  pointer-events:all;
  transform:var(--spectrum-logical-rotation);
}

.spectrum-TreeView-section > .spectrum-TreeView{
  display:block;
  block-size:auto;
  padding-inline-start:0;
}

.spectrum-TreeView-section:not(:first-child){
  margin-block-start:var(--mod-treeview-section-spacing, var(--spectrum-treeview-section-spacing));
}

.spectrum-TreeView-heading{
  padding-block-end:var(--mod-treeview-heading-bottom-to-text, var(--spectrum-treeview-heading-bottom-to-text));
  font-weight:var(--mod-treeview-heading-font-weight, var(--spectrum-treeview-heading-font-weight));
  color:var(--highcontrast-treeview-heading-color, var(--mod-treeview-heading-color, inherit));
}

.spectrum-TreeView-item--indent1{
  padding-inline-start:var(--mod-treeview-item-indentation, var(--spectrum-treeview-item-indentation));
}

.spectrum-TreeView-item--indent2{
  padding-inline-start:calc(2 * var(--mod-treeview-item-indentation, var(--spectrum-treeview-item-indentation)));
}

.spectrum-TreeView-item--indent3{
  padding-inline-start:calc(3 * var(--mod-treeview-item-indentation, var(--spectrum-treeview-item-indentation)));
}

.spectrum-TreeView-item--indent4{
  padding-inline-start:calc(4 * var(--mod-treeview-item-indentation, var(--spectrum-treeview-item-indentation)));
}

.spectrum-TreeView-item--indent5{
  padding-inline-start:calc(5 * var(--mod-treeview-item-indentation, var(--spectrum-treeview-item-indentation)));
}

.spectrum-TreeView-item--indent6{
  padding-inline-start:calc(6 * var(--mod-treeview-item-indentation, var(--spectrum-treeview-item-indentation)));
}

.spectrum-TreeView-item--indent7{
  padding-inline-start:calc(7 * var(--mod-treeview-item-indentation, var(--spectrum-treeview-item-indentation)));
}

.spectrum-TreeView-item--indent8{
  padding-inline-start:calc(8 * var(--mod-treeview-item-indentation, var(--spectrum-treeview-item-indentation)));
}

.spectrum-TreeView-item--indent9{
  padding-inline-start:calc(9 * var(--mod-treeview-item-indentation, var(--spectrum-treeview-item-indentation)));
}

.spectrum-TreeView-item--indent10{
  padding-inline-start:calc(10 * var(--mod-treeview-item-indentation, var(--spectrum-treeview-item-indentation)));
}

.spectrum-TreeView--thumbnail .spectrum-TreeView-itemThumbnail{
    flex-shrink:0;
    margin-inline-end:var(--mod-treeview-item-icon-gap, var(--spectrum-treeview-item-icon-gap));
  }
