.ifinsta-theme-switcher {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.ifinsta-theme-switcher__trigger {
    display: inline-flex;
    min-height: 2.25rem;
    align-items: center;
    justify-content: center;
    gap: var(--ifinsta-space-1-5);
    padding: var(--ifinsta-space-1) var(--ifinsta-space-2);
    border: 1px solid var(--ifinsta-border);
    border-radius: var(--ifinsta-radius-md);
    background: var(--ifinsta-surface-2);
    color: var(--ifinsta-text-secondary);
    font-size: var(--ifinsta-text-sm);
    font-weight: var(--ifinsta-font-medium);
    cursor: pointer;
}

.ifinsta-theme-switcher__trigger:hover,
.ifinsta-theme-switcher__trigger[aria-expanded="true"] {
    background: var(--ifinsta-border-light);
    color: var(--ifinsta-text);
}

.ifinsta-theme-switcher__trigger:focus-visible,
.ifinsta-theme-switcher__option:focus-visible {
    outline: var(--ifinsta-focus-outline);
    outline-offset: var(--ifinsta-focus-ring-offset);
}

.ifinsta-theme-switcher__current,
.ifinsta-theme-switcher__current svg,
.ifinsta-theme-switcher__option-icon,
.ifinsta-theme-switcher__check {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
}

.ifinsta-theme-switcher__current {
    display: inline-flex;
}

.ifinsta-theme-switcher__current svg[hidden],
.ifinsta-theme-switcher__check[hidden],
.ifinsta-theme-switcher__menu[hidden] {
    display: none;
}

.ifinsta-theme-switcher__menu {
    position: absolute;
    top: calc(100% + var(--ifinsta-space-1));
    right: 0;
    z-index: var(--ifinsta-z-dropdown);
    min-width: 9rem;
    padding: var(--ifinsta-space-1);
    border: 1px solid var(--ifinsta-dropdown-border);
    border-radius: var(--ifinsta-radius-md);
    background: var(--ifinsta-dropdown-bg);
    box-shadow: var(--ifinsta-dropdown-shadow);
}

.ifinsta-theme-switcher__option {
    display: flex;
    width: 100%;
    align-items: center;
    gap: var(--ifinsta-space-2);
    padding: var(--ifinsta-space-2) var(--ifinsta-space-2-5);
    border: 0;
    border-radius: var(--ifinsta-radius-sm);
    background: transparent;
    color: var(--ifinsta-text);
    font-size: var(--ifinsta-text-sm);
    text-align: left;
    cursor: pointer;
}

.ifinsta-theme-switcher__option:hover,
.ifinsta-theme-switcher__option[aria-checked="true"] {
    background: var(--ifinsta-dropdown-item-hover);
}

.ifinsta-theme-switcher__check {
    margin-left: auto;
    color: var(--ifinsta-primary);
}

[data-theme="dark"] .ifinsta-theme-switcher__trigger {
    border-color: var(--ifinsta-border);
    background: var(--ifinsta-surface-2);
    color: var(--ifinsta-text-secondary);
}

[data-theme="dark"] .ifinsta-theme-switcher__menu {
    border-color: var(--ifinsta-dropdown-border);
    background: var(--ifinsta-dropdown-bg);
}
