.dgtl-button {
    --dgtl-button-bg: var(--brand-500);
    --dgtl-button-bg-hover: var(--brand-600);
    --dgtl-button-bg-active: var(--brand-700);
    --dgtl-button-text: var(--button-primary-text, #fff);
    --dgtl-button-text-hover: var(--button-primary-hover-text, var(--button-primary-text, #fff));
    --dgtl-button-text-active: var(--button-primary-hover-text, var(--button-primary-text, #fff));
    --dgtl-button-border-color: var(--brand-500);
    --dgtl-button-border-color-hover: var(--brand-600);
    --dgtl-button-border-color-active: var(--brand-700);
    --dgtl-button-border-width: var(--button-primary-border-width, 1px);
    --dgtl-button-radius: var(--button-primary-border-radius, var(--radius-sm));
    --dgtl-button-shadow: var(--button-primary-shadow, none);
    --dgtl-button-shadow-hover: var(--button-primary-hover-shadow, var(--button-primary-shadow, none));
    --dgtl-button-padding-y: var(--button-md-padding-y, 0.75rem);
    --dgtl-button-padding-x: var(--button-md-padding-x, 1.125rem);
    --dgtl-button-font-size: var(--button-md-font-size, 1rem);
    --dgtl-button-min-size: 48px;
    --dgtl-button-text-decoration: none;
}

.dgtl-button.button-sm,
.fl-builder-content .fl-module-button.dgtl-button.button-sm .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-sm .fl-button {
    --dgtl-button-padding-y: var(--button-sm-padding-y, 0.5rem);
    --dgtl-button-padding-x: var(--button-sm-padding-x, 0.875rem);
    --dgtl-button-font-size: var(--button-sm-font-size, 0.875rem);
    --dgtl-button-min-size: 44px;
}

.dgtl-button.button-md,
.fl-builder-content .fl-module-button.dgtl-button.button-md .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-md .fl-button {
    --dgtl-button-padding-y: var(--button-md-padding-y, 0.75rem);
    --dgtl-button-padding-x: var(--button-md-padding-x, 1.125rem);
    --dgtl-button-font-size: var(--button-md-font-size, 1rem);
    --dgtl-button-min-size: 48px;
}

.dgtl-button.button-lg,
.fl-builder-content .fl-module-button.dgtl-button.button-lg .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-lg .fl-button {
    --dgtl-button-padding-y: var(--button-lg-padding-y, 0.95rem);
    --dgtl-button-padding-x: var(--button-lg-padding-x, 1.5rem);
    --dgtl-button-font-size: var(--button-lg-font-size, 1.125rem);
    --dgtl-button-min-size: 56px;
}

.dgtl-button.button-link,
.fl-builder-content .fl-module-button.dgtl-button.button-link .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-link .fl-button {
    --dgtl-button-bg: transparent;
    --dgtl-button-bg-hover: transparent;
    --dgtl-button-bg-active: transparent;
    --dgtl-button-text: var(--brand-500);
    --dgtl-button-text-hover: var(--brand-600);
    --dgtl-button-text-active: var(--brand-700);
    --dgtl-button-border-color: transparent;
    --dgtl-button-border-color-hover: transparent;
    --dgtl-button-border-color-active: transparent;
    --dgtl-button-border-width: 0;
    --dgtl-button-radius: var(--button-primary-border-radius, var(--radius-sm));
    --dgtl-button-shadow: none;
    --dgtl-button-shadow-hover: none;
    --dgtl-button-padding-y: 0;
    --dgtl-button-padding-x: 0;
    --dgtl-button-font-size: var(--button-md-font-size, 1rem);
    --dgtl-button-min-size: 44px;
    --dgtl-button-text-decoration: underline;
}

.dgtl-button.button-bg-brand,
.fl-builder-content .fl-module-button.dgtl-button.button-bg-brand .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-bg-brand .fl-button {
    --dgtl-button-bg: var(--brand-500);
    --dgtl-button-bg-hover: var(--brand-600);
    --dgtl-button-bg-active: var(--brand-700);
    --dgtl-button-text: var(--button-primary-text, #fff);
    --dgtl-button-text-hover: var(--button-primary-hover-text, var(--button-primary-text, #fff));
    --dgtl-button-text-active: var(--button-primary-hover-text, var(--button-primary-text, #fff));
}

.dgtl-button.button-bg-base-100,
.fl-builder-content .fl-module-button.dgtl-button.button-bg-base-100 .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-bg-base-100 .fl-button {
    --dgtl-button-bg: var(--base-100);
    --dgtl-button-bg-hover: var(--base-200);
    --dgtl-button-bg-active: var(--base-300);
    --dgtl-button-text: var(--base-900);
    --dgtl-button-text-hover: var(--base-900);
    --dgtl-button-text-active: var(--base-900);
}

.dgtl-button.button-bg-base-900,
.fl-builder-content .fl-module-button.dgtl-button.button-bg-base-900 .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-bg-base-900 .fl-button {
    --dgtl-button-bg: var(--base-900);
    --dgtl-button-bg-hover: var(--base-800);
    --dgtl-button-bg-active: var(--base-700);
    --dgtl-button-text: var(--base-100);
    --dgtl-button-text-hover: var(--base-100);
    --dgtl-button-text-active: var(--base-100);
}

.dgtl-button.button-bg-transparent,
.fl-builder-content .fl-module-button.dgtl-button.button-bg-transparent .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-bg-transparent .fl-button {
    --dgtl-button-bg: transparent;
    --dgtl-button-bg-hover: transparent;
    --dgtl-button-bg-active: transparent;
}

.dgtl-button.button-text-brand,
.fl-builder-content .fl-module-button.dgtl-button.button-text-brand .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-text-brand .fl-button {
    --dgtl-button-text: var(--brand-500);
    --dgtl-button-text-hover: var(--brand-600);
    --dgtl-button-text-active: var(--brand-700);
}

.dgtl-button.button-text-base-100,
.fl-builder-content .fl-module-button.dgtl-button.button-text-base-100 .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-text-base-100 .fl-button {
    --dgtl-button-text: var(--base-100);
    --dgtl-button-text-hover: var(--base-100);
    --dgtl-button-text-active: var(--base-100);
}

.dgtl-button.button-text-base-900,
.fl-builder-content .fl-module-button.dgtl-button.button-text-base-900 .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-text-base-900 .fl-button {
    --dgtl-button-text: var(--base-900);
    --dgtl-button-text-hover: var(--base-900);
    --dgtl-button-text-active: var(--base-900);
}

.dgtl-button.button-border-none,
.fl-builder-content .fl-module-button.dgtl-button.button-border-none .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-border-none .fl-button {
    --dgtl-button-border-color: transparent;
    --dgtl-button-border-color-hover: transparent;
    --dgtl-button-border-color-active: transparent;
    --dgtl-button-border-width: 0;
}

.dgtl-button.button-shadow-none,
.fl-builder-content .fl-module-button.dgtl-button.button-shadow-none .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-shadow-none .fl-button {
    --dgtl-button-shadow: none;
    --dgtl-button-shadow-hover: none;
}

.dgtl-button.button-p-0,
.fl-builder-content .fl-module-button.dgtl-button.button-p-0 .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-p-0 .fl-button {
    --dgtl-button-padding-y: 0;
    --dgtl-button-padding-x: 0;
    --dgtl-button-min-size: 44px;
}

.dgtl-button.button-underline,
.fl-builder-content .fl-module-button.dgtl-button.button-underline .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-underline .fl-button {
    --dgtl-button-text-decoration: underline;
}

.dgtl-button.button-no-underline,
.fl-builder-content .fl-module-button.dgtl-button.button-no-underline .fl-button,
.fl-builder-content .fl-module-button-group.dgtl-button.button-no-underline .fl-button {
    --dgtl-button-text-decoration: none;
}

.fl-builder-content .fl-module-button.dgtl-button .fl-button:is(a, button),
.fl-builder-content .fl-module-button-group.dgtl-button .fl-button:is(a, button),
a.dgtl-button,
button.dgtl-button,
input.dgtl-button:is([type="button"], [type="submit"], [type="reset"]) {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
    min-width: var(--dgtl-button-min-size);
    min-height: var(--dgtl-button-min-size);
    padding: var(--dgtl-button-padding-y) var(--dgtl-button-padding-x);
    border-color: var(--dgtl-button-border-color);
    border-style: solid;
    border-width: var(--dgtl-button-border-width);
    border-radius: var(--dgtl-button-radius);
    background-color: var(--dgtl-button-bg);
    background-image: none;
    box-shadow: var(--dgtl-button-shadow);
    color: var(--dgtl-button-text);
    font-family: var(--ui-font-family, inherit);
    font-size: var(--dgtl-button-font-size);
    line-height: 1.45;
    text-align: center;
    text-decoration: var(--dgtl-button-text-decoration);
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
    cursor: pointer;
}

.fl-builder-content .fl-module-button.dgtl-button .fl-button:is(a, button) > .fl-button-text,
.fl-builder-content .fl-module-button.dgtl-button .fl-button:is(a, button) > .fl-button-icon,
.fl-builder-content .fl-module-button-group.dgtl-button .fl-button:is(a, button) > .fl-button-text,
.fl-builder-content .fl-module-button-group.dgtl-button .fl-button:is(a, button) > .fl-button-icon,
.fl-builder-content .fl-module-button.button-link-light .fl-button:is(a, button) > .fl-button-text,
.fl-builder-content .fl-module-button.button-link-light .fl-button:is(a, button) > .fl-button-icon,
.fl-builder-content .fl-module-button-group.button-link-light .fl-button:is(a, button) > .fl-button-text,
.fl-builder-content .fl-module-button-group.button-link-light .fl-button:is(a, button) > .fl-button-icon {
    color: currentColor;
}

.fl-builder-content .fl-module-button.button-link-light .fl-button:is(a, button),
.fl-builder-content .fl-module-button-group.button-link-light .fl-button:is(a, button),
.fl-builder-content .fl-module-button.button-link-light a.fl-button:visited,
.fl-builder-content .fl-module-button-group.button-link-light a.fl-button:visited {
    background-color: transparent;
    border-color: transparent;
    border-width: 0;
    color: var(--global-palette-btn-bg);
    text-decoration: underline;
}

.fl-builder-content .fl-module-button.button-link-light .fl-button:is(a, button):hover,
.fl-builder-content .fl-module-button-group.button-link-light .fl-button:is(a, button):hover {
    background-color: transparent;
    border-color: transparent;
    color: var(--global-palette-btn-bg-hover);
}

.fl-builder-content .fl-module-button.dgtl-button a.fl-button:visited,
.fl-builder-content .fl-module-button-group.dgtl-button a.fl-button:visited,
a.dgtl-button:visited {
    background-color: var(--dgtl-button-bg);
    border-color: var(--dgtl-button-border-color);
    color: var(--dgtl-button-text);
    text-decoration: var(--dgtl-button-text-decoration);
}

.fl-builder-content .fl-module-button.dgtl-button .fl-button:is(a, button):hover:not(:disabled):not([aria-disabled="true"]),
.fl-builder-content .fl-module-button-group.dgtl-button .fl-button:is(a, button):hover:not(:disabled):not([aria-disabled="true"]),
a.dgtl-button:hover:not([aria-disabled="true"]),
button.dgtl-button:hover:not(:disabled):not([aria-disabled="true"]),
input.dgtl-button:is([type="button"], [type="submit"], [type="reset"]):hover:not(:disabled):not([aria-disabled="true"]) {
    background-color: var(--dgtl-button-bg-hover);
    border-color: var(--dgtl-button-border-color-hover);
    box-shadow: var(--dgtl-button-shadow-hover);
    color: var(--dgtl-button-text-hover);
}

.fl-builder-content .fl-module-button.dgtl-button .fl-button:is(a, button):active:not(:disabled):not([aria-disabled="true"]),
.fl-builder-content .fl-module-button-group.dgtl-button .fl-button:is(a, button):active:not(:disabled):not([aria-disabled="true"]),
a.dgtl-button:active:not([aria-disabled="true"]),
button.dgtl-button:active:not(:disabled):not([aria-disabled="true"]),
input.dgtl-button:is([type="button"], [type="submit"], [type="reset"]):active:not(:disabled):not([aria-disabled="true"]) {
    background-color: var(--dgtl-button-bg-active);
    border-color: var(--dgtl-button-border-color-active);
    color: var(--dgtl-button-text-active);
}

.fl-builder-content .fl-module-button.dgtl-button .fl-button:is(a, button):focus-visible,
.fl-builder-content .fl-module-button-group.dgtl-button .fl-button:is(a, button):focus-visible,
a.dgtl-button:focus-visible,
button.dgtl-button:focus-visible,
input.dgtl-button:is([type="button"], [type="submit"], [type="reset"]):focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px var(--button-focus-inner, var(--base-0, #fff)), 0 0 0 4px var(--button-focus-outer, var(--brand-500));
}

.fl-builder-content .fl-module-button.dgtl-button button.fl-button:disabled,
.fl-builder-content .fl-module-button-group.dgtl-button button.fl-button:disabled,
button.dgtl-button:disabled,
input.dgtl-button:is([type="button"], [type="submit"], [type="reset"]):disabled,
.fl-builder-content .fl-module-button.dgtl-button .fl-button:is(a, button)[aria-disabled="true"],
.fl-builder-content .fl-module-button-group.dgtl-button .fl-button:is(a, button)[aria-disabled="true"],
a.dgtl-button[aria-disabled="true"],
button.dgtl-button[aria-disabled="true"],
input.dgtl-button:is([type="button"], [type="submit"], [type="reset"])[aria-disabled="true"] {
    opacity: 0.55;
    cursor: not-allowed;
}

@media (forced-colors: active) {
    :is(
        .fl-builder-content .fl-module-button.dgtl-button .fl-button:is(a, button),
        .fl-builder-content .fl-module-button-group.dgtl-button .fl-button:is(a, button),
        a.dgtl-button,
        button.dgtl-button,
        input.dgtl-button:is([type="button"], [type="submit"], [type="reset"])
    ) {
        border-color: ButtonText;
        box-shadow: none;
        forced-color-adjust: auto;
    }

    :is(
        .fl-builder-content .fl-module-button.dgtl-button .fl-button:is(a, button),
        .fl-builder-content .fl-module-button-group.dgtl-button .fl-button:is(a, button),
        a.dgtl-button,
        button.dgtl-button,
        input.dgtl-button:is([type="button"], [type="submit"], [type="reset"])
    ):focus-visible {
        outline-color: Highlight;
        outline-style: solid;
        outline-width: 3px;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(
        .fl-builder-content .fl-module-button.dgtl-button .fl-button:is(a, button),
        .fl-builder-content .fl-module-button-group.dgtl-button .fl-button:is(a, button),
        a.dgtl-button,
        button.dgtl-button,
        input.dgtl-button:is([type="button"], [type="submit"], [type="reset"])
    ) {
        transition-duration: 0s;
    }
}

button.primary {
    cursor: pointer;
    background-color:var(--btn-bg-color);
    padding-top: var(--btn-v-padding);
    padding-bottom: var(--btn-v-padding);
    padding-left: var(--btn-h-padding);
    padding-right: var(--btn-h-padding);
    border-radius: var(--btn-border-rad);
    box-shadow: var(--btn-shadow, none);
}

button.primary:hover {
    background-color: var(--btn-bg-color-hover);
}

button.secondary {
    background-color: var(--secondary-btn-bg-color);
}

button.secondary:hover {
    background-color: var(--secondary-btn-bg-color-hover);
}

button.link {
    background-color: transparent;
    padding: 0;
    border: none;
}

button.link:hover {
    background-color: transparent;
    text-decoration: underline;
}

input,
textarea,
select {
    border-radius: var(--input-border-rad, var(--radius-sm));
    box-shadow: var(--input-shadow, none);
}

@media (max-width: 768px) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not(.dgtl-button),
    textarea,
    select {
        font-size: var(--input-mobile-font-size, 16px);
    }
}

.card,
.dc-card {
    border-radius: var(--card-border-rad, var(--radius-lg));
    box-shadow: var(--card-shadow, var(--shadow));
}
