.sidebar-container {
    width: var(--sidebar-width);
    height: 100%;
    height: 100dvh;
    max-height: 100dvh;
    z-index: 1;
}

nav.sidebar {
    position: fixed;
    top: 0;
    width: var(--sidebar-width);
    height: 100%;
    background-color: var(--clr-light-100);
    border-right: var(--border-width-s) solid var(--clr-border);
}
body.spectating nav.sidebar {
    background-color: var(--clr-dark-900);
}

html {
    overflow: hidden;
}

body.sidebar-collapsed {
    --sidebar-width: 7.6rem;
}

nav.sidebar > ul {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    height: 100%;
    position: relative;
}

nav.sidebar > ul > section {
    padding-inline: var(--container-padding-s);
}
nav.sidebar > ul > .menu {
    display: grid;
    overflow: hidden;
    grid-template-rows: 1fr auto;
}

nav.sidebar > ul > .menu > *:not(dialog) {
    padding-inline: var(--container-padding-s);
}

nav.sidebar .logo-container {
    display: flex;
    justify-content: space-between;
    align-items: center;

    height: var(--title-height);
    border-bottom: var(--border-width-s) solid var(--clr-border);
    width: var(--sidebar-width);
}

nav.sidebar .logo-container .logo {
    display: flex;
    padding-inline: 0;
    gap: 0;
}

nav.sidebar .logo-container .logo .ld-logo {
    padding-left: 1rem;
}

.ld-logo {
    display: flex;
    gap: 0;
}

.ld-logo svg {
    height: 2.4rem;
}
body.company-info .ld-logo svg, body.create-brand .ld-logo svg, body.onboarding-complete .ld-logo svg {
    height: 2.2rem;
}

nav.sidebar .logo-container .logo .ld-logo svg {
    height: 2.2rem;
}


body.sidebar-collapsed nav.sidebar .logo-container .logo .ld-logo svg.ld-text-dark {
    display: none;
}

nav.sidebar .logo-container .button.logo:hover {
    background-color: var(--clr-light-100);
}

nav.sidebar .logo-container .logo p {
    font-weight: 600;
}

nav.sidebar .logo-container button {
    background-color: var(--clr-light-100);
}
body.spectating nav.sidebar .logo-container button {
    background-color: var(--clr-dark-900);
}
body.spectating nav.sidebar .logo-container button svg g {
    fill: var(--clr-light-100) !important;
}


body.sidebar-collapsed nav.sidebar .logo-container {
    padding: 0 !important;
    overflow: hidden;
    border-right: var(--border-width-s) solid var(--clr-border);
}
body.sidebar-collapsed nav.sidebar .logo-container li {
    width: var(--sidebar-width);
    height: var(--sidebar-width);
}
body.sidebar-collapsed nav.sidebar .logo-container #logo-toggle {
    width: var(--sidebar-width);
    height: var(--sidebar-width);
}
body.sidebar-collapsed nav.sidebar .logo-container #logo-toggle .ld-logo {
    padding-left: calc(var(--container-padding-s) + 1rem);
}

nav.sidebar .logo-container #menu-toggle {
    display: none;
    visibility: hidden;
}

nav.sidebar .container-link {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xl);

    padding-top: var(--container-padding-s);
    padding-bottom: var(--container-padding-s);
}
body.spectating nav.sidebar .container-link p {
    color: var(--clr-light-100) !important;
}

body.spectating #dialog-account-dialog p {
    color: var(--clr-dark-900) !important;
}

nav.sidebar .container-link>div:not(:first-of-type) {
    padding-top: var(--gap-xl);
    border-top: var(--border-width-s) solid var(--clr-border);
}

nav.sidebar .container-link>div:last-of-type {
    margin-top: auto;
    /* overflow: hidden; */
    height: fit-content;
}

nav.sidebar .container-link>div h5 {
    margin-bottom: 0.4rem;
    pointer-events: none;
    height: 1.5rem;
}

nav.sidebar .container-link .new-listing {
    margin-top: var(--gap-s);
}

nav.sidebar .container-link :where(a, button) {
    width: 100%;
    font-weight: 500;
    padding-left: 0;
    gap: 0;
}
nav.sidebar .container-link :where(a, button) .tag {
    margin-left: var(--gap-s);
}
nav.sidebar .container-link li.active :where(a, button) .tag {
    background-color: var(--clr-highlight-300);
}

body.sidebar-collapsed nav.sidebar .container-link :is(a, button) {
    width: var(--button-height);
    justify-content: center;
    padding-inline: 0;
}

nav.sidebar .container-link .log-out:hover {
    --clr-icon: var(--clr-traffic-red-500);
    color: var(--clr-traffic-red-500);
}

nav.sidebar li.active :is(button, a) {
    color: var(--clr-highlight-500);
    --clr-icon: var(--clr-highlight-500);
}
nav.sidebar li.active :is(button, a):hover {
    background-color: var(--clr-highlight-200);
}

nav.sidebar .remaining-exports {
    --color: var(--clr-highlight-500);
    border-radius: var(--roundness-m);
    padding: var(--gap-xs) var(--gap-s);
    border: var(--border-width-s) solid var(--color);
    display: flex;
    justify-content: space-between;
    margin-top: var(--gap-m);
}
nav.sidebar .remaining-exports.error {
    --color: var(--clr-traffic-red-500);
}
nav.sidebar .remaining-exports a {
    width: fit-content;
}
nav.sidebar .remaining-exports p {
    color: var(--color);
}

nav.sidebar .account {
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-rows: auto 1fr;
    gap: 0 var(--gap-s);
    padding: var(--container-padding-s);
    background-color: var(--clr-light-200);
    border-top: var(--border-width-s) solid var(--clr-border);
    border-right: var(--border-width-s) solid var(--clr-border);
    width: var(--sidebar-width);
}

body.spectating nav.sidebar .account {
    background-color: var(--clr-dark-800) !important;
}
body.sidebar-collapsed nav.sidebar > ul > section > .account {
    grid-template-columns: auto 1fr;
}

nav.sidebar .account-picture {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 4.4rem;
    aspect-ratio: 1 / 1;
    border-radius: var(--roundness-s);
    display: grid;
    place-items: center;
    background-color: var(--clr-light-300);
}

body.sidebar-collapsed nav.sidebar > ul > section > .account .account-picture {
    grid-row: 1;
}

nav.sidebar .account-name {
    grid-column: 2;
    grid-row: 1;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 12.4rem;
}
body.spectating nav.sidebar .account-name {
    color: var(--clr-light-100);
}

nav.sidebar .account-tag {
    width: 100%;
}

body .sidebar-collapsed nav.sidebar .account-tag {
    grid-column: 1;
    display: flex;
    justify-content: center;
}

nav.sidebar .account-tag .tag {
    width: fit-content;
    text-overflow: ellipsis;
    overflow: hidden;
    background-color: var(--clr-highlight-200);
    color: var(--clr-highlight-500);
}

nav.sidebar.collapsed .account-tag .tag {
    margin-top: calc(var(--height) * -0.5);
}

nav.sidebar .account-email {
    grid-column: 2 / 4;
    grid-row: 2;
    max-height: 1.8rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 16.4rem;
}

nav.sidebar dialog {
    position: absolute;
    top: unset;
    bottom: var(--container-padding-s);
    left: calc(var(--sidebar-width) - var(--container-padding-xs));
    width: var(--sidebar-width-normal);
    overflow: visible;
}
nav.sidebar dialog::backdrop {
    background-color: transparent;
    pointer-events: all;
}

nav.sidebar dialog > *:not(:last-of-type) {
    border-bottom: var(--border-width-s) solid var(--clr-border);
}

nav.sidebar dialog .container-link {
    padding: 0;
}

nav.sidebar dialog .container-link a {
    width: calc(var(--sidebar-width-normal) - 2 * var(--border-width-s));
}
nav.sidebar dialog .container-link a.log-out {
    background-color: var(--clr-light-200);
}

nav.sidebar dialog .change-account {
    padding-top: var(--gap-s);
    padding-bottom: var(--gap-xs);
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
}

nav.sidebar dialog .change-account > h5 {
    margin-left: 0.8rem;
}

nav.sidebar dialog .change-account > div {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
}

nav.sidebar dialog .change-account .account {
    width: var(--sidebar-width-normal);
    padding: 0.8rem;
    border-color: transparent;
    background-color: transparent;
}
nav.sidebar dialog .change-account .account .account-picture {
    width: 3.6rem;
}


nav.sidebar dialog .change-account .account:hover {
    background-color: var(--clr-light-200);
}


/* ---- MULTI PAGE STYLING ---- */

.button-container {
    display: flex;
    gap: var(--gap-s);
}

.page {
    display: grid;
    grid-template-rows: auto 1fr;
}

.page-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--title-height) !important;
}


.page-title > div {
    display: flex;
    gap: var(--gap-s);
    align-items: center;
}

.page-inner {
    display: grid;
    grid-template-columns: auto;
}

[class*="side-container"] {
    border-radius: var(--roundness-m);
    overflow: hidden;
    position: sticky;
    top: var(--container-padding-s);
    min-height: 25rem;
}

main.has-title [class$="side-container"] {
    top: calc(var(--title-height) + var(--container-padding-s));
}

.side-containers {
    display: grid;
    grid-template-columns: auto 1fr;
    margin: var(--container-padding-s);
    /* margin-right: 0; */
}

.left-side-container {
    width: var(--container-left-width);
    background-color: var(--clr-light-200);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.left-side-container .button.small-width:hover {
    background-color: var(--clr-light-100);
}

.left-side-container .button-container {
    display: flex;
    flex-direction: column;
    padding-bottom: var(--container-padding-s);
}

.left-side-container .button-container button {
    width: 100%;
    justify-content: center;
}

.right-side-container {
    width: min(var(--container-right-width), 100%);
    background-color: var(--clr-light-100);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: var(--border-width-s) solid var(--clr-border);
}

:where(.left-side-container, .right-side-container) {
    flex-shrink: 0;
    display: grid;
    grid-template-rows: auto 1fr auto;
    max-height: calc(100dvh - var(--title-height) - var(--container-padding-s) * 2);
}

:where(.left-side-container, .right-side-container)>* {
    padding-inline: var(--container-padding-m);
}

.settings-container {
    display: flex;
    flex-direction: column;
    padding-top: var(--container-padding-s);
    padding-bottom: var(--container-padding-s);
}

.settings-container-inner {
    display: flex;
    flex-direction: column;
    gap: var(--gap-s);
}

body:not(.onboarding-plan) .settings-container-inner:not(:last-of-type) {
    border-bottom: var(--border-width-s) dashed var(--clr-border);
    padding-bottom: var(--gap-m);
    margin-bottom: var(--gap-m);
}

.settings-container-inner > *, .settings-container-inner .settings-container-sub {
    display: flex;
    flex-direction: column;
    gap: var(--gap-l);
}

.settings-container-inner .settings-container-title {
    gap: var(--gap-xs) !important;
}

.settings-item {
    display: flex;
    flex-direction: row;
    gap: var(--gap-s);
    justify-content: space-between;
}

.settings-container-header-brand {
    display: flex;
    flex-direction: row;
    gap: var(--gap-s);
    justify-content: space-between;
    align-items: center;
}
.settings-container-header-brand .text-warning-container {
    display: flex;
    gap: var(--gap-s);
    --clr-icon: var(--clr-traffic-red-500);
    color: var(--clr-traffic-red-500)
}


@media only screen and (max-width: 1528px) {
    .settings-item.settings-item-submit {
        flex-wrap: wrap;
    }
}

.settings-item-text {
    min-width: 12rem;
}

.form-inputs {
    display: flex;
    flex-direction: column;
    gap: var(--gap-m);
}

/* Input & label */
.form-inputs .form-input {
    display: flex;
    flex-direction: column;
    gap: var(--gap-s);
}

.form-inputs .form-inputs-side {
    flex-direction: row;
    gap: var(--gap-s);
}
.form-inputs .form-inputs-side > * {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--gap-s);
}
.form-inputs input:not([type=checkbox]) {
    width: 100%;
}

/* SETTINGS */

.settings-item-options label {
    position: absolute;
    top: 0;
    visibility: hidden;
}

:is(.settings-item-submit, .settings-item-radio-large) .settings-item-options > * {
    width: min(100%, 35rem);
}

.settings-item-text p.medium {
    text-transform: capitalize;
}

.settings-item.onboarding-disabled .settings-item-text p {
    color: var(--clr-dark-450);
}

/* RADIO */

.settings-item-radio {
    align-items: center;
}

.settings-item-radio .settings-item-options {
    display: flex;
    gap: var(--gap-xs);
}

.settings-item-radio .settings-item-options>div {
    position: relative;
    width: var(--checkbox-height-m);
    height: var(--checkbox-height-m);
}

.settings-item-radio .settings-item-options input {
    width: var(--checkbox-height-m);
    height: var(--checkbox-height-m);
    opacity: 0;
}
.settings-item-radio .settings-item-options input[disabled] + .fake-radio {
    opacity: 0.5;
}

.settings-item-radio .settings-item-options .fake-radio {
    position: absolute;
    inset: 0.32rem;
    background-color: var(--radio-color);
    border-radius: 100%;

    outline-offset: 0.32rem;
    pointer-events: none;
    border: var(--border-width-s) solid var(--clr-dark-200);
}

.settings-item-radio .settings-item-options input[type=radio]:checked+.fake-radio {
    background-color: var(--radio-color);
    border-color: var(--clr-dark-100);
    background-image: none;
}

.settings-item-radio .settings-item-options input:checked+.fake-radio {
    outline: var(--border-width-m) solid var(--clr-highlight-500);
}


/* BUTTON */
.settings-item-button .settings-item-options button {
    width: fit-content;
}

/* SELECT */

.settings-item-select .settings-item-options label {
    position: absolute;
    top: 0;
    visibility: hidden;
}

/* TOGGLE */
.settings-item-toggle {
    align-items: center;
}
.settings-item-toggle:not(:has(input:checked)) + .settings-container-sub {
    display: none;
    visibility: hidden;
}

/* COLOR */
.settings-item-color .settings-item-options>div {
    display: flex;
    gap: var(--gap-s);
    align-items: center;
}

.settings-item-color .settings-item-options input[type=color i] {
    --width: 2.4rem;
    border-radius: var(--roundness-s);
    inline-size: var(--width);
    block-size: var(--width);
    padding: 3px;
    border-width: var(--border-width-s);
    border-style: solid;
    border-color: var(--clr-border);
    cursor: pointer;
}

  
/* Affects area between outer circle and color swatch. Firefox doesn't have an equivalent. */
.settings-item-color .settings-item-options input[type="color" i]::-webkit-color-swatch-wrapper {
    padding: 2px;
}

/* Affects the inner circle, i.e. the current color selection */
.settings-item-color .settings-item-options input[type="color" i]::-webkit-color-swatch {
  border-radius: 1px;
}

.settings-item-color .settings-item-options input[type="color" i]::-moz-color-swatch {
  border-radius: 1px;
}


.settings-item-color .settings-item-options input[type=text] {
    width: 17.2rem;
    text-transform: uppercase;
}

.settings-item-color .settings-item-options .color-input {
    position: relative;
}

.settings-item-color .settings-item-options .color-input input {
    padding-left: calc(1.4ch + var(--container-padding-s));
}

.settings-item-color .settings-item-options .color-input::before {
    content: "#";
    position: absolute;
    left: var(--container-padding-s);
    top: 50%;
    transform: translateY(-50%);
    width: 1ch;
    pointer-events: none;
    color: var(--clr-dark-450);
}
.settings-item-color .settings-item-options .color-input::after {
    content: "";
    position: absolute;
    right: var(--container-padding-s);
    top: 50%;
    transform: translateY(-50%);
    width: 2rem;
    height: 2rem;
    background-color: var(--clr-traffic-green-500);
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-size: var(--font-size-p-small);
    background-image: url("../images/checkmark-white.svg");
    background-size: 1.6rem;
    background-repeat: none;
    background-position: center;
    pointer-events: none;
}

/* MAIN INVALID */
#contrast-checker.main-invalid :is(#color_dark, #color_light) + .color-input::after {
    background-color: var(--clr-traffic-red-500);
    background-image: url("../images/close-white.svg");
}

#contrast-checker.main-invalid :is(#color_dark, #color_light), #contrast-checker.main-invalid :is(#color_dark, #color_light) + div input {
    border-color: var(--clr-traffic-red-500);
    background-color: var(--clr-traffic-red-200);
}

/* LIGHT INVALID */
#contrast-checker.light-invalid #color_light {
    border-color: var(--clr-traffic-red-500);
}

#contrast-checker.light-invalid #color_light + .color-input::after {
    background-color: var(--clr-traffic-red-500);
    background-image: url("../images/close-white.svg");
}

#contrast-checker.light-invalid #color_light + .color-input input {
    border-color: var(--clr-traffic-red-500);
    background-color: var(--clr-traffic-red-200);
}

/* DARK INVALID */
#contrast-checker.dark-invalid #color_dark {
    border-color: var(--clr-traffic-red-500);
}

#contrast-checker.dark-invalid #color_dark + .color-input::after {
    background-color: var(--clr-traffic-red-500);
    background-image: url("../images/close-white.svg");
}

#contrast-checker.dark-invalid #color_dark + .color-input input {
    border-color: var(--clr-traffic-red-500);
    background-color: var(--clr-traffic-red-200);
}

/* PRIMARY INVALID */
#contrast-checker.primary-invalid #color_primary {
    border-color: var(--clr-traffic-red-500);
}
#contrast-checker.primary-invalid #color_primary + .color-input input {
    border-color: var(--clr-traffic-red-500);
    background-color: var(--clr-traffic-red-200);
}

#contrast-checker.primary-invalid #color_primary + .color-input::after {
    background-color: var(--clr-traffic-red-500);
    background-image: url("../images/close-white.svg");
}

/* SECONDARY INVALID */
#contrast-checker.secondary-invalid #color_secondary {
    border-color: var(--clr-traffic-red-500);
}
#contrast-checker.secondary-invalid #color_secondary + .color-input input {
    border-color: var(--clr-traffic-red-500);
    background-color: var(--clr-traffic-red-200);
}

#contrast-checker.secondary-invalid #color_secondary + .color-input::after {
    background-color: var(--clr-traffic-red-500);
    background-image: url("../images/close-white.svg");
}





/* FILE */

.settings-item-submit .settings-item-options > div {
    display: flex;
    gap: var(--gap-s);
}

.settings-item-submit .settings-item {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
    width: 100%;
}
.settings-item-submit .fake-submit {
    position: relative;

}

.settings-item-submit .fake-submit > p {
    margin-bottom: var(--gap-s);
}

.settings-item-submit .fake-submit h5 {
    pointer-events: none;
    text-align: center;
}


.settings-item-submit .fake-submit u {
    display: inline;
}

.settings-item-submit .fake-submit input {
    /* visibility: hidden; */
    position: absolute;
    left: -100vmax;
}

.settings-item-submit .fake-submit .fake-submit-container {
    display: grid;
    place-items: center;

    height: 10rem;
    border-radius: var(--roundness-s);
    border: var(--border-width-s) dashed var(--clr-border);
    background-color: var(--clr-light-200);
    
    padding: var(--container-padding-m);
    position: relative;
}
.settings-item-submit .fake-submit-container:hover {
    background-color: var(--clr-highlight-200);
    border-color: var(--clr-highlight-500);
}

.fake-submit-container .button-optimize {
    background-color: var(--clr-light-100) !important;
    width: 2.8rem !important;
    height: 2.8rem !important;
    min-height: unset;
    min-width: unset;
    position: absolute !important;
    right: 0.8rem;
    top: 0.8rem;
    z-index: 1;
    --clr-icon: var(--clr-highlight-500);
    visibility: hidden;
}

.settings-item-submit .fake-submit-container.optimize .button-optimize {
    visibility: visible;
}
.settings-item-submit .fake-submit input#logo_dark + .fake-submit-container.filled .button-optimize {
    background-color: var(--clr-dark-900) !important;
    --clr-icon: var(--clr-light-100);
}
.fake-submit-container .button-optimize:hover {
    background-color: var(--clr-highlight-500) !important;
    --clr-icon: var(--clr-light-100);
}

.settings-item-submit .fake-submit input#logo_dark + .fake-submit-container.filled .button-optimize:hover {
    background-color: var(--clr-highlight-500) !important;
}
.fake-submit-container .button-optimize:hover {
    background-color: var(--clr-highlight-500) !important;
    --clr-icon: var(--clr-light-100);
}

.fake-submit-container.drag-target {
    background-color: var(--clr-highlight-200) !important;
    border-color: var(--clr-highlight-500) !important;
}

.settings-item-submit .fake-submit input#logo_dark + .fake-submit-container.filled {
    background-color: var(--user-color-dark);
}
.settings-item-submit .fake-submit input#logo_light + .fake-submit-container.filled {
    background-color: var(--user-color-light);
}
.settings-item-submit .fake-submit input#logo_dark + .fake-submit-container.filled:hover {
    background-color: var(--clr-dark-900);
    /* border-color: var(--user-color-dark); */
}

.settings-item-submit .fake-submit input#logo_light + .fake-submit-container.filled:hover {
    background-color: var(--clr-highlight-200);
}


.settings-item-submit .fake-submit label {
    visibility: visible !important;
    position: absolute;
    inset: 0;
    cursor: pointer;
    display: grid;
    place-items: center;
    color: transparent;
}

.settings-item-submit .fake-submit .fake-submit-container:has(img[src=""]) label {
    color: var(--clr-dark-450);
}
.settings-item-submit .fake-submit .fake-submit-container:has(img[src=""]) label:hover u {
    color: var(--clr-highlight-500);
}
.settings-item-submit .fake-submit .fake-submit-container img[src=""] {
    color: transparent;
    display: none;
}

#drag-focus-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100000; /* hoger dan modal + dialog */
    pointer-events: none;
    --drag-overlay-color: rgba(var(--clr-ld-dark-rgb), 0.3);
    display: none;
}

.dialog-overlay-inside {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    pointer-events: none;
}

dialog::backdrop {
    pointer-events: none !important;
}


#drag-focus-overlay * {
    pointer-events: none;
}
#drag-focus-overlay svg {
    width: 100%;
    height: 100%;
}




.settings-item-submit .settings-item-options {
    width: min(100%, 35rem);
    max-width: 35rem;
}
.settings-item-submit .settings-item-options > div > .settings-item {
    width: 100vmax;
    flex-shrink: 1;
}

.settings-item-submit .fake-submit .fake-submit-container.filled {
    padding: var(--container-padding-m);
}

.settings-item-submit .fake-submit .fake-submit-container img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    overflow: hidden;
}

.settings-item-submit .fake-submit .fake-submit-container.filled label * {
    color: transparent !important;
}


dialog .settings-item-submit .fake-submit label {
    border: var(--border-width-s) dashed var(--clr-border);
    height: fit-content;
    background-color: var(--clr-light-200);
    padding: var(--container-padding-s);
    position: static;
    inset: unset;
    border-radius: var(--roundness-s);
    color: var(--clr-dark-450);
}
dialog .settings-item-submit .fake-submit label h5 {
    text-wrap: wrap;
}
dialog .settings-item-submit .fake-submit label:hover {
    background-color: var(--clr-highlight-200);
    border-color: var(--clr-highlight-500);
}

.settings-item-submit .settings-item-info {
    margin-top: var(--gap-s);
    display: flex;
    justify-content: space-between;
}


/* Fake select with search */


.fake-select-search.fake-select-search-2 {
    width: 100%;
    min-width: 15ch;
    max-width: 30ch;
    
    border: none;
    border-radius: var(--roundness-s);
    position: relative;
}
/* .fake-select-search.fake-select-search-2 label {
    position: relative;
    visibility: visible;
} */
.fake-select-search.fake-select-search-2 select {
    border: var(--border-width-s) solid var(--clr-border) !important;
    padding-right: calc(var(--button-inline-padding) + 2rem);
    text-overflow: ellipsis;
}

.fake-select-search.fake-select-search-2:is(:focus, :focus-within) {
    border-color: var(--clr-highlight-500) !important;
}
.fake-select-search.fake-select-search-2:is(:focus, :focus-within) input {
    border-color: var(--clr-highlight-500) !important;
}


.fake-select-search.fake-select-search-2 .select-search {
    --width: calc(var(--button-height) - 2 * var(--border-width-s));
    width: calc(var(--width));
    height: calc(var(--width));
    display: none;
    place-items: center;
    position: absolute;
    right: var(--border-width-s);
    top: var(--border-width-s);
    border-radius: 0 calc(var(--roundness-s) - var(--border-width-s)) calc(var(--roundness-s) - var(--border-width-s)) 0;
    background-color: transparent;
}

.fake-select-search.fake-select-search-2:is(:focus, :focus-within) .select-search {
    display: grid;
}

.fake-select-search.fake-select-search-2 .select-search:hover {
    background-color: var(--clr-light-200);
}
.fake-select-search.fake-select-search-2.active .select-search svg {
    transform: rotate(180deg);
}

.fake-select-search.fake-select-search-2 input {
    /* text-transform: lowercase; */
}

.fake-select-search.fake-select-search-2 {
    overflow: visible;
    height: var(--form-height);
}

.fake-select-search.fake-select-search-2 .fake-select-options {
    position: absolute;
    bottom: calc(var(--form-height) + 0.4rem);
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    border: var(--border-width-s) solid var(--clr-border);
    border-radius: var(--roundness-s);
    --height: 3.6rem;
    max-height: calc(var(--height) * 4);
    overflow-y: auto;
    /* margin-bottom: 0.8rem; */
    margin-top: 0.8rem;
}

.fake-select-search.fake-select-search-2 .fake-select-options > button {
    height: var(--height);
    flex-shrink: 0;
    width: 100%;
    background-color: var(--clr-light-200);
    padding-inline: var(--container-padding-s);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gap-s);
}
.fake-select-search.fake-select-search-2 .fake-select-options > button:hover {
    background-color: var(--clr-light-300);
}

.fake-select-search.fake-select-search-2 .fake-select-options button:not(.active) {
    display: none !important;
}
.fake-select-search.fake-select-search-2 .fake-select-options .no-font {
    display: none;
    background-color: var(--clr-light-200);
}
.fake-select-search.fake-select-search-2 .fake-select-options:not(:has(button.active)) .no-font {
    display: flex;
}

.fake-select-search.fake-select-search-2:not(.active) .fake-select-options {
    display: none;
}
.fake-select-search.fake-select-search-2.active {
    z-index: 1;
}

.fake-select-search.fake-select-search-2 > input.input-unknown {
    background-color: var(--clr-traffic-orange-200) !important;
    border-color: var(--clr-traffic-orange-500) !important;
}









/* BIG RADIO */

#settings-container-3 {
    container: test / inline-size;
}
#settings-container-3 .settings-container-inner {
    
}
.settings-item-radio-large {
    display: grid;
    grid-template-columns: 1fr auto;
}


.settings-item-radio-large .settings-item-options>div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--gap-s);
    width: 35rem;
}

@container test (max-width: 450px) {
    .settings-item-radio-large {
        grid-template-columns: 1fr;
    }
    .settings-item-radio-large .settings-item-options>div {
        width: 100%;
    }
}


.settings-item-radio-large .settings-item-inner {
    border: var(--border-width-s) solid var(--clr-border);
    padding: var(--gap-xs);
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
    border-radius: var(--roundness-m);
    position: relative;
}

.settings-item-radio-large .settings-item-inner .image-container {
    border-radius: var(--roundness-s);
    width: 100%;
    height: 7rem;
    background-color: var(--clr-light-200);
    overflow: hidden;
}
.settings-item-radio-large .settings-item-inner .image-container img {
    width: 100%;
    height: 100%;
    display: none;
}


.settings-item-radio-large .settings-item-inner>label {
    position: absolute;
    inset: 0;
    visibility: visible;
    background-color: transparent;
    cursor: pointer;
}

.settings-item-radio-large input:checked + .settings-item-inner {
    border-color: var(--clr-highlight-500);
    background-color: var(--clr-highlight-200);
}
.settings-item-radio-large input:checked + .settings-item-inner .image-container {
    background-color: var(--clr-light-100) !important;
}

.settings-item-radio-large .settings-item-inner .fake-large-radio-button {
    width: 2rem;
    height: 2rem;
    visibility: hidden;
    position: absolute;
    top: -0.4rem;
    right: -0.4rem;
    border-radius: 50%;
    background-color: var(--clr-highlight-500);
    display: grid;
    place-items: center;
    --clr-icon: var(--clr-light-100);
}

.settings-item-radio-large input:checked+.settings-item-inner .fake-large-radio-button {
    visibility: visible;
}

/* ---- TOP BAR ---- */

.topbar-container {
    position: static;
    /* top: 0; */
    height: var(--title-height);
    z-index: 1;
    border-bottom: var(--border-width-s) solid var(--clr-border);
    background-color: var(--clr-light-100);
}

.topbar {
    height: var(--title-height);
    padding-inline: var(--container-padding-s);

    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* ---- BREADCRUMBS ---- */

.breadcrumbs {
    display: flex;
    align-items: center;
    gap: 0;
    --clr-icon: var(--clr-dark-450);
}


.breadcrumbs :where(.button, .breadcrumbs-active) {
    color: var(--clr-dark-450) !important;
    padding-inline: calc(var(--button-inline-padding) / 2) !important;
}

.breadcrumbs-active {
    display: flex;
    height: var(--button-height);
    min-width: var(--button-height);
    align-items: center;
    color: var(--clr-dark-900) !important;
}



/* OVERVIEW BLOCK */

.overview-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-s);
    /* margin-bottom: var(--container-padding-m); */
}

.overview-block {
    --background: var(--clr-light-200);
    --image-background: var(--clr-light-100);

    position: relative;
    border-radius: var(--roundness-m);
    flex-shrink: 0;
    width: 100%;
}


.overview-block > button {
    border: var(--border-width-s) solid var(--clr-border);
    border-radius: var(--roundness-m);
    overflow: hidden;
}
.overview-block > button:hover {
    text-decoration: none !important;
}

main.left-sidebar-collapsed .overview-block {
    width: 6.4rem;
}

.overview-block-inner {
    padding: var(--container-padding-xs);
    padding-right: 0;

    display: grid;
    grid-template-columns: auto 1fr 4rem;

    width: 100%;
    height: fit-content;
    align-items: center;
    background-color: var(--background);
}
.overview-block-inner > div.collapse-removed {
    overflow: hidden;
}


.overview-block-disabled .overview-block-inner {
    cursor: not-allowed;
    opacity: 0.3;
}

.overview-block-small .overview-block-inner {
    grid-template-columns: auto 1fr;
    padding-right: var(--container-padding-xs) !important;
    height: 100%;
}
.overview-block .overview-block-inner p {
    width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    line-height: unset;
}

.overview-block-inner > div {
    height: fit-content;
}
.overview-block[data-active="true"] {
    --background: var(--clr-light-100);
}

.overview-block-controls {
    pointer-events: none;
}
.overview-block-controls button {
    pointer-events: all;
}

.overview-block-inner {
    z-index: 100;
}

.overview-block-inner:hover {
    --background: var(--clr-light-300);
}
.overview-block:has(.overview-block-controls:hover) .overview-block-inner {
    --background: var(--clr-light-300);
}

.dialog-settings-container:has(dialog[open]) + .overview-block-controls {
    visibility: visible !important;
}

.overview-block:hover .overview-block-controls {
    visibility: visible;
}
.overview-block:hover .overview-block-controls button:hover {
    --clr-icon: var(--clr-dark-900);
}


.overview-block-img {
    padding: 0.8rem;
    margin-right: var(--gap-m);
    width: 4rem;
    height: 4rem;
    background-color: var(--image-background);
    border-radius: var(--roundness-s);
    overflow: hidden;
}

.overview-block[data-active="true"] .overview-block-img {
    --image-background: var(--clr-light-200);
}

.overview-block-controls {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    visibility: hidden;
    width: 4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.overview-block-controls button {
    height: 50%;
    width: 4rem;

    display: flex;
    justify-content: center;
    align-items: end;
    padding-inline: 0;
    background-color: transparent;
}

.overview-block-controls button:nth-of-type(2) {
    align-items: start;
}

.overview-block-controls button:only-child {
    align-items: center;
}

.container-bottom {
    background-color: var(--clr-light-200) !important;
    border-top: var(--border-width-s) solid var(--clr-border);
    min-height: var(--title-height);
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding-inline: var(--container-padding-m);
    flex-wrap: wrap;
    padding: var(--container-padding-m);
}

.container-bottom > :only-child {
    margin-left: auto;
    max-width: 25rem;
}

.row {
    display: flex;
    flex-direction: row;
    gap: var(--gap-s);
    align-items: center;
}

.modal-container {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    display: grid;
    place-items: center;
    overflow: hidden;
}
.modal-container.open {
    pointer-events: all;
}

dialog li {
    list-style-type: none !important;
}

.dialog-container {
    position: absolute;
    inset: 0;
    /* background-color: var(--clr-traffic-red-500); */
    pointer-events: none;
    z-index: 999 !important;
}

.dialog-container dialog {
    position: absolute;
    inset: unset;
    left: var(--container-padding-s);
    bottom: var(--container-padding-s);

}

dialog::backdrop {
    background-color: var(--clr-dark-200);
}


.modal-container dialog:not(.sidebar) {
    transform: translateX(-50%) translateY(-50%);
    top: 50%;
    left: 50%;
}
dialog {
    --max-height: calc(100dvh - var(--title-height) - var(--container-padding-s) * 2);
    border: var(--border-width-s) solid var(--clr-border);
    border-radius: var(--roundness-m);
    padding: 0;
    position: fixed;
    pointer-events: all;
    display: grid;
    grid-template-rows: auto 1fr;
    max-height: var(--max-height);
    overflow: visible;
    box-shadow: 0 0.4rem 3.2rem rgba(var(--clr-ld-dark-rgb), 0.1);
}
dialog::backdrop {
    background-color: rgba(47, 47, 57, 0.1);
}
dialog:has(> form) {
    grid-template-rows: 1fr;
}

dialog:not([open]) {
    display: none;
}

dialog.sidebar {
    left: 100%;
    top: 0;
    transform: translateX(-100%);
    width: var(--container-left-width);
    height: 100%;
    max-height: none;
    border-radius: 0;
    grid-template-rows: 1fr;
}

dialog.sidebar .scroll-container {
    padding: var(--container-padding-m);
}

dialog.small {
    width: var(--dialog-width-s);
    max-height: min(var(--max-height), 62.6rem);
}
dialog.large {
    width: min(100%, var(--dialog-width-l));
    height: var(--max-height);
}

dialog > :where(form, section) {
    height: 100%;
    max-height: var(--max-height);
    display: grid;
    grid-template-rows: auto 1fr auto;
}
dialog.sidebar > :where(form, section) {
    max-height: none;
}
dialog.small > :where(form, section) {
    max-height: min(var(--max-height), 62.6rem);
}

dialog .page-title {
    padding-inline: var(--container-padding-m);
    border-bottom: var(--border-width-s) solid var(--clr-border);
}
dialog .container-bottom {
    padding-inline: var(--container-padding-m);
}

dialog .settings-container {
    padding-inline: var(--container-padding-m);
    min-height: 12rem;
}

dialog .settings-item-options > * {
    width: var(--input-width);
}

dialog .select-template-inner {
    display: grid;
    grid-template-columns: auto 1fr;
    overflow: hidden;
}

dialog .select-template-inner aside {
    padding: var(--container-padding-m);
    padding-right: var(--container-padding-s);
}

dialog .select-template-inner .layout-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    gap: var(--gap-m);
    padding: var(--container-padding-m);
    padding-left: var(--container-padding-s);
}

dialog .select-template-inner .layout-container > div {
    position: relative;
    display: grid;
}

dialog .select-template-inner aside .tag-container {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--gap-xs);
}

dialog .select-template-inner .layout-container .template-inner {
    border-radius: var(--roundness-m);
    border: var(--border-width-s) solid var(--clr-border);
    padding: 0.4rem;
    display: grid;
    grid-template-rows: 1fr auto;
    gap: 0.4rem;
    height: fit-content;
}

dialog .select-template-inner .layout-container > div input {
    position: absolute;
    /* visibility: hidden; */
    opacity: 0;
}
dialog .select-template-inner .layout-container > div label {
    position: absolute;
    inset: 0;
    font-size: 0;
    cursor: pointer;
}

dialog .select-template-inner .layout-container > div input:focus + div {
    border-color: var(--clr-highlight-500);
}

dialog .select-template-inner .layout-container > div input:checked + div {
    background-color: var(--clr-highlight-200);
    border-color: var(--clr-highlight-500);
}
dialog .select-template-inner .layout-container > div input:checked + div .tag {
    background-color: var(--clr-light-100);
}

dialog .select-template-inner .layout-container > div .image-container {
    background-color: transparent;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: var(--border-width-s) solid var(--clr-border);
    border-radius: var(--roundness-s);
}
dialog .select-template-inner .layout-container > div .image-container :where(img, svg) {
    border-radius: var(--roundness-s);
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: unset;
}

dialog .select-template-inner .layout-container > div .tag-container {
    display: flex;
    gap: var(--gap-s);
}

dialog .select-template-inner aside {
    display: flex;
    flex-direction: column;   
}

dialog .select-template-inner aside > div {
    display: flex;
    flex-direction: column;
    gap: var(--gap-s);
}

dialog .select-template-inner aside > div:not(:last-of-type) {
    padding-bottom: var(--gap-m);
    margin-bottom: var(--gap-m);
    border-bottom: var(--border-width-s) dashed var(--clr-border);
}

dialog .select-template-inner aside ul {
    display: flex;
    flex-direction: column;
    gap: var(--gap-s);
}
dialog .select-template-inner aside ul li:not(.active) p {
    color: var(--clr-dark-450);
}

dialog .fake-checkbox {
    width: 2.4rem;
    height: 2.4rem;
    background: var(--clr-highlight-500);
    border-radius: var(--roundness-s);
    position: absolute;
    left: unset;
    right: 0.8rem;
    top: 0.8rem;
    background-image: url("../images/checkmark-white.svg");
    background-size: 2rem;
    background-position: center;
    visibility: hidden;
    border: none !important;
}

dialog input:checked + div .fake-checkbox {
    visibility: visible;
}

dialog .dialog-submit {
    padding-bottom: 0.8rem;
    padding-inline: var(--container-padding-m);
}

dialog .dialog-submit input {
    visibility: visible !important;
    position: relative !important;
}

dialog.popup {
    --background-color: var(--clr-traffic-red-200);
    --border-color: var(--clr-traffic-red-400);
    --text-color: var(--clr-traffic-red-800);
    --clr-icon: var(--clr-traffic-red-800);
    --icon-color-hover: var(--clr-traffic-red-300);
    padding: var(--container-padding-s);
    width: var(--dialog-width-s);
    background-color: var(--background-color);
    border-color: var(--border-color);
    color: var(--text-color);
    max-width: calc(100vw - 2 * var(--container-padding-s));
}
dialog.popup > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
dialog.popup > div > div {
    display: flex;
    gap: var(--gap-s);
    justify-content: center;
    align-items: center;
}

dialog.popup > div > div svg {
    display: none;
}

dialog.popup #dialog-toast-type {
    font-weight: 500;
}

dialog.popup.error svg.error {
    display: inline-block;
}

dialog.popup .button:hover {
    background-color: var(--icon-color-hover);
    background-color: transparent;
}

dialog.popup.warning {
    --background-color: var(--clr-traffic-orange-200);
    --border-color: var(--clr-traffic-orange-400);
    --text-color: var(--clr-traffic-orange-800);
    --clr-icon: var(--clr-traffic-orange-800);
    --icon-color-hover: var(--clr-traffic-orange-300);
}
dialog.popup.warning svg.warning {
    display: inline-block;
}

dialog.popup.success {
    --background-color: var(--clr-traffic-green-200);
    --border-color: var(--clr-traffic-green-400);
    --text-color: var(--clr-traffic-green-800);
    --clr-icon: var(--clr-traffic-green-800);
    --icon-color-hover: var(--clr-traffic-green-300);
}
dialog.popup.success svg.success {
    display: inline-block;
}

dialog.popup.info {
    --background-color: var(--clr-traffic-blue-200);
    --border-color: var(--clr-traffic-blue-400);
    --text-color: var(--clr-traffic-blue-800);
    --clr-icon: var(--clr-traffic-blue-800);
    --icon-color-hover: var(--clr-traffic-blue-300);
}
dialog.popup.info svg.info {
    display: inline-block;
}

#dialog-select-images {
    grid-template-rows: auto 1fr auto;
}


.modal-container dialog.popup {
    transform: unset;
    inset: unset;
    right: var(--container-padding-m);
    bottom: var(--container-padding-m);
}


.logo {
    display: flex;
    gap: var(--gap-s);
    align-items: center;
}

.input-large {
    font-size: var(--font-size-h2) !important;
    font-weight: 500;
}

[data-tooltip] {
    position: relative;
}
[data-tooltip]:hover {
    z-index: 1;
}
[data-tooltip]:hover::before, [data-tooltip]:hover::after {
    visibility: visible;
    opacity: 1;
    /* Change delay between hover and tooltip showing */
    transition-delay: 275ms;
}

[data-tooltip]::before, [data-tooltip]::after {
    pointer-events: none;
    position: absolute;
    bottom: 0;
    left: 50%;
    background-color: var(--clr-dark-900);
    transition: opacity 0s;
    transition-delay: 0s;
    opacity: 0;
}

[data-tooltip]::after {
    content: attr(data-tooltip);
    transform: translateX(-50%) translateY(100%);
    color: var(--clr-light-100);
    font-size: var(--font-size-h5);
    border-radius: var(--roundness-s);
    padding: 0.4rem 0.6rem;
    text-align: center;
    height: fit-content;
    max-width: calc(var(--button-height) + 2 * var(--container-padding-s));
    overflow-wrap: break-word;
}
.large-tooltip[data-tooltip]::after {
    max-width: 20rem;
    width: 20rem;
}


[data-tooltip]::before {
    content: "";
    clip-path: polygon(50% 0, 0% 100%, 100% 100%);
    transform: translateX(-50%);
    width: 0.8rem;
    height: 0.4rem;
    z-index: 1;
}

.tooltip-top::before {
    transform: translateX(-50%) 0;
    top: 0;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.tooltip-top::after {
    transform: translateX(-50%) translateY(-100%);
    top: 0;
}

[class*="icon-container"] {
    --width: 2rem;
    width: var(--width);
    height: var(--width);
    border-radius: var(--roundness-s);
    display: grid;
    place-items: center;
}
[class*="icon-container"] > [class*="icon-"] {
    --width: 1.6rem;
    width: var(--width);
    height: var(--width);
}


.icon-container-m {
    --width: 3.2rem;
}
.icon-container-l {
    --width: var(--button-height);
}
.icon-container-xl {
    --width: 6.4rem;
}

.icon-xs, .icon-s, .icon-m, .icon-l, .icon-xl {
    width: var(--width) !important;
    height: var(--width) !important;
    min-width: var(--width) !important;
    min-height: var(--width) !important;
}

.icon-xs {
    --width: 1.2rem !important;
}

.icon-s {
    --width: 1.6rem !important;
}

.icon-m {
    --width: 2rem !important;
}
.icon-l {
    --width: 2.4rem !important;
}
.icon-l-2 {
    --width: 3.2rem !important;
}
.icon-xl {
    --width: 4rem !important;
}
.icon-logo {
    --width: 3.2rem !important;
    --clr-icon: var(--clr-highlight-500);
    --stroke-width: 1px !important;
}
.icon-logo svg {
    --stroke-width: 1px !important;
}

.input-container {
    /* display: grid !important; */
    position: relative;
    display: grid !important;
    grid-template-columns: auto 1fr;
    gap: 0 !important;
    align-items: center;
    overflow: hidden;
    justify-content: end;
    width: 100%;
}
.input-container > input {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    caret-color: var(--clr-dark-450);
    color: transparent;
}
.input-container::before {
    content: attr(data-replicated-value) " ";
    white-space: pre-wrap;
    visibility: visible;
}
.input-container:has(.input-large)::before {
    font-size: var(--font-size-h2);
    font-weight: 500;
    word-wrap: break-word;
    width: fit-content;
    padding: 0;
}

.input-container[data-replicated-value=""] input {
    /* Calculated from putting in the placeholder value and measuring .input-container width */
    color: var(--clr-dark-900) !important;
}



/* LOADERS */

.loader {
    --color1: var(--clr-light-200);
    --color2: var(--clr-light-300);
}
.loader, .loader * {
    --clr-glint: var(--clr-light-100);
    --clr-icon: transparent;
    color: transparent;
    background: transparent;
    user-select: none;
    pointer-events: none !important;
    position: relative;
}

.loader {
    position: relative;
  overflow: hidden;
  z-index: -1;
  clip-path: inset(0);
  background-color: var(--color1) !important;
}
.loader-item {
    z-index: 1;
    position: relative;
    background-color: var(--color2) !important;
    overflow: hidden;
}
.loader-item > * {
    visibility: hidden;
}
.loader::after {
    --width: 12rem;
    content: "";
    position: fixed;
    top: 0;
    left: calc(var(--width) * -1);
    height: 100%;
    width: var(--width);
    z-index: 1;
    background: linear-gradient(to right, var(--color1) 0%, var(--clr-glint) 50%, var(--color1) 100%);
    animation: shimmer 1s cubic-bezier(0.4, 0.0, 0.2, 1) infinite;
}

@keyframes shimmer {
    from {
        left: -150px;
    }
    to   {
        left: 100%;
    }
}

.loader-item.loader-background {
    background: var(--color2) !important;
}



/* Image optimisation loader */
.image-loader-overlay {
    --color1: transparent;
    --clr-glint: var(--clr-light-100);

    position: absolute;
    inset: 0;
    background-color: var(--color1);
    border-radius: 0.5rem;
    overflow: hidden;
    z-index: 3;
    pointer-events: none;
}

.image-loader-shimmer {
    position: absolute;
    top: 0;
    left: -120%;
    width: 120%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--clr-glint) 50%,
        transparent 100%
    );
    animation: image-shimmer-slide 1.2s ease-in-out infinite;
}

.image-loader-text {
    position: absolute;
    inset: 0;
    text-align: center;
    color: var(--clr-dark-450);
    font-size: 0.9rem;
    display: flex;
    justify-content: center;
    align-items: end;
    padding: 1.2rem;
}

@keyframes image-shimmer-slide {
    0% {
        left: -120%;
    }
    100% {
        left: 100%;
    }
}




.flex {
    display: flex;
}

.warning-container {
    --color: var(--clr-traffic-red-500);
    --color-background: var(--clr-traffic-red-200);
    --color-border: var(--clr-traffic-red-300);
    --color-light: var(--clr-traffic-red-400);

    display: flex;
    flex-direction: row !important;
    gap: var(--gap-s);

    border: var(--color-border) solid var(--border-width-s);
    background-color: var(--color-background);
    color: var(--color);
    --clr-icon: var(--color);
    padding: 1.2rem;
    border-radius: var(--roundness-s);
}

.warning-container.warning {
    --color: var(--clr-traffic-orange-500);
    --color-background: var(--clr-traffic-orange-200);
    --color-border: var(--clr-traffic-orange-300);
    --color-light: var(--clr-traffic-orange-400);
}
.warning-container.success {
    --color: var(--clr-traffic-green-500);
    --color-background: var(--clr-traffic-green-200);
    --color-border: var(--clr-traffic-green-300);
    --color-light: var(--clr-traffic-green-400);
}

.warning-container-text {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
}

.warning-container .lighter {
    color: var(--color-light);
}

/* START BRAND INFO */
.tab-container-outer {
    padding-inline: 0;
    padding-top: var(--container-padding-s);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: fit-content;
}

.tab-container-outer [type="radio"] {
	display: none;
}

.tab-container {
    display: flex;
    border-bottom: var(--border-width-s) solid var(--clr-border);
    padding-inline: var(--container-padding-m);
    min-width: max-content;
    counter-reset: tabs;
}

.tab-item .tab-label {
	display: grid;
    height: var(--button-height);
    padding-inline: var(--container-padding-m);
    background-color: var(--clr-light-100);
    color: var(--clr-dark-450);
	cursor: pointer;
    place-items: center;
    border-top-left-radius: var(--roundness-s);
    border-top-right-radius: var(--roundness-s);
}
.tab-item .tab-label p::before {
    counter-increment: tabs;
    content: counter(tabs) ". ";
}

.tab-item .tab-label.light {
    color: var(--clr-light-300);
}

.tab-item:hover .tab-label {
    color: var(--clr-dark-900);
    background-color: var(--clr-light-200);
}

.tab-item.tab-missing-required .tab-label {
    border-bottom: var(--border-width-s) solid transparent;
    height: calc(var(--button-height) + var(--border-width-s));
    margin-bottom: calc(-1 * var(--border-width-s));
    background-color: var(--clr-traffic-red-200);
}


.tab-content {
	display: flex;
    flex-direction: column;
    padding: 0;
    padding-inline: var(--container-padding-m);
    gap: var(--gap-m);
    visibility: hidden;
    height: 0px !important;
    overflow: hidden !important;
    overflow-y: auto !important;
}

/* As we cannot replace the numbers with variables or calls to element properties, the number of this selector parts is our tab count limit */
.tab-container-outer [type="radio"]:nth-of-type(1):checked ~ .tab-container .tab-item:nth-of-type(1).tab-missing-required label,
.tab-container-outer [type="radio"]:nth-of-type(2):checked ~ .tab-container .tab-item:nth-of-type(2).tab-missing-required label,
.tab-container-outer [type="radio"]:nth-of-type(3):checked ~ .tab-container .tab-item:nth-of-type(3).tab-missing-required label {
	border-color: var(--clr-traffic-red-500);
}

.tab-container-outer [type="radio"]:nth-of-type(1):checked ~ .tab-container .tab-item:nth-of-type(1) label,
.tab-container-outer [type="radio"]:nth-of-type(2):checked ~ .tab-container .tab-item:nth-of-type(2) label,
.tab-container-outer [type="radio"]:nth-of-type(3):checked ~ .tab-container .tab-item:nth-of-type(3) label {
	color: var(--clr-dark-900);
    background-color: var(--clr-light-300);
}

.tab-container-outer [type="radio"]:nth-of-type(1):checked ~ .tab-content:nth-of-type(1),
.tab-container-outer [type="radio"]:nth-of-type(2):checked ~ .tab-content:nth-of-type(2),
.tab-container-outer [type="radio"]:nth-of-type(3):checked ~ .tab-content:nth-of-type(3) {
	visibility: visible;
    height: 100% !important;
    overflow-y: auto;
    padding: var(--container-padding-m);
}

label.hidden {
    visibility: hidden;
    position: absolute;
    left: 200vw;
}

/* END BRAND INFO */

.state-empty {
    margin-inline: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap-xl);
    padding-bottom: var(--container-padding-s);
    padding-top: var(--container-padding-s);
}

.state-empty .state-empty-image {
    width: 20rem;
    height: 15rem;
    border-radius: var(--roundness-m);
}
.state-empty .state-empty-image:has(img[src=""]) {
    background-color: var(--clr-light-200);
}
.state-empty .state-empty-text {
    display: flex;
    flex-direction: column;
    gap: var(--gap-s);
}
.state-empty .state-empty-actions {
    display: flex;
    flex-direction: column;
    gap: var(--gap-s);
}



.image-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--gap-s);
    min-height: 0;
    min-width: 0;
}

.image-grid:has(.image-item) + div {
    display: none;
    visibility: hidden;
}


.image-grid > .image-item {
    overflow: hidden;
    min-width: 0;
    position: relative;
}

.image-item-loader-text {
    position: absolute;
    inset: 0;
    text-align: center;
    color: var(--clr-dark-450);
    font-size: 0.9rem;
    display: grid;
    place-items: center;
}

.image-grid > .image-item > label {
    position: absolute;
    inset: 0;
    background-color: var(--clr-traffic-red-500);
    cursor: pointer;
    opacity: 0;
}
.image-grid > .image-item > input {
    position: absolute;
    left: -100vmax;
}

.image-grid > .image-item .image-item-wrapper {
    max-width: 100%;
    width: 100%;
    overflow: hidden;
    border: var(--border-width-s) solid var(--clr-border);
    background-color: var(--clr-light-200);
    border-radius: var(--roundness-s);
    /* padding: var(--gap-xs); */
    aspect-ratio: 1 / 1;
}

.image-item input:checked + .image-item-wrapper {
    border-color: var(--clr-highlight-500);
}
.image-grid > .image-item .image-item-wrapper svg {
    width: 100%;
    height: unset;
    aspect-ratio: 1 / 1;
}
.image-grid > .image-item .image-item-wrapper img {
    width: 100%;
    height: unset;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

#dialog-select-images .image-grid > .image-item .image-item-wrapper {
    padding: 0.8rem;
}

dialog#dialog-select-images .dialog-submit input {
    position: absolute !important;
    left: -100vmax;
}

.preview-container {
    display: grid;
    place-items: center;
    margin-left: auto;
    margin-right: auto;
    padding: var(--container-padding-s);
    padding-left: 0;
    --width: 50rem;
    flex-shrink: 1;
}

.preview-container > div {
    position: relative;
    width: 100%;
}

.preview-container > div .logo-container {
    position: absolute;
    inset: 0;
    left: unset;
    right: 0;
    margin: calc(92/1200 * 100%);
    width: 27%;
    height: 12.75%;
    aspect-ratio: 3 / 1;
    overflow: hidden;
    pointer-events: none;
}

.preview-container > div .logo-container img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: top right;
}

.preview-container svg {
    max-width: 100%;
    width: var(--width);
    height: unset !important;
    border-radius: var(--roundness-m);
    filter: var(--shadow);
}


.settings-item-large-radio .image-container {
    --clr-one: var(--clr-dark-450);
    --clr-two: var(--clr-one);
    display: grid;
    place-items: center;
}
.settings-item-large-radio input:checked + .settings-item-inner .image-container {
    --clr-two: var(--clr-dark-900);
}


@media only screen and (max-width: 1280px) {
    :where(.breadcrumbs, .breadcrumbs-dashboard) p {
        font-size: var(--font-size-p-small) !important;
    }
    :where(.breadcrumbs, .breadcrumbs-dashboard) svg {
        --width: 1.6rem !important;
    }
    .breadcrumbs :where(a, .breadcrumbs-active) {
        padding-inline: 0.4rem !important;
    }

    .breadcrumbs > *:not(:nth-child(1), :nth-child(2), :nth-last-child(1), :nth-last-child(2), :nth-last-child(3)) {
        display: none !important;
        visibility: hidden;
    }

    .collapse-bp-1280 {
        display: none !important;
        visibility: hidden;
    }
}
@media only screen and (max-width: 992px) {
    .collapse-bp-992 {
        display: none !important;
        visibility: hidden;
    }

    .topbar .button.secondary {
        width: var(--button-height);
        background-color: var(--clr-traffic-red-500);
        padding: 0;
        display: grid;
        place-items: center;
    }

}


@media only screen and (max-width: 650px) {
    :root {
        --container-padding-m: 1.2rem;
        --container-padding-s: 1.2rem;
        --title-height: 6rem;
    }

    .collapse-bp-650 {
        display: none !important;
        visibility: hidden;
    }

    /* SIDEBAR NAV */
    body {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
    }
    body:where(.login, .register) {
        grid-template-rows: 1fr !important;
    }
    .sidebar-container {
        width: 100%;
        height: fit-content;
    }
    nav.sidebar {
        position: static;
        top: 0;
        width: 100%;
        height: fit-content;
        background-color: var(--clr-light-100);
        border-right: none;
    }

    nav.sidebar .logo-container {
        width: 100%;
    }
    nav.sidebar #collapse-nav {
        display: none;
        visibility: hidden;
    }
    nav.sidebar .account {
        width: 100%;
    }

    nav.sidebar .logo-container #menu-toggle {
        display: flex;
        visibility: visible;
    }
    nav.sidebar .logo-container #menu-toggle > * {
        display: none;
        visibility: hidden;
    }

    body.menu-toggled {
        height: min(100%, 100dvh);
    }

    body:not(.menu-toggled) .menu {
        display: none !important;
        visibility: hidden !important;
    }

    body:not(.menu-toggled) #menu-toggle #menu-open {
        display: grid;
        visibility: visible;
    }
    body.menu-toggled #menu-toggle #menu-close {
        display: grid;
        visibility: visible;
    }

    body.menu-toggled > aside {
        height: 100dvh;
        background-color: var(--clr-traffic-red-500);
    }
    body.menu-toggled > aside > nav {
        height: 100%;
    }

    body.menu-toggled > aside > nav .menu {
        overflow-y: auto;
    }

    body.menu-toggled > .page {
        display: none;
    }


    nav.sidebar ul > .container-link {
        position: absolute;
        inset: 0;
        background-color: var(--clr-traffic-red-500);
        visibility: hidden;
        display: none;
    }

    nav.sidebar dialog {
        left: unset;
        right: var(--container-padding-m);
    }

    /* END SIDEBAR NAV */

    .page {
        overflow: visible !important;
    }

    .breadcrumbs, .breadcrumbs-dashboard {
        font-size: var(--font-size-p-small);
    }


    .thin-scrollbar {
        height: fit-content !important;
        overflow: visible !important;
    }

    .tab-content {
        height: 0 !important;
    }

    

}

@media only screen and (max-width: 450px) {
    .settings-item {
        display: grid;
        grid-template-columns: 1fr;
    }

    input[type="text"], input[type="email"], input[type="password"], input[type="search"] {
        width: 100% !important;
        max-width: none;
    }
    .color-input {
        width: 100%;
    }

}

.zeshoek {
    background-color: red;
    width: 100px;
    height: 100px;
}













/* Plan & billing */

.billing-container {
    display: flex;
    flex-direction: column;
    gap: var(--gap-m);
}

.billing-timeframe {
    display: flex;
    gap: 0;
    border: var(--border-width-s) solid var(--clr-border);
    background-color: var(--clr-light-200);
    width: fit-content;
    border-radius: var(--roundness-s);
}

.billing-timeframe:has(input:not(:checked) + label:hover) {
    background-color: var(--clr-light-300);
}

.billing-timeframe input {
    position: absolute;
    left: -100vmax;
}

.billing-timeframe label {
    display: flex;
    gap: 0.3em;
    height: var(--button-height);
    padding-inline: var(--button-inline-padding);
    align-items: center;
    border-radius: var(--roundness-s);
    border: var(--border-width-s) solid transparent;
    cursor: pointer;
}

.billing-timeframe label .tag {
    background-color: var(--clr-highlight-300);
    border-color: var(--clr-border);
}


.billing-timeframe input:checked+label {
    background-color: var(--clr-light-100);
    border-color: var(--clr-border);
}

.billing-timeframe label:hover {
    background-color: var(--clr-light-300);
}

.billing-timeframe:has(input#billing-timeframe-monthly:checked)+.plan-container-outer #plan-container-annual,
.billing-timeframe:has(input#billing-timeframe-annual:checked)+.plan-container-outer #plan-container-monthly {
    display: none;
}

.plan-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--gap-s);
}

.plan-outer {
    padding: 2.4rem;
    border: var(--border-width-s) solid var(--clr-border);
    border-radius: var(--roundness-m);
    display: flex;
    flex-direction: column;
    gap: var(--gap-xl);
    height: fit-content;
    background-color: var(--clr-light-100);
}

.plan-outer.plan-enterprise {
    background-color: var(--clr-highlight-200);
    border-color: var(--clr-highlight-300);
}

.plan-heading {
    display: flex;
    flex-direction: column;
    gap: var(--gap-s);
}

.plan-heading .icon-container-l {
    background-color: var(--clr-highlight-200);
    --clr-icon: var(--clr-highlight-500);
    border-radius: var(--roundness-s);
}

.plan-outer.plan-enterprise .plan-heading .icon-container-l {
    background-color: var(--clr-light-100);
}


.plan-text {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
}

.plan-text>div {
    display: flex;
    gap: var(--gap-xs);
    align-items: center;
}

.plan-text>div .tag {
    background-color: var(--clr-highlight-200);
}

.plan-price {
    display: flex;
    gap: 0.3em;
    align-items: end;
    margin-top: var(--gap-s);
}

.plan-price p {
    line-height: 100%;
}
.plan-price p.small {
    line-height: 115%;
}

.plan-buttons a {
    width: 100%;
}

.plan-buttons a:not(.primary) {
    border: var(--border-width-s) solid var(--clr-border);
}


.plan-features ul {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xs);
}

.plan-features ul li {
    display: flex;
    gap: var(--gap-s);
    --clr-icon: var(--clr-highlight-500);
}

.plan-features ul li p {
    min-height: 2rem;
}


#dialog-payment-method .thin-scrollbar {
    padding: var(--container-padding-m);
    gap: var(--container-padding-m);
    display: flex;
    flex-direction: column;
}

#dialog-payment-method .payment-method-outer {
    display: flex;
    gap: var(--gap-s);
    flex-direction: row;
}

#dialog-payment-method .payment-method-settings {
    display: flex;
    flex-direction: column;
    gap: var(--gap-s);
}


#dialog-payment-method .payment-method-outer .payment-method {
    position: relative;
}
#dialog-payment-method .payment-method-outer .payment-method input {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}

#dialog-payment-method .payment-method-inner {
    border: var(--border-width-s) solid var(--clr-border);
    border-radius: var(--roundness-s);
    display: flex;
    gap: var(--gap-s);
    padding: 1.2rem;
    position: relative;
    background-color: var(--clr-light-100);
    justify-content: start;
}

#dialog-payment-method .payment-method-outer .payment-method input:checked + .payment-method-inner {
    border-color: var(--clr-highlight-500);
}

#dialog-payment-method .payment-method-inner label {
    position: absolute;
    inset: 0;
    cursor: pointer;
}

#dialog-payment-method .fake-radio-2 {
    width: 2rem;
    height: 2rem;
    background-color: transparent;
    display: grid;
    place-items: center;
    border-radius: 100vmax;
    border: var(--border-width-s) solid var(--clr-border);
}
#dialog-payment-method .fake-radio-2 svg {
    visibility: hidden;
    opacity: 0;
}
#dialog-payment-method .payment-method input:checked + .payment-method-inner .fake-radio-2 {
    background-color: var(--clr-highlight-500);
    border-color: var(--clr-highlight-500);
    --clr-icon: var(--clr-light-100);
}
#dialog-payment-method .payment-method input:checked + .payment-method-inner .fake-radio-2 svg {
    visibility: visible;
    opacity: 1;
}


#dialog-payment-method #sepa_fields, #dialog-payment-method #credit_card_fields {
    display: none;
    visibility: hidden;
}

.payment-method-settings:has(#payment-method-credit:checked) + .payment-method-inputs #credit_card_fields {
    display: flex;
    visibility: visible;
}
.payment-method-settings:has(#payment-method-sepa:checked) + .payment-method-inputs #sepa_fields {
    display: flex;
    visibility: visible;
}

#dialog-payment-method .accept-terms {
    display: inline-flex;
    gap: var(--gap-xs);
}

.button-loading svg use {
    width: 100%;
    height: 100%;
    --time: 1s;
    -webkit-animation: rotating var(--time) linear infinite;
    -moz-animation: rotating var(--time) linear infinite;
    -ms-animation: rotating var(--time) linear infinite;
    -o-animation: rotating var(--time) linear infinite;
    animation: rotating var(--time) linear infinite;
    transform-origin: center;
}


@-webkit-keyframes rotating /* Safari and Chrome */ {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}