/**
 * Forest Declaration Custom Charts - Disaggregate Chart Styling
 */

 .fdcc-chart-disaggregate .disagg-line {
    fill: none;
    stroke-width: 2;
}

.fdcc-chart-disaggregate .hover-line {
    stroke-width: 8px;
    stroke: var(--neutral-fourthiary);
    stroke-opacity: .5;
    pointer-events: none;
    transition: opacity 0.2s;
}

/* Tooltip styling */

.fdcc-chart-disaggregate .fdcc-tooltip{
min-width: 270px;
color: var(--neutral-grey);
}


.fdcc-chart-disaggregate .fdcc-tooltip .tooltip-title {
font-size: 15px;
font-weight: 700;
}

.fdcc-chart-disaggregate .fdcc-tooltip .tooltip-unit {
font-size: 14px;
font-weight: 700;
}

.fdcc-chart-disaggregate .fdcc-tooltip .tooltip-line-legend {
display: flex;
flex-direction: row;
gap: 5px;
align-items: center;
line-height: 1;
}

.fdcc-chart-disaggregate .fdcc-tooltip .tooltip-divider {
border-bottom: 1px solid var(--neutral-fourthiary);
margin: 5px auto 10px auto;
opacity: 0.8;
}

.fdcc-chart-disaggregate .fdcc-tooltip .tooltip-line-legend .point {
font-size: 18px;
}

.fdcc-chart-disaggregate .fdcc-tooltip .tooltip-line-legend .category-value {
margin-left: auto;
font-weight: 700;
}

/* Right-pointing arrow (tooltip left of mouse) */
.fdcc-chart-disaggregate .fdcc-tooltip.arrow-right::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -8px;
    transform: translateY(-50%);
    border-width: 8px 0 8px 8px;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
    filter: drop-shadow(1px 0 1px rgba(0, 0, 0, 0.1));
  }
  
  .fdcc-chart-disaggregate .fdcc-tooltip.arrow-right::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -9px;
    transform: translateY(-50%);
    border-width: 9px 0 9px 9px;
    border-style: solid;
    border-color: transparent transparent transparent rgba(0, 0, 0, 0.5);
    z-index: -1;
  }
  
  /* Left-pointing arrow (tooltip right of mouse) */
  .fdcc-chart-disaggregate .fdcc-tooltip.arrow-left::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -8px;
    transform: translateY(-50%);
    border-width: 8px 8px 8px 0;
    border-style: solid;
    border-color: transparent #fff transparent transparent;
    filter: drop-shadow(-1px 0 1px rgba(0, 0, 0, 0.1));
  }
  
  .fdcc-chart-disaggregate .fdcc-tooltip.arrow-left::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -9px;
    transform: translateY(-50%);
    border-width: 9px 9px 9px 0;
    border-style: solid;
    border-color: transparent rgba(0, 0, 0, 0.5) transparent transparent;
    z-index: -1;
  }

  /* Special styling for single bar charts */

.fdcc-chart-disaggregate .fdcc-tooltip.single-bar {
    min-width: 270px;
    color: var(--neutral-grey);
    font-weight: 600;
}


.fdcc-chart-disaggregate .fdcc-tooltip.single-bar .tooltip-title {
    font-size: 13px;
    text-transform: uppercase;
}

.fdcc-chart-disaggregate .fdcc-tooltip.single-bar .tooltip-divider {
    border-bottom: 1px solid var(--neutral-fourthiary);
    margin: 5px auto 10px auto;
}

.fdcc-chart-disaggregate .fdcc-tooltip.single-bar .tooltip-content {
    line-height: 1;
}

.fdcc-chart-disaggregate .fdcc-tooltip.single-bar .tooltip-value {
    margin-left: auto;
    font-size: 22px;
    padding-right: 5px;
}

.fdcc-chart-disaggregate .fdcc-tooltip.single-bar .tooltip-unit {
    font-size: 14px;
}

/* Down-pointing arrow for area chart tooltip */
.fdcc-chart-disaggregate .fdcc-tooltip.single-bar::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -8px; /* 8px arrow size */
    transform: translateX(-50%);
    border-width: 8px 8px 0 8px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
  }

  .fdcc-chart-disaggregate .fdcc-tooltip.single-bar::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -9px; /* 8px arrow + 1px border */
    transform: translateX(-50%);
    border-width: 9px 9px 0 9px;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0.5) transparent transparent transparent;
    z-index: -1;
  }