.swagger-ui .topbar .link {
    align-items: center;
    background-image: url("/images/giftshare-logo.svg");
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    display: flex;
    height: 40px;
    width: 180px;
}

.swagger-ui .topbar .link img,
.swagger-ui .topbar .link svg,
.swagger-ui .topbar .link span {
    display: none;
}

/* Collapsible documentation sections (one per Docs/*.md file, split on h2) so they don't push the operation list below the fold. */
.swagger-ui .renderedMarkdown h2.giftshare-collapsible-heading {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 0.6em;
    user-select: none;
    transition: opacity 0.15s ease;
}

.swagger-ui .renderedMarkdown h2.giftshare-collapsible-heading:hover {
    opacity: 0.75;
}

/* SVG chevron via mask (not a border-corner hack) so the icon is vertically symmetric and rotates around its true center; currentColor keeps it theme-aware. */
.swagger-ui .renderedMarkdown h2.giftshare-collapsible-heading::before {
    content: "";
    display: inline-block;
    flex-shrink: 0;
    width: 0.7em;
    height: 0.7em;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    transition: transform 0.2s ease;
}

.swagger-ui .renderedMarkdown h2.giftshare-collapsible-heading.collapsed::before {
    transform: rotate(-90deg);
}
