/**
 * Copyright 2025 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-Typography .spectrum-Detail {
    --spectrum-detail-margin-start: calc(var(--mod-detail-font-size, var(--spectrum-detail-font-size)) * var(--spectrum-detail-margin-top-multiplier));
    --spectrum-detail-margin-end: calc(var(--mod-detail-font-size, var(--spectrum-detail-font-size)) * var(--spectrum-detail-margin-bottom-multiplier));
}

@media (forced-colors: active) {
    .spectrum-Detail {
        --highcontrast-detail-font-color: Text;
    }
}

.spectrum-Detail,
.spectrum-Detail--sizeM {
    --spectrum-detail-font-size: var(--spectrum-detail-size-m);
}

.spectrum-Detail--sizeS {
    --spectrum-detail-font-size: var(--spectrum-detail-size-s);
}

.spectrum-Detail--sizeL {
    --spectrum-detail-font-size: var(--spectrum-detail-size-l);
}

.spectrum-Detail--sizeXL {
    --spectrum-detail-font-size: var(--spectrum-detail-size-xl);
}

.spectrum-Detail {
    --spectrum-detail-sans-serif-font-family: var(--spectrum-sans-font-family-stack);
    --spectrum-detail-serif-font-family: var(--spectrum-serif-font-family-stack);
    --spectrum-detail-cjk-font-family: var(--spectrum-cjk-font-family-stack);
    --spectrum-detail-font-color: var(--spectrum-detail-color);
    font-family: var(--mod-detail-sans-serif-font-family, var(--spectrum-detail-sans-serif-font-family));
    font-style: var(--mod-detail-sans-serif-font-style, var(--spectrum-detail-sans-serif-font-style));
    font-weight: var(--mod-detail-sans-serif-font-weight, var(--spectrum-detail-sans-serif-font-weight));
    font-size: var(--mod-detail-font-size, var(--spectrum-detail-font-size));
    color: var(--highcontrast-detail-font-color, var(--mod-detail-font-color, var(--spectrum-detail-font-color)));
    line-height: var(--mod-detail-line-height, var(--spectrum-detail-line-height));
    letter-spacing: var(--mod-detail-letter-spacing, var(--spectrum-detail-letter-spacing));
    text-transform: uppercase;
    margin-block-start: var(--mod-detail-margin-start, var(--spectrum-detail-margin-start, 0));
    margin-block-end: var(--mod-detail-margin-end, var(--spectrum-detail-margin-end, 0));
}

.spectrum-Detail .spectrum-Detail-strong,
.spectrum-Detail strong {
    font-style: var(--mod-detail-sans-serif-strong-font-style, var(--spectrum-detail-sans-serif-strong-font-style));
    font-weight: var(--mod-detail-sans-serif-strong-font-weight, var(--spectrum-detail-sans-serif-strong-font-weight));
}

.spectrum-Detail .spectrum-Detail-emphasized,
.spectrum-Detail em {
    font-style: var(--mod-detail-sans-serif-emphasized-font-style, var(--spectrum-detail-sans-serif-emphasized-font-style));
    font-weight: var(--mod-detail-sans-serif-emphasized-font-weight, var(--spectrum-detail-sans-serif-emphasized-font-weight));
}

.spectrum-Detail .spectrum-Detail-strong.spectrum-Detail-emphasized,
.spectrum-Detail em strong,
.spectrum-Detail strong em {
    font-style: var(--mod-detail-sans-serif-strong-emphasized-font-style, var(--spectrum-detail-sans-serif-strong-emphasized-font-style));
    font-weight: var(--mod-detail-sans-serif-strong-emphasized-font-weight, var(--spectrum-detail-sans-serif-strong-emphasized-font-weight));
}

.spectrum-Detail:lang(ja),
.spectrum-Detail:lang(ko),
.spectrum-Detail:lang(zh) {
    font-family: var(--mod-detail-cjk-font-family, var(--spectrum-detail-cjk-font-family));
    font-style: var(--mod-detail-cjk-font-style, var(--spectrum-detail-cjk-font-style));
    font-weight: var(--mod-detail-cjk-font-weight, var(--spectrum-detail-cjk-font-weight));
    line-height: var(--mod-detail-cjk-line-height, var(--spectrum-detail-cjk-line-height));
}

.spectrum-Detail:lang(ja) .spectrum-Detail-strong,
.spectrum-Detail:lang(ja) strong,
.spectrum-Detail:lang(ko) .spectrum-Detail-strong,
.spectrum-Detail:lang(ko) strong,
.spectrum-Detail:lang(zh) .spectrum-Detail-strong,
.spectrum-Detail:lang(zh) strong {
    font-style: var(--mod-detail-cjk-strong-font-style, var(--spectrum-detail-cjk-strong-font-style));
    font-weight: var(--mod-detail-cjk-strong-font-weight, var(--spectrum-detail-cjk-strong-font-weight));
}

.spectrum-Detail:lang(ja) .spectrum-Detail-emphasized,
.spectrum-Detail:lang(ja) em,
.spectrum-Detail:lang(ko) .spectrum-Detail-emphasized,
.spectrum-Detail:lang(ko) em,
.spectrum-Detail:lang(zh) .spectrum-Detail-emphasized,
.spectrum-Detail:lang(zh) em {
    font-style: var(--mod-detail-cjk-emphasized-font-style, var(--spectrum-detail-cjk-emphasized-font-style));
    font-weight: var(--mod-detail-cjk-emphasized-font-weight, var(--spectrum-detail-cjk-emphasized-font-weight));
}

.spectrum-Detail:lang(ja) .spectrum-Detail-strong.spectrum-Detail-emphasized,
.spectrum-Detail:lang(ja) em strong,
.spectrum-Detail:lang(ja) strong em,
.spectrum-Detail:lang(ko) .spectrum-Detail-strong.spectrum-Detail-emphasized,
.spectrum-Detail:lang(ko) em strong,
.spectrum-Detail:lang(ko) strong em,
.spectrum-Detail:lang(zh) .spectrum-Detail-strong.spectrum-Detail-emphasized,
.spectrum-Detail:lang(zh) em strong,
.spectrum-Detail:lang(zh) strong em {
    font-style: var(--mod-detail-cjk-strong-emphasized-font-style, var(--spectrum-detail-cjk-strong-emphasized-font-style));
    font-weight: var(--mod-detail-cjk-strong-emphasized-font-weight, var(--spectrum-detail-cjk-strong-emphasized-font-weight));
}

.spectrum-Detail--serif {
    font-family: var(--mod-detail-serif-font-family, var(--spectrum-detail-serif-font-family));
    font-style: var(--mod-detail-serif-font-style, var(--spectrum-detail-serif-font-style));
    font-weight: var(--mod-detail-serif-font-weight, var(--spectrum-detail-serif-font-weight));
}

.spectrum-Detail--serif .spectrum-Detail-strong,
.spectrum-Detail--serif strong {
    font-style: var(--mod-detail-serif-strong-font-style, var(--spectrum-detail-serif-strong-font-style));
    font-weight: var(--mod-detail-serif-strong-font-weight, var(--spectrum-detail-serif-strong-font-weight));
}

.spectrum-Detail--serif .spectrum-Detail-emphasized,
.spectrum-Detail--serif em {
    font-style: var(--mod-detail-serif-emphasized-font-style, var(--spectrum-detail-serif-emphasized-font-style));
    font-weight: var(--mod-detail-serif-emphasized-font-weight, var(--spectrum-detail-serif-emphasized-font-weight));
}

.spectrum-Detail--serif .spectrum-Detail-strong.spectrum-Detail-emphasized,
.spectrum-Detail--serif em strong,
.spectrum-Detail--serif strong em {
    font-style: var(--mod-detail-serif-strong-emphasized-font-style, var(--spectrum-detail-serif-strong-emphasized-font-style));
    font-weight: var(--mod-detail-serif-strong-emphasized-font-weight, var(--spectrum-detail-serif-strong-emphasized-font-weight));
}

.spectrum-Detail--light {
    font-style: var(--mod-detail-sans-serif-light-font-style, var(--spectrum-detail-sans-serif-light-font-style));
    font-weight: var(--spectrum-detail-sans-serif-light-font-weight, var(--spectrum-detail-sans-serif-light-font-weight));
}

.spectrum-Detail--light .spectrum-Detail-strong,
.spectrum-Detail--light strong {
    font-style: var(--mod-detail-sans-serif-light-strong-font-style, var(--spectrum-detail-sans-serif-light-strong-font-style));
    font-weight: var(--mod-detail-sans-serif-light-strong-font-weight, var(--spectrum-detail-sans-serif-light-strong-font-weight));
}

.spectrum-Detail--light .spectrum-Detail-emphasized,
.spectrum-Detail--light em {
    font-style: var(--mod-detail-sans-serif-light-emphasized-font-style, var(--spectrum-detail-sans-serif-light-emphasized-font-style));
    font-weight: var(--mod-detail-sans-serif-light-emphasized-font-weight, var(--spectrum-detail-sans-serif-light-emphasized-font-weight));
}

.spectrum-Detail--light .spectrum-Detail-strong.spectrum-Body-emphasized,
.spectrum-Detail--light em strong,
.spectrum-Detail--light strong em {
    font-style: var(--mod-detail-sans-serif-light-strong-emphasized-font-style, var(--spectrum-detail-sans-serif-light-strong-emphasized-font-style));
    font-weight: var(--mod-detail-sans-serif-light-strong-emphasized-font-weight, var(--spectrum-detail-sans-serif-light-strong-emphasized-font-weight));
}

.spectrum-Detail--light:lang(ja),
.spectrum-Detail--light:lang(ko),
.spectrum-Detail--light:lang(zh) {
    font-style: var(--mod-detail-cjk-light-font-style, var(--spectrum-detail-cjk-light-font-style));
    font-weight: var(--mod-detail-cjk-light-font-weight, var(--spectrum-detail-cjk-light-font-weight));
}

.spectrum-Detail--light:lang(ja) .spectrum-Detail-strong,
.spectrum-Detail--light:lang(ja) strong,
.spectrum-Detail--light:lang(ko) .spectrum-Detail-strong,
.spectrum-Detail--light:lang(ko) strong,
.spectrum-Detail--light:lang(zh) .spectrum-Detail-strong,
.spectrum-Detail--light:lang(zh) strong {
    font-style: var(--mod-detail-cjk-light-strong-font-style, var(--spectrum-detail-cjk-light-strong-font-style));
    font-weight: var(--mod-detail-cjk-light-strong-font-weight, var(--spectrum-detail-cjk-light-strong-font-weight));
}

.spectrum-Detail--light:lang(ja) .spectrum-Detail-emphasized,
.spectrum-Detail--light:lang(ja) em,
.spectrum-Detail--light:lang(ko) .spectrum-Detail-emphasized,
.spectrum-Detail--light:lang(ko) em,
.spectrum-Detail--light:lang(zh) .spectrum-Detail-emphasized,
.spectrum-Detail--light:lang(zh) em {
    font-style: var(--mod-detail-cjk-light-emphasized-font-style, var(--spectrum-detail-cjk-light-emphasized-font-style));
    font-weight: var(--mod-detail-cjk-light-emphasized-font-weight, var(--spectrum-detail-cjk-light-emphasized-font-weight));
}

.spectrum-Detail--light:lang(ja) .spectrum-Detail-strong.spectrum-Detail-emphasized,
.spectrum-Detail--light:lang(ko) .spectrum-Detail-strong.spectrum-Detail-emphasized,
.spectrum-Detail--light:lang(zh) .spectrum-Detail-strong.spectrum-Detail-emphasized {
    font-style: var(--mod-detail-cjk-light-strong-emphasized-font-style, var(--spectrum-detail-cjk-light-strong-emphasized-font-style));
    font-weight: var(--mod-detail-cjk-light-strong-emphasized-font-weight, var(--spectrum-detail-cjk-light-strong-emphasized-font-weight));
}

.spectrum-Detail--serif.spectrum-Detail--light {
    font-style: var(--mod-detail-serif-light-font-style, var(--spectrum-detail-serif-light-font-style));
    font-weight: var(--mod-detail-serif-light-font-weight, var(--spectrum-detail-serif-light-font-weight));
}

.spectrum-Detail--serif.spectrum-Detail--light .spectrum-Detail-strong,
.spectrum-Detail--serif.spectrum-Detail--light strong {
    font-style: var(--mod-detail-serif-light-strong-font-style, var(--spectrum-detail-serif-light-strong-font-style));
    font-weight: var(--mod-detail-serif-light-strong-font-weight, var(--spectrum-detail-serif-light-strong-font-weight));
}

.spectrum-Detail--serif.spectrum-Detail--light .spectrum-Detail-emphasized,
.spectrum-Detail--serif.spectrum-Detail--light em {
    font-style: var(--mod-detail-serif-light-emphasized-font-style, var(--spectrum-detail-serif-light-emphasized-font-style));
    font-weight: var(--mod-detail-serif-light-emphasized-font-weight, var(--spectrum-detail-serif-light-emphasized-font-weight));
}

.spectrum-Detail--serif.spectrum-Detail--light .spectrum-Detail-strong.spectrum-Body-emphasized,
.spectrum-Detail--serif.spectrum-Detail--light em strong,
.spectrum-Detail--serif.spectrum-Detail--light strong em {
    font-style: var(--mod-detail-serif-light-strong-emphasized-font-style, var(--spectrum-detail-serif-light-strong-emphasized-font-style));
    font-weight: var(--mod-detail-serif-light-strong-emphasized-font-weight, var(--spectrum-detail-serif-light-strong-emphasized-font-weight));
}
