/* Skip Links */
.skip-link.screen-reader-text {
    position: absolute;
    top: -40px;
    left: 0;
    background: #000;
    color: white;
    padding: 8px;
    z-index: 100000;
    transition: top 0.2s;
    text-decoration: none;
    font-size: 14px;
    border-radius: 0 0 4px 4px;
}

.skip-link.screen-reader-text:focus {
    top: 0;
    clip: auto !important;
    height: auto;
    width: auto;
    display: block;
}

/* Keyboard Navigation - Only show focus outlines when using keyboard */
.js-focus-visible :focus:not(.focus-visible) {
    outline: none;
}

.js-focus-visible .focus-visible,
*:focus-visible {
    outline: 2px solid #4A90E2;
    outline-offset: 3px;
}

/* Remove focus outline for mouse users */
*:focus:not(:focus-visible) {
    outline: none;
}

/* Keep the focus styles only for keyboard navigation */
a:focus,
button:focus,
input:focus,
[role="button"]:focus,
.link-style-button:focus {
    outline: none;
    /* Remove default outline */
}

/* Only show focus styles when using keyboard */
a:focus-visible,
button:focus-visible,
input:focus-visible,
[role="button"]:focus-visible,
.link-style-button:focus-visible {
    outline: 2px solid #4A90E2;
    outline-offset: 3px;
}

/* Hide elements visually but keep them available for screen readers */
.visually-hidden,
.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;
}

/* Button styling that looks like a link */
.link-style-button {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    text-decoration: underline;
    color: inherit;
}

/* Menu Accessibility */
.menu {
    list-style: none;
}

.menu-item-has-children>a[aria-expanded="true"]+.sub-menu {
    display: block;
    opacity: 1;
    visibility: visible;
}

/* Interactive Elements */
.videoPlayIcon,
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination-bullet {
    cursor: pointer;
}

[role="button"],
[role="menuitem"] {
    cursor: pointer;
}

/* Form Fields */
.form-field label {
    display: block;
    margin-bottom: 0.5em;
}

.form-field input:focus {
    outline: 2px solid #007bff;
    outline-offset: 0;
}

/* Menu Accessibility - Add these rules */
.drawer-menu-box {
    visibility: visible !important;
    /* Override any aria-hidden visibility issues */
    display: block;
}

/* Only hide menu on mobile when closed */
@media (max-width: 991px) {
    .drawer-menu-box {
        visibility: hidden !important;
        display: none;
    }

    .drawer-menu-box.menuOpen {
        visibility: visible !important;
        display: block;
    }
}

/* Ensure menu items are visible */
.nav-menu {
    display: block;
}

/* Menu toggle button states */
.menuToggleBtn[aria-expanded="true"]+.drawer-menu-box {
    visibility: visible !important;
    display: block;
}

/* Make skip links visible when focused */
.skip-link:focus {
    clip: auto !important;
    height: auto !important;
    width: auto !important;
    display: block;
    font-size: 1em;
    font-weight: bold;
    padding: 15px 23px 14px;
    background: #fff;
    z-index: 100000;
    text-decoration: none;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
}

/* Improve focus visibility */
a:focus,
button:focus,
input:focus,
textarea:focus,
[tabindex]:focus {
    outline: 2px solid #4A90E2;
    outline-offset: 3px;
}

/* Hide elements visually but keep them accessible to screen readers */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

/* Improve color contrast for better readability */
.main-navigation a {
    color: #222;
    /* Ensure sufficient contrast */
}

/* Make sure form fields have visible labels */
.form-label {
    display: block;
    margin-bottom: 0.5em;
}

/* Submenu specific focus handling */
.menu-item-has-children>a:focus,
.subMenuToggle:focus {
    outline: none;
}

/* Only show focus on keyboard navigation for submenu items */
.menu-item-has-children>a:focus-visible,
.subMenuToggle:focus-visible {
    outline: 2px solid #4A90E2;
    outline-offset: 3px;
}

/* Remove focus styles for mouse interactions on submenu items */
.menu-item-has-children>a:focus:not(:focus-visible),
.subMenuToggle:focus:not(:focus-visible) {
    outline: none;
}

/* Handle submenu toggle button focus states */
.subMenuToggle {
    -webkit-tap-highlight-color: transparent;
    /* Remove mobile tap highlight */
}

/* Ensure no focus ring on click for submenu items */
.menu-item-has-children.active>a:focus,
.subMenuToggle.active:focus {
    outline: none;
}

/* Only show focus styles when using keyboard navigation */
.menu-item-has-children>a:focus-visible:not(.active),
.subMenuToggle:focus-visible:not(.active) {
    outline: 2px solid #4A90E2;
    outline-offset: 3px;
}

/* Handle focus styles for elements with tabindex */
[tabindex]:focus {
    outline: none;
}

[tabindex]:focus-visible {
    outline: 2px solid #4A90E2;
    outline-offset: 3px;
}

/* Specific handling for FAQ panels and buttons */
.panel-heading[tabindex]:focus,
.list-toggle-btn[tabindex]:focus,
.kf-btn[tabindex]:focus {
    outline: none;
}

.panel-heading[tabindex]:focus-visible,
.list-toggle-btn[tabindex]:focus-visible,
.kf-btn[tabindex]:focus-visible {
    outline: 2px solid #4A90E2;
    outline-offset: 3px;
}

/* Remove focus styles for mouse interactions */
.panel-heading[tabindex]:focus:not(:focus-visible),
.list-toggle-btn[tabindex]:focus:not(:focus-visible),
.kf-btn[tabindex]:focus:not(:focus-visible) {
    outline: none;
}

/* Skip Links */
.skip-links {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
}

.skip-link {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    background: #000;
    color: white;
    padding: 8px 15px;
    text-decoration: none;
    border-radius: 0 0 4px 4px;
    transition: top 0.3s;
    opacity: 0;
}

/* Show skip link on focus */
.skip-link:focus {
    top: 0;
    opacity: 1;
    outline: 2px solid #4A90E2;
    outline-offset: 2px;
}

/* Ensure skip links are visible when focused */
.skip-link.screen-reader-text:focus {
    position: absolute;
    width: auto;
    height: auto;
    padding: 15px 23px;
    clip: auto !important;
    display: block;
    font-size: 14px;
    font-weight: 600;
    background-color: #f1f1f1;
    color: #21759b;
    z-index: 100000;
    text-decoration: none;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.1);
}

/* FAQ specific focus handling */
.panel-heading[role="button"]:focus {
    outline: none;
}

.panel-heading[role="button"]:focus-visible {
    outline: none;
    background-color: rgba(74, 144, 226, 0.1);
    /* Subtle highlight instead of border */
}

/* Remove default focus styles for FAQ panels */
.panel-box .panel-heading:focus,
.panel-box .panel-heading:focus-visible {
    outline: none;
    box-shadow: none;
}

/* Only show subtle background change on keyboard focus */
.panel-box .panel-heading:focus-visible {
    background-color: rgba(74, 144, 226, 0.1);
}

/* Remove focus styles for mouse interactions */
.panel-box .panel-heading:focus:not(:focus-visible) {
    background-color: transparent;
}

/* FAQ specific focus handling - More specific selectors */
.faqs-sec .panel-box .panel-heading[role="button"][tabindex="0"]:focus,
.faqs-sec .panel-heading[role="button"][tabindex="0"]:focus {
    outline: none !important;
    box-shadow: none !important;
}

.faqs-sec .panel-box .panel-heading[role="button"][tabindex="0"]:focus-visible,
.faqs-sec .panel-box .panel-heading[role="button"][tabindex="0"]:focus-visible {
    outline: none !important;
    background-color: rgba(74, 144, 226, 0.1) !important;
    box-shadow: none !important;
}

/* Remove default focus styles for FAQ panels - More specific */
.faqs-sec .panel-box .panel-heading[tabindex="0"]:focus,
.faqs-sec .panel-box .panel-heading[tabindex="0"]:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Only show subtle background change on keyboard focus - More specific */
.faqs-sec .panel-box .panel-heading[tabindex="0"]:focus-visible {
    background-color: rgba(74, 144, 226, 0.1) !important;
}

/* Remove focus styles for mouse interactions - More specific */
.faqs-sec .panel-box .panel-heading[tabindex="0"]:focus:not(:focus-visible) {
    background-color: transparent !important;
    outline: none !important;
}

/* Override any other focus styles */
.faqs-sec .panel-box .panel-heading[role="button"][tabindex="0"] {
    -webkit-tap-highlight-color: transparent;
}

/* FAQ focus handling with maximum specificity */
.faqs-sec .panel-box .panel-heading[role="button"][tabindex="0"],
.faqs-sec .panel-box .panel-heading[role="button"][tabindex="0"]:focus,
.faqs-sec .panel-box .panel-heading[role="button"][tabindex="0"]:focus-visible,
div[class*="panel-heading"][role="button"][tabindex="0"],
div[class*="panel-heading"][role="button"][tabindex="0"]:focus,
div[class*="panel-heading"][role="button"][tabindex="0"]:focus-visible {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

.faqs-sec .faq-panels .panel-box .panel-heading {
    outline: none !important;
}

/* Override any general focus styles */
[tabindex="0"].panel-heading,
[tabindex="0"].panel-heading:focus,
[tabindex="0"].panel-heading:focus-visible,
div[role="button"].panel-heading,
div[role="button"].panel-heading:focus,
div[role="button"].panel-heading:focus-visible {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Only show background change for keyboard focus */
.faqs-sec .panel-box .panel-heading[role="button"][tabindex="0"]:focus-visible,
div[class*="panel-heading"][role="button"][tabindex="0"]:focus-visible {
    background-color: rgba(74, 144, 226, 0.1) !important;
}

/* Ensure no outline even with general focus styles */
.panel-heading[role="button"],
.panel-heading[tabindex="0"],
.panel-heading[role="button"]:focus,
.panel-heading[tabindex="0"]:focus,
.panel-heading[role="button"]:focus-visible,
.panel-heading[tabindex="0"]:focus-visible {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Remove tap highlight on mobile */
.panel-heading {
    -webkit-tap-highlight-color: transparent !important;
}

/* Trustpilot widgets: suppress focus ring on wrapper and iframe controls */
.trustpilot-stats-widget,
.trustpilot-form-widget,
.trustpilot-capital-stack-widget,
.trustpilot-stats-widget *,
.trustpilot-form-widget *,
.trustpilot-capital-stack-widget * {
    outline: none !important;
    box-shadow: none !important;
}

.trustpilot-stats-widget:focus,
.trustpilot-form-widget:focus,
.trustpilot-capital-stack-widget:focus,
.trustpilot-stats-widget:focus-within,
.trustpilot-form-widget:focus-within,
.trustpilot-capital-stack-widget:focus-within,
.trustpilot-stats-widget .trustpilot-widget:focus,
.trustpilot-form-widget .trustpilot-widget:focus,
.trustpilot-capital-stack-widget .trustpilot-widget:focus,
.trustpilot-stats-widget .trustpilot-widget:focus-within,
.trustpilot-form-widget .trustpilot-widget:focus-within,
.trustpilot-capital-stack-widget .trustpilot-widget:focus-within {
    outline: none !important;
    box-shadow: none !important;
}

/* About page specific accessibility styles */
.team-member:focus,
.board_head:focus,
.poster-img[role="button"]:focus {
    outline: none;
}

.team-member:focus-visible,
.board_head:focus-visible,
.poster-img[role="button"]:focus-visible {
    outline: 2px solid #4A90E2;
    outline-offset: 2px;
}

/* Ensure proper contrast for text */
.name-title-comp {
    color: #ffffff;
    /* Ensure sufficient contrast */
}

.subtitle {
    color: #333;
    /* Ensure sufficient contrast */
}

/* Filter dropdown accessibility styles */
.filter-dropdown-list {
    display: block;
    /* Show by default */
}

.filter-dropdown-list[aria-hidden="true"] {
    display: none;
}

/* Ensure checkboxes are always focusable */
.custom-check-box input[type="checkbox"] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Focus styles for filter toggle and checkboxes */
.filter-toggle-btn:focus-visible,
.custom-check-box input[type="checkbox"]:focus-visible {
    outline: 2px solid #4A90E2;
    outline-offset: 2px;
}

/* Visually hidden labels for form fields */
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Ensure form fields have proper focus states */
.wpcf7-form-control:focus {
    outline: 2px solid #4A90E2;
    outline-offset: 2px;
}

/* Ensure error messages are properly announced */
.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 14px;
    margin-top: 4px;
}

.screen-reader-response {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Ensure form controls have sufficient contrast */
.wpcf7-form-control {
    color: #333;
    background-color: #fff;
    border: 1px solid #ccc;
}

.wpcf7-form-control::placeholder {
    color: #666;
    opacity: 1;
}

/* Contact form accessibility styles */
.wpcf7 {
    max-width: 100%;
}

.wpcf7 .form-group {
    margin-bottom: 1.5rem;
    position: relative;
}

/* Form validation and error states */
.wpcf7-not-valid-tip {
    position: absolute;
    bottom: -20px;
    left: 0;
    font-size: 12px;
    color: #dc3232;
}

.wpcf7-response-output {
    margin: 2em 0;
    padding: 1em;
    border: 2px solid transparent;
}

.wpcf7-validation-errors {
    border-color: #dc3232;
    color: #dc3232;
}

.wpcf7-mail-sent-ok {
    border-color: #46b450;
    color: #46b450;
}

/* Form field focus states */
.wpcf7-form-control:focus {
    outline: 2px solid #4A90E2;
    outline-offset: 0;
    box-shadow: none;
}

/* Ensure proper contrast for placeholders */
.wpcf7-form-control::placeholder {
    color: #666;
    opacity: 1;
}

/* Required field indication */
.wpcf7-form-control[aria-required="true"] {
    border-left: 3px solid #4A90E2;
}

/* Error state styling */
.wpcf7-form-control.wpcf7-not-valid {
    border-color: #dc3232;
}

/* Submit button focus state */
.kf-btn[type="submit"]:focus-visible {
    outline: 2px solid #4A90E2;
    outline-offset: 2px;
}

/* Ensure form controls are properly sized for touch targets */
.wpcf7-form-control {
    min-height: 44px;
    padding: 8px 12px;
    font-size: 16px;
    line-height: 1.5;
}

/* Ensure textarea has proper height */
textarea.wpcf7-form-control {
    min-height: 100px;
}

/* Screen reader announcements */
.screen-reader-response {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

/* Live region for form updates */
[aria-live="polite"] {
    position: relative;
}

/* Partners Form Specific Styles */
.partners-form {
    max-width: 100%;
}

/* Two column layout fix */
.form-two-col-field {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.form-two-col-field .form-group {
    flex: 1;
    margin-bottom: 0;
}

/* Form controls styling */
.partners-form .wpcf7-form-control {
    width: 100%;
    border: 1px solid #E5E7EB;
    border-radius: 4px;
    background: #FFFFFF;
    padding: 12px 16px;
    font-size: 16px;
    line-height: 1.5;
    color: #111827;
}

/* Placeholder styling */
.partners-form .wpcf7-form-control::placeholder {
    color: #6B7280;
    opacity: 1;
}

/* Textarea specific styling */
.partners-form textarea.wpcf7-form-control {
    min-height: 120px;
    resize: vertical;
}

/* Submit button styling */
.partners-form .kf-btn {
    background: #4F46E5;
    color: white;
    padding: 12px 32px;
    border-radius: 4px;
    border: none;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s;
}

.partners-form .kf-btn:hover {
    background: #4338CA;
}

/* Error message positioning */
.partners-form .wpcf7-not-valid-tip {
    position: absolute;
    bottom: -20px;
    left: 0;
    font-size: 12px;
}

/* ReCaptcha center alignment */
.partners-form .recaptcha-center {
    display: flex;
    justify-content: center;
    margin: 20px 0;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .form-two-col-field {
        flex-direction: column;
        gap: 0;
    }

    .form-two-col-field .form-group {
        margin-bottom: 20px;
    }
}

/* Form group spacing */
.partners-form .form-group {
    position: relative;
    margin-bottom: 24px;
}

.partners-form .pad-15 {
    padding: 15px 0;
}

/* Center align submit button */
.partners-form .btn-box {
    text-align: center;
    margin-top: 32px;
}

/* Form validation styling */
.partners-form .wpcf7-not-valid {
    border-color: #DC2626;
}

.partners-form .wpcf7-response-output {
    margin: 2em 0 1em;
    padding: 1em;
    text-align: center;
    border-radius: 4px;
}

/* Newsletter form accessibility styles */
.form-box {
    position: relative;
}

.form-box .form-group {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

/* Ensure proper spacing */
.form-box .form-control {
    flex: 1;
    min-height: 44px;
    padding: 8px 16px;
    font-size: 16px;
    line-height: 1.5;
    border: 1px solid #E5E7EB;
    border-radius: 4px;
}

/* Focus states */
.form-box .form-control:focus {
    outline: 2px solid #4A90E2;
    outline-offset: 0;
    border-color: #4A90E2;
}

/* Submit button styling */
.form-box .kf-btn {
    min-height: 44px;
    padding: 8px 24px;
    white-space: nowrap;
}

/* Error message handling */
.form-box .wpcf7-not-valid-tip {
    position: absolute;
    bottom: -20px;
    left: 0;
    font-size: 12px;
    color: #DC2626;
}

/* Terms text styling */
.form-terms {
    margin-top: 12px;
    font-size: 14px;
    color: #666;
}

/* Responsive adjustments */
@media (max-width: 576px) {
    .form-box .form-group {
        flex-direction: column;
    }

    .form-box .kf-btn {
        width: 100%;
        margin-top: 10px;
    }
}

/* Screen reader only text */
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}


/* Industries Page */
.industry-page-h1 {
    font-size: calc(80vw / var(--context));
    font-weight: 300;
    line-height: .9;
    margin-bottom: 10px;
}

.industry-page-h2 {
    font-size: calc(18vw / var(--context)) !important;
    font-weight: 600 !important;
    line-height: 1.19 !important;
    margin: 0 0 calc(30vw / var(--context)) !important;
    text-transform: capitalize !important;
}

/* Ensure radio buttons and their containers are visible */
.frm_form_field fieldset.frm_radio_buttons,
.frm_form_field fieldset.frm_radio_buttons .frm_opt_container,
.frm_form_field fieldset.frm_radio_buttons input[type="radio"] {
    visibility: visible !important;
    display: block;
}

/* Preserve existing radio button styling */
.frm_form_field fieldset.frm_radio_buttons input[type="radio"] {
    opacity: 1;
    position: static;
}

/* Screen Reader Text and Skip Links */
.screen-reader-text,
.skip-link {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
    width: auto;
    height: auto;
    padding: 15px 23px;
    margin: 0;
    clip: auto;
    display: block;
    font-size: 14px;
    font-weight: 600;
    line-height: normal;
    color: #21759b;
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    z-index: 100000;
}

.skip-link:focus {
    top: 7px;
    left: 6px;
}

/* Modify the aria-hidden rule to exclude specific elements */
[aria-hidden="true"]:not(.frm_form_field *):not(.why-us-sec .comp-timeline-text svg):not(.why-us-sec .icon-box svg):not(.we-work-sec svg):not(.videoPlayIcon):not(.videoPlayIcon *):not(.addtoany_shortcode *):not(.a2a_kit *):not(.a2a_button_facebook):not(.a2a_button_x):not(.a2a_button_linkedin):not(.a2a_dd):not(.screen-reader-text):not(.fbr-toggle svg) {
    display: none !important;
}

/* Form validation styles for radio buttons */
.frm_form_field.frm_required_field.vertical_radio {
    border: none !important;
    /* Remove any border from the container */
}

/* Style for invalid radio groups */
.frm_form_field.frm_required_field.vertical_radio.frm_blank_field {
    border: none !important;
    background: transparent !important;
}

/* Style for radio button container */
.frm_form_field.vertical_radio .frm_opt_container {
    border: none !important;
    padding: 0;
}

/* Error state styling */
.frm_form_field.vertical_radio.frm_blank_field legend {
    color: #B94A48;
    /* Error text color */
}

/* Remove border from individual radio buttons */
.frm_form_field.vertical_radio input[type="radio"],
.frm_form_field.vertical_radio input[type="radio"]:focus {
    border-color: #ccc !important;
}

/* Error message styling */
.frm_form_field.vertical_radio .frm_error {
    color: #B94A48;
    margin-top: 5px;
    font-size: 12px;
}

/* Form Radio Button Accessibility Styles */

/* Base fieldset styles */
.frm_form_field fieldset[role="radiogroup"] {
    border: none;
    padding: 0;
    margin: 0;
}

/* Legend styles */
.frm_form_field fieldset[role="radiogroup"] .frm_primary_label {
    margin-bottom: 10px;
    color: inherit;
    /* Inherit color unless in error state */
}

/* Radio container styles */
.frm_form_field .frm_opt_container[role="presentation"] {
    border: none !important;
    padding: 0;
    margin: 0;
}

/* Individual radio input styles */
.frm_form_field .frm_radio {
    margin-bottom: 8px;
}

.frm_form_field .frm_radio input[type="radio"] {
    opacity: 1;
    position: static;
    margin-right: 8px;
}

/* Required indicator styles */
.frm_required[aria-hidden="true"] {
    display: inline-block !important;
    color: #B94A48;
    margin-left: 3px;
}

/* Visually hidden but screen reader accessible text */
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Error states */
.frm_form_field.frm_blank_field fieldset[role="radiogroup"] {
    border: none !important;
    background: transparent !important;
}

.frm_form_field.frm_blank_field .frm_primary_label {
    color: #B94A48;
}

/* Error message */
.frm_error[role="alert"] {
    color: #B94A48;
    font-size: 12px;
    margin-top: 5px;
    display: block;
}

/* Description text */
.frm_description[role="note"] {
    font-size: 14px;
    color: #666;
    margin-top: 5px;
}

/* Form validation styles - Only show after submission */
.frm_form_field .frm_error {
    display: none;
    /* Hide by default */
}

/* Only show errors when form is submitted */
.frm_verified .frm_form_field .frm_error,
.frm_form_field.frm_blank_field .frm_error {
    display: block;
}

/* Remove initial error states */
.frm_form_field.frm_blank_field:not(.frm_verified) fieldset {
    border: none !important;
    background: transparent !important;
}

.frm_form_field.frm_blank_field:not(.frm_verified) .frm_primary_label {
    color: inherit;
    /* Keep default color until submission */
}

/* Style error states only after submission */
.frm_verified .frm_form_field.frm_blank_field .frm_primary_label {
    color: #B94A48;
}

/* Required indicator - always visible but not as error initially */
.frm_required {
    color: inherit;
    margin-left: 3px;
}

/* Change required indicator color after submission if field is empty */
.frm_verified .frm_blank_field .frm_required {
    color: #B94A48;
}

/* Remove initial error borders */
.frm_form_field input[type="radio"],
.frm_form_field input[type="radio"]:focus {
    border-color: #ccc;
}

/* Add error borders only after submission */
.frm_verified .frm_blank_field input[type="radio"],
.frm_verified .frm_blank_field input[type="radio"]:focus {
    border-color: #B94A48;
}

.frm_style_formidable-style.with_frm_style .frm_form_field :invalid {
    border-style: none;
}