[x-cloak] {
    display: none;
}

html {
    font-size: var(--font-size-base, 16px);
}

@media screen and (max-width: 768px) {
    html {
        font-size: var(--font-size-base-mobile, 15px);
    }
}

body {
    font-family: var(--font-family-body, "Inter", sans-serif);
    background-color: var(--color-surface-100);
    color: var(--color-text-body);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-family-display, "Rajdhani", sans-serif);
}

body[class] {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-feature-settings: "liga" 0;
    font-feature-settings: "liga" 0;
    -webkit-font-variant-ligatures: no-common-ligatures;
    font-variant-ligatures: no-common-ligatures;
    line-height: 1.6;
}

a[href]:not([tabindex="-1"]):focus,
area[href]:not([tabindex="-1"]):focus,
input:not([disabled]):not([tabindex="-1"]):not(.outline-none):focus,
select:not([disabled]):not([tabindex="-1"]):focus,
textarea:not([disabled]):not([tabindex="-1"]):focus,
button:not([disabled]):not([tabindex="-1"]):focus,
iframe:not([tabindex="-1"]):focus,
[tabindex]:not([tabindex="-1"]):focus,
[contentEditable="true"]:not([tabindex="-1"]):focus,
.forminator-consent:focus-within .forminator-checkbox-box {
    outline: auto 2px Highlight !important;
    outline: auto 5px -webkit-focus-ring-color !important;
}

.icon-tabler {
    width: 100%;
    height: auto;
}

.transition {
    transition: all 400ms var(--ease-out-expo);
}

img {
    width: 100%;
}

form:not(.forminator-custom-form) label {
    margin-bottom: 0.25rem;
}

form:not(.forminator-custom-form) input[type="text"]:not([readonly]),
form:not(.forminator-custom-form) input[type="password"]:not([readonly]),
form:not(.forminator-custom-form) input[type="email"]:not([readonly]),
form:not(.forminator-custom-form) input[type="number"]:not([readonly]),
form:not(.forminator-custom-form) input[type="search"]:not([readonly]),
form:not(.forminator-custom-form) input[type="tel"]:not([readonly]),
form:not(.forminator-custom-form) input[type="url"]:not([readonly]),
form:not(.forminator-custom-form) select,
form:not(.forminator-custom-form) select,
form:not(.forminator-custom-form) textarea:not(.forminator-textarea) {
    color: var(--color-frost-1000);
    background-color: transparent;
    border: 0.05em solid var(--color-frost-900);
    padding: 0 1rem;
}

form:not(.forminator-custom-form) select option {
    background-color: var(--color-frost-0);
    color: var(--color-frost-1000);
}

form:not(.forminator-custom-form) input[type="text"]:not([readonly]),
form:not(.forminator-custom-form) input[type="password"]:not([readonly]),
form:not(.forminator-custom-form) input[type="email"]:not([readonly]),
form:not(.forminator-custom-form) input[type="number"]:not([readonly]),
form:not(.forminator-custom-form) input[type="search"]:not([readonly]),
form:not(.forminator-custom-form) input[type="tel"]:not([readonly]),
form:not(.forminator-custom-form) input[type="url"]:not([readonly]),
form:not(.forminator-custom-form) select {
    height: 2.5rem;
}

form:not(.forminator-custom-form) textarea:not(.forminator-textarea) {
    padding: 1rem;
}

input[type="checkbox"] {
    width: 1em;
    height: 1em;
    flex-shrink: 0;
}

h1,
h2,
h3 {
    font-family: var(--font-family-display, "Rajdhani", sans-serif);
    font-weight: 500;
}

h4 {
    font-weight: 600;
}

h1 {
    font-size: 3rem;
}

h2 {
    font-size: 2.25rem;
}

h3 {
    font-size: 1.5rem;
}

h4 {
    font-size: 1.25rem;
}

kbd {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-frost-50);
    border: 0.1em solid var(--color-frost-300);
    border-radius: 0.5em;
    padding: 0.25em 1em;
    font-size: 0.75rem;
    font-weight: bold;
    color: var(--color-frost-600);
}

kbd:has(svg) {
    padding: 0.5rem;
}

kbd svg.icon-tabler {
    flex-shrink: 0;
    width: 0.875em;
    height: auto;
}

.skip-to-main-content {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.skip-to-main-content:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    right: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}

#content[tabindex="-1"]:focus {
    outline: 0;
}

.scrollbar {
    scrollbar-width: thin;
}

.scrollbar::-webkit-scrollbar {}

.scrollbar::-webkit-scrollbar-track {
    background-color: var(--color-frost-0);
}

.scrollbar::-webkit-scrollbar-thumb {}

[data-simplebar]::-webkit-scrollbar {
    display: none;
}

.x-container {
    width: 100%;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}

@media screen and (max-width: 1024px) {
    .x-container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

@media screen and (max-width: 768px) {
    .x-container {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}



.hero-bg {
    background-color: #0a101e;
    background-image: url(https://lh3.googleusercontent.com/aida-public/AB6AXuAx-iw7cn4_2dpoXRkKZQf03k5Qx8gaAZSQPHxykxXjMtgpTcXxGa8vcaAEdMKmuDXRdhRj0AkXXHzsmT7SZAdb67WXSQWTncIfPV3ux2f35YEw5NkDICbpyo7p8CMt7w8HzlRh_FbSH2yMOdyMw1mB7O29tvVBkDqmiWei0h1f-EaGa0Ei53ACggu4oi-OCt2URpt1IFCACDqYVQZ6VGKgaOIRbJvb6LekAdZ6wtMDNQppJrrMmnKgiEUtXtybFJx5seHyYuiNMFM);
    background-size: cover;
    background-position: center right;
}

.text-outline-white {
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.2);
    color: transparent;
}

.bg-brand-gradient-reverse {
    background-image: none;
    background-color: var(--color-secondary);
}

.bg-brand-gradient {
    background-image: none;
    background-color: var(--color-primary);
}

:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 2px;
}


::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: var(--color-primary);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-secondary);
}

.group:hover .arrow-slide {
    transform: translateX(5px);
}

.clip-path-custom-shape {
    clip-path: polygon(0 0, 100% 0, 100% 85%, 75% 100%, 0 100%);
}

.clip-path-circle-corner {
    clip-path: circle(120% at 0% 100%);
}

.grid-bg {
    background-image: none;
    background-color: color-mix(in srgb, var(--color-secondary) 6%, #ffffff);
}

.circuit-bg {
    background-image: none;
    background-color: color-mix(in srgb, var(--color-primary) 4%, #ffffff);
}

.dots-bg {
    background-color: #ffffff;
    opacity: 0.8;
    background-image: none;
}

.group:hover .arrow-slide {
    transform: translateX(5px);
}

.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s ease-out;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.dots-bg {
    background-image: none;
    background-color: color-mix(in srgb, var(--color-secondary) 5%, #ffffff);
}

.bg-dots {
    background-image: none;
    background-color: color-mix(in srgb, var(--color-primary) 4%, #ffffff);
}

.service-card-hover:hover .service-icon {
    background-color: var(--color-primary);
    color: white;
    transform: scale(1.1);
}

.service-card-hover:hover .arrow-icon {
    transform: translate(4px, -4px);
    color: var(--color-secondary);
}

.grid-bg {
    background-image: none;
    background-color: color-mix(in srgb, var(--color-secondary) 6%, #ffffff);
}

.floating-shape {
    position: absolute;
    opacity: 0.4;
    pointer-events: none;
    z-index: 0;
}

.code-scroll::-webkit-scrollbar {
    height: 6px;
}

.code-scroll::-webkit-scrollbar-track {
    background: #2d3748;
    border-radius: 4px;
}

.code-scroll::-webkit-scrollbar-thumb {
    background: #4a5568;
    border-radius: 4px;
}

.progress-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: transparent;
    z-index: 1000;
}

.progress-bar {
    height: 4px;
    background: var(--brand-gradient);
    width: 0%;
}

.sticky-sidebar {
    position: sticky;
    top: 8rem;
}

/* Buttons */

.action-button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 400ms var(--ease-out-expo);
    border: 0.05em solid var(--color-frost-300);
    background-color: var(--color-frost-50);
    gap: 0.5em;
}

.action-button svg {
    width: 1.2em;
    height: auto;
}

/* Reusable Button System
   Based on CTA section button patterns */

.btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    border-radius: 9999px;
    text-decoration: none;
    cursor: pointer;
    transition: all 300ms ease;
    border: none;
    line-height: 1;
}

.btn--primary {
    padding: 1rem 2rem;
    background-color: var(--color-primary);
    background-image: none;
    color: #fff;
    box-shadow: 0 4px 14px color-mix(in srgb, var(--color-primary) 40%, transparent);
}

.btn--primary:hover {
    background-color: var(--color-primary);
    background-image: none;
    color: #fff;
    box-shadow: 0 0 40px color-mix(in srgb, var(--color-primary) 40%, transparent);
    transform: translateY(-0.25rem);
}

.btn--primary:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 2px;
}

.btn--secondary {
    padding: 1rem 2rem;
    background-color: color-mix(in srgb, var(--color-secondary) 18%, #ffffff);
    backdrop-filter: blur(12px);
    color: var(--color-primary);
    border: 1px solid color-mix(in srgb, var(--color-secondary) 45%, transparent);
}

.btn--secondary:hover {
    background-color: color-mix(in srgb, var(--color-secondary) 30%, #ffffff);
    border-color: var(--color-secondary);
}

.btn--secondary:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 2px;
}

.btn--sm {
    padding: 0.75rem 2rem;
    font-size: 0.875rem;
}

.btn--lg {
    padding: 1.25rem 2.5rem;
    font-size: 1.125rem;
}

.btn span.material-symbols-outlined {
    font-size: 1.1em;
}

.btn svg {
    width: 1.25em;
    height: auto;
}

/* Single Post */

.single--post__tags {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 2rem;
}

.single--post__tags li a {
    color: var(--color-frost-1000);
    text-decoration: underline;
}

/* ============================================
   Navigation - BEM Naming Convention
   ============================================ */

/* Base nav list */
.nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav__list--primary {
    align-items: center;
}

.nav__list--primary > .menu-item {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.nav__list--primary > .menu-item > a {
    display: inline-flex;
    align-items: center;
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    position: relative;
    transition: color 300ms ease;
}

.nav__list--primary > .menu-item > a::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--color-secondary);
    transition: width 300ms ease;
}

.nav__list--primary > .menu-item > a:hover::after,
.nav__list--primary > .menu-item > a:focus-visible::after,
.nav__list--primary > .menu-item.toggled > a::after,
.nav__list--primary > .menu-item:focus-within > a::after,
.nav__list--primary > .menu-item.current_page_item > a::after,
.nav__list--primary > .menu-item.current-menu-item > a::after {
    width: 100%;
}

/* Header nav menu links */
header nav .nav__list--primary > .menu-item > a {
    color: var(--color-primary);
}

header nav .nav__list--primary > .menu-item > a:hover,
header nav .nav__list--primary > .menu-item > a:focus-visible,
header nav .nav__list--primary > .menu-item.current_page_item > a,
header nav .nav__list--primary > .menu-item.current-menu-item > a {
    color: var(--color-primary);
}

/* CTA Button styling */
.nav__item--cta > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    border-radius: 9999px;
    background-color: var(--color-primary);
    background-image: none;
    color: #fff !important;
    box-shadow: 0 8px 24px color-mix(in srgb, var(--color-primary) 30%, transparent);
    border: 1px solid color-mix(in srgb, var(--color-secondary) 30%, transparent);
}

.nav__item--cta > a:hover {
    background-color: var(--color-secondary);
    background-image: none;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px color-mix(in srgb, var(--color-primary) 36%, transparent);
}

/* Submenu toggle button */
.nav__list--primary .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    margin-left: 4px;
    color: inherit;
    transition: transform 300ms ease;
}

.nav__list--primary .menu-toggle:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.nav__list--primary .menu-toggle[aria-expanded="true"] .material-symbols-outlined {
    transform: rotate(180deg);
}

/* Submenu dropdown */
.nav__list--primary .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background-color: var(--color-frost-0);
    border: 1px solid var(--color-frost-300);
    color: var(--color-frost-900);
    border-radius: 8px;
    padding: 12px 16px;
    list-style: none;
    margin: 0;
    visibility: hidden;
    opacity: 0;
    transform: translateY(10px);
    transition: all 300ms ease;
    z-index: 1000;
}

.nav__list--primary .sub-menu::before {
    content: '';
    position: absolute;
    top: -9px;
    left: 20px;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 9px solid var(--color-frost-300);
}

.nav__list--primary .sub-menu::after {
    content: '';
    position: absolute;
    top: -8px;
    left: 21px;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid var(--color-frost-0);
}

.nav__list--primary .menu-item:hover > .sub-menu,
.nav__list--primary .menu-item:focus-within > .sub-menu,
.nav__list--primary .menu-item.toggled > .sub-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.nav__list--primary .sub-menu > .menu-item > a {
    display: inline-block;
    padding: 8px 0;
    font-size: 0.875rem;
    font-weight: 500;
    color: #4B5563;
    text-decoration: none;
    transition: color 200ms ease;
    margin-right: auto;
}

.nav__list--primary .sub-menu > .menu-item > a:hover {
    color: var(--color-primary);
}

/* ============================================
   Mobile Navigation
   ============================================ */

.nav__list--mobile {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav__list--mobile > .menu-item {
    display: flex;
    flex-direction: column;
    position: relative;
}

.nav__list--mobile > .menu-item > a {
    display: inline-block;
    padding: 8px 0;
    font-size: 0.875rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    transition: color 200ms ease;
}

/* Mobile nav in header */
header nav #mobile-menu .nav__list--mobile > .menu-item > a {
    color: var(--color-primary);
}

header nav #mobile-menu .nav__list--mobile > .menu-item > a:hover,
header nav #mobile-menu .nav__list--mobile > .menu-item > a:focus-visible,
header nav #mobile-menu .nav__list--mobile > .menu-item.current_page_item > a,
header nav #mobile-menu .nav__list--mobile > .menu-item.current-menu-item > a {
    color: var(--color-primary);
}

/* Mobile submenu */
.nav__list--mobile .sub-menu {
    list-style: none;
    margin: 8px 0 0 16px;
    padding: 0;
    display: none;
}

.nav__list--mobile .menu-item.toggled > .sub-menu {
    display: block;
}

.nav__list--mobile .menu-toggle {
    position: absolute;
    right: 0;
    top: 4px;
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    color: inherit;
}

.nav__list--mobile .menu-toggle:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.nav__list--mobile .sub-menu > .menu-item > a {
    display: block;
    padding: 6px 0;
    font-size: 0.875rem;
    color: #4B5563;
    text-decoration: none;
}

.nav__list--mobile .sub-menu > .menu-item > a:hover {
    color: var(--color-primary);
}

/* Menu > Footer */

footer ul.space-y-4 {
    list-style: none;
    margin: 0;
    padding: 0;
}

footer ul.space-y-4 > li {
    display: block;
}

footer ul.space-y-4 > li > a {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.25rem 0;
    text-decoration: none;
    transition: color 200ms ease;
}

footer ul.space-y-4 > li > a:hover {
    text-decoration: underline;
}

footer ul.space-y-2 > li > a {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
}

footer ul.space-y-2 > li > a:hover {
    text-decoration: underline;
}

footer .border-t a {
    text-decoration: none;
}

footer .border-t a:hover {
    text-decoration: underline;
}

nav.footer ul.sub-menu {
    display: none;
}

/* Pagination */

.versatile_pagination {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.versatile_pagination ul.page-numbers {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    margin: 2rem 0;
    position: relative;
    width: auto;
    border: 0.05rem solid var(--color-frost-200);
    padding: 0.5rem;
    background-color: var(--color-frost-0);

}

.versatile_pagination a.page-numbers {
    color: var(--color-frost-1000);
}

.versatile_pagination a.page-numbers,
.versatile_pagination span.page-numbers {
    width: 2em;
    height: 2em;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
}

.versatile_pagination a.page-numbers.next,
.versatile_pagination a.page-numbers.prev {
    color: var(--color-frost-1000);
}

.versatile_pagination a.page-numbers.next svg,
.versatile_pagination a.page-numbers.prev svg {
    width: 1.2em;
    height: auto;
}

.versatile_pagination a.page-numbers:hover {
    background-color: var(--color-frost-100);
}

.versatile_pagination .page-numbers.current {
    background-color: var(--color-frost-1000);
    color: var(--color-frost-0);
}

@media (max-width: 767px) {
    .versatile_pagination ul.page-numbers {
        flex-wrap: wrap;
        margin: 0;
    }

    .versatile_pagination .prev-item,
    .versatile_pagination .next-item {
        position: relative;
        width: 100%;
    }

}

/* Embla */

.embla {
    --slide-size: 100%;
}

.embla__viewport {
    overflow: hidden;
}

.embla__container {
    backface-visibility: hidden;
    display: flex;
    touch-action: pan-y;
}

.embla__slide {
    flex: 0 0 var(--slide-size);
    min-width: 0;
    position: relative;
}

/* Mermaid */

.mermaidLightbox svg {
    height: auto;
    max-width: 100% !important;
    max-height: 100vh;
}

/* Breadcrumb */

.versatile_breadcrumb {
    color: var(--color-frost-700);
    font-size: 0.875rem;
    font-weight: 500;
}

.versatile_breadcrumb a:hover {
    text-decoration: underline;
}


.versatile_breadcrumb svg {
    width: 1em;
    height: 1em;
    margin: 0 0.5rem;
}

.versatile_breadcrumb ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.1em;
}

.versatile_breadcrumb li {
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
}

.versatile_breadcrumb &.trail-end {
    color: color(text);
}


/* ============================================
   TOC - Table of Contents (BEM)
   ============================================ */

.toc {
    display: none;
}

.toc__toggle {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 9999px;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: #4B5563;
    cursor: pointer;
    transition: all 200ms ease;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 100;
}

.toc__toggle:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.toc__toggle:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.toc__toggle-icon {
    font-size: 1.25rem;
}

.toc__content {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    animation: fadeIn 200ms ease;
}

.toc__inner {
    background-color: #ffffff;
    border-radius: 1rem;
    padding: 1.5rem;
    max-width: 20rem;
    width: 100%;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    animation: slideUp 300ms ease;
}

.toc__sidebar h2,
.toc__title {
    font-family: 'Rajdhani', sans-serif;
    font-size: 1.125rem;
    font-weight: 700 !important;
    color: #111827;
    margin: 0 0 1rem 0;
}

.toc__back-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.5rem;
    padding: 0.5rem 1rem;
    background-color: color-mix(in srgb, var(--color-secondary) 14%, #ffffff);
    color: var(--color-primary);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 9999px;
    transition: all 200ms ease;
}

.toc__back-link:hover {
    background-image: none;
    background-color: var(--color-primary);
    color: #ffffff;
}

.toc__back-icon {
    font-size: 1rem;
}

.toc__sidebar {
    display: none;
}

.toc ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.toc ul ul {
    padding-left: 1rem;
    border-left: 1px dashed #e5e7eb;
    margin-top: 0.5rem;
}

.toc ul a {
    display: block;
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    color: #4B5563;
    text-decoration: none;
    border-radius: 0.5rem;
    transition: all 200ms ease;
    line-height: 1.4;
}

.toc ul a:hover {
    color: var(--color-primary);
    background-color: color-mix(in srgb, var(--color-secondary) 14%, #ffffff);
}

.toc ul a.active {
    color: var(--color-primary);
    background-color: color-mix(in srgb, var(--color-secondary) 14%, #ffffff);
    font-weight: 500;
}

.toc ul a[aria-current="true"] {
    color: var(--color-primary);
    background-color: color-mix(in srgb, var(--color-secondary) 14%, #ffffff);
    font-weight: 600;
}

@media (min-width: 1024px) {
    .toc {
        display: none;
    }
    
    .toc__sidebar {
        display: block;
        width: 16rem;
        flex-shrink: 0;
    }
    
    .toc__sidebar-inner {
        position: sticky;
        top: 6rem;
        padding: 1.5rem;
        background-color: #ffffff;
        border-radius: 1rem;
        border: 1px solid #f3f4f6;
        max-height: calc(100vh - 8rem);
        overflow-y: auto;
    }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from { 
        opacity: 0;
        transform: translateY(20px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

body.toc-open {
    overflow: hidden;
}


/* Blog Sidebar */

.versatile_blog__sidebar .widget-area {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.versatile_blog__sidebar .widget-area>section.widget {
    border: 0.05rem solid var(--color-frost-300);
    border-radius: 1.5rem;
    padding: 1.5rem;
}

.popular-posts .wpp-cards li {
    background-color: var(--color-frost-50);
    color: var(--color-frost-800);
    border: 0.1rem solid var(--color-frost-300);
}

.widget_tag_cloud .tag-cloud-link {
    font-weight: 700;
}



/* Comment */

.comment-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.comment-list p a,
.comment-form p a {
    text-decoration: underline;
}

.comment-list,
.comment-list ol.children {
    display: flex;
    flex-direction: column;
    margin-top: 2rem;
    margin-bottom: 2rem;
    gap: 4rem;
}

.comment-list ol.children {
    padding-left: 1rem;
}

.comment-form,
.comment-form-author,
.comment-form-email,
.comment-form-url {
    display: flex;
    flex-direction: column;
}

.comment-form-cookies-consent {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
}

.comment-form .comment-form-comment {
    display: flex;
    flex-direction: column;
    margin-top: 1.25rem;
}

.comment-form .form-submit {
    margin-top: 1rem;
}

.comment .comment-author {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.5rem;
}

.comment .comment-author img {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    overflow: hidden;
    background-color: #f0f0f0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    font-weight: bold;
    color: #333;
    object-fit: cover;
    margin-right: 0.5rem;
}

.comment .comment-author cite {
    font-weight: 600;
}

.comment .comment-author cite,
.comment .comment-author .says {
    line-height: 1;
}

.comment .comment-meta {
    font-size: 0.875rem;
    margin-top: -1rem;
}

.comment .comment-meta .comment-metadata {
    padding-left: 3.5rem;
    margin-top: -1rem;
}

.comment .comment-meta,
.comment .comment-meta+p,
.comment .reply,
.comment .comment-content {}

.comment .comment-meta+p {
    margin-top: 1rem;
}

.comment .reply {
    margin-top: 1rem;
}

.comment .reply a {
    text-decoration: underline;
}

.comment #cancel-comment-reply-link {
    margin-left: 0.5rem;
    text-decoration: underline;
}

.comments-area {
    background-color: var(--color-frost-0);
    padding: 2rem;
    border: 0.05em solid var(--color-frost-300);
    width: 100%;
}

.comment-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.comment-form select,
.comment-form textarea {
    border: 0.05em solid var(--color-frost-300);
    background-color: var(--color-frost-0);
    width: 100%;
}

.comment-form label {
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.5em;
}

.comment-form p label:last-child {
    margin-bottom: 0;
}

.comment-form [type='submit'] {
    background-color: var(--color-frost-1000);
    color: var(--color-frost-0);
    padding: 0.75em 1.5em;
    font-size: 1rem;
    font-weight: 600;
}

.logged-in-as {
    font-size: 0.875rem;
    margin-top: 0.5em;
}

/* Footer */

footer form input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--color-frost-0) inset !important;
    /* Change 'white' to your desired background color */
}

footer .footer__form form {
    position: relative;
    margin-top: 2rem;
}

footer .forminator-response-message:not(:empty) {
    position: fixed;
    left: 2em;
    bottom: 2em;
    background-color: var(--color-frost-100);
    border: 0.05em solid var(--color-frost-900);
    padding: 0.5em 1em;
    border-radius: 0.5em;
    color: var(--color-frost-900);
    font-size: 0.875em;
    font-weight: 600;
    z-index: 1000;
}

footer .footer__form .forminator-field-email input {
    width: 100%;
    height: 4rem;
    border-radius: 0.75em;
    border: 0.1em solid var(--color-primary);
}

footer .footer__form .forminator-label {
    position: absolute;
    left: 1em;
    top: 2rem;
    transform: translateY(-50%);
    color: var(--color-primary);
    display: inline-flex;
    background-color: #fff;
    padding: 0.25em;
    transform-origin: left;
    transition: all 400ms var(--ease-out-expo);
}

footer .footer__form .forminator-label.floating {
    transform: translate(0, -3em);
}

footer .footer__form .forminator-error-message {
    font-size: 0.875em;
    font-weight: 600;
    margin-top: 0.5em;
    display: inline-flex;
}

footer .footer__form .forminator-button-submit {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 0.5em;
    padding: 0.5em;
    top: 2rem;
    transform: translateY(-50%);
    color: var(--color-primary);
    height: 3rem;
    border-radius: 0.5em;
    font-size: 1em;
    font-weight: 700;
    transition: all 400ms var(--ease-out-expo);
}

footer .footer__form .forminator-button-submit:hover {
    background-color: var(--color-primary);
    color: #fff;
}


/* Fast Fuzzy Search */

body [x-data="fastFuzzySearchOverlayPanel"] {
    background-color: rgb(0 0 0 / 0.75);
}

body [x-data="fastFuzzySearchOverlayPanel"] .fast-fuzzy-search {
    width: 40rem;
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__field {
    display: flex;
    height: 3rem;
    width: 100%;
    align-items: center;
    justify-content: flex-start;
    background-color: var(--color-frost-0);
    border-bottom: 1px solid var(--color-frost-300);
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__input::-moz-placeholder {
    color: var(--color-frost-1000);
    font-size: 0.875rem;
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__input,
.fast-fuzzy-search--newspaper .fast-fuzzy-search__input::placeholder {
    color: var(--color-frost-1000) !important;
    font-size: 0.875rem;
}

.fast-fuzzy-search--newspaper[data-has-query="true"] .fast-fuzzy-search__field {
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__icon {
    display: inline-flex;
    height: 100% !important;
    width: 3rem !important;
    align-items: center;
    justify-content: center;
    --tw-text-opacity: 1;
    color: rgb(64 64 64 / var(--tw-text-opacity, 1));
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__clear button {
    margin: 0px !important;
    display: inline-flex;
    height: 1.5rem !important;
    width: 1.5rem !important;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    border-style: none;
    background-color: var(--color-frost-100);
    padding: 0.25rem !important;
    color: var(--color-frost-700);
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__clear button:hover {
    background-color: var(--color-frost-200);
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__post-types {
    border-bottom: 1px solid var(--color-frost-300);
    background-color: var(--color-frost-0);
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    color: var(--color-frost-700);
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__chip-button {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 9999px;
    border: 1px solid var(--color-frost-300);
    background-color: var(--color-frost-0);
    padding: 0.375rem 0.75rem;
    font-size: 0.8rem !important;
    line-height: 1.25rem !important;
    font-weight: bold;
    color: var(--color-frost-700);
    text-decoration-line: none;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__chip-button[aria-selected="true"] {
    background-color: var(--color-frost-200);
    color: var(--color-frost-700);
    border-color: var(--color-frost-300);
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__chip-button:hover {
    background-color: var(--color-frost-100);
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__results {
    background-color: var(--color-frost-50);
    margin: 0px;
    height: 24rem;
    width: 100%;
    flex-grow: 1;
    list-style-type: none;
    overflow-y: scroll;
    background-color: transparent;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__panel {
    background-color: var(--color-frost-100);
    color: var(--color-frost-700);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__result-item {
    width: 100%;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__result-link {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
    color: var(--color-frost-700);
    text-decoration-line: none !important;
    border: 1px solid transparent;
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__result-link:hover {
    background-color: var(--color-frost-0);
    border-color: var(--color-frost-300);
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__result-link[aria-selected="true"] {
    background-color: var(--color-frost-0);
    border-color: var(--color-frost-300);
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__empty {
    background-color: var(--color-frost-0);
    color: var(--color-frost-700);
    padding: 2.5rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__keyboard-shortcuts {
    background-color: var(--color-frost-0);
    color: var(--color-frost-700);
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 0.75rem;
    line-height: 1rem;
    font-weight: 500;
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__result-icon {
    margin-right: 1rem;
    height: 2rem;
    width: 2rem;
    flex-shrink: 0;
    border-radius: 0.25rem;
    background-color: var(--color-frost-200);
    color: var(--color-frost-700);
    padding: 0.5rem;
}

.group[aria-selected="true"] .fast-fuzzy-search--newspaper .fast-fuzzy-search__result-icon {
    background-color: var(--color-frost-200);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__result-image {
    margin-right: 1rem;
    height: 2rem !important;
    width: 2rem;
    flex-shrink: 0;
    border-radius: 0.25rem;
    -o-object-fit: cover;
    object-fit: cover;
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__chip {
    border-radius: 9999px;
    border: 1px solid var(--color-frost-300);
    background-color: var(--color-frost-0);
    color: var(--color-frost-700);
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem !important;
    line-height: 1rem !important;
    font-weight: 600;
    text-decoration-line: none;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__result-link[aria-selected="true"] .fast-fuzzy-search__result-image {
    background-color: var(--color-frost-200);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__result-link[aria-selected="true"] .fast-fuzzy-search__chip {
    background-color: var(--color-frost-0);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.fast-fuzzy-search--newspaper .fast-fuzzy-search__result-link[aria-selected="true"] .fast-fuzzy-search__result-icon {
    background-color: var(--color-frost-200);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.fast-fuzzy-search__panel-close--newspaper {
    background-color: transparent;
    color: #fff;
    padding: 0.5rem;
}

.fast-fuzzy-search__panel-close--newspaper:hover {
    background-color: #000;
}

/* ============================================
   Forminator Form Styles - Complete Overhaul
   Following Design Tokens & Full State Support
   ============================================ */

/* Base Form Container */
.forminator-ui.forminator-custom-form {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    font-size: 1rem;
    line-height: 1.5;
    color: #4B5563;
    width: 100%;
    box-sizing: border-box;
}

.forminator-ui.forminator-custom-form *,
.forminator-ui.forminator-custom-form *::before,
.forminator-ui.forminator-custom-form *::after {
    box-sizing: border-box;
}

/* Form Title & Subtitle */
.forminator-ui.forminator-custom-form .forminator-title {
    font-family: 'Rajdhani', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 1rem;
    line-height: 1.3;
}

.forminator-ui.forminator-custom-form .forminator-subtitle {
    font-size: 1rem;
    color: #6b7280;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.forminator-ui.forminator-custom-form .forminator-title + .forminator-subtitle {
    margin-top: -0.5rem;
}

/* Form Field Wrapper */
.forminator-ui .forminator-field {
    margin-bottom: 1.5rem;
    position: relative;
}

.forminator-ui .forminator-field:last-child {
    margin-bottom: 0;
}

/* Labels */
.forminator-ui .forminator-label {
    display: block;
    font-weight: 600;
    font-size: 0.875rem;
    color: #111827;
    margin-bottom: 0.5rem;
    line-height: 1.4;
    letter-spacing: 0.025em;
    cursor: default;
}

.forminator-ui .forminator-label[for] {
    cursor: pointer;
}

.forminator-ui .forminator-label .forminator-required {
    color: #F26522;
    margin-left: 0.25rem;
    font-weight: 700;
}

.forminator-ui .forminator-label .required {
    color: #F26522;
    margin-left: 0.25rem;
    font-weight: 700;
}

/* Description */
.forminator-ui .forminator-description {
    display: block;
    font-size: 0.75rem;
    color: #6b7280;
    margin-top: 0.375rem;
    margin-bottom: 0;
    line-height: 1.5;
}

.forminator-ui .forminator-label + .forminator-description {
    margin-top: 0;
}

/* ============================================
   INPUT FIELDS - All Types & States
   ============================================ */

/* Base Input Styles */
.forminator-ui .forminator-input,
.forminator-ui .forminator-textarea {
    width: 100%;
    display: block;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 9999px;
    padding: 0.75rem 1.25rem;
    font-size: 1rem;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: #111827;
    line-height: 1.5;
    transition: border-color 200ms ease, box-shadow 200ms ease, background-color 200ms ease;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Textarea Specific */
.forminator-ui .forminator-textarea {
    border-radius: 1rem;
    min-height: 140px;
    resize: vertical;
    line-height: 1.6;
}

/* ---------- INPUT STATES ---------- */

/* Default / Base State */
.forminator-ui .forminator-input,
.forminator-ui .forminator-textarea {
    border-color: #e5e7eb;
    box-shadow: none;
}

/* Hover State */
.forminator-ui .forminator-input:hover,
.forminator-ui .forminator-textarea:hover {
    border-color: #d1d5db;
    background-color: #ffffff;
}

/* Focus State */
.forminator-ui .forminator-input:focus,
.forminator-ui .forminator-textarea:focus {
    border-color: #F26522;
    box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.1);
    outline: none;
    background-color: #ffffff;
}

/* Active/Pressed State */
.forminator-ui .forminator-input:active,
.forminator-ui .forminator-textarea:active {
    border-color: #d95516;
    box-shadow: 0 0 0 2px rgba(242, 101, 34, 0.15);
}

/* Disabled State */
.forminator-ui .forminator-input:disabled,
.forminator-ui .forminator-textarea:disabled,
.forminator-ui .forminator-input[disabled],
.forminator-ui .forminator-textarea[disabled] {
    background-color: #f3f4f6;
    border-color: #e5e7eb;
    border-style: dotted;
    color: #9CA3AF;
    cursor: not-allowed;
    opacity: 0.7;
}

/* Read-only State */
.forminator-ui .forminator-input:read-only,
.forminator-ui .forminator-textarea:read-only {
    background-color: #f9fafb;
    border-color: #e5e7eb;
    color: #6b7280;
    cursor: default;
}

.forminator-ui .forminator-input:read-only:focus,
.forminator-ui .forminator-textarea:read-only:focus {
    box-shadow: none;
    border-color: #e5e7eb;
}

/* Placeholder */
.forminator-ui .forminator-input::placeholder,
.forminator-ui .forminator-textarea::placeholder {
    color: #9CA3AF;
    opacity: 1;
}

.forminator-ui .forminator-input::-webkit-input-placeholder,
.forminator-ui .forminator-textarea::-webkit-input-placeholder {
    color: #9CA3AF;
}

.forminator-ui .forminator-input::-moz-placeholder,
.forminator-ui .forminator-textarea::-moz-placeholder {
    color: #9CA3AF;
}

/* ---------- INVALID/ERROR STATE ---------- */
.forminator-ui .forminator-has_error .forminator-input,
.forminator-ui .forminator-has_error .forminator-textarea,
.forminator-ui .forminator-input.forminator-error,
.forminator-ui .forminator-textarea.forminator-error,
.forminator-ui .forminator-input[aria-invalid="true"],
.forminator-ui .forminator-textarea[aria-invalid="true"] {
    border-color: #e04562 !important;
    box-shadow: inset 2px 0 0 0 #e04562;
    background-color: #fef2f2;
}

.forminator-ui .forminator-has_error .forminator-input:focus,
.forminator-ui .forminator-has_error .forminator-textarea:focus,
.forminator-ui .forminator-input.forminator-error:focus,
.forminator-ui .forminator-textarea.forminator-error:focus {
    box-shadow: inset 2px 0 0 0 #e04562, 0 0 0 3px rgba(224, 69, 98, 0.15);
}

/* Error Message */
.forminator-ui .forminator-error-message {
    display: none;
    font-size: 0.75rem;
    color: #e04562;
    background-color: #fef2f2;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    margin-top: 0.375rem;
    font-weight: 500;
    line-height: 1.5;
    border: 1px solid #fecaca;
}

.forminator-ui .forminator-has_error .forminator-error-message,
.forminator-ui .forminator-error-message:not(:empty) {
    display: block;
}

.forminator-ui .forminator-error-message:empty {
    display: none;
}

/* ============================================
   SELECT DROPDOWN
   ============================================ */

.forminator-ui select.forminator-input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
    padding-right: 2.75rem;
    cursor: pointer;
    min-height: 3rem;
    line-height: 1.5;
    border-radius: 9999px;
    border: 1px solid #e5e7eb;
    color: #111827;
    transition: border-color 200ms ease, box-shadow 200ms ease;
    outline: none;
}

.forminator-ui select.forminator-input:hover {
    border-color: #d1d5db;
}

.forminator-ui select.forminator-input:focus {
    border-color: #F26522;
    box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.1);
    outline: none;
}

.forminator-ui select.forminator-input:active {
    border-color: #d95516;
}

.forminator-ui select.forminator-input:disabled {
    background-color: #f3f4f6;
    border-color: #e5e7eb;
    border-style: dotted;
    cursor: not-allowed;
    opacity: 0.7;
}

.forminator-ui select.forminator-input option {
    padding: 0.75rem;
    background-color: #ffffff;
    color: #111827;
}

.forminator-ui select.forminator-input option:checked {
    background-color: #FEF0E6;
    color: #F26522;
}

/* ============================================
   DATE/TIME INPUTS
   ============================================ */

.forminator-ui input[type="date"].forminator-input,
.forminator-ui input[type="time"].forminator-input,
.forminator-ui input[type="datetime-local"].forminator-input,
.forminator-ui input[type="month"].forminator-input,
.forminator-ui input[type="week"].forminator-input {
    min-height: 3rem;
    padding-left: 1rem;
    padding-right: 2.5rem;
    background-color: #ffffff;
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.125rem;
    cursor: pointer;
    border-radius: 9999px;
    border: 1px solid #e5e7eb;
    color: #111827;
    transition: border-color 200ms ease, box-shadow 200ms ease;
    outline: none;
}

.forminator-ui input[type="date"].forminator-input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
}

.forminator-ui input[type="time"].forminator-input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
}

.forminator-ui input[type="datetime-local"].forminator-input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3Cline x1='12' y1='14' x2='12' y2='18'%3E%3C/line%3E%3Cline x1='14' y1='16' x2='18' y2='16'%3E%3C/line%3E%3C/svg%3E");
}

.forminator-ui input[type="date"].forminator-input:focus,
.forminator-ui input[type="time"].forminator-input:focus,
.forminator-ui input[type="datetime-local"].forminator-input:focus {
    border-color: #F26522;
    box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.1);
}

.forminator-ui input[type="date"].forminator-input::-webkit-calendar-picker-indicator,
.forminator-ui input[type="time"].forminator-input::-webkit-calendar-picker-indicator,
.forminator-ui input[type="datetime-local"].forminator-input::-webkit-calendar-picker-indicator {
    opacity: 0.6;
    cursor: pointer;
}

.forminator-ui input[type="date"].forminator-input:hover::-webkit-calendar-picker-indicator,
.forminator-ui input[type="time"].forminator-input:hover::-webkit-calendar-picker-indicator {
    opacity: 1;
}

/* ============================================
   NUMBER INPUT
   ============================================ */

.forminator-ui input[type="number"].forminator-input {
    -moz-appearance: textfield;
    padding-right: 3rem;
    border-radius: 9999px;
}

.forminator-ui input[type="number"].forminator-input::-webkit-outer-spin-button,
.forminator-ui input[type="number"].forminator-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ============================================
   URL INPUT
   ============================================ */

.forminator-ui input[type="url"].forminator-input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'%3E%3C/path%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
    border-radius: 9999px;
}

/* ============================================
   PHONE INPUT
   ============================================ */

.forminator-ui .forminator-phone {
    display: flex;
    gap: 0.5rem;
}

.forminator-ui .forminator-phone select.forminator-input {
    max-width: 110px;
    flex-shrink: 0;
    border-radius: 9999px 0 0 9999px;
    border-right: none;
}

.forminator-ui .forminator-phone select.forminator-input:focus {
    border-right: none;
}

.forminator-ui .forminator-phone input.forminator-input {
    flex: 1;
    border-radius: 0 9999px 9999px 0;
}

/* ============================================
   INPUT WITH PREFIX/SUFFIX
   ============================================ */

.forminator-ui .forminator-input-with-prefix,
.forminator-ui .forminator-input-with-suffix {
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 9999px;
    overflow: hidden;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.forminator-ui .forminator-input-with-prefix:focus-within,
.forminator-ui .forminator-input-with-suffix:focus-within {
    border-color: #F26522;
    box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.1);
}

.forminator-ui .forminator-input-with-prefix .forminator-prefix,
.forminator-ui .forminator-input-with-suffix .forminator-suffix {
    display: flex;
    align-items: center;
    padding: 0 1rem;
    background-color: #f3f4f6;
    color: #6b7280;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
}

.forminator-ui .forminator-input-with-prefix .forminator-input,
.forminator-ui .forminator-input-with-suffix .forminator-input {
    border: none;
    border-radius: 0;
    box-shadow: none;
    flex: 1;
}

.forminator-ui .forminator-input-with-prefix .forminator-input:focus,
.forminator-ui .forminator-input-with-suffix .forminator-input:focus {
    box-shadow: none;
}

/* Error States */
.forminator-ui .forminator-has_error .forminator-input,
.forminator-ui .forminator-has_error .forminator-textarea,
.forminator-ui .forminator-has_error .forminator-input-with-prefix,
.forminator-ui .forminator-has_error .forminator-input-with-suffix {
    border-color: #e04562;
    box-shadow: inset 2px 0 0 0 #e04562;
}

.forminator-ui .forminator-has_error .forminator-input:focus,
.forminator-ui .forminator-has_error .forminator-textarea:focus {
    box-shadow: inset 2px 0 0 0 #e04562, 0 0 0 3px rgba(224, 69, 98, 0.1);
}

.forminator-ui .forminator-error-message {
    display: none;
    font-size: 0.75rem;
    color: #e04562;
    background-color: #f9e4e8;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    margin-top: 0.375rem;
    font-weight: 500;
    line-height: 1.5;
    align-items: center;
}

.forminator-ui .forminator-error-message:before {
    content: '!';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    background-color: #e04562;
    color: white;
    border-radius: 50%;
    font-size: 0.625rem;
    font-weight: 700;
    margin-right: 0.5rem;
    flex-shrink: 0;
}

.forminator-ui .forminator-has_error .forminator-error-message {
    display: flex;
}

/* Checkbox & Radio */
.forminator-ui .forminator-checkbox,
.forminator-ui .forminator-radio {
    display: flex;
    align-items: flex-start;
    margin: 0.75rem 0;
    cursor: pointer;
    position: relative;
}

.forminator-ui .forminator-checkbox input,
.forminator-ui .forminator-radio input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    cursor: pointer;
}

.forminator-ui .forminator-checkbox-box,
.forminator-ui .forminator-radio-bullet {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    border: 1px solid #d1d5db;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 200ms ease;
    margin-right: 0.75rem;
    margin-top: 0.125rem;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
}

.forminator-ui .forminator-checkbox-box {
    border-radius: 0.375rem;
}

.forminator-ui .forminator-radio-bullet {
    border-radius: 9999px;
}

.forminator-ui .forminator-checkbox-box:before {
    content: '✓';
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    opacity: 0;
    transform: scale(0.5);
    transition: all 150ms ease;
}

.forminator-ui .forminator-radio-bullet:before {
    content: '';
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 9999px;
    background-color: #F26522;
    opacity: 0;
    transform: scale(0.5);
    transition: all 150ms ease;
}

.forminator-ui .forminator-checkbox input:checked+.forminator-checkbox-box,
.forminator-ui .forminator-radio input:checked+.forminator-radio-bullet {
    border-color: #F26522;
    background-color: #F26522;
}

.forminator-ui .forminator-checkbox input:checked+.forminator-checkbox-box:before,
.forminator-ui .forminator-radio input:checked+.forminator-radio-bullet:before {
    opacity: 1;
    transform: scale(1);
}

.forminator-ui .forminator-checkbox input:focus+.forminator-checkbox-box,
.forminator-ui .forminator-radio input:focus+.forminator-radio-bullet {
    box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.1), inset 0 1px 2px rgba(0, 0, 0, 0.05);
}

.forminator-ui .forminator-checkbox input:disabled+.forminator-checkbox-box,
.forminator-ui .forminator-radio input:disabled+.forminator-radio-bullet {
    background-color: #f3f4f6;
    border-color: #e5e7eb;
    cursor: not-allowed;
    opacity: 0.6;
}

.forminator-ui .forminator-checkbox-label,
.forminator-ui .forminator-radio-label {
    font-size: 0.875rem;
    color: #4B5563;
    line-height: 1.5;
    cursor: pointer;
    user-select: none;
}

.forminator-ui .forminator-checkbox-label a,
.forminator-ui .forminator-radio-label a {
    color: #F26522;
    text-decoration: underline;
}

.forminator-ui .forminator-checkbox-label a:hover,
.forminator-ui .forminator-radio-label a:hover {
    color: #d95516;
}

/* Consent Checkbox */
.forminator-ui .forminator-consent {
    margin: 1rem 0;
}

.forminator-ui .forminator-consent .forminator-checkbox-box {
    margin-top: 0;
}

/* Inline checkbox/radio */
.forminator-ui .forminator-checkbox.forminator-checkbox-inline,
.forminator-ui .forminator-radio.forminator-radio-inline {
    display: inline-flex;
    margin-right: 1.5rem;
    margin-bottom: 0.5rem;
}

/* Submit Button */
.forminator-ui .forminator-button-submit {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.75rem 2rem;
    font-size: 1rem;
    font-weight: 700;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    letter-spacing: 0.025em;
    color: #ffffff;
    background: var(--color-primary);
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 400ms ease;
    box-shadow: 0 4px 6px -1px rgba(242, 101, 34, 0.3);
    min-height: 3rem;
    text-decoration: none;
    position: relative;
    overflow: hidden;
}

.forminator-ui .forminator-button-submit:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: color-mix(in srgb, var(--color-secondary) 24%, transparent);
    opacity: 0;
    transition: opacity 300ms ease;
}

.forminator-ui .forminator-button-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 20px rgba(242, 101, 34, 0.4), 0 4px 6px -1px rgba(242, 101, 34, 0.3);
    color: #ffffff;
}

.forminator-ui .forminator-button-submit:hover:before {
    opacity: 1;
}

.forminator-ui .forminator-button-submit:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.3), 0 4px 6px -1px rgba(242, 101, 34, 0.3);
}

.forminator-ui .forminator-button-submit:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px -1px rgba(242, 101, 34, 0.3);
}

.forminator-ui .forminator-button-submit.forminator-disabled,
.forminator-ui .forminator-button-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.forminator-ui .forminator-button-submit.forminator-disabled:hover,
.forminator-ui .forminator-button-submit:disabled:hover {
    box-shadow: none;
    transform: none;
}

/* Secondary/Cancel Button */
.forminator-ui .forminator-button-cancel {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.75rem 2rem;
    font-size: 1rem;
    font-weight: 600;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: #4B5563;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 200ms ease;
    min-height: 3rem;
    text-decoration: none;
}

.forminator-ui .forminator-button-cancel:hover {
    border-color: #d1d5db;
    background-color: #f9fafb;
    color: #111827;
}

.forminator-ui .forminator-button-cancel:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.1);
    border-color: #F26522;
}

/* Response Messages */
.forminator-ui .forminator-response-message {
    margin: 1rem 0;
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border: 1px solid transparent;
}

.forminator-ui .forminator-response-message p {
    margin: 0;
}

.forminator-ui .forminator-response-message:empty {
    display: none;
}

.forminator-ui .forminator-response-message.forminator-success {
    background-color: #DCFCE7;
    color: #166534;
    border-color: #86efac;
}

.forminator-ui .forminator-response-message.forminator-error {
    background-color: #f9e4e8;
    color: #e04562;
    border-color: #fda4af;
}

.forminator-ui .forminator-response-message.forminator-info {
    background-color: #E0F2FE;
    color: #075985;
    border-color: #7dd3fc;
}

.forminator-ui .forminator-response-message.forminator-warning {
    background-color: #FEF3C7;
    color: #92400E;
    border-color: #fde68a;
}

/* Loading State */
.forminator-ui .forminator-response-message.forminator-loading {
    position: relative;
    padding-left: 3rem;
    background-color: #E0F2FE;
    color: #075985;
    border-color: #7dd3fc;
}

.forminator-ui .forminator-response-message.forminator-loading:before {
    content: '◌';
    position: absolute;
    left: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    animation: forminator-spin 1s linear infinite;
    font-size: 1rem;
    font-weight: bold;
}

@keyframes forminator-spin {
    from {
        transform: translateY(-50%) rotate(0deg);
    }

    to {
        transform: translateY(-50%) rotate(360deg);
    }
}

/* Hidden Labels (for accessibility) */
.forminator-ui .forminator-screen-reader-only,
.forminator-ui .forminator-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Form Fields Spacing */
.forminator-ui .forminator-row {
    margin-bottom: 0;
}

.forminator-ui .forminator-field {
    padding: 0;
}

.forminator-ui .forminator-col {
    padding: 0 0.5rem;
}

/* Captcha */
.forminator-ui .forminator-captcha {
    margin: 1rem 0;
}

.forminator-ui .forminator-captcha .forminator-label {
    margin-bottom: 0.5rem;
}

.forminator-ui .forminator-g-recaptcha>div {
    max-width: 100%;
}

.forminator-ui .forminator-captcha-left {
    text-align: left;
}

.forminator-ui .forminator-captcha-center {
    text-align: center;
}

.forminator-ui .forminator-captcha-right {
    text-align: right;
}

/* Select dropdown styling */
.forminator-ui select.forminator-input {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
    padding-right: 2.5rem;
    cursor: pointer;
}

.forminator-ui select.forminator-input:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23F26522' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

/* Date picker */
.forminator-ui input[type="date"].forminator-input,
.forminator-ui input[type="time"].forminator-input,
.forminator-ui input[type="datetime-local"].forminator-input {
    min-height: 3rem;
}

/* File Upload */
.forminator-ui .forminator-file-upload {
    border: 2px dashed #e5e7eb;
    border-radius: 1rem;
    padding: 2rem;
    text-align: center;
    background-color: #f9fafb;
    transition: all 200ms ease;
    cursor: pointer;
}

.forminator-ui .forminator-file-upload:hover {
    border-color: #F26522;
    background-color: #FEF0E6;
}

.forminator-ui .forminator-file-upload.dragover {
    border-color: #F26522;
    background-color: #FEF0E6;
}

.forminator-ui .forminator-file-upload input[type="file"] {
    display: none;
}

.forminator-ui .forminator-file-upload .forminator-upload-message {
    color: #6b7280;
    font-size: 0.875rem;
}

.forminator-ui .forminator-file-upload .forminator-upload-icon {
    color: #F26522;
    margin-bottom: 0.5rem;
}

/* Password Strength */
.forminator-ui .forminator-password-strength {
    margin-top: 0.5rem;
}

.forminator-ui .forminator-password-strength .strength-bar {
    height: 0.25rem;
    background-color: #e5e7eb;
    border-radius: 0.25rem;
    overflow: hidden;
}

.forminator-ui .forminator-password-strength .strength-bar .strength-fill {
    height: 100%;
    transition: all 300ms ease;
}

.forminator-ui .forminator-password-strength .strength-bar .strength-fill.weak {
    width: 25%;
    background-color: #ef4444;
}

.forminator-ui .forminator-password-strength .strength-bar .strength-fill.fair {
    width: 50%;
    background-color: #f59e0b;
}

.forminator-ui .forminator-password-strength .strength-bar .strength-fill.good {
    width: 75%;
    background-color: #22c55e;
}

.forminator-ui .forminator-password-strength .strength-bar .strength-fill.strong {
    width: 100%;
    background-color: #10b981;
}

.forminator-ui .forminator-password-strength .strength-text {
    font-size: 0.75rem;
    color: #6b7280;
    margin-top: 0.25rem;
}

/* Rating */
.forminator-ui .forminator-rating-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.forminator-ui .forminator-rating-wrapper .forminator-rating-items {
    display: flex;
    gap: 0.25rem;
}

.forminator-ui .forminator-rating-wrapper .forminator-rating-item {
    cursor: pointer;
    color: #d1d5db;
    font-size: 1.5rem;
    transition: all 150ms ease;
}

.forminator-ui .forminator-rating-wrapper .forminator-rating-item:hover,
.forminator-ui .forminator-rating-wrapper .forminator-rating-item.active {
    color: #F26522;
}

.forminator-ui .forminator-rating-wrapper .forminator-rating-suffix {
    font-size: 0.875rem;
    color: #6b7280;
}

/* Slider */
.forminator-ui .forminator-slider {
    padding: 1rem 0;
}

.forminator-ui .forminator-slider .forminator-slide {
    background: #e5e7eb;
    border-radius: 0.5rem;
    height: 0.5rem;
}

.forminator-ui .forminator-slider .ui-slider-handle {
    width: 1.25rem;
    height: 1.25rem;
    background: #F26522;
    border: 2px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition: all 150ms ease;
}

.forminator-ui .forminator-slider .ui-slider-handle:hover {
    transform: scale(1.1);
    box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.2);
}

.forminator-ui .forminator-slider .ui-slider-range {
    background: var(--color-primary);
    border-radius: 0.5rem;
}

/* Pagination (multi-step forms) */
.forminator-ui .forminator-pagination {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e5e7eb;
}

.forminator-ui .forminator-pagination .forminator-progress {
    margin-bottom: 1rem;
}

.forminator-ui .forminator-pagination .forminator-progress-bar {
    height: 0.5rem;
    background-color: #e5e7eb;
    border-radius: 0.25rem;
    overflow: hidden;
}

.forminator-ui .forminator-pagination .forminator-progress-bar .forminator-progress-fill {
    height: 100%;
    background: var(--color-primary);
    transition: width 400ms ease;
}

.forminator-ui .forminator-pagination .forminator-steps {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.forminator-ui .forminator-pagination .forminator-step {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #6b7280;
}

.forminator-ui .forminator-pagination .forminator-step.active {
    color: #F26522;
    font-weight: 600;
}

.forminator-ui .forminator-pagination .forminator-step.completed {
    color: #22c55e;
}

/* Mobile Responsiveness */
@media (max-width: 640px) {

    .forminator-ui .forminator-input,
    .forminator-ui .forminator-textarea {
        font-size: 1rem;
        padding: 0.625rem 1rem;
    }

    .forminator-ui .forminator-button-submit,
    .forminator-ui .forminator-button-cancel {
        width: 100%;
        padding: 0.75rem 1.5rem;
    }

    .forminator-ui .forminator-checkbox.forminator-checkbox-inline,
    .forminator-ui .forminator-radio.forminator-radio-inline {
        display: flex;
        margin-right: 0;
    }

    .forminator-ui .forminator-field {
        margin-bottom: 1.25rem;
    }
}

/* ============================================
   ADDITIONAL FORMINATOR ELEMENTS
   ============================================ */

.forminator-ui .forminator-input:disabled,
.forminator-ui .forminator-textarea:disabled {
    background-color: #f3f4f6;
    border-style: dotted;
    cursor: not-allowed;
    opacity: 0.7;
}

/* Error States */
.forminator-ui .forminator-has_error .forminator-input,
.forminator-ui .forminator-has_error .forminator-textarea {
    border-color: #e04562;
    box-shadow: inset 2px 0 0 0 #e04562;
}

.forminator-ui .forminator-error-message {
    display: none;
    font-size: 0.875rem;
    color: #e04562;
    background-color: #f9e4e8;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    margin-top: 0.5rem;
    font-weight: 500;
}

.forminator-ui .forminator-has_error .forminator-error-message {
    display: block;
}

/* Checkbox & Radio */
.forminator-ui .forminator-checkbox,
.forminator-ui .forminator-radio {
    display: flex;
    align-items: flex-start;
    margin: 0.75rem 0;
    cursor: pointer;
}

.forminator-ui .forminator-checkbox-box,
.forminator-ui .forminator-radio-bullet {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
    border: 1px solid #d1d5db;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 200ms ease;
    margin-right: 0.75rem;
    margin-top: 0.125rem;
}

.forminator-ui .forminator-checkbox-box {
    border-radius: 0.375rem;
}

.forminator-ui .forminator-radio-bullet {
    border-radius: 9999px;
}

.forminator-ui .forminator-checkbox-box:before {
    content: '✓';
    color: #ffffff;
    font-size: 0.75rem;
    opacity: 0;
    transition: opacity 200ms ease;
}

.forminator-ui .forminator-radio-bullet:before {
    content: '';
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 9999px;
    background-color: #F26522;
    opacity: 0;
    transition: opacity 200ms ease;
}

.forminator-ui .forminator-checkbox input:checked+.forminator-checkbox-box,
.forminator-ui .forminator-radio input:checked+.forminator-radio-bullet {
    border-color: #F26522;
    background-color: #F26522;
}

.forminator-ui .forminator-checkbox input:checked+.forminator-checkbox-box:before,
.forminator-ui .forminator-radio input:checked+.forminator-radio-bullet:before {
    opacity: 1;
}

.forminator-ui .forminator-checkbox-label,
.forminator-ui .forminator-radio-label {
    font-size: 0.875rem;
    color: #4B5563;
    line-height: 1.5;
}

.forminator-ui .forminator-consent {
    margin: 1rem 0;
}

.forminator-ui .forminator-consent .forminator-checkbox-box {
    margin-top: 0;
}

/* Submit Button */
.forminator-ui .forminator-button-submit {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.75rem 2rem;
    font-size: 1rem;
    font-weight: 700;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: #ffffff;
    background: var(--color-primary);
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 400ms ease;
    box-shadow: 0 4px 6px -1px rgba(242, 101, 34, 0.3);
    min-height: 3rem;
}

.forminator-ui .forminator-button-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 20px rgba(242, 101, 34, 0.4);
}

.forminator-ui .forminator-button-submit:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.3);
}

.forminator-ui .forminator-button-submit:active {
    transform: translateY(0);
}

.forminator-ui .forminator-button-submit.forminator-disabled,
.forminator-ui .forminator-button-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Response Messages */
.forminator-ui .forminator-response-message {
    margin: 1rem 0;
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.5;
}

.forminator-ui .forminator-response-message p {
    margin: 0;
}

.forminator-ui .forminator-response-message.forminator-success {
    background-color: #DCFCE7;
    color: #166534;
    border: 1px solid #86efac;
}

.forminator-ui .forminator-response-message.forminator-error {
    background-color: #f9e4e8;
    color: #e04562;
    border: 1px solid #fda4af;
}

.forminator-ui .forminator-response-message.forminator-info {
    background-color: #E0F2FE;
    color: #075985;
    border: 1px solid #7dd3fc;
}

.forminator-ui .forminator-response-message.forminator-warning {
    background-color: #FEF3C7;
    color: #92400E;
    border: 1px solid #fde68a;
}

/* Loading State */
.forminator-ui .forminator-response-message.forminator-loading {
    position: relative;
    padding-left: 3rem;
}

.forminator-ui .forminator-response-message.forminator-loading:before {
    content: '◌';
    position: absolute;
    left: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    animation: spin 1s linear infinite;
    font-size: 1rem;
}

@keyframes spin {
    from {
        transform: translateY(-50%) rotate(0deg);
    }

    to {
        transform: translateY(-50%) rotate(360deg);
    }
}

/* Hidden Labels (for accessibility) */
.forminator-ui .forminator-screen-reader-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Form Fields Spacing */
.forminator-ui .forminator-row {
    margin-bottom: 0;
}

.forminator-ui .forminator-field {
    padding: 0;
}

/* Captcha */
.forminator-ui .forminator-captcha {
    margin: 1rem 0;
}

.forminator-ui .forminator-captcha .forminator-label {
    margin-bottom: 0.5rem;
}

/* Select dropdown styling */
.forminator-ui select.forminator-input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
    padding-right: 2.75rem;
    cursor: pointer;
    min-height: 3rem;
    line-height: 1.5;
}

.forminator-ui select.forminator-input:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23F26522' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

.forminator-ui select.forminator-input:hover {
    border-color: #d1d5db;
}

.forminator-ui select.forminator-input option {
    padding: 0.75rem;
    background-color: #ffffff;
    color: #111827;
}

/* Forminator Select Dropdown */
.forminator-ui .forminator-select2 {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 9999px;
    max-height: 300px;
    padding: 0.5rem 1rem;
    width: 100%;
    overflow-y: auto;
    z-index: 1000;
}

.forminator-ui .forminator-select2 .forminator-option {
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: all 150ms ease;
    border-bottom: 1px solid #f3f4f6;
}

.forminator-ui .forminator-select2 .forminator-option:last-child {
    border-bottom: none;
}

.forminator-ui .forminator-select2 .forminator-option:hover {
    background-color: #FEF0E6;
    color: #F26522;
}

.forminator-ui .forminator-select2 .forminator-option.selected {
    background-color: #F26522;
    color: #ffffff;
}

.forminator-ui .forminator-select2 .forminator-option.focused {
    background-color: #FEF0E6;
    outline: none;
}

/* Multi-select */
.forminator-ui .forminator-multiselect .forminator-option {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    border-bottom: 1px solid #f3f4f6;
    transition: all 150ms ease;
}

.forminator-ui .forminator-multiselect .forminator-option:last-child {
    border-bottom: none;
}

.forminator-ui .forminator-multiselect .forminator-option:hover {
    background-color: #f9fafb;
}

.forminator-ui .forminator-multiselect .forminator-option input[type="checkbox"] {
    width: 1.125rem;
    height: 1.125rem;
    margin-right: 0.75rem;
    cursor: pointer;
    accent-color: #F26522;
}

.forminator-ui .forminator-multiselect .forminator-option span {
    font-size: 0.875rem;
    color: #4B5563;
}

/* Date, Time, Date-time inputs */
.forminator-ui input[type="date"].forminator-input,
.forminator-ui input[type="time"].forminator-input,
.forminator-ui input[type="datetime-local"].forminator-input,
.forminator-ui input[type="month"].forminator-input,
.forminator-ui input[type="week"].forminator-input {
    min-height: 3rem;
    padding-left: 1rem;
    padding-right: 2.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.125rem;
    cursor: pointer;
}

.forminator-ui input[type="time"].forminator-input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
}

.forminator-ui input[type="date"].forminator-input:focus,
.forminator-ui input[type="time"].forminator-input:focus,
.forminator-ui input[type="datetime-local"].forminator-input:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23F26522' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
}

/* Number input with spinner */
.forminator-ui input[type="number"].forminator-input {
    -moz-appearance: textfield;
}

.forminator-ui input[type="number"].forminator-input::-webkit-outer-spin-button,
.forminator-ui input[type="number"].forminator-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.forminator-ui input[type="number"].forminator-input {
    padding-right: 3rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'%3E%3C/line%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
}

/* Phone input with country code */
.forminator-ui .forminator-phone {
    display: flex;
    gap: 0.5rem;
}

.forminator-ui .forminator-phone select.forminator-input {
    max-width: 120px;
    flex-shrink: 0;
}

.forminator-ui .forminator-phone input.forminator-input {
    flex: 1;
}

/* URL Input */
.forminator-ui input[type="url"].forminator-input {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'%3E%3C/path%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
}

/* Hidden field */
.forminator-ui input[type="hidden"].forminator-input {
    display: none;
}

/* File Upload - Enhanced */
.forminator-ui .forminator-file-upload {
    border: 2px dashed #d1d5db;
    border-radius: 1rem;
    padding: 2.5rem 1.5rem;
    text-align: center;
    background-color: #f9fafb;
    transition: all 200ms ease;
    cursor: pointer;
    position: relative;
}

.forminator-ui .forminator-file-upload:hover {
    border-color: #F26522;
    background-color: #FEF0E6;
}

.forminator-ui .forminator-file-upload.dragover {
    border-color: #F26522;
    background-color: #FEF0E6;
    transform: scale(1.01);
}

.forminator-ui .forminator-file-upload input[type="file"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.forminator-ui .forminator-file-upload .forminator-upload-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    pointer-events: none;
}

.forminator-ui .forminator-file-upload .forminator-upload-icon {
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FEF0E6;
    border-radius: 50%;
    color: #F26522;
    transition: all 200ms ease;
}

.forminator-ui .forminator-file-upload:hover .forminator-upload-icon {
    background-color: #F26522;
    color: #ffffff;
    transform: scale(1.1);
}

.forminator-ui .forminator-file-upload .forminator-upload-message {
    color: #6b7280;
    font-size: 0.875rem;
    line-height: 1.5;
}

.forminator-ui .forminator-file-upload .forminator-upload-message strong {
    color: #F26522;
    font-weight: 600;
}

.forminator-ui .forminator-file-upload .forminator-upload-limit {
    font-size: 0.75rem;
    color: #9CA3AF;
}

/* Uploaded Files List */
.forminator-ui .forminator-file-uploaded {
    margin-top: 1rem;
}

.forminator-ui .forminator-file-uploaded .forminator-file {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    margin-bottom: 0.5rem;
    transition: all 150ms ease;
}

.forminator-ui .forminator-file-uploaded .forminator-file:hover {
    border-color: #d1d5db;
    background-color: #f9fafb;
}

.forminator-ui .forminator-file-uploaded .forminator-file-icon {
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f3f4f6;
    border-radius: 0.5rem;
    color: #6b7280;
    margin-right: 0.75rem;
    flex-shrink: 0;
}

.forminator-ui .forminator-file-uploaded .forminator-file-name {
    flex: 1;
    font-size: 0.875rem;
    color: #111827;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.forminator-ui .forminator-file-uploaded .forminator-file-size {
    font-size: 0.75rem;
    color: #9CA3AF;
    margin-left: 0.5rem;
}

.forminator-ui .forminator-file-uploaded .forminator-file-remove {
    width: 1.5rem;
    height: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #9CA3AF;
    cursor: pointer;
    border-radius: 50%;
    transition: all 150ms ease;
    margin-left: 0.5rem;
}

.forminator-ui .forminator-file-uploaded .forminator-file-remove:hover {
    background-color: #fee2e2;
    color: #ef4444;
}

/* Multi-upload */
.forminator-ui .forminator-multi-upload {
    position: relative;
}

.forminator-ui .forminator-multi-upload .forminator-upload-item {
    display: flex;
    align-items: center;
    padding: 0.75rem;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    margin-bottom: 0.5rem;
    animation: fadeIn 200ms ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.forminator-ui .forminator-multi-upload .forminator-upload-item .forminator-preview {
    width: 3rem;
    height: 3rem;
    border-radius: 0.5rem;
    object-fit: cover;
    margin-right: 0.75rem;
    background-color: #f3f4f6;
}

.forminator-ui .forminator-multi-upload .forminator-upload-item .forminator-upload-details {
    flex: 1;
    min-width: 0;
}

.forminator-ui .forminator-multi-upload .forminator-upload-item .forminator-upload-name {
    font-size: 0.875rem;
    color: #111827;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.forminator-ui .forminator-multi-upload .forminator-upload-item .forminator-upload-meta {
    font-size: 0.75rem;
    color: #9CA3AF;
}

/* Signature Pad */
.forminator-ui .forminator-signature {
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    background-color: #ffffff;
    overflow: hidden;
}

.forminator-ui .forminator-signature canvas {
    display: block;
    width: 100%;
    cursor: crosshair;
}

.forminator-ui .forminator-signature .forminator-signature-footer {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    background-color: #f9fafb;
    border-top: 1px solid #e5e7eb;
}

.forminator-ui .forminator-signature .forminator-signature-clear {
    font-size: 0.75rem;
    color: #6b7280;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    transition: all 150ms ease;
}

.forminator-ui .forminator-signature .forminator-signature-clear:hover {
    background-color: #fee2e2;
    color: #ef4444;
}

/* Calculation Field */
.forminator-ui .forminator-calculation {
    padding: 1rem;
    background-color: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    font-size: 1rem;
    color: #111827;
    font-weight: 500;
}

/* Post Data */
.forminator-ui .forminator-post-data {
    margin-bottom: 1rem;
}

.forminator-ui .forminator-post-data label {
    font-weight: 600;
    font-size: 0.875rem;
    color: #111827;
    margin-bottom: 0.5rem;
    display: block;
}

/* Save Draft */
.forminator-ui .forminator-save-draft-link {
    display: inline-block;
    font-size: 0.875rem;
    color: #F26522;
    text-decoration: none;
    padding: 0.5rem 0;
    margin: 0.5rem 0;
    transition: all 150ms ease;
}

.forminator-ui .forminator-save-draft-link:hover {
    color: #d95516;
    text-decoration: underline;
}

.forminator-ui .forminator-save-draft-link.disabled {
    color: #9CA3AF;
    cursor: default;
}

/* Repeater Field */
.forminator-ui .forminator-repeater-field {
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    padding: 1.5rem;
    background-color: #f9fafb;
    margin-bottom: 1rem;
}

.forminator-ui .forminator-repeater-field .forminator-grouped-fields {
    padding: 1rem 0;
    border-bottom: 1px solid #e5e7eb;
}

.forminator-ui .forminator-repeater-field .forminator-grouped-fields:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.forminator-ui .forminator-repeater-field .forminator-grouped-fields:first-child {
    padding-top: 0;
}

.forminator-ui .forminator-repeater-field .forminator-action-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
}

.forminator-ui .forminator-repeater-field .forminator-repeater-action-button {
    font-size: 0.75rem;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid #e5e7eb;
    background-color: #ffffff;
    color: #6b7280;
    cursor: pointer;
    transition: all 150ms ease;
}

.forminator-ui .forminator-repeater-field .forminator-repeater-action-button:hover {
    border-color: #F26522;
    color: #F26522;
}

.forminator-ui .forminator-repeater-field .forminator-repeater-action-button.remove:hover {
    background-color: #fee2e2;
    border-color: #ef4444;
    color: #ef4444;
}

/* Typography Field */
.forminator-ui .forminator-quill {
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    overflow: hidden;
    background-color: #ffffff;
}

.forminator-ui .forminator-quill .ql-toolbar {
    border: none;
    border-bottom: 1px solid #e5e7eb;
    background-color: #f9fafb;
    padding: 0.75rem;
}

.forminator-ui .forminator-quill .ql-toolbar .ql-stroke {
    stroke: #6b7280;
}

.forminator-ui .forminator-quill .ql-toolbar .ql-fill {
    fill: #6b7280;
}

.forminator-ui .forminator-quill .ql-toolbar .ql-picker {
    color: #6b7280;
}

.forminator-ui .forminator-quill .ql-toolbar button:hover .ql-stroke,
.forminator-ui .forminator-quill .ql-toolbar button.ql-active .ql-stroke {
    stroke: #F26522;
}

.forminator-ui .forminator-quill .ql-toolbar button:hover .ql-fill,
.forminator-ui .forminator-quill .ql-toolbar button.ql-active .ql-fill {
    fill: #F26522;
}

.forminator-ui .forminator-quill .ql-container {
    border: none;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 1rem;
    min-height: 150px;
}

.forminator-ui .forminator-quill .ql-editor {
    padding: 1rem;
    min-height: 150px;
}

.forminator-ui .forminator-quill .ql-editor.ql-blank::before {
    color: #9CA3AF;
    font-style: normal;
}

/* HTML Field */
.forminator-ui .forminator-html {
    padding: 1rem;
    background-color: #f9fafb;
    border-radius: 1rem;
}

/* Section Break */
.forminator-ui .forminator-section-break {
    margin: 1.5rem 0;
    padding: 1rem 0;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
}

.forminator-ui .forminator-section-break .forminator-title {
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
}

.forminator-ui .forminator-section-break .forminator-description {
    font-size: 0.875rem;
}

/* Spinner/Loader */
.forminator-ui .forminator-spinner {
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    border: 2px solid #e5e7eb;
    border-top-color: #F26522;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

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

/* Payment Fields */
.forminator-ui .forminator-paypal-row,
.forminator-ui .forminator-stripe-row {
    padding: 1.5rem;
    background-color: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    margin-bottom: 1rem;
}

.forminator-ui .forminator-paypal-row .forminator-field,
.forminator-ui .forminator-stripe-row .forminator-field {
    margin-bottom: 1rem;
}

.forminator-ui .forminator-paypal-row .forminator-field:last-child,
.forminator-ui .forminator-stripe-row .forminator-field:last-child {
    margin-bottom: 0;
}

/* Total Display */
.forminator-ui .forminator-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    background: var(--color-primary);
    border-radius: 1rem;
    color: #ffffff;
    font-weight: 600;
}

.forminator-ui .forminator-total .forminator-total-label {
    font-size: 1rem;
}

.forminator-ui .forminator-total .forminator-total-amount {
    font-size: 1.5rem;
    font-weight: 700;
}

/* Input Sizing */
.forminator-ui.forminator-size--small .forminator-input,
.forminator-ui.forminator-size--small .forminator-textarea {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
}

.forminator-ui.forminator-size--small select.forminator-input {
    min-height: 2.5rem;
}

.forminator-ui.forminator-size--large .forminator-input,
.forminator-ui.forminator-size--large .forminator-textarea {
    padding: 1rem 1.5rem;
    font-size: 1.125rem;
}

.forminator-ui.forminator-size--large select.forminator-input {
    min-height: 3.5rem;
}

/* Grid Layout */
.forminator-ui .forminator-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}

.forminator-ui .forminator-col {
    flex: 1;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    min-width: 0;
}

.forminator-ui .forminator-col-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.forminator-ui .forminator-col-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.forminator-ui .forminator-col-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

/* Form Actions */
.forminator-ui .forminator-action-buttons {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
    flex-wrap: wrap;
}

.forminator-ui .forminator-action-buttons .forminator-button {
    flex: 1;
    min-width: 120px;
}

/* Required asterisk */
.forminator-ui .forminator-label .required {
    color: #F26522;
    font-weight: 700;
}

/* Placeholder animation */
.forminator-ui .forminator-input:focus::-webkit-input-placeholder,
.forminator-ui .forminator-textarea:focus::-webkit-input-placeholder {
    color: #9CA3AF;
    opacity: 0.7;
}

/* Print styles */
@media print {

    .forminator-ui .forminator-button,
    .forminator-ui .forminator-file-upload,
    .forminator-ui .forminator-action-buttons {
        display: none !important;
    }

    .forminator-ui .forminator-input,
    .forminator-ui .forminator-textarea {
        border: 1px solid #000 !important;
        box-shadow: none !important;
    }
}

/* Mobile Responsiveness */
@media (max-width: 640px) {

    .forminator-ui .forminator-input,
    .forminator-ui .forminator-textarea {
        font-size: 1rem;
        padding: 0.625rem 1rem;
    }

    .forminator-ui .forminator-button-submit {
        width: 100%;
        padding: 0.75rem 1.5rem;
    }
}

/* ============================================
   ADDITIONAL FORMINATOR ELEMENTS
   ============================================ */

/* Select Dropdown Panel */
.forminator-ui .forminator-select-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
    margin-top: 0.5rem;
}

.forminator-ui .forminator-select-dropdown .forminator-search {
    padding: 0.75rem;
    border-bottom: 1px solid #e5e7eb;
}

.forminator-ui .forminator-select-dropdown .forminator-search input {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
    font-size: 0.875rem;
}

.forminator-ui .forminator-select-dropdown .forminator-search input:focus {
    outline: none;
    border-color: #F26522;
}

.forminator-ui .forminator-select-dropdown .forminator-option {
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: background-color 150ms ease;
    border-bottom: 1px solid #f3f4f6;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.forminator-ui .forminator-select-dropdown .forminator-option:last-child {
    border-bottom: none;
}

.forminator-ui .forminator-select-dropdown .forminator-option:hover {
    background-color: #FEF0E6;
    color: #F26522;
}

.forminator-ui .forminator-select-dropdown .forminator-option.selected {
    background-color: #F26522;
    color: #ffffff;
}

.forminator-ui .forminator-select-dropdown .forminator-option .forminator-option-icon {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

/* Multi-select */
.forminator-ui .forminator-multiselect {
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    background-color: #ffffff;
    max-height: 200px;
    overflow-y: auto;
}

.forminator-ui .forminator-multiselect .forminator-option {
    display: flex;
    align-items: center;
    padding: 0.625rem 1rem;
    cursor: pointer;
    border-bottom: 1px solid #f3f4f6;
    transition: background-color 150ms ease;
}

.forminator-ui .forminator-multiselect .forminator-option:last-child {
    border-bottom: none;
}

.forminator-ui .forminator-multiselect .forminator-option:hover {
    background-color: #f9fafb;
}

.forminator-ui .forminator-multiselect .forminator-option input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    margin-right: 0.75rem;
    accent-color: #F26522;
    cursor: pointer;
}

.forminator-ui .forminator-multiselect .forminator-option span {
    font-size: 0.875rem;
    color: #4B5563;
}

/* ============================================
   FILE UPLOAD
   ============================================ */

.forminator-ui .forminator-file-upload {
    border: 2px dashed #d1d5db;
    border-radius: 1rem;
    padding: 2rem 1.5rem;
    text-align: center;
    background-color: #f9fafb;
    transition: all 200ms ease;
    cursor: pointer;
    position: relative;
}

.forminator-ui .forminator-file-upload:hover {
    border-color: #F26522;
    background-color: #FEF0E6;
}

.forminator-ui .forminator-file-upload.dragover,
.forminator-ui .forminator-file-upload.forminator-dragover {
    border-color: #F26522;
    background-color: #FEF0E6;
    transform: scale(1.01);
}

.forminator-ui .forminator-file-upload input[type="file"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.forminator-ui .forminator-file-upload .forminator-upload-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    pointer-events: none;
}

.forminator-ui .forminator-file-upload .forminator-upload-icon {
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FEF0E6;
    border-radius: 50%;
    color: #F26522;
    transition: all 200ms ease;
}

.forminator-ui .forminator-file-upload:hover .forminator-upload-icon {
    background-color: #F26522;
    color: #ffffff;
    transform: scale(1.1);
}

.forminator-ui .forminator-file-upload .forminator-upload-message {
    color: #6b7280;
    font-size: 0.875rem;
}

.forminator-ui .forminator-file-upload .forminator-upload-message strong {
    color: #F26522;
    font-weight: 600;
}

/* Uploaded Files */
.forminator-ui .forminator-multi-upload-list {
    margin-top: 1rem;
}

.forminator-ui .forminator-file {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    margin-bottom: 0.5rem;
    animation: slideIn 200ms ease;
}

@keyframes slideIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.forminator-ui .forminator-file:last-child {
    margin-bottom: 0;
}

.forminator-ui .forminator-file-icon {
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f3f4f6;
    border-radius: 0.5rem;
    color: #6b7280;
    margin-right: 0.75rem;
    flex-shrink: 0;
}

.forminator-ui .forminator-file-name {
    flex: 1;
    font-size: 0.875rem;
    color: #111827;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.forminator-ui .forminator-file-remove {
    width: 1.5rem;
    height: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #9CA3AF;
    cursor: pointer;
    border-radius: 50%;
    transition: all 150ms ease;
    margin-left: 0.5rem;
}

.forminator-ui .forminator-file-remove:hover {
    background-color: #fee2e2;
    color: #ef4444;
}

/* ============================================
   SIGNATURE
   ============================================ */

.forminator-ui .forminator-signature {
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    background-color: #ffffff;
    overflow: hidden;
}

.forminator-ui .forminator-signature canvas {
    display: block;
    width: 100%;
    cursor: crosshair;
}

.forminator-ui .forminator-signature .forminator-signature-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    background-color: #f9fafb;
    border-top: 1px solid #e5e7eb;
}

.forminator-ui .forminator-signature .forminator-signature-clear {
    font-size: 0.75rem;
    color: #6b7280;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    transition: all 150ms ease;
}

.forminator-ui .forminator-signature .forminator-signature-clear:hover {
    background-color: #fee2e2;
    color: #ef4444;
}

/* ============================================
   CALCULATION & HTML
   ============================================ */

.forminator-ui .forminator-calculation {
    padding: 1rem;
    background-color: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    font-size: 1rem;
    color: #111827;
    font-weight: 500;
}

.forminator-ui .forminator-html {
    padding: 1rem;
    background-color: #f9fafb;
    border-radius: 1rem;
}

/* ============================================
   SECTION BREAK
   ============================================ */

.forminator-ui .forminator-section-break {
    margin: 1.5rem 0;
    padding: 1.5rem 0;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
}

.forminator-ui .forminator-section-break .forminator-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 0.5rem;
}

.forminator-ui .forminator-section-break .forminator-description {
    font-size: 0.875rem;
    color: #6b7280;
}

/* ============================================
   REPEATER FIELD
   ============================================ */

.forminator-ui .forminator-repeater-field {
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    padding: 1.5rem;
    background-color: #f9fafb;
    margin-bottom: 1rem;
}

.forminator-ui .forminator-repeater-field .forminator-grouped-fields {
    padding: 1rem 0;
    border-bottom: 1px solid #e5e7eb;
}

.forminator-ui .forminator-repeater-field .forminator-grouped-fields:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.forminator-ui .forminator-repeater-field .forminator-grouped-fields:first-child {
    padding-top: 0;
}

.forminator-ui .forminator-repeater-field .forminator-action-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
}

.forminator-ui .forminator-repeater-field .forminator-repeater-action-button {
    font-size: 0.75rem;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid #e5e7eb;
    background-color: #ffffff;
    color: #6b7280;
    cursor: pointer;
    transition: all 150ms ease;
}

.forminator-ui .forminator-repeater-field .forminator-repeater-action-button:hover {
    border-color: #F26522;
    color: #F26522;
}

.forminator-ui .forminator-repeater-field .forminator-repeater-action-button.remove:hover {
    background-color: #fee2e2;
    border-color: #ef4444;
    color: #ef4444;
}

/* ============================================
   PAGINATION & PROGRESS
   ============================================ */

.forminator-ui .forminator-pagination {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e5e7eb;
}

.forminator-ui .forminator-pagination .forminator-progress {
    margin-bottom: 1rem;
}

.forminator-ui .forminator-pagination .forminator-progress-bar {
    height: 0.5rem;
    background-color: #e5e7eb;
    border-radius: 0.25rem;
    overflow: hidden;
}

.forminator-ui .forminator-pagination .forminator-progress-bar .forminator-progress-fill {
    height: 100%;
    background: var(--color-primary);
    transition: width 400ms ease;
}

.forminator-ui .forminator-pagination .forminator-steps {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.forminator-ui .forminator-pagination .forminator-step {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #6b7280;
}

.forminator-ui .forminator-pagination .forminator-step.active {
    color: #F26522;
    font-weight: 600;
}

.forminator-ui .forminator-pagination .forminator-step.completed {
    color: #22c55e;
}

/* ============================================
   BUTTONS - ALL TYPES
   ============================================ */

.forminator-ui .forminator-button-submit {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.75rem 2rem;
    font-size: 1rem;
    font-weight: 700;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    letter-spacing: 0.025em;
    color: #ffffff;
    background: var(--color-primary);
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 400ms ease;
    box-shadow: 0 4px 6px -1px rgba(242, 101, 34, 0.3);
    min-height: 3rem;
    text-decoration: none;
    position: relative;
    overflow: hidden;
}

.forminator-ui .forminator-button-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 0 20px rgba(242, 101, 34, 0.4), 0 4px 6px -1px rgba(242, 101, 34, 0.3);
    color: #ffffff;
}

.forminator-ui .forminator-button-submit:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.3), 0 4px 6px -1px rgba(242, 101, 34, 0.3);
}

.forminator-ui .forminator-button-submit:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px -1px rgba(242, 101, 34, 0.3);
}

.forminator-ui .forminator-button-submit:disabled,
.forminator-ui .forminator-button-submit.forminator-disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.forminator-ui .forminator-button-cancel {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0.75rem 2rem;
    font-size: 1rem;
    font-weight: 600;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    color: #4B5563;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 200ms ease;
    min-height: 3rem;
    text-decoration: none;
}

.forminator-ui .forminator-button-cancel:hover {
    border-color: #d1d5db;
    background-color: #f9fafb;
    color: #111827;
}

.forminator-ui .forminator-button-cancel:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.1);
    border-color: #F26522;
}

/* ============================================
   RESPONSE MESSAGES
   ============================================ */

.forminator-ui .forminator-response-message {
    margin: 1rem 0;
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border: 1px solid transparent;
}

.forminator-ui .forminator-response-message p {
    margin: 0;
}

.forminator-ui .forminator-response-message:empty {
    display: none;
}

.forminator-ui .forminator-response-message.forminator-success {
    background-color: #DCFCE7;
    color: #166534;
    border-color: #86efac;
}

.forminator-ui .forminator-response-message.forminator-error {
    background-color: #fef2f2;
    color: #dc2626;
    border-color: #fecaca;
}

.forminator-ui .forminator-response-message.forminator-info {
    background-color: #E0F2FE;
    color: #075985;
    border-color: #7dd3fc;
}

.forminator-ui .forminator-response-message.forminator-warning {
    background-color: #FEF3C7;
    color: #92400E;
    border-color: #fde68a;
}

.forminator-ui .forminator-response-message.forminator-loading {
    position: relative;
    padding-left: 3rem;
    background-color: #E0F2FE;
    color: #075985;
    border-color: #7dd3fc;
}

.forminator-ui .forminator-response-message.forminator-loading::before {
    content: '';
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.25rem;
    height: 1.25rem;
    border: 2px solid #7dd3fc;
    border-top-color: #075985;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: translateY(-50%) rotate(360deg); }
}

/* ============================================
   CAPTCHA
   ============================================ */

.forminator-ui .forminator-captcha {
    margin: 1rem 0;
}

.forminator-ui .forminator-captcha .forminator-label {
    margin-bottom: 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: #111827;
}

.forminator-ui .forminator-captcha-left {
    text-align: left;
}

.forminator-ui .forminator-captcha-center {
    text-align: center;
}

.forminator-ui .forminator-captcha-right {
    text-align: right;
}

/* ============================================
   GRID LAYOUT
   ============================================ */

.forminator-ui .forminator-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}

.forminator-ui .forminator-col {
    flex: 1;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    min-width: 0;
}

.forminator-ui .forminator-col-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.forminator-ui .forminator-col-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.forminator-ui .forminator-col-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

/* ============================================
   ACCESSIBILITY
   ============================================ */

.forminator-ui .forminator-screen-reader-only,
.forminator-ui .forminator-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Focus visible for keyboard navigation */
.forminator-ui .forminator-input:focus-visible,
.forminator-ui .forminator-textarea:focus-visible,
.forminator-ui select.forminator-input:focus-visible {
    outline: 2px solid #F26522;
    outline-offset: 2px;
}

/* ============================================
   HIGH CONTRAST MODE
   ============================================ */

@media (prefers-contrast: high) {
    .forminator-ui .forminator-input,
    .forminator-ui .forminator-textarea,
    .forminator-ui select.forminator-input {
        border-width: 2px;
    }
    
    .forminator-ui .forminator-input:focus,
    .forminator-ui .forminator-textarea:focus,
    .forminator-ui select.forminator-input:focus {
        outline: 3px solid #F26522;
        outline-offset: 2px;
    }
    
    .forminator-ui .forminator-checkbox-box,
    .forminator-ui .forminator-radio-bullet {
        border-width: 2px;
    }
}

/* ============================================
   REDUCED MOTION
   ============================================ */

@media (prefers-reduced-motion: reduce) {
    .forminator-ui .forminator-input,
    .forminator-ui .forminator-textarea,
    .forminator-ui select.forminator-input,
    .forminator-ui .forminator-button-submit,
    .forminator-ui .forminator-checkbox-box,
    .forminator-ui .forminator-radio-bullet,
    .forminator-ui .forminator-file-upload,
    .forminator-ui .forminator-pagination .forminator-progress-fill {
        transition: none;
    }
    
    .forminator-ui .forminator-response-message.forminator-loading::before {
        animation: none;
    }
}

/* ============================================
   MOBILE MENU TOGGLE
   ============================================ */

#mobile-menu-toggle {
    transition: transform 300ms ease-out;
}

#mobile-menu-toggle.rotate-90 {
    transform: rotate(90deg);
}

#mobile-menu.hidden {
    display: none;
}

#mobile-menu.animate-in {
    animation: slideDown 300ms ease-out forwards;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    #mobile-menu-toggle,
    #mobile-menu-toggle .menu-icon,
    #mobile-menu-toggle .close-icon,
    #mobile-menu {
        transition: none;
        animation: none;
    }
    
    #mobile-menu.hidden {
        display: none;
    }
    
    #mobile-menu.animate-in {
        animation: none;
    }
}

/* ============================================
   BRAND TOKEN OVERRIDES
   ============================================ */

.toc__toggle:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.toc__toggle:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.toc__back-link,
.toc ul a:hover,
.toc ul a.active,
.toc ul a[aria-current="true"] {
    background-color: color-mix(in srgb, var(--color-secondary) 14%, #ffffff);
    color: var(--color-primary);
}

.toc__back-link:hover {
    background-color: var(--color-primary);
    background-image: none;
    color: #ffffff;
}

.forminator-ui .forminator-label .forminator-required,
.forminator-ui .forminator-label .required,
.forminator-ui .forminator-checkbox-label a,
.forminator-ui .forminator-radio-label a {
    color: var(--color-primary);
}

.forminator-ui .forminator-input:focus,
.forminator-ui .forminator-textarea:focus,
.forminator-ui select.forminator-input:focus,
.forminator-ui .forminator-input-with-prefix:focus-within,
.forminator-ui .forminator-input-with-suffix:focus-within {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);
}

.forminator-ui .forminator-input:active,
.forminator-ui .forminator-textarea:active,
.forminator-ui select.forminator-input:active {
    border-color: color-mix(in srgb, var(--color-primary) 80%, #000);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-primary) 24%, transparent);
}

.forminator-ui select.forminator-input option:checked {
    background-color: color-mix(in srgb, var(--color-secondary) 18%, #ffffff);
    color: var(--color-primary);
}

.forminator-ui .forminator-checkbox-box:before,
.forminator-ui .forminator-radio-bullet:before {
    background-color: var(--color-primary);
}

.forminator-ui .forminator-checkbox input:checked + .forminator-checkbox-box,
.forminator-ui .forminator-radio input:checked + .forminator-radio-bullet {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
}

.forminator-ui .forminator-button-submit {
    background: var(--brand-gradient);
}

.forminator-ui .forminator-button-submit:hover {
    background: var(--brand-gradient-hover);
}

.forminator-ui .forminator-input:focus-visible,
.forminator-ui .forminator-textarea:focus-visible,
.forminator-ui select.forminator-input:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

/* Force legacy Forminator theme fragments onto solid brand colors. */
.forminator-ui .forminator-slider .ui-slider-range,
.forminator-ui .forminator-pagination .forminator-progress-bar .forminator-progress-fill,
.forminator-ui .forminator-total,
.forminator-ui .forminator-button-submit,
.forminator-ui .forminator-button-submit:focus,
.forminator-ui .forminator-button-submit:active {
    background-image: none !important;
    background-color: var(--color-primary) !important;
}

.forminator-ui .forminator-button-submit:hover {
    background-image: none !important;
    background-color: var(--color-secondary) !important;
}

.forminator-ui .forminator-step.active,
.forminator-ui .forminator-response-message,
.forminator-ui .forminator-checkbox-label a,
.forminator-ui .forminator-radio-label a {
    color: var(--color-primary) !important;
}

.forminator-ui .forminator-checkbox input,
.forminator-ui .forminator-radio input,
.forminator-ui input[type="range"],
.forminator-ui input[type="checkbox"],
.forminator-ui input[type="radio"] {
    accent-color: var(--color-primary);
}