:root {
    --font-body-family: 'Inter', sans-serif;
    --font-body-style: normal;
    --font-body-weight: 300;

    --font-heading-family: 'Prompt', sans-serif;
    --font-heading-style: normal;
    --font-heading-weight: 700;

    --bs-link-hover-color: #2dd6fd;

    --bs-primary: #00d9ff;
    --bs-primary-rgb: 0, 217, 255;

    --theme-sidebar-width: 12rem;

    --bs-body-bg: #f1f1f1;
    --border-color: var(--bs-border-color);
    --border-light-color: rgba(0, 0, 0, .05);
}

.bg-primary {
    --bs-primary: #81f4ff;
    --bs-primary-rgb: 129, 244, 255;
}

/* Link */
a {
    font-family: var(--font-body-family);
    font-style: var(--font-body-style);
    font-weight: var(--font-body-weight);
    text-decoration-thickness: .1rem;
    text-decoration-color: #91efff;
    text-underline-offset: 4px;
    transition: color 0.15s ease-in-out, text-decoration 0.15s ease-in-out;

    &:hover {
        text-decoration: none;
    }
}
/* /Link */

.btn-sm, .btn-group-sm > .btn {
    padding-inline: 20px !important;
}

body[data-embedded] {
    --vdev--header-height: 0px;
}

body:not([data-embedded]) {
    --vdev--header-height: 52px;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
    font-family: var(--font-heading-family);
    font-style: var(--font-heading-style);
    font-weight: var(--font-heading-weight);
}

@scope ([data-context="public"]) {

    @media (max-width: 767px) {
        main,
        #footer {
            --vdev--container-radius: 2rem;
        }
    }

    @media (min-width: 768px) {
        main,
        #footer {
            --vdev--container-radius: 6rem;
        }
    }
}

.fade-scroll {
    opacity: 0;
    transform: translateY(0); /* default */
    transition: opacity .6s ease-out, transform .6s ease-out;

    /* Move from bottom → top */
    &[data-animate="down"] {
        transform: translateY(-30px);
    }

    &[data-animate="up"] {
        transform: translateY(30px);
    }

    /* Move from left */
    &[data-animate="left"] {
        transform: translateX(-30px);
    }

    /* Move from right */
    &[data-animate="right"] {
        transform: translateX(30px);
    }

    /* No movement */
    &[data-animate="none"] {
        transform: none;
    }

    &.is-animated {
        opacity: 1;
        transform: translate(0,0);
    }
}

 /* Animate: Loading */
@keyframes vdevStorelocatorAnimateLoading {
    0% {
        background-position: -800px 0;
    }
    100% {
        background-position: 800px 0;
    }
}

.is-placeholder {
    --bg-color: #f0f0f0;
    --bg-image: linear-gradient(to right, var(--bg-color) 12.5%, #ccc 25%, var(--bg-color) 100%);
    --bg-size: 800px 100px;

    background-color: var(--bg-color);
    background-image: var(--bg-image);
    background-size: var(--bg-size);

    border-radius: 1rem;
    cursor: wait;
    pointer-events: none;

    animation: vdevStorelocatorAnimateLoading 2s linear infinite;
}
/* /Animate: Loading */

/* Theme: Loader */
vdev-loader {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    cursor: wait;
    backdrop-filter: blur(10px);
    background-color: rgba(241, 241, 241, .1);
    transition: background-color 0.15s ease-in-out, opacity 0.15s ease-in-out;

    svg {
        width: 8rem;
    }
}
/* /Theme: Loader */

/* Theme: Sidebar */
@scope ([data-context="admin"]) {

    vdev-sidebar {
        width: var(--theme-sidebar-width);
        position: sticky;
        top: 0;
        height: calc(100dvh - var(--vdev--header-height));

        .nav-pills small {
            /* text-transform: uppercase; */
            color: gray;
            font-size: 1rem;
            /* font-weight: bold; */
            /* letter-spacing: .1rem; */
            margin: -.5rem 0 0.625rem 1rem;
            display: block;
            opacity: .375;
        }
    }
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 0.6;
    }
    100% {
        transform: scale(3);
        opacity: 0;
    }
}

.animate-pulse {
    position: relative;

    &::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 50%;
        background: currentColor;
        animation: pulse 1.5s ease-out infinite;
    }
}

details[open] > summary .animate-pulse {
    display: none;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

vdev-sidebar .nav-pills .icon-gear::before {
    animation: rotate 2s linear infinite;
}

ui-nav-menu {
    display: none;
}
/* /Theme: Sidebar */

/* Theme: Content */
#content {
    width: calc(100% - var(--theme-sidebar-width) - 1rem);
    min-height: calc(100vh - 3rem);
    box-shadow: 0 .125rem .125rem rgba(0, 0, 0, .125);
}
/* /Theme: Content */

hr {
    opacity: .05;
}

.b-example-divider {
    height: 3rem;
    background-color: rgba(0, 0, 0, .1);
    border: solid rgba(0, 0, 0, .15);
    border-width: .1rem 0;
    box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.b-example-vr {
    flex-shrink: 0;
    width: 1.5rem;
    height: 100vh;
}

/* Form: control */
.form-control {
    --bs-body-bg: #fff;
    /*border: .175rem solid #282828 !important;*/
    /*border-radius: .5rem !important;*/

    &:where(:focus) {
        box-shadow: none !important;
        border-color: var(--bs-heading-color) !important;
    }
}

.form-control:disabled,
.form-control:disabled + .small {
    opacity: .25 !important;
    pointer-events: none;
    background-color: transparent !important;
}

.form-control:disabled ~ label {
    color: #aaa !important;
}

input[type="file"].form-control {
    line-height: 1.333;

    &::file-selector-button {
        margin-right: 24px;
        border: none;
        background: #91effe;
        padding: .25rem 2rem;
        height: 2rem;
        border-radius: .125rem;
        cursor: pointer;
        transition: background .15s ease-in-out, color .15s ease-in-out;
    }

    &:hover::file-selector-button {
        background: #2a3bff !important;
        color: #fff !important;
    }
}
/* /Form: control */

/* Table */
vdev-table {
    display: block;

    .table-group-divider {
        border-top: .075rem;
    }

    .table tr > *:first-child {
        padding-left: 0 !important;
    }
}

.tab-content vdev-table {
    margin-right: -1.5rem;
}

vdev-table {

    .table tr > th,
    .table tr > td {
        padding-left: 2rem;
    }

    .table tr > *:last-child {
        padding-right: 3rem !important;
    }
}

.table-striped > tbody > tr > * {
    border-color: rgba(0, 0, 0, .05);
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: rgba(134, 134, 134, .0125);
}

.table-striped > thead > tr > * {
    border-bottom-color: #d1d1d1;
}


vdev-table {

    .table tbody > tr:last-child > :where(td, th) {
        border-bottom: none;
    }

    .table thead {
        position: sticky;
        top: 3.2rem;
        z-index: 2;
        background: #ffffff30;
        backdrop-filter: blur(10px);
    }

    .table thead::after {
        content: '';
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        height: 1rem;
        background: linear-gradient(180deg, rgb(255 255 255) 0%, rgb(255 255 255 / 0%) 100%);
        pointer-events: none;
    }

    .table thead th {
        padding-bottom: 0;
        border-color: var(--bs-body-color);
        position: relative;
    }

    .table thead th a {
        font-family: var(--font-heading-family);
        font-style: var(--font-heading-style);
        font-weight: var(--font-heading-weight);
        font-size: .9rem;
        line-height: .6;
        display: block;
    }

    .table thead th a {
        font-family: var(--font-heading-family);
        font-style: var(--font-heading-style);
        font-weight: var(--font-heading-weight);
        font-size: .9rem;
        line-height: .6;
        display: block;
    }

    .table thead th::after {
        content: '';
        position: absolute;
        right: 0;
        bottom: -1px;
        left: 0;
        border-bottom: inherit;
    }

    .table tbody td {
        vertical-align: middle;
    }

    .link {
        font-weight: 500;
    }

    :where(td, th) {
        vertical-align: middle;
    }

    .is-placeholder {
        height: .5495rem;
        margin-block: .4845rem;
    }
}

.table > :not(caption) > * > * {
    /*padding-block: .75rem;*/
}

.table thead th {
    text-wrap: nowrap;
    letter-spacing: .05em;
}

.table thead th small {
    text-transform: none;
    font-weight: normal;
    letter-spacing: normal;
    line-height: normal;
}
/* /Table */

.nav-link {
    --bs-nav-link-font-size: .9rem;
}

/* Nav: pills */
.nav-pills {
    gap: .1rem;

    .nav-link {
        padding: .5rem 1.5rem;
        border-radius: .75rem !important;
        /*border-radius: 5rem !important;*/
        color: #666;
        display: flex;
        align-items: baseline;
        /*font-size: 1rem;*/
        font-size: .925rem;
        font-weight: 500;
        letter-spacing: .025em;
        transition: color .15s ease-in-out, background-color .15s ease-in-out, box-shadow .15s ease-in-out;
    }
}

vdev-sidebar .nav-pills .nav-item + .nav-item {
    margin-top: .1rem;
}

.nav-pills .nav-link:hover {
    background: rgb(230 230 230 / 20%);
    color: var(--bs-body-color);
}

vdev-sidebar .nav-pills .nav-link:hover {
    background: rgb(230 230 230 / 80%);
}

.nav-pills .nav-link.active {
    color: var(--bs-body-color);
    box-shadow: 0 .1rem .1rem rgba(0, 0, 0, .1);
}

vdev-sidebar .nav-pills .nav-link.active {
    background: #fff;
}

vdev-sidebar .nav-pills .nav-link.active .icon {
    filter: brightness(112.5%);
}

.nav-pills.nav-tabs {
    border-radius: 0 !important;
    border: none !important;
}

.nav-pills.nav-tabs .nav-link {
    box-shadow: none !important;
    color: var(--bs-body-color);
    border: .15rem solid;
    border-radius: 0 !important;
    padding: .4rem 1.5rem;
}

.nav-pills.nav-tabs .nav-link.active {
    background: var(--bs-body-color) !important;
    color: #fff !important;
}

.nav-pills.nav-tabs > .nav-item:not(:first-child) .nav-link {
    border-left-width: 0 !important;
}

.nav-pills.nav-tabs > .nav-item:first-child .nav-link {
    border-top-left-radius: .75rem !important;
    border-bottom-left-radius: .75rem !important;
}

.nav-pills.nav-tabs > .nav-item:last-child .nav-link {
    border-top-right-radius: .75rem !important;
    border-bottom-right-radius: .75rem !important;
}
/* /Nav: pills */

/* Nav: item */
.nav-item > .nav-link .icon {
    font-size: 1.125rem;
    position: relative;
}

.nav-item > .nav-link .icon::before {
    color: #08c3e1;
}

vdev-sidebar {

    .nav-item.is-opened {
        --vdev--bg-color: #e8eaea;
        /*--vdev--bg-color: #e7e7e7;*/
        background: var(--vdev--bg-color);
        border-radius: .75rem !important;
        box-shadow: 0 0 0 .25rem var(--vdev--bg-color);
        margin-bottom: 1.25rem;
    }

    .nav-item.is-opened .nav-link:not(.active):hover {
        background: rgb(216 216 216 / 80%);
    }

    .nav-item > .nav-link {
        padding-right: .5rem;
    }

    .nav-item > .nav-link .icon {
        margin: -.5rem .825rem 0 0;
    }
}
/* /Nav: item */

/* List: group */
.list-group-radio .form-check-input {
    z-index: 2;
    margin-top: -0.5em;
}

.form-check-input {
    border-width: .1rem;
}

.list-group-radio .form-check-input:checked + .list-group-item {
    --bs-body: #f3f5ff;
    background-color: var(--bs-body);
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0 var(--bs-primary);
}
/* /List: group */

.text-outline {
    -webkit-text-stroke-width: .075rem;
    -webkit-text-stroke-color: var(--bs-body-color);
    color: transparent;
}

:where(h2, .h2).border-bottom {
    border-bottom: 0 !important;
    margin-bottom: -1.1rem !important;
    margin-left: -.1rem;
}

:where(h2, .h2).border-bottom::after {
    content: '';
    height: .075rem;
    background: var(--bs-body-color);
    display: block;
    position: absolute;
    right: 0;
    top: 100%;
    left: 1.5rem;
}

.display-4.border-bottom::after {
    content: '';
    height: .075rem;
    background: var(--bs-body-color);
    margin-top: -16px;
    display: block;
    opacity: .75;
}

/* Button */
.btn-group > .btn {
    border-radius: var(--bs-btn-border-radius) !important;
}

.btn {
    --bs-btn-border-radius: .75rem;
    /*--bs-btn-border-radius: 5rem;*/
    letter-spacing: .05em;
    padding: 6px 32px;
    font-weight: 600;
    min-height: 42px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(5px);

    &.btn-primary > :where(span, i) {
        position: relative;
        /*top: .05rem;*/
    }

    .btn-outline-secondary,
    .btn-outline-primary {
        padding: 7px 32px;
        backdrop-filter: blur(10px);
    }

    .btn-outline-danger {
        border-color: #ff5e6d;
    }

    &.btn-outline-secondary {
        --bs-btn-disabled-opacity: .25;
        --bs-btn-border-color: #ccc;
        border-color: #ccc !important;
        color: #999 !important;

        --bs-btn-hover-bg: #6c757d;
        --bs-btn-hover-border-color: #6c757d;
    }

    &:hover {
        background: #2a3bff !important;
        border-color: #2a3bff !important;
    }

    .icon {
        vertical-align: 0;
    }
}

.btn-sm,
.btn-group-sm > .btn {
    --bs-btn-border-radius: .625rem;
    /*--bs-btn-border-radius: 5rem;*/
    padding: 3.75px 25px;
    font-size: 13px;
    min-height: 34px;
}

.btn-lg,
.btn-group-lg > .btn {
    --bs-btn-border-radius: 1rem;
    min-height: 48px;
}
/* /Button */

.btn-outline-primary {
    --bs-btn-disabled-opacity: .25;
    --bs-btn-border-width: .2rem;
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-border-color: var(--bs-btn-color);
    --bs-btn-hover-bg: #2dd6fd;
    --bs-btn-hover-border-color: #2dd6fd;
}

.btn-group > :where(.btn-outline-primary, .btn-outline-secondary, .btn-outline-danger),
.btn:where(.btn-outline-primary, .btn-outline-secondary, .btn-outline-danger) {
    --bs-btn-border-width: .125rem;
}

.btn-group-sm > :where(.btn-outline-primary, .btn-outline-secondary, .btn-outline-danger),
.btn-sm:where(.btn-outline-primary, .btn-outline-secondary, .btn-outline-danger) {
    --bs-btn-border-width: .125rem;
}

.btn-group :where(.btn-outline-primary, .btn-outline-secondary) {
    border-radius: var(--bs-btn-border-radius) !important;
}

.btn-group :where(.btn-outline-primary, .btn-outline-secondary) .icon + small {
    position: relative;
    bottom: .2125rem;
}

.btn-primary,
.btn-outline-primary {
    /*--bs-btn-hover-bg: #2a3bff;*/
    /*--bs-btn-hover-border-color: #2a3bff;*/
}

.btn-primary {
    --bs-btn-hover-bg: #2a3bff;
    --bs-btn-hover-border-color: #2a3bff;
    background: var(--bs-body-color);
    background-image: linear-gradient(18deg, #202020 43.06%, #487d7a 91.81%);
    border-color: var(--bs-body-color);
    box-shadow: 4px 4px 8px 1px #91effe;
    /*font-weight: 500;*/
    position: relative;

    /*background: rgb(0, 0, 0);*/
    /*background: linear-gradient(351deg, rgba(0, 0, 0, 1) 2%, rgba(2, 0, 36, 1) 53%, rgb(8 85 101) 100%);*/
    border: 0;
    /*box-shadow: 3px 3px 6px #91effe;*/

    /*background: linear-gradient(351deg, rgba(0, 0, 0, 1) 2%, rgba(2, 0, 36, 1) 53%, rgb(8 85 101) 100%);*/
    /*box-shadow: 4px 4px 8px 1px #91effe;*/
}

.btn-secondary {
    --bs-btn-color: var(--bs-body-color);
    background: linear-gradient(161deg, rgb(255 255 255) 2%, rgb(255 255 255) 53%, rgb(185 247 255 / 34%) 100%);
    border: 0;
    border-bottom: .15rem solid #5f929fbd !important;
    box-shadow: 0 1px 1px 1px #0b51592e, 4px 4px 8px 1px #91effe70;
}

.btn-primary:hover {
    box-shadow: none;
}

.btn-primary.is-disabled {
    pointer-events: none;
    opacity: .125;
    box-shadow: none;
}

.form-check {
    padding-left: 1.825em !important;

    .text-muted {
        font-weight: 300 !important;
    }

    .form-check-input {
        width: 1.125em;
        height: 1.125em;
        margin-top: .15rem;
        margin-left: -1.825em !important;
        transition: all 0.45s ease-in-out;

        &:checked {
            background-color: currentColor;
            border-color: currentColor;
        }
    }
}

.btn-toolbar .btn {
    display: flex;
    align-items: center;
}

.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
    margin-left: calc(var(--bs-btn-border-width) * -1);
}

.btn-group .btn:not(.btn-outline-primary) {
    --bs-btn-active-color: var(--bs-body-color);
    --bs-btn-border-color: var(--bs-body-color);
    --bs-btn-active-border-color: var(--bs-body-color);
    --bs-btn-active-bg: #f1f1f1;
    /*--bs-btn-hover-bg: #fff;*/
    --bs-btn-active-bg: #fff;
}

.btn-group .btn.btn-danger {
    --bs-btn-border-color: var(--bs-btn-bg);
}

.badge {
    /*color: var(--bs-body-color) !important;*/
    /*background-color: #ffffb5 !important;*/
    border-radius: 20px !important;
    /*font-size: 10px !important;*/
    /*font-weight: normal;*/

    &.text-bg-secondary {
        background: #f1f1f1 !important;
    }
}

.card > .list-group:first-child {
    --bs-card-inner-border-radius: 0;
    border-top-color: transparent;
    border-top-width: var(--bs-list-group-border-width);
}

.list-group-flush > .list-group-item:last-child {
    border-bottom-width: var(--bs-list-group-border-width);
}

vdev-product-button:not(.is-rendered) {
    opacity: 0;
}

.highlight {
    padding: .125rem 1.5rem;

    pre {
        padding-block: .25rem;
        margin-top: 0;
    }
}

.list-group-radio .list-group-item {
    border-width: .2rem;
    border-radius: .5rem;
}

.list-group-radio .form-check-input:checked + .list-group-item {
    border-color: #009fff;
}

.btn-link {
    border-color: transparent;
    padding: 0;
    border: 0;
    text-decoration-thickness: .1rem;
    text-decoration-color: #91efff;
    text-underline-offset: 4px;
    color: var(--bs-body-color);
    transition: color 0.15s ease-in-out, text-decoration 0.15s ease-in-out;

    &:hover {
        color: var(--bs-link-hover-color);
    }
}

.link {
    --bs-link-hover-color: #0bd3f3;
    font-weight: inherit;
    text-decoration-thickness: .125rem;
    text-decoration-color: #91efff;
    text-underline-offset: .25rem;
    color: var(--bs-body-color);
    transition: color 0.15s ease-in-out, text-decoration 0.15s ease-in-out;

    &:hover {
        color: var(--bs-link-hover-color);
    }
}

.list-group-item.active::after {
    content: '';
    position: absolute;
    top: 0;
    right: -1px;
    bottom: 0;
    border-right: 5px solid;
}

.list-group-item {
    --bs-list-group-active-color: var(--bs-body-color);
    --bs-list-group-active-bg: #e6e6e6;
    --bs-list-group-active-border-color: #e6e6e6;

    &.active {
        z-index: 2;
        color: var(--bs-list-group-active-color);
        background-color: var(--bs-list-group-active-bg);
        border-color: var(--bs-list-group-active-border-color);
    }
}

.form-check-input:checked[type="radio"] {
    border-radius: 50% !important;
}




@scope (:where([data-app="core"][data-context="public"], [data-context="admin"])) {

    #header {
        background: #0c1f24 !important;
        box-shadow: 0 0 .375rem #0c1f24 !important;
        z-index: 9999;

        header {
            backdrop-filter: blur(10px);
            padding-block: .5rem !important;

            .nav {
                --bs-nav-link-color: #000;
                padding-inline: 1.25rem;
            }
        }
    }
}

/* Header */
vdev-content--header {
    background: #ffffff30;
    backdrop-filter: blur(10px);
    border-radius: 1rem 1rem 0 0;
    z-index: 999;
    min-height: 3.125rem;
    box-shadow: 0 0 1rem #ffffff;

    vdev-content--header-buttons {
        right: 1.375rem !important;
    }
}

.gap-2\.5 {
    gap: .75rem;
}

/* /Header */

.bd-code-snippet .highlight {
    background: var(--bs-body-bg);
}

.form-control,
.form-select {
    border-width: .1rem;
    color: #666;
    border-color: #999;
    border-radius: .5rem !important;
    /*border-radius: 0 !important;*/
    padding-block: .75rem;
    padding-inline: 1.25rem !important;
    background-color: #f5f5f56e;
    min-height: auto !important;
    height: 3rem !important;
}

textarea.form-control {
    height: 5rem !important;
}

.form-floating > label {
    position: absolute;
    top: -.5rem;
    left: .75rem;
    overflow: hidden;
    font-size: .9rem;
    text-align: start;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    border: 1px solid transparent;
    transform-origin: 0 0;
    transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
    background: #fff;
    height: auto;
    width: auto;
    padding: 0 .5rem !important;
    border-radius: 3rem;
    transform: none !important;
}

.form-floating > .form-control:placeholder-shown ~ label {
    top: 1rem;
    background: none;
    color: #aaa;
}

.form-floating > select.form-select ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label {
    opacity: 1 !important;
    font-weight: 600;
    color: #000;
    box-shadow: 0 0 4px 2px #fff;
}

.form-floating > .form-control:not(:placeholder-shown) {
    padding-top: .625rem;
    color: #000;
}

.form-floating > label::after {
    background: none !important;
}

.accordion > .accordion-item:not(:first-child) {
    margin-top: .1rem !important;
}

.accordion {
    overflow: hidden;
    --bs-accordion-border-radius: var(--bs-border-radius-xl);
    --bs-accordion-inner-border-radius: var(--bs-border-radius-xl);
}

.accordion-item {
    border: 0 !important;
    border-radius: var(--bs-border-radius-xl) !important;
}

.accordion-button {
    font-family: var(--font-heading-family);
    font-style: var(--font-heading-style);
    font-weight: var(--font-heading-weight);
    letter-spacing: .025em;

    font-family: var(--font-body-family);
    font-style: var(--font-body-style);
    font-size: .925rem;
    font-weight: 500;
    letter-spacing: .025em;
}

.accordion-button[data-bs-toggle="collapse"] {
    filter: grayscale(1) contrast(250%) brightness(95%);
}

.modal-backdrop {
    display: none !important;
}

/*vdev-modal-content .nav-pills .nav-link {*/
/*    border-radius: 5rem !important;*/
/*    padding: .375rem 1rem;*/
/*    background: #fff !important;*/
/*    color: var(--bs-body-color) !important;*/
/*    font-size: .825rem;*/
/*    letter-spacing: .05em;*/
/*    box-shadow: 0 0 0 .075rem var(--bs-card-border-color) inset !important;*/
/*}*/

/*vdev-modal-content .nav-pills > .nav-item:not(:first-child) > .nav-link {*/
/*    border-top-left-radius: 0 !important;*/
/*    border-bottom-left-radius: 0 !important;*/
/*}*/

/*vdev-modal-content .nav-pills .nav-item:not(:last-child) > .nav-link {*/
/*    border-top-right-radius: 0 !important;*/
/*    border-bottom-right-radius: 0 !important;*/
/*}*/

/*vdev-modal-content .nav-pills .nav-link.active {*/
/*    background: var(--bs-body-color) !important;*/
/*    color: #fff !important;*/
/*}*/

vdev-modal {
    display: block;

    .modal {
        overflow: hidden !important;
    }
}

vdev-modal-content .nav-item > .nav-link {
    /*padding-right: .5rem;*/
    border-radius: .75rem !important;
    box-shadow: none !important;
}

vdev-modal-content .nav-item > .nav-link .icon {
    margin: -.5rem .825rem 0 0;
}

vdev-template-step .step-image {
    /*max-width: 200px;*/
    /*margin-block: -.5rem !important;*/
    max-width: 128px;
}

vdev-template-step .step-image svg {
    aspect-ratio: 1;
    /*filter: hue-rotate(65deg) saturate(100%) brightness(100%) contrast(200%);*/
    /*filter: saturate(0%) contrast(112.5%);*/
    filter: hue-rotate(65deg) saturate(150%);
}

vdev-template-step-number {
    --size: 2rem;
    border: .2rem solid;
    width: var(--size);
    height: var(--size);
    border: .2rem solid;
}

/* Dropdown */
.dropdown-toggle {
    cursor: pointer;
}

.dropdown-toggle::after {
    transition: transform .15s ease-in-out;
}

.dropdown-toggle.show::after {
    transform: rotate(180deg);
}

.dropdown-menu {
    left: -1.125rem;

    --bs-dropdown-padding-y: .5rem;

    --bs-dropdown-link-active-color: var(--bs-body-color);
    --bs-dropdown-link-active-bg: var(--bs-body-bg);

    --bs-dropdown-item-padding-y: .5rem;

    --bs-dropdown-border-width: .2rem;
    --bs-dropdown-border-color: var(--bs-body-color);
    --bs-dropdown-border-radius: 0;
    --bs-dropdown-link-hover-bg: var(--bs-dropdown-bg);
    border-radius: .5rem;
}

.dropdown-item {
    cursor: pointer;
}
/* /Dropdown */

/* Switcher */
vdev-switcher {
    --size: 1rem;
    --spacing: .2rem;
    padding: var(--spacing);
    display: flex;
    cursor: pointer;
    width: calc(var(--size) * 2.5);
    background: var(--bs-body-bg);
    border: .075rem #ccc solid;
    border-radius: 2rem;
    transition: opacity .15s ease-in-out;
}

vdev-switcher.is-loading {
    opacity: .5;
    pointer-events: none;
}

vdev-switcher.is-active {
    justify-content: end;
}

vdev-switcher::before {
    content: '';
    border-radius: 50%;
    width: var(--size);
    aspect-ratio: 1;
    background: #999;
    display: block;
    transition: background .15s ease-in-out;
}

vdev-switcher.is-active::before {
    background: #0bd3f3;
}
/* /Switcher */

/* Card */
.card--top {
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.card--bottom {
    border-top-right-radius: 0 !important;
    border-top-left-radius: 0 !important;
    border-top: 0 !important;
}
/* /Card */

.btn-check-group {
    display: inline-flex;
    background: #f1f1f19c;
    backdrop-filter: blur(1rem);
    border-radius: 21px;
    padding: .375rem;

    .btn {
        border-radius: 21px !important;
        border-width: .1rem;
        color: #8e9092;
        position: relative;

        &.active {
            color: var(--bs-btn-active-color) !important;
            background-color: var(--bs-btn-active-bg) !important;
            border-color: var(--bs-btn-active-border-color) !important;
        }

        .icon {
            font-size: 137.5%;
            margin-block: -.75rem -.2rem;
        }

        img {
            border-radius: .25rem !important;
        }
    }

    input:checked + .btn {
        color: #000;
        border-color: #999;
        background: #fff;
    }
}

vdev-card-options.is-collapsed .btn-check-group input:checked + .btn {
    order: -1;
}

.form-label {
    font-weight: bold;
    font-size: .9rem;
}

.form-floating > .form-select {
    padding-block: 0;
}

.table-active {
    background: #f1f1f1;
    /*z-index: 99;*/
    /*outline: 1px solid;*/
    /*box-shadow: 0 5px 20px #86f7fd;*/
    filter: blur(.5rem);
    opacity: .25;
}


vdev-content-alert {
    position: fixed !important;
    top: 2.2rem;
    left: 50%;
    transform: translateX(-50%);
    padding: .375rem 2.5rem !important;
    border-radius: 2rem !important;
    filter: contrast(120%) saturate(250%);
    box-shadow: 0 0 1rem #d8fffe;
    z-index: 99;
    font-size: .925rem;
    font-weight: 600;
    letter-spacing: .025em;
}

vdev-content-widget-map svg {
    /*filter: brightness(70%) contrast(110%);*/
}

vdev-content-widget-map iframe {
    border: none !important;
    /*box-shadow: rgba(56, 255, 254, 0.61) 1rem 0rem 3rem !important;*/
}

.form-control-color {
    width: 3rem;
    height: 2.25rem;
    padding: .375rem !important;
    border-radius: .5rem !important;
}

.form-switch {

    .form-check-input {
        margin-top: .125rem;

        &:checked {
            color: #76ddff;
            background-position: right 0 center;
        }
    }

    .form-check-label {
        font-weight: bold;
        font-size: .9rem;
    }
}

.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), .form-floating > .form-control-plaintext:focus, .form-floating > .form-control-plaintext:not(:placeholder-shown) {
    padding-block: .625rem;
}










vdev-template-steps {
    padding-inline: 1.75rem !important;

    vdev-template-step {
        /*padding: 0;*/
        border-radius: .375rem;
        margin-top: .5rem !important;
        gap: .5rem !important;

        &:not(.is-active) {
            --bs-text-opacity: 1;
        }

        &.is-active {
            padding-top: .25rem;
            padding-bottom: .5rem;
            box-shadow: 0 0 0 1rem #fff, 0 0 0 1.075rem var(--bs-border-color-translucent), 0 1rem 3rem rgba(0, 0, 0, 0.175);
        }

        &.is-active + vdev-template-step,
        & + vdev-template-step.is-active {
            margin-top: 1.825rem !important;
        }

        vdev-template-step-number {
            font-weight: bold;
            border-style: dashed;
            border-radius: 50% !important;
            margin-top: .375rem !important;
        }

        &.is-loaded:not(.is-active) vdev-template-step-number {
            font-size: 0;
            /*border-color: #dcf0d4;*/
            color: #a1d68d;
            border-style: solid;
            /*color: #9ce282;*/
            /*color: #37c232;*/
            /*color: #3dbe39;*/
        }

        &:not(.is-loaded) vdev-template-step-number .icon,
        &.is-active vdev-template-step-number .icon {
            display: none;
        }

        &.is-loaded:not(.is-active) vdev-template-step-number .icon {
            display: block;
            font-size: 2rem;
            margin-top: -1rem;
        }

        &.is-active {
            align-items: center;

            vdev-template-step-number {
                background: #ffffc3;
                /*margin-block: 1.825rem auto !important;*/
            }
        }

        &.is-disabled vdev-template-step-number {
            font-weight: bold;
            border-style: dashed;
            color: #6c757d !important;
            opacity: .5;
        }

        &:not(.is-active) vdev-template-step-content {
            display: none !important;
        }

        .h5 {
            font-size: 1.25rem !important;
            text-decoration: none;
        }

        &.is-disabled {
            color: #6c757d !important;
            pointer-events: none;
            opacity: .5;
        }

        &:not(.is-active) .h5 {
            font-weight: 500;
            cursor: pointer;
        }

        &:not(.is-active) > .col > div:not(.small) {
            display: none !important;
        }

        &:not(.is-active) .col-3 {
            display: none !important;
        }
    }

    & > vdev-template-step:not(.is-active)[data-step-position="1"] {
        margin-top: -.625rem !important;
    }
}




vdev-screenshots {

    svg {
        width: 158%;
        margin: auto -25%;
        transform: translateY(-11.25%);
        filter: contrast(80%) saturate(240%);
    }

    vdev-screenshot {
        background: var(--bs-body-bg);
        aspect-ratio: var(--aspect-ratio);
        object-fit: cover;
        object-position: top;
        filter: brightness(97.5%) contrast(102.5%);
        position: relative;
        top: 0rem;
        overflow: hidden;
        transition: top 0.45s ease;

        &[data-device="desktop"] {
            object-fit: cover;
            object-position: top;
            --aspect-ratio: 1.5790661;
            aspect-ratio: var(--aspect-ratio);
            filter: brightness(97.5%) contrast(102.5%);
            border-radius: var(--bs-border-radius-2xl) !important;
            border: .375rem solid var(--bs-body-color) !important;
            box-shadow: 0 150px 150px #86f7ff !important;
            width: 600px;
        }

        &[data-device="mobile"] {
            object-fit: cover;
            object-position: top;
            margin-left: 1.25rem;
            height: auto;
            border-radius: 1.5rem;
            aspect-ratio: .5;
            border: .375rem solid var(--bs-body-color) !important;
            box-shadow: 0 150px 150px #86f7ff !important;
            width: 180px;
        }
    }
}




.dataTable-top,
.dataTable-bottom {
    padding-inline: 0;
    font-size: .875em;
    color: var(--bs-secondary-color) !important;
}

.dataTable-table {
    margin-bottom: 0;
}

.dataTable-top {
    padding-block: 0 1rem;
}

.dataTable-selector,
.dataTable-input {
    border-radius: var(--bs-border-radius-sm);
    border: var(--bs-border-width) solid var(--bs-border-color);
    padding-top: .25rem;
    padding-bottom: .25rem;
    padding-left: .5rem;
    font-size: .875rem;
}

.dataTable-input {
    min-width: 240px;
}

.dataTable-selector {
    margin-right: 8px;
}

table td[data-column-type="image"] :where(svg, img) {
    object-fit: contain;
    aspect-ratio: 1;
    width: 2rem;
    height: auto;
}

.gradient-dark {
    background: #000;
    background-image: linear-gradient(#02080880, #0000 20%, #0000 90%, #02080880), radial-gradient(at 87% 84%, #020808e6 0, #0000 50%), radial-gradient(at 10% 8%, #020808e6 0, #0000 50%), radial-gradient(at 65% 36%, #3f3f4b80 0, #0000 50%), radial-gradient(at 38% 61%, #3f3f4b80 0, #0000 50%), radial-gradient(at 99% 36%, #3f3f4b80 0, #0000 50%), radial-gradient(at 0 62%, #3f3f4b80 0, #0000 50%), linear-gradient(#09090a, #09090a);
}

.header-corner {
    --size: 2rem;
    aspect-ratio: 1;
    width: var(--size);

    svg {
        position: inherit;
        width: inherit;
        height: auto;
        aspect-ratio: inherit;
    }

    &.top-100.right-0 {
        transform: scaleX(-1);
    }

    &.bottom-0.right-0 {
        transform: scale(-1, -1);
    }

    &.bottom-0.left-0 {
        transform: scale(1, -1);
    }
}

.bg-body {
    background: var(--bs-body-bg) !important;
}

.text-outline {
    --bg-color: #fff;
    -webkit-text-stroke-width: .0225em;
    -webkit-text-stroke-color: var(--bs-body-color);
    color: var(--bg-color);
}

.text-primary {
    color: #00d9ff !important;
}

.text-gradient {
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
    background: linear-gradient(98deg, #202020 43.06%, #8f8f8f 91.81%);
    -webkit-background-clip: text;
    background-clip: text;
}

/* Alerts */
vdev-alerts {
    z-index: 9999 !important;
    top: 3.25rem !important;
    left: 50%;
    transform: translateX(-50%);
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

vdev-alerts:hover {
    opacity: 0;
    visibility: hidden;
}

vdev-alerts .alert {
    background: #00000094;
    background: #e83b9994;
    color: #fff;
    backdrop-filter: blur(5px);
    border: none;
    box-shadow: .5rem .5rem 1rem #0000002b;
}
/* /Alerts */

.alert-secondary {
    --bs-alert-bg: #f7f7f7;
    border: none;
}

/* /AI chat */
vdev-header-ai {
    --field-spacing: 1px;
    --button-size: 30px;
    --spacing: 2px;
    transform: none !important;
    left: .25rem !important;
    background: rgb(255 255 255 / 20%);
    backdrop-filter: blur(12px);
    border-radius: 40px;
    padding: var(--field-spacing) var(--field-spacing) var(--field-spacing) 16px;
    box-shadow: 0 0 12px rgb(180 130 255 / 12%), 0 0 24px rgba(145, 230, 255, 0.24);
    opacity: 0;
    max-width: 224px;
    transform: translate(-50%, 30px);
    animation: aiFadeIn 0.6s
    ease forwards;

    .ai-input {
        width: 166px !important;
        height: 28px;
        font-size: 14px;
    }

    .ai-send {
        font-size: 14px;
    }

    .ai-input {
        flex: 1;
        border: none;
        outline: none;
        font-size: 14px;
        color: #fff;
        background: transparent;
        padding: 4px 0;
        transition: 0.3s ease;
    }

    .ai-input:focus {
        padding-left: 14px;
        letter-spacing: 0.3px;
    }

    .ai-input::placeholder {
        color: #b1b1b1;
    }

    .ai-send {
        width: var(--button-size);
        aspect-ratio: 1;
        border-radius: 50%;
        border: none;
        cursor: pointer;

        display: flex;
        align-items: center;
        justify-content: center;

        font-size: 15px;

        background: white;
        box-shadow: 0 0 10px rgba(160, 130, 255, 0.35);

        transition: 0.25s ease;
    }

    .ai-send:hover {
        transform: scale(1.12);
        box-shadow: 0 0 20px rgba(160, 130, 255, 0.5);
    }
}

.animated {
    animation: aiFadeIn 0.6s ease forwards, pulseGlow 3s infinite ease-in-out;
}

@keyframes aiFadeIn {
    from {
        opacity: 0;
        transform: translate(-50%, 30px);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

@keyframes pulseGlow {
    0%, 100% {
        box-shadow:
            0 0 12px rgba(180, 130, 255, 0.28),
            0 0 24px rgba(145, 230, 255, 0.18);
    }
    50% {
        box-shadow:
            0 0 18px rgba(180, 130, 255, 0.45),
            0 0 30px rgba(145, 230, 255, 0.28);
    }
}
/* /AI chat */

@keyframes vdevAnimateLoading {
    0% {
        background-position: -800px 0;
    }
    100% {
        background-position: 800px 0;
    }
}

.vdev--is-loading {
    --vdev--bg-color: #f0f0f0;
    --vdev--bg-image: linear-gradient(to right, var(--vdev--bg-color) 25%, #ddd 50%, var(--vdev--bg-color) 100%);
    --vdev--bg-size: 800px 100px;
    background: var(--vdev--bg-color);
    background-image: var(--vdev--bg-image);
    background-size: var(--vdev--bg-size);
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-name: vdevAnimateLoading;
    animation-timing-function: linear;
}

.vdev--modal--is-open {
    overflow: hidden !important;
}