/** Constants */
:root {
    --admonition-details-icon: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M8.59 16.58L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42z'/></svg>");
}

.admonition {
    margin: 1.5625em 0;
    padding: 0;
    overflow: hidden;
    color: var(--text-normal);
    page-break-inside: avoid;
    background-color: var(--background-secondary);
    border-left: 0.2rem solid rgb(var(--admonition-color));
    border-radius: 0.1rem;
    box-shadow: 0 0.2rem 0.5rem var(--background-modifier-box-shadow);
}

.admonition-title {
    position: relative;
    padding: 0.6rem 0.25em;
    font-weight: 700;
    background-color: rgba(var(--admonition-color), 0.1);
}

.admonition-title-content {
    display: flex;
    justify-content: flex-start;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.admonition-title-icon {
    color: rgb(var(--admonition-color));
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0.5em 0 0.25em;
    min-width: 1em;
    width: min-content;
}

.admonition-title-markdown {
    display: block;
}

.admonition-title.no-title {
    display: none;
}

.admonition > .admonition-title.no-title + .admonition-content-holder {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.admonition-content-holder {
    position: relative;
}

.admonition-content {
    margin: 10px 15px;
    position: relative;
    overflow-x: auto;
}

.admonition-content-copy {
    color: var(--text-faint);
    cursor: pointer;
    opacity: 0;
    position: absolute;
    right: 0.375rem;
    top: -5px;
    transition: 0.3s opacity ease-in;
}

.admonition-content-copy:hover {
    color: var(--text-normal);
}

.admonition:hover .admonition-content-copy,
.admonition-content-copy:hover {
    opacity: 1;
}
.admonition-title:hover + .admonition-content .admonition-content-copy {
    opacity: 0;
}

details.admonition:not([open]) {
    padding-bottom: 0;
}

details.admonition > summary {
    outline: none;
    display: block !important;
    list-style: none !important;
    list-style-type: none !important;
    min-height: 1rem;
    border-top-left-radius: 0.1rem;
    border-top-right-radius: 0.1rem;
    cursor: pointer;
}

details.admonition > summary::-webkit-details-marker,
details.admonition > summary::marker {
    display: none !important;
}

details.admonition > summary > .collapser {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    content: "";
}

details.admonition > summary > .collapser > .handle {
    transform: rotate(0deg);
    transition: transform 0.25s;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-image: var(--admonition-details-icon);
    mask-image: var(--admonition-details-icon);
    width: 20px;
    height: 20px;
}

details.admonition[open] > summary > .collapser > .handle {
    transform: rotate(90deg);
}

/** Settings */
.admonition-setting-additional-container
    > .setting-item:not(.setting-item-heading) {
    border: 0px;
}

.admonition-setting-additional-container {
    border-bottom: 1px solid var(--background-modifier-border);
    border-top: 1px solid var(--background-modifier-border);
    padding: 18px 0 0 0;
}

.admonition-setting-additional-container > .setting-item-heading:only-child {
    padding-bottom: 18px;
}

.admonition-setting-additional-container > .additional {
    margin: 6px 12px;
}
.admonition-setting-additional-container > .additional > .setting-item {
    border-top: 0;
    padding-top: 9px;
}
.admonition-setting-additional-container
    > .additional
    > .setting-item
    > .setting-item-control
    > *:first-child {
    margin: 0 6px;
}

.setting-item > .admonition {
    width: 50%;
    margin: 0;
}

.unset-align-items {
    align-items: unset;
}

.has-invalid-message {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    grid-template-areas:
        "text image"
        "inv inv";
}

input.is-invalid {
    border-color: #dc3545 !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.admonition-type-setting input {
    grid-column: span 2;
}

.invalid-feedback {
    display: block;
    grid-area: inv;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

.suggestion-content.admonition-icon {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-flow: row wrap;
}

.suggestion-content.admonition-icon > .suggestion-text.admonition-text {
    width: fit-content;
}

.suggestion-content.admonition-icon
    > .suggestion-flair.admonition-suggester-icon {
    width: min-content;
    position: relative;
    top: unset;
    left: unset;
    right: unset;
    bottom: unset;
    display: flex;
    align-items: center;
}

.suggestion-content.admonition-icon > .suggestion-note {
    width: 100%;
}

.admonition-suggester-icon svg {
    width: 1em;
}

.admonition-color-settings .setting-item-control {
    gap: 1rem;
}
.admonition-color-settings input[type="color"]:disabled {
    opacity: 0.75;
    cursor: not-allowed;
}

/** Internal */

.admonition li.task-list-item.is-checked p {
    text-decoration: line-through;
}

.admonition-settings .coffee {
    width: 60%;
    color: var(--text-faint);
    margin: 1rem auto;
    text-align: center;
}
.admonition-settings .coffee img {
    height: 30px;
}

.admonition-file-upload {
    margin-right: 0;
    margin-left: 12px;
}
.admonition-file-upload > input[type="file"] {
    display: none;
}

.insert-admonition-modal button:focus,
.insert-admonition-modal .clickable-icon:focus {
    box-shadow: 0px 0px 5px rgb(0 0 0 / 50%);
    border-color: var(--background-modifier-border-focus);
}

